public function testUpdateEdges()
{
$client = PhpOrient::fromConfig(array('username' => 'root', 'password' => 'root', 'hostname' => 'localhost', 'port' => 2424));
$res = $client->execute('connect');
$this->skipTestByOrientDBVersion(['2.1.3', '2.0.13', '1.7.10']);
try {
$client->dbDrop("db_test_edges", Constants::STORAGE_TYPE_MEMORY);
} catch (\Exception $e) {
// echo $e->getMessage();
$client->getTransport()->debug($e->getMessage());
}
$client->dbCreate("db_test_edges", Constants::STORAGE_TYPE_MEMORY, Constants::DATABASE_TYPE_GRAPH);
$orientClustersInfo = $client->dbOpen("db_test_edges", 'admin', 'admin');
$orientVersion = $client->getTransport()->getOrientVersion();
$cmd = 'begin;' . 'let a = create vertex set script = true;' . 'let b = select from v limit 1;' . 'let e = create edge from $a to $b;' . 'commit retry 100;';
$lastRecord = $client->sqlBatch($cmd);
$lastRecord = $client->sqlBatch($cmd);
$lastRecord = $client->sqlBatch($cmd);
$lastRecord = $client->sqlBatch($cmd);
$lastRecord = $client->sqlBatch($cmd);
$rec = $client->recordLoad(new ID("#9:0"))[0];
/**
* @var $rec Record
* @var $bag \PhpOrient\Protocols\Binary\Data\Bag
*/
$bag = $rec->getOData()['in_'];
$this->assertNotEmpty($bag->getRawBagContent());
$client->recordUpdate($rec);
/**
* @var $rec Record
* @var $bag2 \PhpOrient\Protocols\Binary\Data\Bag
*/
$rec = $client->recordLoad(new ID("#9:0"))[0];
$bag2 = $rec->getOData()['in_'];
$this->assertNotEmpty($bag2->getRawBagContent());
if ($orientVersion->getMajorVersion() >= 2 && $orientVersion->getMinorVersion() >= 0 && ($orientVersion->getBuildNumber() >= 7 || !is_numeric($orientVersion->getBuildNumber()))) {
$this->assertEquals($bag->getRawBagContent(), $bag2->getRawBagContent());
}
}