powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Разработчик ядра FIREBIRD: первые шаги
25 сообщений из 116, страница 4 из 5
Разработчик ядра FIREBIRD: первые шаги
    #39607942
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rashid.abzalov Зачем менять gbak - у него свой системный слой, за который он отвечает.
Если на местах кто-то создал свои индексы в системных таблицах, то он сам за ними будет следить.
В других СУБД аналогично.
Вот с этого места поподробнее...
Правильно ли я понял, что пользовательские индексы на системные таблицы при бекапе / ресторе не сохраняются / не восстанавливаются?
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39607948
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

правильно
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608000
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008Правильно ли я понял, что пользовательские индексы на системные таблицы
при бэкапе бэкапятся юзерские метаданные. Любые обвесы системных таблиц сюда не относятся.
При ресторе сервер создает новую пустую базу , и только потом туда наливает пользовательские метаданные.
Соответственно, "юзерским индексам на системные таблицы" взяться неоткуда.
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608010
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv ... сервер создает новую пустую базу ...
Т.е. пустая база создается с "вшитыми" в неё объектами, как-то системными таблицами, индексами, контсрейнами и т.п.? А что "наваял" пользователь остается на его совести?
Это понятно.
P.S. Никогда не приходилось модифицировать системные таблицы.
Это вообще в FIREBIRD практикуется? Есть от этого какая-то выгода?
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608014
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

это практиковалось раньше от бедности и служило основной причиной так называемых "невосстановимых" бекапов. В 3.0 практически всё можно сделать через DDL операторы.
Для модификации системных таблиц осталась возможность только удалять исходные тексты ХП/функций/триггеров/пакетов.
И добавление перечисляемых значений в RDB$TYPES
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608026
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисэто практиковалось раньше от бедности

А ещё раньше, до появления SQL вообще и DDL в частности, это был единственный способ
что-то в базе создать. И с тех пор оно тянется в качестве legacy.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608031
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

не очень понял тебя. Я говорил о примерах когда нельзя было изменить признак NULL/NOT NULL (до 3.0) и ещё раньше DEFAULT.
Разве DDL не является частью SQL?
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608034
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисРазве DDL не является частью SQL?

Именно. И появилось оно намного, намного позже системных таблиц. А до тех пор все объекты
создавались с помощью их прямой модификации из GDML. И до сих пор так создаются "унутре",
откуда и проистекает порядочное количество проблем типа всем известной невозможности
создать таблицу и работать с ней в одной транзакции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608128
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, поделитесь, пожалуйста, документом с описанием BLR (binary language representation)
Все ссылаются на http://www.ibphoenix.com/downloads/blr_syntax.pdf ,
но ссылка битая.
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608151
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

оно никому не надо.
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608183
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvSQL2008,
оно никому не надо.
Что осознать, что вещь не нужна, её нужно потрогать / посмотреть.
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608189
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

BLR - это байт-код, исполняемый сервером. При prepare и сохранении процедур, триггеров и view, sql/psql превращается в байт-код. И затем выполняется. Посмотреть его можно элементарно, в ISQL, и в IBE (через просмотр например rdb$procedure_blr в view as blr),
но пользы от этого практически никакой.
Конструировать его самому нельзя, он меняется со временем, от версии к версии, и т.д.
Например
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create or alter procedure GET_EMP_PROJ (
    EMP_NO smallint)
returns (
    PROJ_ID char(5))
AS
BEGIN
    FOR SELECT proj_id
        FROM employee_project
        WHERE emp_no = :emp_no
        INTO :proj_id
    DO
        SUSPEND;
END


выглядит как
Код: 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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
blr_version5,
blr_begin,
   blr_message, 0, 2,0,
      blr_short, 0,
      blr_short, 0,
   blr_message, 1, 3,0,
      blr_text2, 0,0, 5,0,
      blr_short, 0,
      blr_short, 0,
   blr_receive, 0,
      blr_begin,
         blr_declare, 0,0, blr_text2, 0,0, 5,0,
         blr_assignment,
            blr_null,
            blr_variable, 0,0,
         blr_stall,
         blr_label, 0,
            blr_begin,
               blr_begin,
                  blr_label, 1,
                     blr_for,
                        blr_rse, 1,
                           blr_relation, 16, 'E','M','P','L','O','Y','E','E','_','P','R','O','J','E','C','T', 0,
                           blr_boolean,
                              blr_eql,
                                 blr_field, 0, 6, 'E','M','P','_','N','O',
                                 blr_parameter2, 0, 0,0, 1,0,
                           blr_end,
                        blr_begin,
                           blr_assignment,
                              blr_field, 0, 7, 'P','R','O','J','_','I','D',
                              blr_variable, 0,0,
                           blr_begin,
                              blr_send, 1,
                                 blr_begin,
                                    blr_assignment,
                                       blr_variable, 0,0,
                                       blr_parameter2, 1, 0,0, 1,0,
                                    blr_assignment,
                                       blr_literal, blr_short, 0, 1,0,
                                       blr_parameter, 1, 2,0,
                                    blr_end,
                              blr_stall,
                              blr_end,
                           blr_end,
                  blr_end,
               blr_end,
         blr_end,
   blr_send, 1,
      blr_begin,
         blr_assignment,
            blr_variable, 0,0,
            blr_parameter2, 1, 0,0, 1,0,
         blr_assignment,
            blr_literal, blr_short, 0, 0,0,
            blr_parameter, 1, 2,0,
         blr_end,
   blr_end,
blr_eoc


полегчало?
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608377
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv полегчало?
Странный вы человек... Приведу аналогию.
Вас спрашивают - "У вас есть телефонный справочник?"
Вы: - "Он никому не нужен"
- "Я посмотрю и сам решу нужен или нет"
Вы: - "Ну вот, к примеру, Иванов Иван Иванович, его телефон 123-45-67! Полегчало?"

Какой-то разговор немого с глухим, ей богу!

И мне нужно соответствие
Что-то типа этого:
BLRarg0arg1arg2arg3Descriptionblr_version5Версия Blrblr_beginНачало описания вызова blr_message 0 20create or alter procedure blr_short 0 blr_short 0 blr_message 1 30 blr_text2 00 50returns (PROJ_ID char(5)) blr_short 0 blr_short 0 blr_receive 0
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608387
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008blr_message ... create or alter procedure

бред собачий. create or alter нигде не сохраняется. В blr хранится только тело процедуры
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608404
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008Коллеги, поделитесь, пожалуйста, документом с описанием BLR (binary language representation)
Все ссылаются на http://www.ibphoenix.com/downloads/blr_syntax.pdf,
но ссылка битая. http://www.ibphoenix.com/downloads/isc_docs.zip
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608422
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисSQL2008blr_message ... create or alter procedure

бред собачий. create or alter нигде не сохраняется. В blr хранится только тело процедуры
Я привел просто пример!
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608423
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladSQL2008Коллеги, поделитесь, пожалуйста, документом с описанием BLR (binary language representation)
Все ссылаются на http://www.ibphoenix.com/downloads/blr_syntax.pdf]http://www.ibphoenix.com/downloads/blr_syntax.pdf] http://www.ibphoenix.com/downloads/blr_syntax.pdf,
но ссылка битая. http://www.ibphoenix.com/downloads/isc_docs.zip
Огромное спасибо!!!
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608442
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008Огромное спасибо!!!Не уверен :)
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608512
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008- "Я посмотрю и сам решу нужен или нет"
Вы: - "Ну вот, к примеру, Иванов Иван Иванович, его телефон 123-45-67! Полегчало?"
Какой-то разговор немого с глухим, ей богу!
BLR - это не телефонный справочник. А если пользоваться этой аналогией - внутренняя схема коммутации проводов на АТС.
Толку вам от нее абсолютно никакой, потому что вы все равно будете продолжать звонить со своего телефона на конечный телефон.
А если вы попытаетесь перекоммутировать эти самые провода, то у вас фигня получится, даже если есть их описание.

Вы хотите написать декомпилятор? Так для этого можно было взять исходники ФБ, и попробовать типа развернуть компиляцию в BLR в обратную сторону. Но такие герои уже были, и все это ничем не кончилось.
А больше ни для чего другого "описание BLR" не годится.
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608519
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvА больше ни для чего другого "описание BLR" не годится.

К сожалению, оно ещё нужно для того, чтобы что-то добавить в птичьи потроха, поскольку
преобразование SQL->executable по-прежнему идёт через промежуточный BLR. И новый SQL
требует порождать для себя BLR ручками в классах типа XXXXNode.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608560
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov К сожалению, оно ещё нужно для того, чтобы что-то добавить в птичьи потроха, поскольку преобразование SQL->executable по-прежнему идёт через промежуточный BLR. И новый SQL
требует порождать для себя BLR ручками в классах типа XXXXNode.
Ровно для этого и нужно!
Хочу добавить свои объекты и их обработку в движок.
Но чтобы это корректно и правильно вписывалось в существующую архитектуру.
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608562
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

что за объекты, если не секрет?
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608603
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008Хочу добавить свои объекты и их обработку в движок.

Ты для начала case-preserved identifiers запили. По твоим словам это быстро.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608675
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovSQL2008Хочу добавить свои объекты и их обработку в движок.

Ты для начала case-preserved identifiers запили. По твоим словам это быстро.
Это мне непонятно о чем речь. Разве я где-то хвастался, что могу что-то быстро сделать?
...
Рейтинг: 0 / 0
Разработчик ядра FIREBIRD: первые шаги
    #39608679
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008Это мне непонятно о чем речь. Разве я где-то хвастался, что могу что-то быстро сделать?

21188801
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 116, страница 4 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Разработчик ядра FIREBIRD: первые шаги
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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