|
|
|
Postgresql read composite type[]
|
|||
|---|---|---|---|
|
#18+
Всем привет! В общем, как прочитать колонку из resultSet одной колонкой которого является composite type при этом значение в колонке является массивом? тип содержит три колонки int, double, long, пример возвращаемого значения {"(797127835,0.97,16)","(797129235,0.92,4)"} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 22:20 |
|
||
|
Postgresql read composite type[]
|
|||
|---|---|---|---|
|
#18+
Если грамотно и по jdbc спеке то никак. Jdbc драйвер PostgreSQL по крайней мере на момент января 2014 года поддержку композитных типов не предоставляет. Ну правда не то чтобы задача совсем никак не решается, с массивами драйвер работать умеет. Обрабатывайте поле в ResultSet как массив rs.getArray("field_name"), а уже отдельно взятый элемент в массиве разбирайте хоть регулярками, хоть стрингтокенайзером, строку из трёх чисел распарсить труда не составит. Хотя если всё равно вам парсинг руками писать придётся, то можно и над работой с массивом не замарачиваться, просто возьмите rs.getString("field_name"), работы разбить массив на составляющие не сильно прибавиться, а перфоманс возрастёт(при условии что грамотно сделаете). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2014, 04:14 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=191&tid=2127839]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
96ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 407ms |

| 0 / 0 |
