SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » int128 и шестнадцатеричная нотация
int128 и шестнадцатеричная нотация [сообщение #4706] Wed, 27 March 2024 11:49 Переход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
продолжаю тестировать int128 и всякое прочее.
SELECT 0x8000000000000000 FROM RDB$DATABASE; --int64

             CONSTANT 
===================== 
 -9223372036854775808 

добавляем ещё одну тетраду, чтоб выйти за предел int64 и получаем облом
SELECT 0x18000000000000000 FROM RDB$DATABASE; --int128

             CONSTANT 
===================== 
Statement failed, SQLSTATE = 22003
Dynamic SQL Error
-SQL error code = -303
-arithmetic exception, numeric overflow, or string truncation
-Integer overflow.  The result of an integer operation caused the most significant bit of the result to carry.

Firebird/Linux/AMD/Intel/x64 (access method),
version "LI-V4.0.2.2816 Firebird 4.0"
on disk structure version 13.0
Dialect 3.

Согласно доке, начиная с Firebird 4.0.1 числа состоящие из 17-32 шестнадцатеричных цифр должны интерпретироваться как int128.

что я не так делаю?
Re: int128 и шестнадцатеричная нотация [сообщение #4707 является ответом на сообщение #4706] Wed, 27 March 2024 11:57 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
Database: inet://employee, User: SYSDBA
SQL> show version;
ISQL Version: WI-V4.0.2.2816 Firebird 4.0
Server version:
Firebird/Windows/AMD/Intel/x64 (access method), version "WI-V4.0.2.2816 Firebird 4.0"
Firebird/Windows/AMD/Intel/x64 (remote server), version "WI-V4.0.2.2816 Firebird 4.0/tcp (FireWork)/P17:C"
Firebird/Windows/AMD/Intel/x64 (remote interface), version "WI-V4.0.2.2816 Firebird 4.0/tcp (FireWork)/P17:C"
on disk structure version 13.0
SQL>
SQL> SELECT 0x18000000000000000 FROM RDB$DATABASE;

                                    CONSTANT
=============================================
                        27670116110564327424
Re: int128 и шестнадцатеричная нотация [сообщение #4708 является ответом на сообщение #4707] Wed, 27 March 2024 12:00 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
значит на Линухе облом
Re: int128 и шестнадцатеричная нотация [сообщение #4709 является ответом на сообщение #4708] Wed, 27 March 2024 12:11 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
МП писал(а) Wed, 27 March 2024 11:00
значит на Линухе облом
Или кто-то поредактировал конфиг, или триггер на коннект сделал нехороший.
Re: int128 и шестнадцатеричная нотация [сообщение #4710 является ответом на сообщение #4709] Wed, 27 March 2024 12:14 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
hvlad писал(а) Wed, 27 March 2024 11:11
МП писал(а) Wed, 27 March 2024 11:00
значит на Линухе облом
Или кто-то поредактировал конфиг, или триггер на коннект сделал нехороший.
Database: employee, User: SYSDBA
SQL> SELECT 0x18000000000000000 FROM RDB$DATABASE;

                                     CONSTANT
=============================================
                         27670116110564327424

SQL> set bind of int128 to numeric(18);
SQL>
SQL> SELECT 0x18000000000000000 FROM RDB$DATABASE;

             CONSTANT
=====================
Statement failed, SQLSTATE = 22003
Dynamic SQL Error
-SQL error code = -303
-arithmetic exception, numeric overflow, or string truncation
-Integer overflow.  The result of an integer operation caused the most significant bit of the result to carry.
Но виноват, конечно, линукс
Re: int128 и шестнадцатеричная нотация [сообщение #4711 является ответом на сообщение #4709] Wed, 27 March 2024 12:49 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad писал(а) Wed, 27 March 2024 12:11
МП писал(а) Wed, 27 March 2024 11:00
значит на Линухе облом
Или кто-то поредактировал конфиг, или триггер на коннект сделал нехороший.
databases.conf пустой, не считая employee.fdb и security.db
база только что создана с нуля.
в ней одна табличка и больше нихрена.
SQL> show tables;
TEST

SQL> show table test;
ID    INT128 Nullable 
Re: int128 и шестнадцатеричная нотация [сообщение #4712 является ответом на сообщение #4711] Wed, 27 March 2024 12:57 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
мда.
админ таки ковырял firebird.conf
DataTypeCompatibility = 3.0

гад.

пардону просим за беспокойство.
Re: int128 и шестнадцатеричная нотация [сообщение #4713 является ответом на сообщение #4711] Wed, 27 March 2024 12:58 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
МП писал(а) Wed, 27 March 2024 11:49
hvlad писал(а) Wed, 27 March 2024 12:11
МП писал(а) Wed, 27 March 2024 11:00
значит на Линухе облом
Или кто-то поредактировал конфиг, или триггер на коннект сделал нехороший.
databases.conf пустой, не считая employee.fdb и security.db
база только что создана с нуля.
Есть не только databases.conf
Re: int128 и шестнадцатеричная нотация [сообщение #4714 является ответом на сообщение #4712] Wed, 27 March 2024 13:00 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
RDB$CONFIG в помощь
Re: int128 и шестнадцатеричная нотация [сообщение #4715 является ответом на сообщение #4714] Wed, 27 March 2024 13:21 Переход к предыдущему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad писал(а) Wed, 27 March 2024 13:00
RDB$CONFIG в помощь
гут!

СПАСИБО!
Предыдущая тема: Новые возможности Firebird 5.0: Полная версия
Следующая тема: Roadmap Firebird 6.0
Переход к форуму:
  


Текущее время: Wed Dec 18 15:34:15 GMT+3 2024

Общее время, затраченное на создание страницы: 0.07941 секунд