powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
13 сообщений из 13, страница 1 из 1
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039941
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый ВСЕМ!

Ещё со времён Г.Дица повелось в IBX и клонах при разборе статус-вектора для добычи SQLCODE
дёргать функцию isc_sqlcode(), ну а потом isc_sql_interprete().

Сильно подозреваю, что в эпоху исторического материализма и недоразвитого капитализма, оно нахрен не надо,
ибо в статус-векторе элемент isc_sqlerr и так будет интерпретирован isc_interprete()/fb_interpret().

В связи с чем вопрос: резать к чертовой матери, не дожидаясь перитонитов, или пускай себе живёт?

Оно конечно не жмёт, и всё таки, непорядочек-с.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039949
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLCODE давно объявлен deprecated.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039953
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Сильно подозреваю, что в эпоху исторического материализма и недоразвитого капитализма, оно нахрен не надо,
Я вообще не могу себе представить эпоху, когда оно было надо
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039955
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
29.01.2021 16:40, Dimitry Sibiryakov пишет:
>
> SQLCODE давно объявлен deprecated.
>

а вот это как раз неважно.
раз уж он в статус-векторе сидит, трогать его не нужно.
тем более, никто зуб не даст, что где-то в legacy-апликациях не используется.

но мой вопрос не об этом.
речь об интерпретации элементов статус-вектора в наследии IBX.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039957
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
раз уж он в статус-векторе сидит, трогать его не нужно.
Он там не сидит. Каждый (почти) gds code имеет назначенный ему sql code.
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039966
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
29.01.2021 17:01, hvlad пишет:
> Он там не сидит. Каждый (почти) gds code имеет назначенный ему sql code.

вот это бы хотелось уточнить.
я вижу, что в статус-векторе есть свой тип элемента - isq_sqlerr.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
isc_arg_gds 
    isc_dsql_error (335544569)
isc_arg_gds 
    isc_sqlerr (335544436)
isc_arg_number 
    -204
isc_arg_gds 
    isc_dsql_relation_err (335544580)
isc_arg_gds
    isc_random (335544382)
isc_arg_string 
    TABETTTL
isc_arg_gds
    isc_dsql_line_col_error (336397208)
isc_arg_number
    1
isc_arg_number 
    25
isc_arg_end


вопрос такой: если gds code таки имеет назначенный ему sql code,
то всегда ли этот sql code помещается в статус-вектор?
или таки надо дёргать isc_sqlcode(), в которую передаётся статус-вектор?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039974
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

isc_sqlerr присутствует в статусе далеко не для всех видов ошибок.
Насколько я вижу, он используется только в DSQL подсистеме - грубо говоря, его могут вернуть только isc_dsql_XXX вызовы (тщательно не проверял).

Сама isc_sqlcode() ищет в статусе isc_sqlerr и возвращает его аргумент, если нашла.
Если не нашла - ищет первый код ошибки, которому назначен SQL CODE, и возвращает его.

Я не понимаю сути проблемы, кстати, в чём она ?
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40039975
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Сама isc_sqlcode() ищет в статусе isc_sqlerr и возвращает его аргумент, если нашла.
Если не нашла - ищет первый код ошибки, которому назначен SQL CODE, и возвращает его.
вот это я и хотел услышать.
спасибо! :o)

зы: isc_sqlcode() выпиливать не буду.
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40040129
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, и штоб два раза не вставать, вопрос.
какое сейчас максимальное число элементов в статус-векторе?
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40040137
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
ну, и штоб два раза не вставать, вопрос.
какое сейчас максимальное число элементов в статус-векторе?
Если клиент ниже 3-ки, то ему не вернут более 20 эл-тов.
Для 3-ки и выше этого ограничения больше нет.
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40040155
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Мимопроходящий
ну, и штоб два раза не вставать, вопрос.
какое сейчас максимальное число элементов в статус-векторе?
Если клиент ниже 3-ки, то ему не вернут более 20 эл-тов.
Для 3-ки и выше этого ограничения больше нет.
круто!
просто для примера, в каких ситуациях может передаваться больше 20 элементов?
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40040158
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийв каких ситуациях может передаваться больше 20 элементов?

Если ты пользуешься OO API. Во всех остальных случаях их по-прежнему 20.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
    #40040160
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
просто для примера, в каких ситуациях может передаваться больше 20 элементов?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create exception ex_custom 'smth wrong!';
commit;

set term ^;
execute block as
begin
  exception ex_custom 'wow';
when any do
  exception;
end
^
set term ;^
commit;



1. Сервер fb3, клиент isql 3.0
Код: plaintext
1.
2.
3.
4.
5.
6.
Statement failed, SQLSTATE = HY000
exception 3
-EX_CUSTOM
-wow
-At block line: 3, col: 3
-At block line: 5, col: 3

2. Сервер fb3, клиент IBE (fbclient 3)
Код: plaintext
1.
2.
3.
4.
EX_CUSTOM.
wow.
At block line: 3, col: 3.
<Missing arg #1 - possibly status vector overflow>.

3. Сервер 2.5, клиент isql 2.5
Код: plaintext
1.
2.
3.
4.
5.
Statement failed, SQLSTATE = HY000
exception 1
-EX_CUSTOM
-wow
-At block line: 3, col: 3
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SC_STATUS - выпиливать ли isc_sqlcode() и isc_sql_interprete
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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