powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / View Firebird 3. Динамические поля
25 сообщений из 55, страница 2 из 3
View Firebird 3. Динамические поля
    #40091026
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewTop
Вы не правильно задаете вопросы. Не читаете вопросы, а пытаетесь сразу умничать.
Найдите время в своём плотном графике, чтобы поинтересоваться списком ключевых разработчиков СУБД Firebird.

P.S.
Я вот ни разу не программист, но и мне непонятно, почему "типа самые умные", не в состоянии выложить текст.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091031
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewTop

Isql правильно вычисляет размер поля, значит виноват IBExpert.


Эксперт там ничего не вычисляет. Как и isql, впрочем.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091035
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewTop
Модератор, прошу закрыть тему.
А поговорить?
Причина ошибки, очевидно, в чём-то другом, а не в том, что показалось с первого взгляда.
Может, всё же выясним? Или уже не интересно, отказываешься от использования IBExpert и FB3 как неправильных?
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091230
NewTop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert
NewTop

Isql правильно вычисляет размер поля, значит виноват IBExpert.


Эксперт там ничего не вычисляет. Как и isql, впрочем.


Поясните пожалуйста в чем тогда ошибка? При редактирований view через isql динамические поля получаются нужного размера, а через IBExpert размер урезан.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091234
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewTop,

IBExpert при "редактировании" показывает скрипт, который он собирается для этого редактирования применить.
Он не отличается от того, что ты isql скармливал?
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091377
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewTop
Поясните пожалуйста в чем тогда ошибка? При редактирований view через isql динамические поля получаются нужного размера, а через IBExpert размер урезан.


Я не знаю, в чем ошибка. Могу только подтвердить, что проблема есть и воспроизводится в эксперте и под FB 3, и под FB 4.
В обоих случаях CREATE VIEW передается на сервер так, как его написал пользователь. Дальнейшими вычислениями занимается сервер, поэтому вины эксперта я здесь не вижу.

А воспроизведение в isql от тебя просят для того, чтобы исключить влияние багов и особенностей сторонних инструментов, к которым разработчики сервера отношения не имеют.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091392
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Могу только подтвердить, что проблема есть и воспроизводится в эксперте и под FB 3, и под FB 4
Как её воспроизвести ?
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091397
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Как её воспроизвести ?


В isql - не знаю. В эксперте выполнить скрипт:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE TB1 (
    RENT_MIN  SMALLINT,
    RENT_MAX  SMALLINT
);

/* View: VW_TB1 */
CREATE VIEW VW_TB1(
    RENT)
AS
select
'от '||rent_min||' до '||rent_max||' дней'
from tb1
;



После чего уже видно, что поле RENT вьюхи имеет тип VARCHAR(16)
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091419
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

нет, varchar(24).
ibe 2021.5.14.1, FB 3.0.7.33374, чарсет базы NONE.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091420
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
IBExpert,

нет, varchar(24).
ibe 2021.5.14.1, FB 3.0.73347, чарсет базы NONE.


p.s. выполнял НЕ скрипт, а create/commit/create/commit в sql editor.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091426
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
IBExpert,

нет, varchar(24).
ibe 2021.5.14.1, FB 3.0.7.33374, чарсет базы NONE.

Проблема в кодировке, в которой коннектишся к базе.
Под 1251 проблем нет, 24 длина получается. Под utf8 - 16.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091431
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992
Под utf8 - 16.


Точно. У меня utf8 была.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091442
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE VIEW VW_TB1(
    RENT)
AS
select
_win1251'от '||rent_min||_win1251' до '||rent_max||_win1251' дней'
from tb1
;
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091449
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийа вот так:

А вот так скорее всего получишь хрень, ибо интродюсеры - не то чем кажутся.

В isql со скриптом в UTF-8 воспроизводится?
Текст запроса реально в какой кодировке?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091456
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВ isql со скриптом в UTF-8 воспроизводится?
я воспроизвел.

Тоже 16 получается. Файл скрипта uft8, кодировка utf8, set names utf8 и все дела, символы во вью нормальные,
и т.д.

Собственно, если упростить пример, и сделать

CREATE OR ALTER VIEW VW_TB2(
RENT)
AS
select
'от '||' до '||' дней'
from tb1
;

то мы увидим, что столбец у view - varchar(4), что совершенно импоссибль, инкредибль, и мерде
(при том что литералы по 3, 4 и 5 символов, как на заказ).

А значит - ФБ правильно делает по 6 символов на smallint. Но хрен поймешь как вычисляет длину строки.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091492
NewTop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Мимопроходящийа вот так:

А вот так скорее всего получишь хрень, ибо интродюсеры - не то чем кажутся.

В isql со скриптом в UTF-8 воспроизводится?
Текст запроса реально в какой кодировке?


UTF-8. Всегда по умолчанию использую его. Я был уверен, что вин-1251 уже практический ни кем не используется. И при тестировании через isql я не обратил внимание на кодировку, посмотрел только размер поля.

Могут ли разработчики без трекера начать исправлять эту ошибку?
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091494
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewTop,

могут. Но почему ты думаешь что они должны начать делать это прямо сейчас? Трекер он для того и есть, чтобы внести как напоминалку. Разработчики смотрят в трекер на баги, фичи и улучшения и выстраивают себе приоритет по их выполнению.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091513
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
я воспроизвел.
Занесешь в трекер ?
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091538
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

могобыть. надо ж еще и без конкатенации проверить. вечером.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091540
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Ржака
Код: sql
1.
2.
3.
4.
5.
6.
CREATE OR ALTER VIEW VW_TB3(
    RENT)
AS
select
'ab '||' ab '||' abcd'
from tb1;



VARCHAR(2) !!!! Так что можно и без русских букв.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091543
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

что-то я не очень понимаю пока.
Вот это выдало
select 'ab ' from tb1
varchar(2), как бы, причина понятна - пробелы справа урезаются, т.к. это char исходно.
Тут селект * from view так и выдает 'ab'.
А вот если сделать select rent||'a' from view
тут же лезет ошибка переполнения, expected length 3, actual 11.

А вот
select 'ab '||'cd ' from tb1
varchar(3) , что пока для меня загадка (типа должно быть или 2, или 4).
И при наличии данных в tb1 сразу тупо overflow идет при любом селекте.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091552
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Длина поля высчитывается как целое число от деления на 4.
Если будет 'ab' или 'abcd' или 'abcdefg' будет char(1).
Если 'abcdefgh' то 2 и т.д.
Хз как ты получил 3 при 'ab '||'cd ', может перекомпилить забыл или коммит сделать, у меня получается varchar(1).
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091559
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

Я проверял по простому - методически.
Код: plaintext
1.
'ab ' - varchar(2)
'ab    ' - varchar(2) 
вывод - конечные пробелы игнорируются при подсчете?

Съедает-ли их компиляция view?
select view('ab ')||'a' - ошибка переполнения. Значит нет, не съедает.

До "деления" я в проверках не доехал, но да
'abcdefg' - да, превращается в varchar(1).
'abcdefgh' - да, превращается в varchar(2).
А 'abcdefgh ' - всё равно varchar(2).

Почему тогда 'ab ' varchar(2), а не varchar(1) ? 3/4 = 0+2 ? вместо 0+1 :-)

И varchar(3) я получил на конкатенации
Код: plaintext
'ab        '||'cd   '
обращаю внимание на пробелы - в первом куске их 8 штук.
2+8+2 = 12/4=3.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40091564
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

вот теперь бы еще сформулировать для трекера. И для русских букв в юникоде, получается, "кто-то делит" не на 4, а на 2.
...
Рейтинг: 0 / 0
View Firebird 3. Динамические поля
    #40097039
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз оно никому не надо, то и не надо, ок
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / View Firebird 3. Динамические поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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