|
|
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
в sql я могу не указывать типы в prepare /execute sql Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. а в случае plperl [и,как говорят -- plpython] -- обязан иначе авторERROR: failed to find conversion function from unknown to integer at line plperl + sql Код: sql 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. -- вот зачем оно так ? кудыть бедному крестьянину податься ? -- оно же все равно тестит типы полей при синтаксическом разборе, -- зачем мне самому читать системные? есть тут опытные перловары ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 12:15 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
Так ведь всё логично. В первом случае Вы неправильно использовали символ для переменных (только в Perl6 появились неизменяемые сигилы), и модуль (возможно!) не может его правильно интерпретировать. Код: php 1. 2. Код: php 1. 2. 3. Во втором случае массив может попросту автоматически не раскладываться на элементы. Возможно, это опять косяк модуля для PG. Еще в примерах увидел, что типы переменных в "spi_prepare" указываются в верхнем регистре. Может быть это тоже влияет? Попробуйте такой код Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 12:40 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
al.netrusov, не ,речь не про то, как я знакомлюсь с перлом методом тыка (оно осталось там в комментах, но не в кач-ве вопроса) , а про то, что мне хочется создать prepare от unknown-ов -- как в SQL--варианте выше. но перл, [как и питон] этого не хочет. а вот почему такая дискриминация перлов с пайтонами -- обидно же. хотя в plpgsql вообще без ухищрений не отпрепаришься. только с исподвывертом а от типов -- то я давно написал. (тыком изучив синтакс перла). это неинтересно -- мну пришлось дополнительно лазить по системным -- определять типы. а это не спортивно. т.е. задача -- есть метадата -- ключ --значение [читай -- имя_поля => литерал значения]. надо отпрепарить стейтменты. Вот в SQL все легко и просто делается через unknown-ы [при синтакс анализе будет определен тип. и потом будут ошибки времени исполнения -- если литералы в типы не влезают]. а в перле -- изволь наковырять из носа типов до, еще до препаринга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 13:46 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
al.netrusov, PS т.е. у меня в приведенном "неправильном коде" все работает. Неработающий вариант закомментирован (подсвеченная строка). и именно к нему вопрос -- "за что дискриминация". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 13:57 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
Да, видимо я не проникся вопросом. Подумал, что процедура в принципе не работает, и сразу заметил эти части кода. Пока читал документацию, где-то увидел, что объявление типов на стадии prepare обязательно. Действительно, иметь аналог Oracle 'table_name.column_name%type' (в данном случае 'unknown') в PL/Perl было бы плюсом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 14:15 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
qwwq, мне вот интересно, а какие такие задачи Вам приходится решать вот такими сложными способами? Ведь явно существуют более простые решения. Я пару лет назад тоже думал над тем, сколько таблиц сделать под разные типы [...], потом решил вопрос использованием одного поля типа JSON в одной таблице. Простые решения рулят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 14:17 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
PCContraqwwq, мне вот интересно, а какие такие задачи Вам приходится решать вот такими сложными способами? Ведь явно существуют более простые решения. Я пару лет назад тоже думал над тем, сколько таблиц сделать под разные типы [...], потом решил вопрос использованием одного поля типа JSON в одной таблице. Простые решения рулят ну вот у меня и лежат в простом решении (трульный hstore ,а не факабл json) события. А потом я их превращаю в хитровывернутые препареды (так надо). и вот тут -- в перле случилась небольшая засадка... накладные расходы небольшие. а json прелесто козлит при попытке обратно отпопулировать его в исходный тип, ежели в исходном типе скажем array затесался. как там говорил лавров : "де - Биллы, тчк" ? -- вот где-то так. да. Биллы, де. мол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 14:28 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
qwwq в перле случилась небольшая засадка... накладные расходы небольшие. Зарплата сотрудникам? 1с? В какой организации работаем, дружище? Хотя бы регион назовите, есть подозрения, что мы с Вами знакомы))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 14:33 |
|
||
|
[хочу странного] plperl spi_prepare( ,ARRAY['unknown']
|
|||
|---|---|---|---|
|
#18+
PCContraqwwq в перле случилась небольшая засадка... накладные расходы небольшие. Зарплата сотрудникам? 1с? В какой организации работаем, дружище? Хотя бы регион назовите, есть подозрения, что мы с Вами знакомы))) нет. ещё один препаред к системным - на вычитку массивов типов по массиву имен. плюс хештабличка для резалтов. при всём при том, что синтакс анализёр сам полезет (по месту препарки ) в системные. более того -- он без зазрения информирует -- не могу мол анноуны именно в интежеры кастнуть. Т.е. где-- то в коде реализации spi_exec_prepared лишний каст затесался. Могли бы откейсить -- если unknown -- не кастить. а работаем мы в понаехаловке, торжок видим только в виде молока и кефира. довольно таки гм. овённых. но за отсуствием горничной, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2015, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39102823&tid=1997638]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
21ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 556ms |

| 0 / 0 |
