синтаксический анализ типа данных массива PostgreSQL как массива в perl - PullRequest
2 голосов
/ 18 мая 2011

У меня проблема с переносимостью при разборе типа данных массива PosgreSQL на perl.

На одной машине с PostgreSQL 8.3.7 в SUSE Linux 4.3.2 и perl v5.10.0 анализируется тип данных массива postgresкак и в массиве perl, и на другой машине, на которой работает PostgreSQL 8.4.4 в Red Hat 4.1.2-46 и perl v5.8.8, тот же тип данных анализируется как строка, представляющая массив posgres, например.'{{4315}}'.В обоих случаях используется один и тот же очень простой код.

use DBI;
$dbh = DBI->connect(DBI:pg [...]);
$res = $dbh -> selectall_arrayref(select [...]);

А теперь вопросы:

Как заставить одно поведение, предпочтительно прежнее (анализируется как массив perl)?От чего зависит это поведение?(версия perl? драйвер? настройки postgres ?, версия postgres?)

1 Ответ

1 голос
/ 18 мая 2011

Ну, официальные документы говорят, что вы должны установить $dbh->{pg_expand_array} в истинное значение.

Я сам не проверял это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...