Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
25.09.2019, 16:51
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Reportedfor Friebird 2.5.8 Tested in Firebird 2.1.7 Win32, SQL Dialect 3 Также судя по всему присутсвует в Firebird 3.0.5 Debian https://stackoverflow.com/questions/58096187 •If any (of the 4) coalesces are replaced by a fixed value it's ok •If any coalesce is removed, the result is also ok •If for any field another is used, the error remains Replacing the '/' with '-' also gives a result but not the correct value. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
ERROR: Unsuccesful execution ... integer overflow ... cause the most significant bit of the result to carry Меняем определение таблицы (остальные две команды те же). Код: sql 1. 2. 3. 4. 5. 6.
ERROR Код: sql 1. 2. 3. 4. 5. 6.
ERROR Код: sql 1. 2. 3. 4. 5. 6.
OK, 1875 Код: sql 1. 2. 3. 4. 5. 6.
OK, 1875 Firebird 3.0.5 проверялся по https://dbfiddle.uk/?rdbms=firebird_3.0&fiddle=57729b31e0a5019aea68a136638d9f50 Ошибка там не показывается, но и результата тоже нет. Для сравнения, https://dbfiddle.uk/?rdbms=firebird_3.0&fiddle=c4a4230e855b0ce4fd2b0c7b3b697cda ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 17:05
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6.
Still works. https://dbfiddle.uk/?rdbms=firebird_3.0&fiddle=29a6c15d6e1854be230d29aea30307cf ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 17:08
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Код: sql 1. 2. 3.
https://dbfiddle.uk/?rdbms=firebird_3.0&fiddle=1f29aff4102ace57e8fa27d83e59b93f Ошибка. Интересно, какой тип он пытается создать при перемножении numeric'ов?.. Coalesce видимо не при чём ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 17:20
|
|||
---|---|---|---|
|
|||
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
AriochИнтересно, какой тип он пытается создать при перемножении numeric'ов?.. Как и описано в документации: с точностью, равной сумме точностей операндов. Сколько будет 4+4+4+4 посчитать на пальцах сумеешь? А сравнить с максимально возможной точностью для numeric в тройке?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 17:30
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Всё равно не сходится 18 - (4+4+4+3) = 3 но результат 1875 выдаёт повезло? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 17:33
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Вообще было бы хорошо, если бы в этой ошибке Firebird проговаривал тип, к которому пытается привести значение.... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 17:42
|
|||
---|---|---|---|
|
|||
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Ariochхорошо, если бы в этой ошибке Firebird проговаривал тип, к которому пытается привести значение.... А " integer overflow" тебе ни на что не намекает?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2019, 19:09
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Dimitry Sibiryakov, сообщения, которые намекают, хороши в квестах. Пляжный Ларри там, Monkey Island и прочие. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2019, 10:02
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2019, 10:15
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2019, 10:20
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2019, 10:33
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
AriochВсё равно не сходится 18 - (4+4+4+3) = 3 но результат 1875 выдаёт повезло? Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2019, 10:39
|
|||
---|---|---|---|
Integer overflow <== coalesce & numeric-Int64 |
|||
#18+
Максимальное положительное для BIGINT = 9 223 372 036 854 775 807 Соответственно, для NUMERIC(18,15) максимальное положительное = 9 223.372 036 854 775 807 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Так понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1560568]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 431ms |
0 / 0 |