|
|
|
приведение типов данных при создании С-функции в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
имеется С функция Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. создаю функцию в PostgreSQL Код: plsql 1. 2. 3. импорт проходит успешно. Дальше пытаюсь протестировать функцию Код: plsql 1. тут появляется ошибка что 14106333703411661563 - это numeric тогда я пересоздаю функцию в PostgreSQL Код: plsql 1. 2. 3. и выполняю Код: plsql 1. выдает результат 5 а должно быть 42. Хеши 4575515931806203904, 14106333703411661563 типа ulong были созданы и протестированы перед этим Я думаю что ошибка с приведением типов данных между PostgreSQL и С. Можете подсказать где я ошибся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 07:33 |
|
||
|
приведение типов данных при создании С-функции в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Sv219, 14106333703411661563 это больше чем int64 поэтому через int64 вы ее не передадите... а если создаете функцию как numeric то uint64 v1 = PG_GETARG_INT64(0); - очевидно некорректно, так как numeric совсем другой тип с другой структурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 08:22 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39124592&tid=1997575]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 473ms |

| 0 / 0 |
