powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выяснить запросом диалект соединения?
25 сообщений из 50, страница 1 из 2
Выяснить запросом диалект соединения?
    #39742816
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть SQL-запрос, который покажет SQL-диалект соединения (не БД, а именно соединения) ?

c:\Program Files\Firebird\Firebird_2_1\doc\README.monitoring_tables.txt
c:\Program Files\Firebird\Firebird_2_1\doc\sql.extensions\README.context_variables2.txt
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742817
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле, в этих файлах, ничего такого не нашёл
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742827
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.

P.S. IIRC был тикет, с просьбой добавить
это в MON$ATTACHMENTS - завотируй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742833
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диалект клиента знает только клиент, серверу он пофиг.
Клиент передаёт его в каждый запрос во время препаре.
Во время коннекта он влияет только на обработку переданного в DPB имени роли.

Сама постановка вопроса говорит о проблемах в консерватории, как минимум о не понимании что такое диалект.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742837
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

не будет этого в мониторинге.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742888
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad> Диалект клиента знает только клиент, серверу он пофиг.

Почему это пофиг? Обработку (в т.ч. возврат ошибок) делает сервер.

> Клиент передаёт его в каждый запрос во время препаре.

Я знаю, prepare, execcute/open и чего-то там ещё,
хотя лично мне в голову не пришло бы соединяться
с одним диалектом, а потом работать с другим.

А в чем проблема показывать его в мониторинге,
чем это чревато, почему такая категоричность?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742928
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамhvlad> Диалект клиента знает только клиент, серверу он пофиг.

Почему это пофиг?Потому что это никак ни на что не влияет за пределами препарирования конкретного запроса.
Гаджимурадов РустамЯ знаю, prepare, execcute/open и чего-то там ещёНет, получается не знаешь. Только препаре.
Гаджимурадов РустамА в чем проблема показывать его в мониторинге,
чем это чревато, почему такая категоричность?Потому что серверу пофиг, он не хранит это значение, нигде. Оно ему не нужно.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39742984
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad> Потому что это никак ни на что не влияет за
hvlad> пределами препарирования конкретного запроса.

Я не понял, на что ты пытаешься намекнуть.
ОК, за пределами не влияет, но из этого никак
не следует, что само знание "с каким диалектом
это выполнялось" не может быть интересно.
С т.з. клиента - да, возможно, звучит абсурдно
(а возможно, нет), но с т.з. DBA/DBD - вполне
может иметь значение.

hvlad> Нет, получается не знаешь. Только препаре.

Ну мог и попутать чего по памяти, я говорил по
API-функциям, в которых был соотв. параметр,
их там (во времена IB6) было штуки 3-4, может
кроме preapre в остальных это уже игнорируется.

> Потому что серверу пофиг ... Оно ему не нужно.

Ну т.е. это из разряда идеологических/архитектурных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743007
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЯ не понял, на что ты пытаешься намекнуть.Я не намекаю, я прямо говорю - нет никакого клиентского диалекта с точки зрения сервера.
Нет такого св-ва у соединения. Чарсет - есть, имя юзера\роли - есть, "клиентского диалекта" - нет.
И не было никогда.

Гаджимурадов Рустамзнание "с каким диалектом это выполнялось"Это бессмыслица.
Ты ещё раз показываешь, что понятия не имеешь, о чём говоришь.

Гаджимурадов РустамНу мог и попутать чего по памяти, я говорил по
API-функциям, в которых был соотв. параметр,
их там (во времена IB6) было штуки 3-4, может
кроме preapre в остальных это уже игнорируется.Диалект как пар-р есть только у препаре.
В Борландовской доке по IB6 были баги, когда версию XSQLDA называли диалектом.
Но если попробовать включить мозг, то станет ясно, что для fetch\execute нет никакого смысла указывать диалект.
Ибо диалект влияет только на обработку текста запроса (и с кого-то бодуна на имя роли при коннекте, но то такэ).
Если продолжить пользоваться мозгом, то станет очевидно, что на уровне коннекта движок понятия не имеет про "диалект клиента".
Иначе незачем пихать его в препаре...

Ничего, что я прямо, без намёков ? :)
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743011
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВ Борландовской доке по IB6 были баги, когда версию XSQLDA называли диалектом.
Но если попробовать включить мозг, то станет ясно, что для fetch\execute нет никакого
смысла указывать диалект.

Если включить мозг, то обнаружится, что версия XSQLDA содержится в самой XSQLDA и
отдельное её указание смысла не имеет от слова "совсем".

А баг в доке был как раз обратный: "версией SQLDA" называли параметр, который
использовался для указания диалекта.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743042
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

всё не так. Следи за руками (со включённым мозгом, по возможности):

В доке по IB6 (которую я вижу сейчас) есть такие описания пар-ров, связанные с диалектами:

а) da_version

unsigned short
Indicates the version of the extended SQL descriptor area
(XSQLDA) passed to the function; set this value to 1

Используется в описании:
isc_dsql_describe(), isc_dsql_describe_bind(), isc_dsql_execute(), isc_dsql_execute2(), isc_dsql_fetch()

Здесь da_version указывает на тип SQLDA\XSQLDA

Код: sql
1.
2.
3.
4.
// SQLDA dialects

const USHORT DIALECT_sqlda	= 0;
const USHORT DIALECT_xsqlda	= 1;



б) dialect

unsigned short
Indicates the SQL dialect of statement
Must be less than or equal to the SQL dialect of the client

Используется в описании:
isc_dsql_prepare(), isc_dsql_execute_immediate(), isc_dsql_exec_immed2()

Здесь dialect указывает на SQL диалект клиента

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
/***************************/
/* SQL Dialects            */
/***************************/

#define SQL_DIALECT_V5				1	/* meaning is same as DIALECT_xsqlda */
#define SQL_DIALECT_V6_TRANSITION	2	/* flagging anything that is delimited
										   by double quotes as an error and
										   flagging keyword DATE as an error */
#define SQL_DIALECT_V6				3	/* supports SQL delimited identifier,
										   SQLDATE/DATE, TIME, TIMESTAMP,
										   CURRENT_DATE, CURRENT_TIME,
										   CURRENT_TIMESTAMP, and 64-bit exact
										   numeric type */
#define SQL_DIALECT_CURRENT		SQL_DIALECT_V6	/* latest IB DIALECT */



Так вот, ошибка есть в описании isc_dsql_execute_immediate() и isc_dsql_exec_immed2() - здесь dialect используется в обоих смыслах.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743045
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.12.2018 18:22, hvlad пишет:

> Так вот, ошибка есть в описании isc_dsql_execute_immediate() и isc_dsql_exec_immed2() - здесь dialect используется в обоих смыслах.

так они ж не препарируются
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743091
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий05.12.2018 18:22, hvlad пишет:

> Так вот, ошибка есть в описании isc_dsql_execute_immediate() и isc_dsql_exec_immed2() - здесь dialect используется в обоих смыслах.

так они ж не препарируютсяexecute immediate == prepare + execute в одном флаконе
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743367
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда, уровень риторики впечатляющий,
уступает только уровню раздувания щёк. :)

hvlad> Нет такого св-ва у соединения.

У соединения нет, у запроса - есть. Что это меняет?
Ну будет свойство не в attachments, а в statements.

> Это бессмыслица. Ты ещё раз показываешь,
> что понятия не имеешь, о чём говоришь.

А по сути ответить? От диалекта зависит вернёт препаре ошибку
или нет, например. Соответственно, это может быть интересно
DBA/DBD (а уж если ПО не "своё" - то тем более).

hvlad> Диалект как пар-р есть только у препаре.
hvlad> Так вот, ошибка есть в описании isc_dsql_execute_immediate() и
hvlad> isc_dsql_exec_immed2() - здесь dialect используется в обоих смыслах.


Про ошибки и баги верю (хотя не понял, что значит "в обоих смыслах"),
но это претензии не ко мне. В любом случае, на сабж это не влияет, кроме
как на ЧСВ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743375
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

я честно говоря не понимаю зачем оно тебе надо. Ну обломается клиент получит ошибку, сразу видно не с тем диалектом запрос препарирует. Не получил, значит всё нормально у него работает
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743376
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамМда, уровень риторики впечатляющий,
уступает только уровню раздувания щёк. :)Вот именно поэтому я с тобой практически не разговариваю.
Щёки мешают.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743385
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамхотя лично мне в голову не пришло бы соединяться
с одним диалектом, а потом работать с другим.

Так там по другому происходит. База создается в одном диалекте, а соединение проводится в другом.

Да, возможно, "с точки зрения сервера" диалект существует у конкретной команды ,а не у соединения, но

1) в mon$statements я тоже смотрел - там тоже про диалект ни слова. Почему бы тогда туда не добавить?

2) как я уже давно говорил, никто не мешает клиенту сделать rdb$set_context и сообщить серверу диалект - для диагностических целей, потому как у новичков периодически возникают такие проблемы, например https://stackoverflow.com/q/53620203/976391
Кроме принципиальной нелюбви Firebird к новичкам, конечно. Пусть им будет труднее, чтобы не лезли на свет.

hvladнет никакого клиентского диалекта с точки зрения сервера

Типа Firebird Server делает одна контора, а Firebird Client - другая, и они ну совсем не дружат, ага.


hvladMust be less than or equal to the SQL dialect of the client

Забавная фраза. А что такое "диалект клиента" в виду того, что "диалекта соединения не существует" ?


Симонов Денисразу видно не с тем диалектом запрос препарирует

Это тебе видно.
Человеку, начинающему работать с Firebird это не видно. Он вообще такого слова не знает.
Особенно если прикладное ПО не позволяет выставить диалект либо это хз гд запрятано и надо несколько часов по всему интернету искать.

Возможность третьему лицу сказать новичку "сделай вот так и узнаешь - такая причина или другая" - это хорошо, для новичков.
Но новички - это почему-то плохо, для Firebird Team...
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743397
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

AriochЗабавная фраза. А что такое "диалект клиента" в виду того, что "диалекта соединения не существует" ?

Влад тебе говорит нет у соединения такого свойства как диалект. Это клиентские компоненты подставляют своё свойство "диалект" в isc_dsql_prepare()

AriochЧеловеку, начинающему работать с Firebird это не видно. Он вообще такого слова не знает.
Особенно если прикладное ПО не позволяет выставить диалект либо это хз гд запрятано и надо несколько часов по всему интернету искать.

ага, это только ты наивно полагаешь что всё должно работать интуитивно и интернет не нужен. Позволь тебя огорчить такие проблемы не только в Firebird.

MySQL, Oracle, Postgres тоже иногда заставляют лазить по интернету в поисках ответов казалось бы на простые вопросы.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743400
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВлад тебе говорит нет у соединения такого свойства как диалект. Это клиентские компоненты подставляют своё свойство "диалект" в isc_dsql_prepare()

это не отвечает на вопрос "что такое диалект клиента" и "почему меньше или равно"

Симонов ДенисMySQL, Oracle, Postgres тоже иногда заставляют лазить по интернету в поисках ответов казалось бы на простые вопросы

Только они не говорят, что это хорошо.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743413
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

никто не говорит что это хорошо. ИХМО диалект это вообще архаизм и не самое удачное изобретение. Но обратная совместимость требует.
А чтобы стать профи нужен пытливый ум и минимум 5 лет практики. Если новичок при первой же проблеме бежит, то это его проблема, не стать ему профессионалом. И это не только в Firebird.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743425
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Во-первых, говорите открытым текстом - 21733150
Во-вторых, в самом отношении к подобным вопросам за все последние годы. Последний пример - 21755524 . Да как это шко-ло-ло смеет не знать самого Пешкова.

Как только возникает просьба облегчить диагностику - сразу "не хрен никому помогать, пусть мучаются, мы же 10 лет назад мучались, теперь пусть они мучаются".


Симонов ДенисИХМО диалект это вообще архаизм и не самое удачное изобретение.

Казалось бы тем более, нужно помогать новичкам, во всех местах где это "не самое удачное изобретение" может вылезти.
Казалось бы. Потому что в реальности почти всегда решается задача "как послать новичков на х.... на другие БД по процедурным основнаиям"
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743429
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochКроме принципиальной нелюбви Firebird к новичкам, конечно. Пусть им будет труднее, чтобы не лезли на свет.Ты сам себе это придумал и пропагандируешь.

AriochТипа Firebird Server делает одна контора, а Firebird Client - другая, и они ну совсем не дружат, ага.Чё сказать-то хотел ?

AriochhvladMust be less than or equal to the SQL dialect of the client

Забавная фраза. А что такое "диалект клиента" в виду того, что "диалекта соединения не существует" ?Спроси документописателей в Борланде.

Возможно, они под "диалектом клиента" понимают возможности этого клиента работать с определёнными типами данных.
Зачем они сделали это через то, что сделали - тоже вопрос в туда же.
Я здесь всего лишь показываю, как оно на самом деле, а не в документации.
Могу не показывать, если тебе от этого сносит крышу.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743431
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот кстати

http://www.ibase.ru/files/firebird/langref25rus/index.html
"SQL диалект может быть определён как на уровне базы данных, так и на уровне соединения с базой данных"

hvladСама постановка вопроса [о диалекте уровня соединения] говорит о проблемах в консерватории, как минимум о не понимании что такое диалект.

Precious.
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743432
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, я это просто вижу год за годом, а вам "своё - не пахнет".

Что у вас замечательно выходит посылать всех нафиг под таким соусом "клиентами файёрбёрд мы, проект файрбёрд, не занимаемся, ищё тех, кто занимается, а нам пофигу"
...
Рейтинг: 0 / 0
Выяснить запросом диалект соединения?
    #39743434
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Диалект при соединении с базой данных должен быть таким же, как и базы данных. Исключением является случай миграции с 1-го в 3-й диалект, когда в строке соединения с базой данных используется 2-й диалект."

Это бы это было так, что сервер бы выдавал ошибку, при попытке выставить в соединении другой диалект, чем у БД.
Но этого не происходит.
Значит ошибка либо в доке, либо в сервере.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выяснить запросом диалект соединения?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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