Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ? / 9 сообщений из 9, страница 1 из 1
06.05.2015, 23:50
    #38953126
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
hi all

Установлен WI-V2.5.4.26856, на windows-8.

Некое приложение (исходников нет, разрабов его пока тоже не видно) вываливает ошибку, что типа "файл <имя-базы-из-ini-файла> не найден".
Однако:
1) файл стопудово есть
2) трейс показывает, что эта прога всё-таки ВИДИТ его и коннектится, так что первое сообщение - наглый звездёж.

Но самое интересное - что показывает трейс с конфигом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<database (%[\\/](%)|(%)>
  enabled true

  time_threshold 0

  #include_filter = '%execute block%'
  #include_filter = %list\(% escape \
  #include_filter = %list\(%

#  log_filename /var/db/firebird/Zotov/trace/prodtrace.log

  log_connections true
  log_transactions true

  log_context true

  log_statement_prepare true
  log_statement_start true
  log_statement_finish true
  log_statement_free true

  log_sweep true
  log_errors true
  
  log_trigger_start true
  log_trigger_finish true

  log_procedure_start true
  log_procedure_finish true

  log_blr_requests true
  print_blr true
  log_dyn_requests true
  print_dyn true

  print_perf true
  print_plan true

  max_sql_length 16384
  max_log_size 9999
</database>
А показывает он вот что:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
2015-05-06T22:21:51.9660 (1072:022EBF28) ATTACH_DATABASE
	c:\data\somefile.fdb (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
	c:\soft\someapp.exe:8328

2015-05-06T22:21:51.9660 (1072:022EBF28) START_TRANSACTION
	c:\data\somefile.fdb (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
	c:\soft\someapp.exe:8328
		(TRA_7635, READ_COMMITTED | REC_VERSION | WAIT | READ_ONLY)

2015-05-06T22:21:51.9760 (1072:022EBF28)  PREPARE_STATEMENT 
	c:\data\somefile.fdb (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
	c:\soft\someapp.exe:8328
		(TRA_7635, READ_COMMITTED | REC_VERSION | WAIT | READ_ONLY)

Statement 78:
-------------------------------------------------------------------------------
select * from some_table
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PLAN (some_table NATURAL)
      9 ms

2015-05-06T22:21:52.0610 (1072:022EBF28)  COMMIT_TRANSACTION 
	c:\data\somefile.fdb (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
	c:\soft\someapp.exe:8328
		(TRA_7635, READ_COMMITTED | REC_VERSION | WAIT | READ_ONLY)
      0 ms

2015-05-06T22:21:52.0610 (1072:022EBF28) FREE_STATEMENT
	c:\data\somefile.fdb (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
	c:\soft\someapp.exe:8328

Statement 78:
-------------------------------------------------------------------------------
select * from some_table
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PLAN (some_table NATURAL)

2015-05-06T22:21:52.0610 (1072:022EBF28) DETACH_DATABASE
	c:\data\somefile.fdb (ATT_62, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
	c:\soft\someapp.exe:8328

То есть, приложение выполнило препаре, а затем сразу вызвало COMMIT. Не было ни старта, ни завершения стейтмента.
Как такое может быть ?

PS. Таблица 'some_table' - пустая.
...
Рейтинг: 0 / 0
07.05.2015, 00:12
    #38953135
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
ТаблоидТо есть, приложение выполнило препаре, а затем сразу вызвало COMMIT. Не было ни старта, ни завершения стейтмента.
Как такое может быть ?Что тебя смущает ? Ты же можешь купить билет и не пойти на концерт ?
При условии, что выступает не Оззя :)
...
Рейтинг: 0 / 0
07.05.2015, 00:16
    #38953138
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
hvladТаблоидТо есть, приложение выполнило препаре, а затем сразу вызвало COMMIT. Не было ни старта, ни завершения стейтмента.
Как такое может быть ?Что тебя смущает ? Ты же можешь купить билет и не пойти на концерт ?
При условии, что выступает не Оззя :)
"Оно конечно верно, Ozzy Osbourne герой, но зачем было стулья ломать..." :-)

Смущает то, что отпрепарено и вообще ничего дальше не сделано. В isql такого (вроде бы) не сделать, значит - это в проге там что-то мутное...
...
Рейтинг: 0 / 0
07.05.2015, 00:27
    #38953145
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
Таблоид,
Бывает, отпрепаришь что-то, что потом надо время от времени запускать, в начале
Ридонли транзакции, а потом запускаешь при необходимости время от времени. А если необходимости не наступит - то и не запускаешь.
...
Рейтинг: 0 / 0
20.05.2015, 10:06
    #38963614
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
Либо "prepare" обломился либо приложение по иным причинам решило что работать нельзя. А сообщение может не иметь отношения к реальной причине. Могло бы просто сказать "не хочу", а так оно солиднее как-то :) Некоторые приложения вообще валят все на некоего "генерала" :)
...
Рейтинг: 0 / 0
20.05.2015, 10:08
    #38963622
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
С правами на эту таблицу, с fbclient, с чарсетами и прочей "интернашнл" там все в порядке?
...
Рейтинг: 0 / 0
20.05.2015, 10:38
    #38963691
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
ТаблоидВ isql такого (вроде бы) не сделать
set planonly on;
http://www.firebirdsql.org/manual/isql-set.html#isql-set-planonly
...
Рейтинг: 0 / 0
20.05.2015, 12:24
    #38963898
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
Антон КарасёвЛибо "prepare" обломился либо приложение по иным причинам решило что
работать нельзя.
Препарированные запросы переживают конец транзакции без проблем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.05.2015, 12:27
    #38963905
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ?
Приложение посмотрело на стр-ру нужной ему таблицы и решило отказать.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Trace показывает PREPARE_STATEMENT, но дальше - сразу COMMIT. Как такое м.б. ? / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]