powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Обзор новых SQL фич Firebird 3.0
42 сообщений из 42, показаны все 2 страниц
ANN Обзор новых SQL фич Firebird 3.0
    #38826443
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Представляем вам Обзор новых SQL фич Firebird 3.0

Цель данного топика выловить ошибки. Предложения по улучшению приветствуются. Материалы этого документа будут использоваться для написания "Руководство по языку SQL СУБД Firebird" для Firebird 3.

Самую последнюю версию документа можно скачать тут https://www.assembla.com/spaces/firebird-russian-documentation/documents/cvsAgIB18r5l4sacwqEsg8/download/cvsAgIB18r5l4sacwqEsg8
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38826484
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
раздел "Запрет смешивания явных и неявных JOIN". Фраза "некоторые наиболее острые стили" режет слух. Какие такие острые стили? Лучше четко описать, что именно запрещено. Типа:

(TA, TB JOIN TC) равно TA, (TB JOIN C) и не равно (TA, TB) JOIN C

И что каждая часть, разделяемая запятыми, есть неявная derived table.

Поэтому:

TA, TB JOIN TC ON TA.COL1 = TC.COL1 -- не будет работать, ибо видеть TA явный джойн не может
TA, TB JOIN TC ON TB.COL1 = TC.COL1 -- будет работать, изоляция не нарушена

как-то так
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38826488
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

спасибо
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38826496
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стр.20 "Внутреннее соединение с хранимыми процедурами".
Изложение обрывается ИМХО неожидано:
1) рассмотрели как раньше было нельзя;
2) рассмотрели как раньше выкручивались.

Как сейчас можно не написано. Понимаю, что п.1 теперь легализован, но в тексте это не отражено.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38826563
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стр.37
авторпользователь операционной системы root (Linux);
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38829766
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
страница 23
в оригинале
Код: plaintext
1.
2.
 Несмотря на то, что тип данных BOOLEAN не преобразуется неявно ни к
одному типу. Возможно явное преобразование к строке с помощью функции
CAST.
правильно
Код: plaintext
1.
2.
Несмотря на то, что тип данных BOOLEAN не преобразуется неявно ни к
одному типу,возможно явное преобразование к строке с помощью функции
CAST.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38829905
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправлю.

Очень хотелось бы чтобы люди попробовали применить в трёшке то что написано.
Поскольку официального LRU ещё нет, я не уверен в правильности всего, что там написано.
Часть материала является переводом Release Notes, часть взята из doc/README.*, часть из комментариев в трекере, часть из обсуждений на sql.ru
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38832517
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cтр. 48 (плавает род пакета):
Поскольку зависимости от других объектов существуют только для тела пакеты , это тело пакета может быть легко удалено, даже если какой-нибудь другой объект зависит от этого пакета.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38832707
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стр. 57, п.3:
Действия DDL триггеров выполняются только при фиксации транзакции, в которой работает затронутая DDL команда. Никогда не забывайте о том, [что в] AFTER триггере, возможно сделать [только] то, что возможно сделать после DDL команды без автоматической фиксации транзакций. Вы не можете, например, создать таблицу в триггере и использовать еѐ там. Помимо пропусков, не совсем понятно что происходит. DDL в PSQL запрещён, т.е. таблицу в триггере нельзя создать. Если в тройке это всё ещё так, то нужно переписать: "Вы не можете создать таблицу, и использовать её в сработавшем триггере".
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38832729
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrCatСтр. 57, п.3:
DDL в PSQL запрещён, т.е. таблицу в триггере нельзя создать. Если в тройке это всё ещё так, то нужно переписать: "Вы не можете создать таблицу, и использовать её в сработавшем триггере".

Нафига? Это верно для всего PSQL. Теоретически можно EXECUTE STATEMENT + AUTONOMOUS TRANSACTION, но не нужно и в данном случае даже опасно. Скорее всего это вызовет бесконечную рекурсию.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38832869
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, я просто сообщаю, что споткнулся на этом месте, и тут могут другие споткнуться. Не только же умные люди читать про новшества будут)

На стр.72 в "слева на право" второй пробел лишний.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38832879
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На стр. 80 при описании синтаксиса ALTER USER указано GRANT/REVOKE ADMIN ROLE, тогда как в пятом примере на следующей странице написано DROP ADMIN ROLE
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38832937
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrCat,

исправил
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38836905
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос: можно ли в FB3 указыват ьsecutiry database не через алиасы, а через строку коннекта? хотя бы в усечённом виде "сам себе security" ?

желательно для коробочных программ, которые могли бы открывать БД через обычные file open dialog, не тебуя админских прав на редакьтирование program files\...\aliases.conf
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38836935
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

в FB3 ты можешь весь конфиг задать через DPB
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38837159
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

вариант интересный. Но для legacy тулзов можно это в connection string задать?

Тупой пример - embarcadero dbExpress :-)
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38837563
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

как сам-то видишь формат такой строки подключения?
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38837977
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arni,

Самое простое, основываясь на https://www.connectionstrings.com/firebird/

добавить параметр SecurityDB= "default" | "self" | <путь к БД>
Последний вариант для полноты, возможно смысла в нем нету.

В случае, если в DPB и CS указаны не-default БД, они должны совпадать, иначе ошибка подключения.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38837986
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

1. да ну его на фиг. Это дело драйверов свою ConnectionString рисовать. А в этом варианте вся обратная совместимость поломается.
2. Не надо захламлять топик. Он был создан не для того чтобы обсуждать фичи FB3, а для того чтобы обсуждать их описание в конкретном документе.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38837990
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

1. с чего бы? старые программы/драйвера просто не будут его указывать в CS
2. ок. Я просто думла, может мне кто скажет "дикарь, это уже сделали". Пора пароль от тракера вспоминать
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38844859
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил описание предложения ROLE в операторе CREATE DATABASE
Добавил описание предложения USING PLUGIN в операторах CREATE/ALTER/DROP USER

P.S. Создать базу данных с ролью, которой даны права CREATE DATABASE мне так и не удалось. Вероятно это потому что права даны не в той базе. А вот с указанием роли RDB$ADMIN получилось.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38844988
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисДобавил описание предложения ROLE в операторе CREATE DATABASE
А предложение NAMES у оператора CREATE DATABASE по-прежнему не документировано?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845071
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS> А предложение NAMES у оператора CREATE DATABASE
DS> по-прежнему не документировано?

Это которое чарсет соединения задаёт или о чём ты?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845079
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЭто которое чарсет соединения задаёт
Именно так.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845084
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСимонов ДенисДобавил описание предложения ROLE в операторе CREATE DATABASE
А предложение NAMES у оператора CREATE DATABASE по-прежнему не документировано?
Чё-то не понял...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> create database 'localhost/3333:/var/db/fb30/tmp20141229.fdb' names utf8;
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, column 63
-names
SQL> create database names utf8 'localhost/3333:/var/db/fb30/tmp20141229.fdb';
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-NAMES
SQL>

Как его правильно юзать-то ?
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845092
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov> Именно так.

Так в RN документирован давно.
Насчёт LRU - не знаю, не проверял.
Лично я в LRU не документировал
(ибо в оригинале не было).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845093
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> Как его правильно юзать-то ?

Set names
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845103
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а, понял, спс.

Полезнее было бы вместо 'create' сделать эту фичу для 'connect':
Код: plaintext
1.
2.
SQL> connect 'localhost/3333:/var/db/fb30/tmp20141229.fdb' set names 'win1251';
Command error: connect 'localhost/3333:/var/db/fb30/tmp20141229.fdb' set names 'win1251'

Впрочем, профит очень небольшой: объединение двух операторов в один.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845251
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

Добавлю.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845271
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

бррр... это же в доке по 2.5 пропущено. В общем добавлю туда
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845942
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоида, понял, спс.

Полезнее было бы вместо 'create' сделать эту фичу для 'connect':
Код: plaintext
1.
2.
SQL> connect 'localhost/3333:/var/db/fb30/tmp20141229.fdb' set names 'win1251';
Command error: connect 'localhost/3333:/var/db/fb30/tmp20141229.fdb' set names 'win1251'

Впрочем, профит очень небольшой: объединение двух операторов в один.

+1

Собственно хотел добавить в Руководство по языку SQL сам оператор SET NAMES. Но выяснил, что это чисто скриптовый оператор доступный в ISQL и ещё ESQL. Добавить его надо, только пока не решил куда. Ибо ни к DDL, ни к DML, ни к PSQL он не относится. Наверное всё таки в DDL рядом с CONNECT, который тоже доступен там же.
Какие мнения?


Про CREATE DATABASE понятно. Добавлю.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845950
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

SET NAMES/PLAN/TERM/etc это команды ISQL. Если описывать их как расширенный "диалект" SQL, то в отдельном разделе.

ЗЫ. CONNECT из DDL я бы убрал, ибо это тоже не оператор SQL
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845958
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКакие мнения?

отдельный раздел "специальные команды ISQL". Вообще это должно быть именно описание ISQL, как из интербэйзового Operations Guide.
Куда включены
- опции командной строки
- команды SET, SHOW, ...

собственно, оно уже есть
http://www.firebirdsql.org/manual/isql-commands.html
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845960
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

спасибо. Значит надо отдельную подглаву делать с описанием команд ISQL.

kdv,

Стоит ли этот раздел писать в Руководстве по языку SQL или это будет отдельная дока?
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38845997
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСтоит ли этот раздел писать в Руководстве по языку SQL или это будет отдельная дока?

Отдельная дока. Иначе докатимся до "команд IBEScript", "команд WSQL", и т.п.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38846021
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> SET NAMES ... это команды ISQL.

Разве он недоступен в DSQL ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38846028
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамРазве он недоступен в DSQL ?
Нет, разумеется. CEATE DATABASE - доступен, а CONNECT и SET - нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38846030
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда да, в топку из DML/DDL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38846038
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

OK. CONNECT от туда уберу. Будет в отдельной доке. А вот заметку про SET TERM в PSQL наверное стоит оставить.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38846072
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

set term - да, согласен про "оставить", слишком во многих местах он упоминается, мало кто из начинающих понимает, чья это команда и зачем.
Только вот, если имеется в виду раздел "Терминатор оператора" на странице 254, придется этот текст переписать, в том смысле, что у Firebird терминатор оператора есть только в PSQL, а ФБ сам по себе не способен выполнять более одного оператора за один раз. Поэтому в различных инструментах, например ISQL, есть специальная команда SET TERM, и т.д.

Ну и в описании SET TERM тоже прямо в тексте нужно дописать, что )... в ISQL применяется оператор SET TERM...

p.s. текст примерный, на эту тему надо хорошо подумать.
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38846092
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> А вот заметку про SET TERM в PSQL наверное стоит оставить.

Как заметку, но не как оператор/раздел/подраздел и т.д.
В терминах доки - наверное, как примечание или один
из пунктов перечисления особенностей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Обзор новых SQL фич Firebird 3.0
    #38888174
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up.

напомню ссылку на последнюю версию документа "новые возможности SQL Firebird 3.0"
https://www.assembla.com/spaces/firebird-russian-documentation/documents/cvsAgIB18r5l4sacwqEsg8/download/cvsAgIB18r5l4sacwqEsg8
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Обзор новых SQL фич Firebird 3.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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