|
|
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! В определении представления (view) есть такое поле case when exists (подзапрос) then 1 else 0 end as имя_поля Можно ли сделать, чтобы имя поля имело тот домен, который я хочу? Зачем мне это надо? Для редактирования сущностей у меня автоматически создаются вьюхи и формы для просмотра записи. По домену поля определяется, какой контрол попадает на форму для поля. Мне нужно, чтобы поле имело такой домен: Код: sql 1. а у меня вместо него во вьюхе RDB$123123 Я, конечно, сделал возможность явно задать, что в этом поле чек-бокс, но это не вполне красиво получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 22:18 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
budden> Можно ли сделать, чтобы имя поля имело тот домен, который я хочу? Нет. Но нужно подумать, стоит ли завести соотв. тикет в трекере. Впрочем, скорее всего это противоречит стандарту. Как воркэраунд можно использовать PSQL-переменные (EB etc). > Зачем мне это надо? > ... > По домену поля определяется, какой контрол попадает на форму для поля. > Я, конечно, сделал возможность явно задать, что в этом поле чек-бокс ... FIBPlus или самописка? Как вариант, можно сделать автоопределение не по точному имени домена, а по подстроке в имени домена или поля. Это немного топорно и не так красиво, но работает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 00:18 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Логично если есть cast к домену, то поле должно быть нужного домена. Кроме того запрос вида Код: sql 1. выдаст сообщение авторvalidation error for CAST, value "2". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 00:34 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, скорее самописка, хотя она поверх fibplus. Из fibplus мне на каком-то этапе удавалось достать инфу о типе исходного поля. Но в данном случае было некогда копаться и я счёл, что проще добавить своих метаданных. В общем, для меня этот вопрос уже не особо актуален, но, наверное, было бы красивее, если бы create view реагировало на определения полей, содержащие cast. Спасибо за обсуждение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 01:22 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Шавлюк Евгений> Логично если есть cast к домену, то поле должно быть нужного домена. Не понял к чему это было сказано. Не имеют значения тип каста и поля - они не наследуется, домен создаётся свой. Впрочем, возможно и на этот счёт стоит покумекать над созданием тикета - ничего плохого в наследовании домена лично я не вижу, с ходу по крайней мере (ну разве что если какие-то констрейнты/дефолты не подхватятся - не беда). > Кроме того запрос вида выдаст сообщение > validation error for CAST, value "2". У меня почему-то не выдаёт. А должен? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 01:23 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
budden> скорее самописка, хотя она поверх fibplus. Из fibplus мне на budden> каком-то этапе удавалось достать инфу о типе исходного поля Я имел в виду, что в какой-то из версий (довольно давно уже, вроде) добавили "автобуленизацию" поля по наличию в имени/типе слова boolean (или что-то в этом роде, подробностей не помню). Свои метаданные хорошо, конечно, и даже лучше, но не для одного сабжа, а если они вообще повсеместно в проекте используются, как ядро. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 01:26 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
buddenP.S. Firebird 2.5.2 Переходи на 3.0 и будет тебе настоящий булев тип без всяких заморочек с доменами и магическими числами. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 01:32 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамНе понял к чему это было сказано. Не имеют значения тип каста и поля - они не наследуется, домен создаётся свой. Если создать view на основе таблицы, то для полей с доменами, поля во view будут иметь такой же домен. Логично, что если делаем cast к домену, то результат тот же домен. С учетом того что check для домена через cast работает. Гаджимурадов РустамУ меня почему-то не выдаёт. А должен? 2.5.2 Код: sql 1. 2. Получаю сообщение об ошибке указанное выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 01:32 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Шавлюк Евгений> Если создать view на основе таблицы, то для полей Шавлюк Евгений> с доменами, поля во view будут иметь такой же домен. А, ну да, но это не случай автора, увы. Шавлюк Евгений> Логично, что если делаем cast к домену, то результат тот же домен. Я об этом и говорю - я не вижу никаких минусов и аргументов против соотв. тикета. Это и стандарту не противоречит, вроде. > Получаю сообщение об ошибке указанное выше Так это рантайм-сообщение, я думал у тебя парсер ошибку выдаёт. :) Не понял друг друга. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 01:56 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
buddenВ общем, для меня этот вопрос уже не особо актуален, но, наверное, было бы красивее, если бы create view реагировало на определения полей, содержащие cast. Ну не знаю.Я у себя давным давно сделал отдельную табличку, где храню доп. информацию для сеток (заголовок, тип (для "исскуственных" полей типа boolean), ширину, видимость + кучка еще чего-то). В момент препарирования запроса просто выдергиваю нужную мне инфу и все. В принципе в том же FIB+ был репозиторий полей - чем не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 03:03 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Шавлюк Евгений Код: sql 1. 2. Получаю сообщение об ошибке указанное выше А если написать Код: sql 1. тогда какое сообщение об ошибке? Сам же определил, что можно только 0, 1 или Null, а пихаешь 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 11:43 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
DarkMaster, такая табличка у меня тоже есть. Но я стараюсь пользоваться наиболее простыми решениями. Если информация о смысле поля может быть выражена доменом, это многое облегчает. Свои метаданные наворачиваю только тогда, когда это не выходит. В данном случае не вышло, метаданные пополнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 13:24 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
budden> Если информация о смысле поля может быть выражена доменом, это многое облегчает. budden> Свои метаданные наворачиваю только тогда, когда это не выходит. В данном случае не вышло Я вроде подсказал простой и эффективный способ с проверкой подстроки в имени/типе поля... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 14:53 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, А по мне - притянуто за уши... Анализировать имя, которое в общем случае имеет произвольное значение или вообще не несет смысловой нагрузки (блин, опять 1C на ум приходит ;) - неочевидно как-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 17:17 |
|
||
|
view и домены
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, так во вьюхе тип получается rdb$123123, его не проанализируешь. По имени поля - и так везде ужасные имена полей, учитывая ограничение на размер. Добавлять туда ещё префикс типа совсем не хочется. Да ничего, я эту проблему пережил уже, можно закрывать тему, в общем-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2014, 21:27 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38714630&tid=1563412]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 454ms |

| 0 / 0 |
