powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
6 сообщений из 6, страница 1 из 1
ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
    #38851630
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Вот есть такой скрипт:

Код: plaintext
1.
2.
3.
4.
5.
out nul;
 set explain;
set stat on; 
select rand()*10000 as rndfrom rdb$types;
out;

Вывод данных - подавлен командой out nul.

Вывод вспомогательной инфы - нет, но это чаще всего так и нужно.
Однако, эта инфа прёт не в STDERR (как хотелось бы), а в STDOUT:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Select Expression
    -> Table "RDB$TYPES" Full Scan
Current memory = 109954952
Delta memory = 210440
Max memory = 109972368
Elapsed time= 0.094 sec
Buffers = 24576
Reads = 10
Writes = 0
Fetches = 530

Обычные исключения выдают свой текст в STDERR и этот текст всё равно показывается на консоли ISQL. Почему нельзя сделать такое же направление для вспом. инфы ?
...
Рейтинг: 0 / 0
ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
    #38851647
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

потому что "вспомогательная инфа" - это не ошибка, ты ее вывод включил явно и хочешь видеть
...
Рейтинг: 0 / 0
ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
    #38851651
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

видеть в консоли я буду при любом раскладе.
А вот если эта инфа будет направляться в в другое место (отличающееся от того, куда идёт вывод данных), то её будет легче парсить.
...
Рейтинг: 0 / 0
ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
    #38851655
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидвидеть в консоли я буду при любом раскладе.
Да ну? Попробуй ключи -m -m2 - тебе понравится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
    #38851668
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидвидеть в консоли я буду при любом раскладе.
Да ну? Попробуй ключи -m -m2 - тебе понравится.Если НЕ душить вывод командой 'out nul' внутри скрипта, а перенаправлять его OS-оператором ">" в nul, то будет вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
C:\>isql localhost/3333:C:\1INSTALL\FIREBIRD\FB30SNAP\TMP.FDB -i ts.sql -m 1>nul 2>ts.sql.err


C:\>dir ts.sql.err | findstr ts.sql.err
11.01.2015  15:27                 0 ts.sql.err

C:\>isql localhost/3333:C:\1INSTALL\FIREBIRD\FB30SNAP\TMP.FDB -i ts.sql -m2 1>nul 2>ts.sql.err


C:\>dir ts.sql.err | findstr ts.sql.err
11.01.2015  15:27                 0 ts.sql.err


Если же оставить, как в стартовом посте ('out nul;'), и перенаправлять остальной вывод всё тем же ">", то будет так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
C:\>isql localhost/3333:C:\1INSTALL\FIREBIRD\FB30SNAP\TMP.FDB -i ts.sql -m 1>ts.sql.log 2>ts.sql.err


C:\>dir ts.sql.??? | findstr ts.sql
11.01.2015  15:29                88 ts.sql
11.01.2015  15:30                 0 ts.sql.err
11.01.2015  15:30               213 ts.sql.log

C:\>isql localhost/3333:C:\1INSTALL\FIREBIRD\FB30SNAP\TMP.FDB -i ts.sql -m2 1>ts.sql.log 2>ts.sql.err


C:\>dir ts.sql.??? | findstr ts.sql
11.01.2015  15:29                88 ts.sql
11.01.2015  15:30                 0 ts.sql.err
11.01.2015  15:30                 0 ts.sql.log

Как видим, в STDERR ни в одном из случаев ничего не было направлено.
Что мне тогда должно нравиться в '-m' или в '-m2' ?
...
Рейтинг: 0 / 0
ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
    #38851729
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С моей кочки зрения, гораздо чаще используется:
Код: plaintext
1.
  программа параметры 2>&1 >файл [code=plaintext]
Просто потому, что позволяет и: [code=plaintext]  программа параметры 2>&1 |фильтр

...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ISQL: set stat, set explain, set plan - почему их вывод лезет в STDOUT, а не в STDERR ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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