|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
В созданном view есть динамические поля склеенные из текста и полей типа integer. Динамическое поле вычисляет размер как сумма символов теста и + 1 символ для integer. Пока в поле integer просто цифра, все ок. Как только в поле записал 2-3.. - значное число выдает ошибку, что мол строковое поле имеет длину 5 а вы пытаетесь получить поле длинной 6 (7,8,..). Перешел с firebird2.5 на 3 версию. На 2,5 такой проблемы не встречал. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 10:09 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
Пример ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 12:03 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad, таблица TB1 поле rent_min smallint поле rent_max smallint CREATE OR ALTER VIEW VW_TB1 ( rent ) AS SELECT 'аренда от '||rent_min||' до '||rent_max||' дней' FROM tb1 При первичном создании view размер вроде нормально считает, но стоит внести изменения и сохранить view заново, как поле укорачивается ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 13:36 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
Firebird 3.0.7 IBExpert 2021.8.10 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 13:38 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, Проблемав делфи, я так понимаю. Запоминаешь что-то там (или эксперт запоминает). Можно навсякий сделать этому всему CAST AS VARCHAR(20) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 13:54 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, это не пример. Я не могу это выполнить в isql и увидеть ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 16:02 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad, /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE TB1 ( RENT_MIN SMALLINT, RENT_MAX SMALLINT ); /******************************************************************************/ /*** Views ***/ /******************************************************************************/ /* View: VW_TB1 */ CREATE VIEW VW_TB1( RENT) AS select 'от '||rent_min||' до '||rent_max||' дней' from tb1 ; INSERT INTO TB1 (RENT_MIN, RENT_MAX) VALUES (1, 1); COMMIT WORK; ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 14:36 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, Отредактируйте view несколько раз, измените текст например. Поменяйте данные в таблице, запишите 100 и 1000. Попробуйте вызвать view и увидите ошибку. Еще более детально не знаю как показать. Система Windows 7 64 bit. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 14:41 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop Отредактируйте view несколько раз, измените текст например. Поменяйте данные в таблице, запишите 100 и 1000. Попробуйте вызвать view и увидите ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 14:45 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad, CREATE OR ALTER VIEW VW_TB1 ( RENT) AS select 'аренда от '||rent_min||' до '||rent_max||' дней' from tb1 ; update tb1 set rent_min=100,rent_max=100 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 14:57 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, и что показывает isql в итоге ? ps для форматирования sql текста тут есть соотв. тег ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 15:46 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, привести метаданные осилил, а посмотреть в описание view не смог? Там rent varchar(24), из которых 19 символов занимает текст 'аренда от '||rent_min||' до '||rent_max||' дней'. На подставляемые значения остается всего 5 символов. Совет сделать cast строке уже дали. Хотя, вычисление сервера кривое. Т.е. сервак для smallint должен явно предполагать что там будет 5 цифр. А значит столбец во view должен создаваться как 19+5+5, т.е. не 24, а 29 символов. я бы зарегал в трекер как баг. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 01:27 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
kdv, да, а до того как исправят, надо сделать нормальный cast с достаточным размером строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 02:50 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
kdv Т.е. сервак для smallint должен явно предполагать что там будет 5 цифр ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 07:06 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
kdv, Cast as varchar уже сделал, я написал сюда чтобы разработчики увидели ошибку и исправили. "привести метаданные осилил, а посмотреть в описание view не смог?" - не совсем понял, что вы имели ввиду, если размер динамического поля, то я вижу его, в самом первом сообщении указал, что размер получается неправильный Разбираться с регистрацией трекера нету времени. Если сообщение оставленное здесь будет достаточно для разработчиков, то было бы хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 07:30 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
Тут, как бы, "нет времени" работает в обе стороны. И было бы полезно помнить об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 08:03 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
kdv, ты всё напутал. Для первого варианта view c "'от '||rent_min||' до '||rent_max||' дней'" я вижу VARCHR(24). Для второго с 'аренда от '||rent_min||' до '||rent_max||' дней' - VARCHR(31). Для варианта с rent_min||'-'||rent_max - VARCHAR(13), что однозначно указывает на 6 символов для каждого числа. И до сих пор никто не показал ошибку в isql. Тщательнее надо... (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 11:41 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, без воспроизводимого примера нет смысла идти в трекер. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 11:41 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad NewTop, без воспроизводимого примера нет смысла идти в трекер. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 13:37 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad, добавил "аренда " размер поля увеличился с 16 до 19, хотя в слове "аренда " 7 символов (включая пробел) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 13:46 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, Где воспроизводимый в isql пример ? Куда мне эти картинки приложить ? PS Научить коммитить метаданные перед тем, как выполнять запросы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 13:51 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop, Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 13:56 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad, Isql правильно вычисляет размер поля, значит виноват IBExpert. SQL> CREATE OR ALTER VIEW VW_TB1(RENT) AS select 'аренда от '||rent_min||' до '| |rent_max||' дней' from tb1; SQL> select * from vw_tb1; RENT =============================== аренда от 100 до 110 дней SQL> IBExpert правильно показал размер поля Varchar(31) Я привык к IBExpert, не стал тестировать через isql. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 14:03 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
hvlad NewTop, Где воспроизводимый в isql пример ? Куда мне эти картинки приложить ? PS Научить коммитить метаданные перед тем, как выполнять запросы ? Вы не правильно задаете вопросы. Не читаете вопросы, а пытаетесь сразу умничать. Firebird популярен благодаря IBExpert, я использую его как удобный инструмент. Сразу лезть в isql не стал. Оба продукта достаточно зрелые и я не ожидал такого поведения. Если бы показали, что в isql никаких проблем нет, и что нужно искать ошибку в IBExpert, то не пришлось бы раздувать эту тему. Но почему-то на русскоязычных форумах любят тратить свое и чужое время на пустую болтовню. Модератор, прошу закрыть тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 14:17 |
|
View Firebird 3. Динамические поля
|
|||
---|---|---|---|
#18+
NewTop Вы не правильно задаете вопросы NewTop Но почему-то на русскоязычных форумах любят тратить свое и чужое время на пустую болтовню ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 14:39 |
|
|
start [/forum/topic.php?fid=40&msg=40090749&tid=1559940]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 489ms |
0 / 0 |