|
|
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Доброе время суток, FB 2.5 при использовании execute statement теряются зависимости для таблиц и полей учавствующих в этой execute statement (напр. IB Expert в Dependence конкретной таблицы уже не покажет процедуру с этой таблицей если запрос спрятан в execute statement). Как выкручиваться в подобной ситуации? возможно кто то уже отработал методику создания такой зависимости искуственно или зависимость можно указать в ручную? Хочется и execute statement и не потерять зависимости. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:56:00 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail TchervonenkoКак выкручиваться в подобной ситуации? Не использовать execute statement. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:59:02 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, то что теряются зависимости в execute statement это нормально ибо он на вход принимает строку. Ты можешь там вообще запрос динамически сформировать. Mikhail Tchervonenkoвозможно кто то уже отработал методику создания такой зависимости искуственно или зависимость можно указать в ручную? думаю ты первый с таким вопросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:59:10 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, хочется порядка в базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:00:17 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, отказаться от execute statement не всегда возможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:00:49 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoотказаться от execute statement не всегда возможно В случаях когда его зависимости известны - всегда. Приведи пример когда это невозможно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:11:52 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, обычный процедура с запросом условие сортировки которого заранее не известно, слишком много комбинаций что бы обойтись без execute statement. Можно конечно сортировать локально (Delphi XE2 + IBDAC 4.6.15) но тогда надо грузить все данные на клиент что медленно и не приемлемо (сейчас подргузка происходит порциями по мере необходимости). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:41:25 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, динамическое формирование кода, и execute statement в том числе - всегда зло. И зависимости тут никак не отследить. ФБ не будет парсить содержимое ES на этапе компиляции процедуры, триггера или EB с этим ES. Внутри может быть вообще неисполняемая фигня написана. читай в самом конце, Caveats with EXECUTE STATEMENT http://www.firebirdsql.org/refdocs/langrefupd25-psql-execstat.html там написано практически все, что тебе уже тут ответили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:46:45 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoобычный процедура с запросом условие сортировки которого заранее не известно, слишком много комбинаций что бы обойтись без execute statement Но можно обойтись без процедуры. Или сортировать её result set. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:50:22 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
kdv, то что там написано я уже читал, как и то что тут сказали мне известно. Вопрос состоял в том как не ухудшая производительность подобную зависимость добавить в процедуру не отказываясь от execute statement. Это может быть просто запрос с участием той же таблицы который ничего не возвращает или нечто подобное что создаст зависимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:52:42 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail TchervonenkoВопрос состоял в том как не ухудшая производительность подобную зависимость добавить в процедуру не отказываясь от execute statement. Это может быть просто запрос с участием той же таблицы который ничего не возвращает или нечто подобное что создаст зависимость. с ничего не возвращающим запросом проблема, нет таких, результат придется куда-то запихивать, пусть он и не нужен. А так - да, а какие еще варианты? Ну какие? :-) - dependencies создаются при компиляции DDL - руками запихивать зависимости в системные таблицы нехорошо, да и результат неизвестен. - ES "распарсить" может только разработчик. - можно воткнуть в процедуру "имитацию зависимостей" для ES. но ее будет контролировать разработчик, глазами. как бы, и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:02:01 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, добавь такой гавнокод себе в процедуру будут тебе зависимости Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:14:06 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПриведи пример когда это невозможно. Сортировка в зависимости от условия. Условие в Where в зависимости от условия. В Delphi довольно часто приходится генерить sql частично динамически, с формированием нужного условия в Where. В sql я бы это написал как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:23:36 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
NickDee, фигнёй страдаешь Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:32:47 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, А теперь то же самое, но для динамического Where :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:38:28 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
NickDee, да пожалуйста Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:44:10 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, все бы хорошо только сортировка не по одному полю а по нескольким и порядок тоже имеет значение и соотв может меняться. Я ж говорю, количество комбинаций слишком велико для статического запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:49:29 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, универсальный решатель задач? Или попытка воткнуть все запросы в ХП, там где это не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:51:22 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, да нет, как всегда, исходя из пожеланий клиентов добавлялась функциональность которая стандартными средствами не возможна. А ля натыкать по колонкам EhDBGrid сортировку, дабы происходило все на сервере и не простым запросом а через хранимую процедуру (т.к. ввиду дурацкой структуры базы простым запросом этот грид не наполнить). Все в принципе работает и довольно быстро, но с зависимостями порядка нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:58:02 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail TchervonenkoСимонов Денис, да нет, как всегда, исходя из пожеланий клиентов добавлялась функциональность которая стандартными средствами не возможна. А ля натыкать по колонкам EhDBGrid сортировку , дабы происходило все на сервере и не простым запросом а через хранимую процедуру (т.к. ввиду дурацкой структуры базы простым запросом этот грид не наполнить). Все в принципе работает и довольно быстро, но с зависимостями порядка нет. Ну возможно поможет сортировка результата работы процедуры ну типа Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:02:41 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
m7mMikhail TchervonenkoСимонов Денис, да нет, как всегда, исходя из пожеланий клиентов добавлялась функциональность которая стандартными средствами не возможна. А ля натыкать по колонкам EhDBGrid сортировку , дабы происходило все на сервере и не простым запросом а через хранимую процедуру (т.к. ввиду дурацкой структуры базы простым запросом этот грид не наполнить). Все в принципе работает и довольно быстро, но с зависимостями порядка нет. Ну возможно поможет сортировка результата работы процедуры ну типа Код: sql 1. мысль хорошая, но там ещё и фильтрация кроме сортировки, а такой запрос будет медленным ввиду отсутствия индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:05:58 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkom7mпропущено... Ну возможно поможет сортировка результата работы процедуры ну типа Код: sql 1. мысль хорошая, но там ещё и фильтрация кроме сортировки, а такой запрос будет медленным ввиду отсутствия индекса ну так фильтрацию оставь в процедуре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:07:41 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, вместо ХП используй EXECUTE BLOCK и формируй его содержимое на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:08:53 |
|
||
|
Dependence (зависимости) и execute statement
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисNickDee, да пожалуйста Код: sql 1. 2. 3. 4. Plan(Docs NATURAL) Ну и условия могут быть нетривиальные. В максимуме хотелось бы такого, для гибкости: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И проблема с зависимостями решается, и компилируемость остаётся, и гибкость достаточная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 17:05:00 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38653451&tid=1563556]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
205ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 548ms |

| 0 / 0 |
