|
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, 16:51 |
|
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:05 |
|
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:08 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
AriochИнтересно, какой тип он пытается создать при перемножении numeric'ов?.. Как и описано в документации: с точностью, равной сумме точностей операндов. Сколько будет 4+4+4+4 посчитать на пальцах сумеешь? А сравнить с максимально возможной точностью для numeric в тройке?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 17:20 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
Всё равно не сходится 18 - (4+4+4+3) = 3 но результат 1875 выдаёт повезло? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 17:30 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
Вообще было бы хорошо, если бы в этой ошибке Firebird проговаривал тип, к которому пытается привести значение.... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 17:33 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
Ariochхорошо, если бы в этой ошибке Firebird проговаривал тип, к которому пытается привести значение.... А " integer overflow" тебе ни на что не намекает?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 17:42 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, сообщения, которые намекают, хороши в квестах. Пляжный Ларри там, Monkey Island и прочие. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 19:09 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:02 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:15 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:20 |
|
Integer overflow <== coalesce & numeric-Int64
|
|||
---|---|---|---|
#18+
AriochВсё равно не сходится 18 - (4+4+4+3) = 3 но результат 1875 выдаёт повезло? Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:33 |
|
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.
Так понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:39 |
|
|
start [/forum/topic.php?fid=40&fpage=20&tid=1560568]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 157ms |
0 / 0 |