Методы PHP get () и scan () для драйвера aerospike не возвращают полную запись

Я поместил некоторые данные в Aerospike, я могу запросить их через AQL или драйвер C # без проблем. Но когда я пытаюсь сделать это через драйвер PHP, я не получаю полную запись. Я наблюдал проблему во время метода scan (), после этого я попытался с методом get () с тем же результатом.

Вот часть кода с методом get ():

$config = ["hosts" => [["addr" => "192.168.x.x", "port" => 3000]]];
$db = new Aerospike($config);
if (!$db->isConnected())
{
echo "Failed to connect to the Aerospike server [{$db->errorno()}]: {$db->error()}\n";
exit(1);
}

$key = $db->initKey("company", "Company", 2456223);
$status = $db->get($key, $record);
echo "key->".$key['key']."\r\n";
print_r($record['bins']['address']);

вывод следующий:

key->2456223
Array
(
[zip] => 12345
[locality] => mytown
)

и вывод AQL:

aql> select address from company.Company where pk=2456223
[
{
"address": {
"zip": "12345",
"locality": "mytown",
"hidden": "00 01 00 00 00 FF FF FF FF 01 00 00 00 00 00 00 00 04 01 00 00 00 0E 53 79 73 74 65 6D 2E 42 6F 6F 6C 65 61 6E 01 00 00 00 07 6D 5F 76 61 6C 75 65 00 01 00 0B",
"geoID": 1234,
"streetAddress": "mystreet 4",
"region": "here",
"streetId": 5678
}
}
]

Есть идеи, что я делаю не так?

1

Решение

Кажется, у php есть проблема, связанная с типом c # blob. Похоже, разбор / печать карты прерывается на полпути. Поскольку BLOB-объект написан на C #, кажется, он в состоянии справиться с этим. Но у PHP, похоже, с этим проблемы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector