powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Firebird 4. Про него пока пишите сюда.
25 сообщений из 116, страница 3 из 5
Firebird 4. Про него пока пишите сюда.
    #39869138
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30.09.2019 13:50, IBExpert пишет:
> Нет, не привожу. toString/fromString интерфейсные использую.

а сортировать как?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869173
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийа сортировать как?


Если не уговорю Влада на добавление дополнительных функций в интерфейс, то придется что-то снаружи прикручивать.
А пока сортировки нет.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869176
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

дельфийский BCD не вмещает ни DECFLOAT(34), ни NUMERIC(38, x).
Там вроде есть ещё какая-то приблуда типа TFMTBCDField, но не знаю поддерживаются ли они в старых Delphi
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869215
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30.09.2019 14:43, Симонов Денис пишет:
> дельфийский BCD не вмещает ни DECFLOAT(34), ни NUMERIC(38, x).
> Там вроде есть ещё какая-то приблуда типа TFMTBCDField, но не знаю поддерживаются ли они в старых Delphi

Код: pascal
1.
2.
3.
4.
5.
6.
type
  TBCD  = packed record
    Precision: Byte;
    SignSpecialPlaces: Byte;
    Fraction: packed array [0..31] of Byte;
  end;

32 байта, в каждом байте 2 десятичных знака (00..99).
итого - 64 значащих.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869438
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм у DecFloat34 есть toBcd и fromBcd. По идее можно было бы для Int128 сделать

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
interface DecFloat34 : Versioned
{
	const uint BCD_SIZE = 34;
	const uint STRING_SIZE = 43;	// includes terminating \0
	void toBcd(const FB_DEC34* from, int* sign, uchar* bcd, int* exp);
	void toString(Status status, const FB_DEC34* from, uint bufferLength, string buffer);
	void fromBcd(int sign, const uchar* bcd, int exp, FB_DEC34* to);
	void fromString(Status status, const string from, FB_DEC34* to);
}



вот только я не уверен что оно с delphi TBcd совместимо будет
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869442
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30.09.2019 18:44, Симонов Денис пишет:
> вот только я не уверен что оно с delphi TBcd совместимо будет

кто с кем несовместимо будет?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869447
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

я bcd в delphi не трогал. Но судя по тому что пишут в интернетах там какая-то вакханалия.

Вопрос можно ли использовать toBcd хоть как-то для TBcd?
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39869453
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30.09.2019 18:53, Симонов Денис пишет:
> я bcd в delphi не трогал. Но судя по тому что пишут в интернетах там какая-то вакханалия.

в интернетах правды нет.

> Вопрос можно ли использовать toBcd хоть как-то для TBcd?

вопрос в том, на какую структуру оно опирается.
судя по декларации которую ты привёл, это не FMTBcd из C++
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39871704
Gorynich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
select sum(0.0)
from rdb$database
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39871706
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.10.2019 15:07, Gorynich пишет:
> select sum(0.0)
> from rdb$database

- шо это было?
- антоновка...
(С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39871709
Gorynich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер - fb 4.0.0.1621-0_x64
IBE - 2019.9.29.1

Результат запроса
Код: sql
1.
2.
select sum(0.0)
from rdb$database


имеет тип NUMERIC(38,1), но представляется "как текст", с неправильным десятичным разделителем.
Можно разделитель изменить?
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39871729
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.10.2019 15:14, Gorynich пишет:
> имеет тип NUMERIC(38,1)

вопрос из зала: оно что же, теперь все агрегаты к NUMERIC(38, x)
приводить будет?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39871846
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gorynich,

а чем он неправильный? Точка как точка или ты запятую желаешь?
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39871849
Gorynich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGorynich,

а чем он неправильный? Точка как точка или ты запятую желаешь?

Хочу мышью открывать окна, чтобы decimal delimiter был одним и тем же (что и определен системно), для разных столбцов одного запроса
Код: sql
1.
2.
select sum(0.0), 0.0
from rdb$database



В моем же случае результат
Код: plaintext
1.
2.
3.
0.0   0,0

SUM NUMERIC(38,1),
CONSTANT NUMERIC(18,1)
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39872268
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Db Comparer ругается, если в процедуре расширенный вариант HASH:
Код: sql
1.
2.
3.
insert into USERS (NAME, PWD_HASH)
      values ('Администратор', hash('bla-bla-bla' using MD5))
      returning ID into :id;



DBC==== Error ==== : Procedure SP_SYS$INIT_DB: Missing: <)> (USING)
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39872397
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvbDb Comparer ругается, если в процедуре расширенный вариант HASH:

Компарер еще почти ничего не знает про синтаксис четверки.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39872398
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorynichМожно разделитель изменить?

Можно, наверное.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39872432
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий04.10.2019 15:14, Gorynich пишет:
> имеет тип NUMERIC(38,1)

вопрос из зала: оно что же, теперь все агрегаты к NUMERIC(38, x)
приводить будет?


у тебя есть другие предложения? Когда считаем SUM или AVG трудно угадать сколько там реально записей будет в выборки, поэтому чтобы случайно не получить переполнение выдаём наиболее вместимый тип в prepare. Если это может поломать совместимость со старым клиентом, то просто делай BIND INT128 на BIGINT.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39877968
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В свежей версии сделана сортировка в гриде по DECFLOAT и NUMERIC(38,x) полям, агрегаты там же (пока только по NUMERIC(38,x)), частичная поддержка DECFLOAT и NUMERIC(38,x) в отладчике.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39878255
Gorynich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertGorynichМожно разделитель изменить?

Можно, наверное.

В предыдущей версии (или мне показалось?) десятичный разделитель был изменен на системный. Но в 2019.10.18.1 вернулась точка вместо зяпятой (для моих региональных настроек системы).
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39878583
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorynichВ предыдущей версии (или мне показалось?) десятичный разделитель был изменен на системный. Но в 2019.10.18.1 вернулась точка вместо зяпятой (для моих региональных настроек системы).

Бажок, исправлю.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39944492
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

добавь ключевое слово LATERAL для подсветки пожалуйста. В последней версии 4.0 это поддерживается.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39945154
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис

добавь ключевое слово LATERAL для подсветки пожалуйста. В последней версии 4.0 это поддерживается.


А что это?
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39945169
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Если перед производной таблицей указать ключевое слово LATERAL, то это позволит ссылаться
в них на столбцы предшествующих элементов из списка FROM. Без LATERAL каждый подзапрос
выполняется независимо и поэтому не может обращаться к другим элементам FROM.

Элемент LATERAL может находиться на верхнем уровне списка FROM или в дереве JOIN. В
последнем случае он может также ссылаться на любые элементы в левой части JOIN, справа
от которого он находится.

http://tracker.firebirdsql.org/browse/CORE-3435

использовать можно например вот так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT
  HORSE.NAME,
  M.BYDATE,
  M.HEIGHT_HORSE,
  M.LENGTH_HORSE
FROM HORSE
CROSS JOIN LATERAL(
  SELECT *
  FROM MEASURE
  WHERE MEASURE.CODE_HORSE = HORSE.CODE_HORSE
  ORDER BY MEASURE.BYDATE DESC
  FETCH FIRST ROW ONLY) M



выведет всех лошадей с промерами и их последние промеры. Если промеров нет, то лошадь не будет выведена.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT
  HORSE.NAME,
  M.BYDATE,
  M.HEIGHT_HORSE,
  M.LENGTH_HORSE
FROM HORSE
LEFT JOIN LATERAL(
  SELECT *
  FROM MEASURE
  WHERE MEASURE.CODE_HORSE = HORSE.CODE_HORSE
  ORDER BY MEASURE.BYDATE DESC
  FETCH FIRST ROW ONLY) M ON TRUE



А вот это выведет всех лошадей и их последние промеры, если они есть.
...
Рейтинг: 0 / 0
Firebird 4. Про него пока пишите сюда.
    #39945178
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, не только подсвечивать. Парсер тоже допиливать надо.
...
Рейтинг: 0 / 0
25 сообщений из 116, страница 3 из 5
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Firebird 4. Про него пока пишите сюда.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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