Доступные версии документации

Управление трассировкой выполняемых запросов

Функция

Разрешение/запрет трассировки выполняемых запросов.

Спецификация
   
<управление трассировкой>::=
<разрешение трассировки>::=
ON [(ключ)] [ FOR CONNECTION [MESSAGE символьный литерал]]
<запрет трассировки>::=
OFF [FOR CONNECTION]
Синтаксические правила
  1. Максимальная длина <символьного литерала> в опции MESSAGE равна 255 байтов.

  2. Параметр <ключ> задает параметр трассировки. Его значения аналогичны значениям ключа /trace, задаваемого при старте ядра СУБД ЛИНТЕР (см. документ «СУБД ЛИНТЕР. Запуск и останов СУБД ЛИНТЕР в среде ОС Windows»). Значения ключа необходимо указывать без пробелов:

    /TRACE=DECOMP=FULL;
    
    /TRACE=DECOMP=DELAY[=<тики>]

    Например,

    set trace on ('/trace=decomp=full');
    set trace on ('/trace=decomp= delay=50)');

    Примечание

    Использование фразы /TRACE в тексте ключа является обязательным. В противном случае (например, при выполнении команды SET TRACE ON ('DECOMP=FULL');) на консоль ядра СУБД ЛИНТЕР и в файл linter.out будет выдано сообщение вида: «INFO: Incorrect argument 'DECOMP=FULL' for TRACE command. Ignored.».

  3. Если параметр <ключ> не задан, команда по действию аналогична запуску ядра СУБД с ключом /trace=decomp

    set trace on;

Общие правила
  1. Трассировка выполняется в файл lintrace.log, создаваемый в каталоге БД ЛИНТЕР. Если файл lintrace.log уже существует, трассировочная информация добавляется в конец файла.

  2. Если опция FOR CONNECTION не задана, то устанавливаемый режим трассировки распространяется на все соединения с БД, в противном случае устанавливаемый режим относится только к тому соединению, по которому подана команда.

  3. Установленный режим начинает действовать с момента выполнения команды и распространяется только на вновь открываемые соединения (для текущих открытых соединений режим трассировки не меняется).

  4. Опция MESSAGE определяет пользовательский текст (например, имя трассируемого клиентского приложения), который добавляется в трассировочный файл в начало каждого трассировочного сообщения.

  5. В трассировочный файл <символьный литерал> опции MESSAGE записывается в кодировке ASCII (для ОС типа Windows) и КОИ-8 (в ОС типа UNIX).

  6. При повторном выполнении команды SET TRACE ON без отключения трассировки с новыми значениями параметров старые параметры трассировки будут заменены новыми, а сам файл lintracel.log переоткрыт не будет.

set trace on ('/trace=decomp=(full)');
      select count(*) from auto where personid <= 21;

  Трассировочная информация:
C#3 QUERY:
  SELECT
    COUNT(*)
  FROM
    <TABLE "SYSTEM"."AUTO" AS T_0>
  WHERE
    T_0."PERSONID" <= 21;
C#3 DECOMP.C (Start_Cur_Dec): Now computing derived set #0.
C#3 OBRSTRAT.C (OBRSTRAT): Start set: TABLE("SYSTEM"."AUTO" AS T_0). Set
 included 1461 rows.
    List of predicates:
    Predicate [strategy #2(one index)]:
  T_0."PERSONID" <= 21
C#3 PROZA.C (PROZA): Strategy: #2(by indexes).
C#3 ODINKL.C (ODINKL): Snap_Bv: 21 rows.
    Predicate [strategy #2(one index)]:
  T_0."PERSONID" <= 21
C#3 DECOMP.C (Compute_Group): Get answer from start set. Start set:
 TABLE("SYSTEM"."AUTO" AS T_0).
    Rows count: 21.
C#3 DECOMP.C (End_Dekart): Derived set #0 is computed, Rows count: 1.
C#3 FORMOTW.C (FORMOTW): Read: 5 blocks, write: 3 blocks.
 Additional statistics for read blocks:
  converter 1,index 2,data 1,work 0,sorting 0,blob 0,other 0.
C#3 FORMOTW.C (FORMOTW): Read logical: 22 blocks, write logical: 0 blocks.
C#3 FORMOTW.C (FORMOTW): Journal read: 1 blocks, written: 3 blocks.
C#3 FORMOTW.C (FORMOTW): Time of query execution: 00:00:00:00.10
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter