SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » isc_invalid_boolean_usage (детализация)
isc_invalid_boolean_usage [сообщение #3063] Mon, 28 August 2023 12:28 Переход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
День добрый всем!

сегодня прилетело из логов юзеров:
isc_arg_gds          isc_dsql_error (335544569)
isc_arg_gds          isc_sqlerr (335544436)
isc_arg_number       -104
isc_arg_gds          isc_invalid_boolean_usage (335545023)
запрос - простыня.
визуально найти косяк в запросе сложновато.
посему просьба:
нельзя ли сюда воткнуть пару isc_arg_number с номером строки и позицией символа.

зы: FB3.0.10.33601
Re: isc_invalid_boolean_usage [сообщение #3065 является ответом на сообщение #3063] Mon, 28 August 2023 15:36 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
Вроде можно, пиши трекеру
Re: isc_invalid_boolean_usage [сообщение #3071 является ответом на сообщение #3065] Tue, 29 August 2023 12:27 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
Ок.
ну, тогда чтоб два раза не вставать, ещё реквест.
нельзя ли причесать isc_dsql_error на предмет использования isc_dsql_line_col_error,
для случая когда статус-вектор таки содержит и line, и col.
а то сейчас оно через раз - где-то есть, а где-то нету.

пример1:
isc_arg_gds          isc_dsql_error (335544569)
isc_arg_gds          isc_sqlerr (335544436)
isc_arg_number       -206
isc_arg_gds          isc_dsql_field_err (335544578)
isc_arg_gds          isc_random (335544382)
isc_arg_string       "SNAME"
isc_arg_gds          isc_dsql_line_col_error (336397208)
isc_arg_number       82
isc_arg_number       10
пример2:
isc_arg_gds          isc_dsql_error (335544569)
isc_arg_gds          isc_sqlerr (335544436)
isc_arg_number       -104
isc_arg_gds          isc_dsql_token_unk_err (335544634)
isc_arg_number       19
isc_arg_number       2
isc_arg_gds          isc_random (335544382)
isc_arg_string       "or"
в общем, одно яичко ниже, а другое выше.
Re: isc_invalid_boolean_usage [сообщение #3072 является ответом на сообщение #3071] Tue, 29 August 2023 14:07 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
Ты хочешь, чтобы column/line всегда передавались только через isc_dsql_line_col_error ?
Не думаю, что те коды ошибок, которые изначально имели column/line среди своих аргументов, нужно из-за этого менять.
Впрочем, в трекере ты можешь и про это написать.
Re: isc_invalid_boolean_usage [сообщение #3074 является ответом на сообщение #3072] Tue, 29 August 2023 23:57 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
Ты хочешь, чтобы column/line всегда передавались только через isc_dsql_line_col_error ?
Не думаю, что те коды ошибок, которые изначально имели column/line среди своих аргументов, нужно из-за этого менять.
мне, как компонент-райтеру приходится иметь дело с полным ассортиментом клиентов и серверов от архаичного Interbase 4.0, до мейнстримового Firebird 5.0
в старых версиях номер строки и позиция символа вообще "вшита" в isc_arg_string, без всяких там isc_arg_number. извлечь их можно только парсингом строки.
но как в классическом анекдоте, хочется чего-то лëгкого, воздушного...

две бутылки водки, пожалуйста! (C)
Re: isc_invalid_boolean_usage [сообщение #3078 является ответом на сообщение #3074] Wed, 30 August 2023 10:32 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
МП писал(а) Tue, 29 August 2023 23:57
hvlad
Ты хочешь, чтобы column/line всегда передавались только через isc_dsql_line_col_error ?
Не думаю, что те коды ошибок, которые изначально имели column/line среди своих аргументов, нужно из-за этого менять.
мне, как компонент-райтеру приходится иметь дело с полным ассортиментом клиентов и серверов от архаичного Interbase 4.0, до мейнстримового Firebird 5.0
Тогда тебе "выравнивание яичек" в новых версиях никак не поможет.
Re: isc_invalid_boolean_usage [сообщение #3079 является ответом на сообщение #3078] Wed, 30 August 2023 10:50 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
Тогда тебе "выравнивание яичек" в новых версиях никак не поможет.
да я и не настаиваю.
я речь веду о том, что нет ничего постоянного, касаемо "кодов ошибок, которые изначально имели column/line среди своих аргументов".

[Обновления: Wed, 30 August 2023 10:50]

Известить модератора

Re: isc_invalid_boolean_usage [сообщение #3080 является ответом на сообщение #3079] Wed, 30 August 2023 14:10 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
МП писал(а) Wed, 30 August 2023 10:50
я речь веду о том, что нет ничего постоянного, касаемо "кодов ошибок, которые изначально имели column/line среди своих аргументов".
Ошибаешься. Мы не меняем формат кода ошибки. Как и его числовое значение.
Слегка изменить можно только текст, если там были найдены ошибки, например.
Re: isc_invalid_boolean_usage [сообщение #3081 является ответом на сообщение #3080] Wed, 30 August 2023 14:22 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
Ошибаешься. Мы не меняем формат кода ошибки. Как и его числовое значение.
Слегка изменить можно только текст, если там были найдены ошибки, например.
вы не меняете, а Бормады меняют и не парятся.

зы: если таки наступит "сплошное телевидение" в виде тотального OO API, а статус-вектор будет объявлен deprecated, то и ладно.
Re: isc_invalid_boolean_usage [сообщение #3082 является ответом на сообщение #3081] Wed, 30 August 2023 14:45 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
МП
зы: если таки наступит "сплошное телевидение" в виде тотального OO API, а статус-вектор будет объявлен deprecated, то и ладно.
В OO API всё тот же статус-вектор, только не ограниченный 20-ю эл-тами.
Re: isc_invalid_boolean_usage [сообщение #3084 является ответом на сообщение #3082] Wed, 30 August 2023 16:21 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
МП
зы: если таки наступит "сплошное телевидение" в виде тотального OO API, а статус-вектор будет объявлен deprecated, то и ладно.
В OO API всё тот же статус-вектор, только не ограниченный 20-ю эл-тами.
я щупал, в курсе.
ни у кого не чешется переделать всё вусмерть на классы исключений?
(интересуюсь на всякий случай)

касаемо длинного вектора: пока ковырялся в логах, нашел непонятное.
isc_arg_gds          isc_dsql_error (335544569)
isc_arg_gds          isc_sqlerr (335544436)
isc_arg_number       -104
isc_arg_gds          isc_dsql_command_err (335544570)
isc_arg_gds          isc_dsql_derived_field_unnamed (336397220)
isc_arg_number       7
isc_arg_string       "<unnamed>"
isc_arg_warning      isc_sqlwarn (335544807)
isc_arg_number       204
сижу и не врубаюсь, за для нафига тут ещё и isc_arg_warning.
Re: isc_invalid_boolean_usage [сообщение #3086 является ответом на сообщение #3084] Wed, 30 August 2023 22:23 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
МП писал(а) Wed, 30 August 2023 16:21
hvlad
В OO API всё тот же статус-вектор, только не ограниченный 20-ю эл-тами.
я щупал, в курсе.
ни у кого не чешется переделать всё вусмерть на классы исключений?
(интересуюсь на всякий случай)
Чем IStatus не класс ?

МП
касаемо длинного вектора: пока ковырялся в логах, нашел непонятное.
isc_arg_gds          isc_dsql_error (335544569)
isc_arg_gds          isc_sqlerr (335544436)
isc_arg_number       -104
isc_arg_gds          isc_dsql_command_err (335544570)
isc_arg_gds          isc_dsql_derived_field_unnamed (336397220)
isc_arg_number       7
isc_arg_string       "<unnamed>"
isc_arg_warning      isc_sqlwarn (335544807)
isc_arg_number       204
сижу и не врубаюсь, за для нафига тут ещё и isc_arg_warning.
Ну так там ещё эл-ты есть, а ты их через старое АПИ не видишь:
	ERRD_post_warning(Arg::Warning(isc_sqlwarn) << Arg::Num(204) <<
			  Arg::Warning(isc_dsql_ambiguous_field_name) << Arg::Str(buffer) <<
									 Arg::Str(++p) <<
			  Arg::Warning(isc_random) << name);
А работал бы в 3-ем диалекте, то это был бы не warning, а вполне себе error
Re: isc_invalid_boolean_usage [сообщение #3088 является ответом на сообщение #3086] Wed, 30 August 2023 23:54 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
А работал бы в 3-ем диалекте, то это был бы не warning, а вполне себе error
это в любом случае Егор.
ибо первый элемент статуса == isc_dsql_error.
на кой хер там в хвосте ещё isc_arg_warning я лично не понимаю.
Re: isc_invalid_boolean_usage [сообщение #3090 является ответом на сообщение #3084] Thu, 31 August 2023 00:46 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 345
Зарегистрирован: August 2022
Senior Member
МП писал(а) Wed, 30 August 2023 15:21

ни у кого не чешется переделать всё вусмерть на классы исключений?
У меня наследник от IStatus легко кидается в качестве класса исключения. Не требует странных обёрток, неограничен в размерах, умеет в итератор и ещё пару гитик.

Но тебе это не поможет, поскольку дельфя не умеет ловить и кидать плюсовые исключения.
Re: isc_invalid_boolean_usage [сообщение #3091 является ответом на сообщение #3088] Thu, 31 August 2023 01:09 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
МП писал(а) Wed, 30 August 2023 23:54
hvlad
А работал бы в 3-ем диалекте, то это был бы не warning, а вполне себе error
это в любом случае Егор.
ибо первый элемент статуса == isc_dsql_error.
на кой хер там в хвосте ещё isc_arg_warning я лично не понимаю.
То, что ты показал - error + warning. warning'ов может быть МНОГО, error - только один, ибо error прерывает работу, а warning - нет.
Поэтому все warning'и идут после error (если он есть).

Если бы ты работал в 3-ем диалекте, то isc_dsql_ambiguous_field_name считался бы ошибкой, и в статусе был бы только он один.
Re: isc_invalid_boolean_usage [сообщение #3092 является ответом на сообщение #3091] Thu, 31 August 2023 10:12 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
нахрена мне ворнинги, если есть ошибка.
заседание суда, вердикт - виновен, приговор - высшая мера, приведëн в исполнение.
а в эпитафии дописано: "... а ещё он улицу перешёл на красный свет и ругался матерно".
вот эта вот приписка сильно нужна?
влияет на что-то?
Re: isc_invalid_boolean_usage [сообщение #3093 является ответом на сообщение #3092] Thu, 31 August 2023 10:48 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 314
Зарегистрирован: August 2022
Senior Member
МП писал(а) Thu, 31 August 2023 10:12
нахрена мне ворнинги, если есть ошибка.
заседание суда, вердикт - виновен, приговор - высшая мера, приведëн в исполнение.
а в эпитафии дописано: "... а ещё он улицу перешёл на красный свет и ругался матерно".
вот эта вот приписка сильно нужна?
влияет на что-то?
Warning был помещён в статус ДО того, как была обнаружена ошибка.
Не нравится - не ешь, warning'и в статусе чётко отделены от ошибок.

PS И кто тут зануда ?
Re: isc_invalid_boolean_usage [сообщение #3094 является ответом на сообщение #3093] Thu, 31 August 2023 11:54 Переход к предыдущему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
и всё таки, доктор, непорядочек ©
Razz
Предыдущая тема: Вышли минорные релизы Firebird 3.0.11 и 4.0.3
Следующая тема: Числовое представление массива байт
Переход к форуму:
  


Текущее время: Sat Apr 27 18:27:30 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01115 секунд