|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Ariochкстати, как в IBE задать 1-й диалект для подключения к БД 3-го диалекта? для тестирования Никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 15:28 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
IBExpert, Т.е. саму DPB-константу задать можно, а её параметры ни в скобках и никак иначе не передать? обидно.... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 15:48 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
AriochТ.е. саму DPB-константу задать можно, а её параметры ни в скобках и никак иначе не передать? обидно.... Константу-то задать можно (sql_dialect=1), но эксперт выставит диалект соединения равным диалекту базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:04 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
IBExpert, ах вот какой синтаксис.... тьфу, все пробовал это не попробовал. > эксперт выставит диалект соединения равным диалекту базы. даже если пользователь СПЕЦИАЛЬНО ввёл override ??? а можно это поправить ? ------------- Кстати, а как вообще это может быть, что "эксперт выставит диалект соединения равным диалекту базы." ? Чтобы узнать диалект БД - ты должен сначала к ней подключиться, а потом ПОСЛЕ подключения запросить диалект через API или MON$DATABASE. А чтобы менять диалект подключения - надо ещё ДО самого подключения. Курица и яйцо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:09 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
и ещё ты пишешь, что сам документацией не занимаешься, и если её надо править - чтобы я в другое место писал а в какое? на форуме регаться и в IBExpert Bug Reports ? или есть более прямые пути? хотя это не вдохновляет, что ты сам внутри компании не напишешь. если тебя проигнорируют - меня тем более ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:12 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
не диалект самой БД, а именно диалект подключения к БД! тот, который через isc_DPB_sql_dialect 1 задаётся в доках ничего не нашёл c:\Program Files\Firebird\Firebird_2_1\doc\sql.extensions\README.context_variables2.txt c:\Program Files\Firebird\Firebird_2_1\doc\README.monitoring_tables.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:19 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
AriochКстати, а как вообще это может быть, что "эксперт выставит диалект соединения равным диалекту базы." ? Чтобы узнать диалект БД - ты должен сначала к ней подключиться, а потом ПОСЛЕ подключения запросить диалект через API или MON$DATABASE. А чтобы менять диалект подключения - надо ещё ДО самого подключения. В компонентах доступа "диалект подключения" - это просто переменная, которую можно изменить в любое время. Значение этой переменной передается некоторым API-функциям вроде isc_dsql_execute. Трогать я там ничего не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:21 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
IBExpertВ компонентах доступа "диалект подключения" - это просто переменная, которую можно изменить в любое время по здравому смыслу - она либо не используется, либо используется неявно при постройке DPB жаль, что не будешь тогда ты и AV не пофиксишь, если в generateDPB(...) соваться не хочешь ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:23 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Нет. Обсуждали уже ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:24 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Ariochи ещё ты пишешь, что сам документацией не занимаешься, и если её надо править - чтобы я в другое место писал а в какое? на форуме регаться и в IBExpert Bug Reports ? или есть более прямые пути? На сайте должен быть адрес для обратной связи. Ariochхотя это не вдохновляет, что ты сам внутри компании не напишешь. если тебя проигнорируют - меня тем более Ты действительно думаешь, что я в одиночку могу и эксперт вылизать, и ваши претензии к документации немцам транслировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:25 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
AriochIBExpertВ компонентах доступа "диалект подключения" - это просто переменная, которую можно изменить в любое время по здравому смыслу - она либо не используется, либо используется неявно при постройке DPB Нафиг фантазировать? Посмотри синтаксис той же isc_dsql_execute. Эксперт коннектится, проверяет диалект базы и устанавливает значение этой переменной. Все. Ariochтогда ты и AV не пофиксишь, если в generateDPB(...) соваться не хочешь Это как раз несложно пофиксить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:31 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
нет тут никакого диалекта только database handle Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
и тут нет можно ещё посмотреть в API GUIDE - page 256 и page 87 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:33 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, SQL диалект подключения влияет только на интерпретацию роли при самом и не хранится в свойствах подключения ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:35 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
нашёл только одно место Код: plaintext 1. 2. 3. 4.
"dialect of the client" - шикарная фраза, об неё уже спотыкались когда-то ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:36 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Ariochнет тут никакого диалекта Это у тебя нет. У меня есть: Код: pascal 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:39 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, Ariochнет тут никакого диалекта плохо смотришь Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:43 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
IBExpertAriochнет тут никакого диалекта Это у тебя нет. У меня есть: Код: pascal 1. 2. 3. 4. 5.
Это уже творчество... Бузаджи, кажется. В ibase.h такого нет - ни в 2.1, ни в 2.5.8, ни в 3.0.4 Веселуха... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:52 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, потому что диалект важен на этапе prepare, а не выполнения ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 16:57 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
hvladНет. Обсуждали уже Хорошо бы какой-нибудь документ свети технический, и опубликовать либо на сайте либо даже в дистрибутиве Симонов ДенисSQL диалект подключения влияет только на интерпретацию роли при самом и не хранится в свойствах подключения а как он на роль влияет ? в API Guide такого не нашёл зато в API Guide в трёх местах есть загадочное "Must be less than or equal to the SQL dialect of the client " и да, помню когда то об этот коан уже спотыкались.... три места - это prepare, execute_immed и execute_immed2 ну и плюс ещё FIBC/FIB+ - ты уже сам нашёл 21874617 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:00 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Ariochа как он на роль влияет ? квотированные роли допускает в 3-ем диалекте. В общем тот же принцип как и для других идентификаторов, которые по разному ведут себя в 1 и 3-м диалекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:05 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
IBExpertAriochнет тут никакого диалекта Это у тебя нет. У меня есть: Код: pascal 1. 2. 3. 4. 5.
Погоди-погоди, FIBC/FIB+ туда реально диалект БД пихают ????? Это не диалект БД, это диалект SQLDA !!!! API Guide PDFISC_STATUS isc_dsql_execute( ISC_STATUS *status_vector, isc_tr_handle *trans_handle, isc_stmt_handle *stmt_handle, unsigned short da_version, XSQLDA *xsqlda); Parameter Type Description status_vector ISC_STATUS * Pointer to the error status vector trans_handle isc_tr_handle * Pointer to a transaction handle whose value has been set by a previous isc_start_transaction() call; trans_handle returns an error if NULL stmt_handle isc_stmt_handle * Pointer to a statement handle previously allocated with isc_dsql_allocate_statement() or isc_dsql_alloc_statement2(); returns an error in status_vector if NULL da_version unsigned short Indicates the version of the extended SQL descriptor area ( XSQLDA ) passed to the function; set this value to 1 xsqlda XSQLDA * Pointer to a previously allocated XSQLDA used for input Arioch Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:06 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Денис, квотирование - это DSQL CREATE ROLE и ля-ля-ля но это уже ПОСЛЕ подключения а НА ЭТАПЕ подключения ещё никакого DSQL нет роль описывается api guide page 45 - там это просто бинарное поле, там кавычки смысла не имеют ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:15 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, как можно перевести слова версия как диалект? Пои идее в 4.0 могли бы версию XSQLDA поднять из-за того что размерность идентификаторов в XSQLVAR подросла, но на это вроде как забили. Впрочем никто не мешает запихать туда другую структуру, уж не знаю отработает ли оно правильно в старом API ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:16 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, кавычки нет, регистрочувствительность имеет ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:20 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
AriochПогоди-погоди, FIBC/FIB+ туда реально диалект БД пихают ????? Это не диалект БД, это диалект SQLDA !!!! Мне пофигу. Версия SQLDA есть в xsqlda, которая передается следующим параметром. Не морочь мне голову, короче. 20 лет оно работает и пусть дальше так и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:31 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Денискак можно перевести слова версия как диалект? не ко мне вопрос. предполагаю, что методом копипаста из функций execute_immed и prepare но это не точно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:31 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
может быть и будет работать мне сейчас некогда вникать в Симонов ДенисПои идее в 4.0 могли бы версию XSQLDA поднять из-за того что размерность идентификаторов в XSQLVAR подросла и как это может отразиться на существующих обычных клиентах прохоже, сейчас это поле просто игнорируется, потому ч тоникаких других версий SQLDA не предусмотрено было вообще но всегда ли так будет?... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:36 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, сделай длинный идентификатор в 4.0 и попробуй открой в любом из существующих клиентов. Если оно реально определено вот так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
то может случится маленькая неприятность ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:40 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Денис, а у тебя нет ради интереса нигде нет FIBC ? на ibase.ru нету ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:42 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
А впрочем не надо. Я посмотрел в IBX XE2 - там ровно та же ошибка В общем, автор FIBC накосячил на почве копипаста и нехватки документации А IBX и FIB+ просто тупо продолжили традицию ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:45 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Денис, ....да я и в 3.0 не сильно заинтересован, пока мой баг не пофиксят, в чем не заинтересованы мечтающие о лаврах Оракла девелоперы а вот IBExpert'e тема для проверки с FB4 :-) И вообще, напишу я админам, чтобы этот кусок перетащили в другую ветку ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:48 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
29.04.2019 17:45, Arioch пишет: > В общем, автор FIBC накосячил на почве копипаста и нехватки документации API Guide есть в доке от IB5.Х и в доке от IB6.0 Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 17:56 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, короче пока эту фичу с идентификаторами сделали для нового API где на эту структуру плевать, но его почти никто не использует. Будет ли оно нормально работать если подпихнуь ISC_SCHAR sqlname[253]; и др. не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 18:04 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Мимопроходящий29.04.2019 17:45, Arioch пишет: > В общем, автор FIBC накосячил на почве копипаста и нехватки документации API Guide есть в доке от IB5.Х и в доке от IB6.0 Ну, может в IB 5.x был косяк ,и сервер реально требовал туда диалект подставлять? DDDDD ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 18:49 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Мимопроходящий, Бздыц, в UIB тот же косяк... Видимо Анри тупо использовал код FIBC/IBX за учебник, не проверяя... придется искать API Guide современного Interbase и сверять с IB6.... Вдруг там реально не таК, как в FB ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 19:02 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
29.04.2019 19:02, Arioch пишет: > > придется искать API Guide современного Interbase http://docs.embarcadero.com/products/interbase/IBXE/APIGuide.pdf Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 19:07 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Денис, нужен человек, который ориентируется в C++ исходниках FB, чтобы он посмотрел где там реально реализация isc_dsql_execute2 и isc_dsql_execute - и что там происходит в пробелмным параметром. Видимо в версиях от 0.x до 3.x он просто игнорируется нафиг ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 19:13 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
P.S. я отписался модерам, чтобы комменты про диалект и API отсюда перетащили туда, так что пока тут завязываем с этим - это уже не про IBE ,а про библиотеки в целом ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 19:14 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Мимопроходящий, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 19:15 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
В Interbase Guide то же самое. Как и ожидалось ,но проверить не грех. Вчитался лучше в "Specifies that the XSQLDA descriptor, rather than SQLDA, should be used; set this value to 1." Т.е. этот параметр - он просто boolean - ноль либо не ноль. Пока что. Поэтому баг и не проявлялся. Интересно, что там будет в FB4, Денис сказал, там SQLDA расширяли в плане длины названий, но возможно это ни на что на практике не влияет ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 19:22 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, опять ты исказил мои слова. Как раз SQLDA в 4.0 не расширяли. Поэтому на старом API длинные идентификаторы скорее всего работать не будут. А ещё сказал, что я не пробовал можно ли в старый API просто подсунуть структуру с расширенными полями под метаданные. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 20:29 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, там не надо быть мегашарящим см. https://github.com/FirebirdSQL/firebird/blob/master/src/yvalve/why.cpp ищем поиском isc_dsql_execute и isc_dsql_execute2 и видим что на этот параметр кладётся болт. Всё твоя душа может быть спокойна ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 20:44 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 21:23 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
hvlad, спасибо, нашёл. Arioch, судя по всему этот параметр артефакт, говорит о том что надо использовать расширенный формат дескриптора. В >= 3.x он вообще игнорируется, в более ранних версиях используется. Но там в коде написано что-то в роде такого Код: plaintext 1.
поэтому и работает корректно даже если туда передать sql диалект ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 23:01 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Денис, Ну исказил, так исказило. Распиши подробно, что ты имел в виду, чтобы и ежу было понятно. А если тема того не стоит, чтобы ты подробно объяснял, то не стоит и того, чтобы я подробно угадывал. --------------- Продолжаем раскопки.... 1. Предварительно *очень* похоже на то, что и IBO так же вызывает эти функции. Если так - то все Delphi-библиотеки в этом противоречат API Guide. Но! 2. Mark Rottleveel раскопал исходники Borland Intebase 6 - и в тех исходниках как раз и название dialect. Это, Денис, к твоему вопросу "как же можно было так перевести" - а запросто, с Си на Паскаль. https://github.com/FirebirdSQL/x-cvs-interbase/blob/d1cd7082a7a6faa5cc8f2ef7dbcaa95f09ae0091/jrd/why.c#L2217 И вот тут уже даже интересно, вспомнят сегодня JS и AH какого чёрта они тогда думали, в те сумбурные дни IB6 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 23:23 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Arioch, что ты хочешь от меня? Я только сказал что XSQLDA не рассчитана на длинные идентификаторы, которые появились в 4.0. С новым API работает, как длинные идентификаторы использовать в старом понятия не имею. Я пока так далеко не заглядывал. AriochПродолжаем раскопки.... а смысл? Влад в соседней теме всё разжевал. Ну назвал назвали лет 20 назад неаккуратно параметр диалектом, ну стали пихать туда не совсем то, и что работоспособность от этого не нарушилась ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 23:31 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов ДенисВлад в соседней теме всё разжевал. я не знаю, что такое соседняя тема в данном случае но в API Guide судя по всему написана чушь, наполовину в Delphi-библиотеках вызывается чушь, полностью и да, пока что "работоспособность от этого не нарушилась" но это не значит, что сумбур вместо ясности - это хорошо, и что этот сумбур не сможет выстрелить когда-то потом ------------------ копия переписки Curiouser and curiouser! so, STATUS API_ROUTINE GDS_DSQL_EXECUTE2 ( uses "dialect" parameter THRICE and all three times it is passing it down the chain to the UTLD_parse_sqlda(....) However, so do but EVERYONE! DSQL_INSERT for example https://github.com/FirebirdSQL/x-cvs-interbase/blob/d1cd7082a7a6faa5cc8f2ef7dbcaa95f09ae0091/jrd/why.c#L3178 DSQL_EXECTE_IMMEDIATE2 https://github.com/FirebirdSQL/x-cvs-interbase/blob/d1cd7082a7a6faa5cc8f2ef7dbcaa95f09ae0091/jrd/why.c#L2496 So, whenever that parameter stands for SQL dialect or DA version - it is one and the same, source-wise. And so either one part of API Guide or another is blatantly wrong... Mark, you did found something!.. as expected, the said sources of dsql_execute_2 come from the very first github commit, so if there was something before it - it is lost in history. Now, down the rabbit hole... dsql/utld.c Код: 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.
dsql/sqlda.h Код: plaintext 1. 2. 3. 4.
jrd/ibase.h Код: plaintext 1. 2. 3.
SO! whenever that "dialect" is used in FBClient's DSQL API - it is the dialect (version) of data area - it is XSQLDA vs SQLDA, and it is never or next to never about the SQL dialect. Those concepts could have been related, when conseived, but as IB6 was fleshed out they became different (or maybe even before it, i can find IB4 or IB5 to see API Guide of those, but don't want to). I rest my case, Your Honor. Всё, я спать хочу. Рабочая гипотеза - ВЕЗДЕ в DSQL где в параметрах функций (непосредственно, а не через SPB/DPB флаги) указывается SQL Dialect - это ни разу не SQL диалект, а ВЕЗДЕ диалект SQL_DA. Но при этом диалект SQLDA и версия SQLDA - разные понятия. И указывать в параметрах DSQL_xxxxx ( .... dialect ....) можно просто 1, можно DIALECT_xsqlda А вот SQLDA_VERSION1 - семантически неверно. Другой enum-тип, так сказать. В общем, в "спецификациях" тут - undefined behaviour СЕЙЧАС диалект SQLDA делится на два класса - "<= 0" и ">=1". Но ничего не сказано про будущее. Никакого соответствия SQL Dialect и SQLDA Dialect не задано. Половина клиентских библиотек делает так, а половина - этак. В принципе в будущем это может выстрелить, если введут новый SQL Dialect, который с собой принесет новый SQL DA Dialect. Половина библиотек будет работать, а половина тут же сломается. Шансы может быть и невелики, хотя кажется Сибиряков хотел SQLDA расширять, но если явно это не проговорить - то и не нулевые. Собственно, FB 1.x тоже в SQL позволял много вольностей, которые в 2.5/3 специально отслеживают и запрещают, хотя могли бы и дальше выполнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 00:10 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
AriochВсё, я спать хочуНаконец-то ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 00:39 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 07:09 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов Дениссудя по всему этот параметр артефакт, говорит о том что надо использовать расширенный формат дескриптора. В >= 3.x он вообще игнорируетсяв смысле, всегда юзается XSQLDA, независимо от того, что передаётся в da_version ? кстати, в недрах IBX наблюдаю такое: Код: pascal 1. 2. 3. 4. 5.
но hvlad приводит другие значения 21754815 Код: pascal 1. 2. 3.
правда, у меня IBX не каноничный. если у кого есть "свежие" IBX, посмотрите как там, плс. (модуль IBHeader.pas) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:03 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Мимопроходящий, это разные вещи. DIALECT_* - это с какой структурой работаем (sqlda vs xsqlda). Одновременно он совпадает с SQL-диалектом в API-вызовах. DIALECT_xsqlda равен DIALECT_V5, т.е. XSQLDA ассоциируется со всеми новыми API-вызовами, где есть диалект. А DIALECT_sqlda равен нулю и ассоциируется со старыми API-вызовами (без _dsql_ в названии). В ФБ-сервере нулевой диалект трактуется как отсутствующий, т.е. клиент ничего не знает о диалектах. Для сервера есть два вида клиентов: (dialect == DIALECT_sqlda) и (dialect >= DIALECT_xsqlda). А SQLDA_VERSION* - это версия XSQLDA (у SQLDA нет поля версии). Причем существует только SQLDA_VERSION1, упоминаний SQLDA_VERSION2 у нас нет от слова совсем. У борманов SQLDA_VERSION2 это скорее всего длинные метаданные. Как-то так (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:21 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
dimitr, спасибо! немного прояснилось. для 4-ки с длинными идентификаторами метаданных не планируется новая версия XSQLDA? ибо в текущей версии XSQLVAR под идентификаторы отводится жестко 32 символа (31 + #0) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:34 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Мимопроходящийв смысле, всегда юзается XSQLDA, независимо от того, что передаётся в da_version ? судя по всему да https://github.com/FirebirdSQL/firebird/blob/B3_0_Release/src/yvalve/why.cpp#L2141 Мимопроходящийкстати, в недрах IBX наблюдаю такое: SQLDA диалект и версия это разные вещи. Первое относится к тому какая структура используется https://github.com/FirebirdSQL/firebird/blob/B3_0_Release/src/dsql/sqlda.h или https://github.com/FirebirdSQL/firebird/blob/B3_0_Release/src/dsql/sqlda_pub.h Если посмотреть внимательней, то поле version есть только в XSQLDA. Очевидно Борманы его задействовали когда длину идентификаторов увеличили (они это раньше сделали то ли в 7.0, то ли в 7.1, то ли в 7.5) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:34 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
ну вот пока писал ответили :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:35 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Дабы всё упростить (или усложнить, кому как) - уточню: сервер понятия не имеет про SQLDA\XSQLDA, про них знает только fbclient. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:36 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
dimitrА SQLDA_VERSION* - это версия XSQLDA (у SQLDA нет поля версии). Причем существует только SQLDA_VERSION1, упоминаний SQLDA_VERSION2 у нас нет от слова совсем.как оказалось, в моём IBX тоже юзается исключительно SQLDA_VERSION1, а SQLDA_VERSION2 только задекларирован, но нигде не фигурирует. кстати, комментарии опосля декларации вводят в заблуждение, ибо утверждается, что SQLDA_VERSION1 это " pre V6.0 SQLDA ", а SQLDA_VERSION2 это " V6.0 SQLDA ". и то, и другое неверно . ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:46 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
МимопроходящийSQLDA_VERSION2 только задекларирован, но нигде не фигурирует. А сама XSQLDA2 там задекларирована? Я сильно надеюсь, что в Firebird поддержка удлинённых имён (если) будет сделана либо точно так же, либо нормально. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 12:58 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Мимопроходящий, да всё верно, глянул исходники новых IBX, там вся разница в том что для XSQLDA2 они используют XSQLVAR2, где длина идентификаторов 68 байт. В остальном всё одинаково. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 13:00 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
30.04.2019 13:00, Симонов Денис пишет: > да всё верно, глянул исходники новых IBX, там вся разница в том что для XSQLDA2 они используют XSQLVAR2, где длина идентификаторов 68 байт. В остальном всё одинаково. нет бы сразу заюзать PChar, вместо статичного массива Char. оно конечно тоже имеет тенденцию к геморрою, но другого плана. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 13:07 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЯ сильно надеюсь, что в Firebird поддержка удлинённых имён (если) будет сделана либо точно так же, либо нормально. она и сделана, в новом API, но на структуру XSQLDA это ложится плохо. У тебя есть мысли как это можно было бы реализовать без геморроя? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 13:17 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Симонов ДенисУ тебя есть мысли как это можно было бы реализовать без геморроя? Как и сказал МП: вполне нормально будет PChar, указывающий на внутренние структуры клиента. Заодно зарезервировать место под схему, алиасы и прочую дребедень. О выравнивании можно не заботиться, оно всё равно загублено sqldata и sqlind. Зато хорошо бы позаботиться о совместимости с XSQLVAR1 про которую Борланды забыли. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 13:39 |
|
возможно ли запросить SQL-диалект подключения?
|
|||
---|---|---|---|
#18+
Совместимость с Interbase API это хорошо: позволит использовать готовый код. Совместимость с XSQLVAR1 (в том числе по размеру) это хорошо: позволит создавать универсальный код. Если нет времени всё это хорошо продумать, то лучше вообще не париться, а тупо обрезать не влезшие имена. Меньшее зло. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 13:46 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560723]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
others: | 344ms |
total: | 540ms |
0 / 0 |