|
Переменные ХП
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста, в какой таблице хранятся описания переменных (которые DECLARE VARIABLE) триггеров и ХП? В "RDB$PROCEDURE_PARAMETERS" и "RDB$FUNCTION_ARGUMENTS" лежат только входные/выходные параметры ХП и функций соответственно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 11:08 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax, employee.fdb Код: sql 1. 2. 3. 4. 5. 6. 7.
rdb$procedures.rdb$procedure_source Код: sql 1. 2. 3. 4.
rdb$procedures.rdb$procedure_blr Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 11:15 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax, не в каких. Это часть тела процедуры/функции/триггера смотри в полях RDB$FUNTION_SOURCE RDB$PROCEDURE_SOURCE RDB$TRIGGER_SOURCE ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 11:17 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Печально. Я так понимаю, просить трекер о вынесении параметров в таблицу бесполезно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 11:32 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax, конечно. В этой секции помимо локальных переменных могут быть подфункции/подпроцедуры, а также курсоры. А зачем они тебе собственно, делаешь аналог IBE? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 11:36 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax Подскажите, пожалуйста, в какой таблице хранятся описания переменных (которые DECLARE VARIABLE) триггеров и ХП? В "RDB$PROCEDURE_PARAMETERS" и "RDB$FUNCTION_ARGUMENTS" лежат только входные/выходные параметры ХП и функций соответственно. В таблицах их нет, но есть в RDB$DEBUG_INFO. Это системный блоб внутреннего формата, для него есть текстовый фильтр: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 12:40 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
kdv, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 12:52 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Пишу тестирование метаданных. Таблиц, ХП, функций и т.д. Сейчас вот решил проверять, где в параметрах и переменных используются домены, а где тип SQL. hvlad - спасибо за наводку, буду смотреть через DEBUG_INFO. Симонов Денис, про подпроцедуры и подфункции понятно. Тогда получается, что если они есть в ХП, то их нельзя увидеть в RDB$PROCEDURES? Конечно разработчикам виднее, и это наверно мало кому нужно на самом деле, но имхо, было бы логично вынести все эти вложенные процедуры/функции с параметрами в RDB$PROCEDURES/RDB$FUNCTIONS, в том числе и параметры в отдельные таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 13:51 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMaxСимонов Денис, про подпроцедуры и подфункции понятно. Тогда получается, что если они есть в ХП, то их нельзя увидеть в RDB$PROCEDURES? да, конечно. Кстати процедуры и функции пакетов там есть ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 14:02 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax решил проверять, где в параметрах и переменных используются домены, а где тип SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 14:13 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
hvlad rdb$dependencies не достаточно для этого ? А чем эта таблица может помочь? Там же нет ни имен переменных, ни зависимостей, если это это тип SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 14:27 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax Сейчас вот решил проверять, где в параметрах и переменных используются домены, а где тип SQL. Есть компоненты https://www.clevercomponents.com/products/dbcvcl/index.asp В них есть метод TIbExParser.ParseLocalVariables, куда можно впихнуть проверку. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 14:57 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax hvlad rdb$dependencies не достаточно для этого ? А чем эта таблица может помочь? Там же нет ни имен переменных, ни зависимостей, если это это тип SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 15:06 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
hvlad Увидишь процедуры\триггеры, зависящие от доменов. Не то ? Не то. Мне наоборот, надо найти процедуры/триггеры, которые не используют домены. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 16:07 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
ggreggory, Не подходит. Мне надо это в PSQL. P.S. Спасибо за ответы, где смотреть понял, этого достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 16:08 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMaxМне наоборот, надо найти процедуры/триггеры, которые не используют домены. У них число зависимостей от доменов будет нулевым. Логично?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 16:54 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov У них число зависимостей от доменов будет нулевым. Логично?.. Нет. Если пять параметров, где четыре с доменом, а один - без, это ничего не даст. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 16:57 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Тогда переформулируй свою хотелку, поскольку "не используют домены" это как раз даст. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:00 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax, ты хочешь чтобы все внутренние переменные использовали домены? Ох, зря ты это... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:00 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Вообще да, желание заменить все стандартные типы (даже для переменных) доменами - это нечто новое в отечественном лисапедостроении, о таком ещё не слышал... P.S. AFAIU, даже без RDB$DEBUG_INFO это не сильно сложно получить из blr. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:12 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Возможно, он наивно надеется, что ALTER DOMAIN автомагически поменяет типы всех переменных во всех процедурах. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:19 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Симонов Денис CyberMax, ты хочешь чтобы все внутренние переменные использовали домены? Ох, зря ты это... Что здесь не так? В доках нет никаких указаний, что так делать не надо и наоборот. Разве это не на усмотрение разработчика? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:30 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Вы так говорите, будто я только вчера сел изучать fb. Я прекрасно знаю, что и как происходит при изменении домена. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:35 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, ну, недавно видел базу, где всего штук 20 доменов, и они все "просто домены", т.е. без условий, ограничений, дефолтов и прочего. И там вот такое: CREATE DOMAIN D_BIGINT AS BIGINT; CREATE DOMAIN D_DATE AS DATE; и т.д. Что интересно - в ЯП типа дельфей редко когда увидишь объявление типа type MyInteger = integer; и дальше все целые числа типа MyInteger. Понятно что в дельфях ограничения на тип не навесишь, а тут запросто. Но всё равно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:36 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
09.04.2021 17:36, kdv пишет: > Что интересно - в ЯП типа дельфей редко когда увидишь объявление типа > type > MyInteger = integer; если это проперти компонента, то очень часто. на такой тип вешается свой редактор свойств (Property Editor). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:42 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
CyberMax, нет и не будет таких указаний. Однако надо чувствовать, что использование доменов всегда для выходных аргументов и внутренних переменных может вызывать геморрой при поддержке таких процедур. Домен - это прежде всего централизованное ограничение на значение переменной или столбца таблицы. Вы уверены, что во внутреннем коде ХП вам эти ограничения не вылезут боком? Всякие CHECK проверки нужны разве что для входных аргументов и столбцов таблиц. Остальные проверки проще сделать прямо в самой ХП, и выдать нормальный текст Exception. Для всяких VARCHAR(N) создавать гору доменов под разные случаи конкатенации строк тоже не очень хорошо, лучше по месту определить сколько N там потребуется. Опять же хотите используйте домены, никто не запрещает. Но зачем вам надо искать где они не используются? Хотите другим запретить использовать переменные без домена? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:44 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
kdv И там вот такое: CREATE DOMAIN D_BIGINT AS BIGINT; CREATE DOMAIN D_DATE AS DATE; и т.д. Не оправдываю, но гипотетически в этом есть разумное зерно - снижает кол-во записей в RDB$FIELDS. Не знаю, насколько это важно для выполнения запросов, препарирования или DDL, но всё же... Однако, конечно, правильнее смысловая типизация. Симонов Денис Вы уверены, что во внутреннем коде ХП вам эти ограничения не вылезут боком? Мне кажется внутри правильнее объявлять только с "type of" domain. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:56 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
ggreggory, ggreggoryснижает кол-во записей в RDB$FIELDS не уверен, но вроде бы для внутренних переменных записи в RDB$FIELDS не создаются ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:01 |
|
Переменные ХП
|
|||
---|---|---|---|
#18+
Симонов Денис ggreggory, ggreggoryснижает кол-во записей в RDB$FIELDS не уверен, но вроде бы для внутренних переменных записи в RDB$FIELDS не создаются Нет, конечно. Имелось ввиду использование доменов типа D_INTEGER, D_DATE в полях таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:40 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560062]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 279ms |
0 / 0 |