public function testExecutePersist() { $fileIn = tempnam(sys_get_temp_dir(), 'PgOidIn'); file_put_contents($fileIn, 'content'); $lo = new PgLargeObject($fileIn); $this->assertTrue($lo->isNew()); $this->assertTrue($lo->isChanged()); $this->assertFalse($lo->isDeleted()); $this->assertSame($lo->getFilePath(), $fileIn); $task = new Persist($this->entityManager->recordManager); $task->setObject($lo); $this->assertTrue($task->execute($this->db)); $this->assertFalse($lo->isNew()); $this->assertFalse($lo->isChanged()); $this->assertFalse($lo->isDeleted()); $this->assertNull($lo->getFilePath()); // the task has been inserted correctly $this->assertTrue(is_numeric($lo->getOid())); $this->db->query(new PgQuery('BEGIN')); $fileOut = tempnam(sys_get_temp_dir(), 'PgOidOut'); pg_lo_export($this->db->resource->get(), $lo->getOid(), $fileOut); $this->db->query(new PgQuery('COMMIT')); $this->assertFileEquals($fileIn, $fileOut); pg_lo_unlink($this->db->resource->get(), $lo->getOid()); }
function DB_lo_unlink($c, $id) { if (strcmp(phpversion(), '4.2.0') < 0) { return pg_lounlink($id, $c); } else { return pg_lo_unlink($c, $id); } }
public function deleteblob($oid) { $this->query = pg_query($this->dbhandle, "begin"); $blob = pg_lo_unlink($this->dbhandle, $oid); pg_query($this->dbhandle, "commit"); return $blob; //TODO: kontola, ali je bil query ok izveden! }
/** * Exclui um objeto oid do Banco de dados * @param integer $iOid * * Caso de Uso: Ao excluir um registro de uma tabela e eo campo for do tipo oid, * Deve-se excluir o objeto do banco utilizando este método */ public static function exclusao($iOid) { $lTransacaoInterna = false; global $conn; if (!db_utils::inTransaction()) { throw new Exception("Sem transação Ativa."); } return pg_lo_unlink($conn, $iOid); }
/** * delete an OID * * @param integer $OID * @return mixed MDB2_OK on success or MDB2 Error Object on failure * @access public */ function deleteOID($OID) { $db =& $this->getDBInstance(); if (PEAR::isError($db)) { return $db; } $connection = $db->getConnection(); if (PEAR::isError($connection)) { return $connection; } if (!@pg_lo_unlink($connection, $OID)) { return $db->raiseError(null, null, null, 'Unable to unlink OID: ' . $OID, __FUNCTION__); } return MDB2_OK; }
public function execute(Pg $pg, $simulate = false) { if ($this->object->isNew()) { return true; } // IMPORTANT: pg_lo fn's don't work outside a transaction $pg->query(new Query('BEGIN')); if (!($response = pg_lo_unlink($pg->resource->get(), $this->object->getOid()))) { throw new QueryException("Unable to delete PgLargeObject {$this->object->getOid()}"); } // IMPORTANT: pg_lo_import/export DO NOT WORK without a transaction! $pg->query(new Query('COMMIT')); $this->object->markDeleted(); return true; }
public function pgsqlLOBUnlink($oid) { return pg_lo_unlink($this->link, $oid); }
public function loUnlink($oid) { assert('is_string($pathname)'); assert('is_int($oid)'); return pg_lo_unlink($this->_pg, $oid); }
function large_object_delete($oid) { trigger_before('large_object_delete', $this, $this); $return = false; #$result = pg_query($this->conn,"SELECT $field FROM $table WHERE $pkfield = '$pkvalue'"); #if (!$result) { trigger_error("Error in select file OID", E_USER_ERROR ); } #$oid = pg_result($result,0,$field); #if (!$oid) { trigger_error("Error in file OID result", E_USER_ERROR ); } $result = @pg_query($this->conn, "BEGIN"); if (!$result) { trigger_error("error starting l_o_d transaction: " . @pg_last_error($this->conn), E_USER_ERROR); } $result = @pg_lo_unlink($this->conn, $oid); if (!$result) { trigger_error("error in l_o_unlink: " . @pg_last_error($this->conn), E_USER_ERROR); } $result = @pg_query($this->conn, "COMMIT"); if (!$result) { trigger_error("error committing l_o_d transaction: " . @pg_last_error($this->conn), E_USER_ERROR); } else { $return = true; } return $return; }
$req = $_POST['r'.$rn]; if( $req == 'connect' ) { dump( 0 ); dump( 0 ); dump( 0 ); } elseif( substr($req,0,11) == 'blob_create' ) { list($oid) = sscanf( $req, 'blob_create %u' ); pg_free_result( pg_query( $commit ? 'COMMIT' : 'ROLLBACK' ) ); pg_free_result( pg_query( 'BEGIN' ) ); $oid = pg_lo_create() or pgerr('lo_create failed'); pg_free_result( pg_query( 'COMMIT' ) ); pg_free_result( pg_query( 'BEGIN' ) ); dump($oid); } elseif( substr($req,0,11) == 'blob_delete' ) { list($oid) = sscanf( $req, 'blob_delete %u' ); $oid = pg_lo_unlink($oid) or pgerr('lo_unlink failed'); } elseif( substr($req,0,10) == 'blob_write' ) { list($oid) = sscanf( $req, 'blob_write %s ' ); $bin = substr($req,12+strlen($oid)); $obj = pg_lo_open($oid,'w') or pgerr( 'lo_open failed' ); $res = pg_lo_write($obj,$bin) or pgerr( 'lo_write failed' ); pg_lo_close($obj); dump($res); } elseif( substr($req,0,9) == 'blob_read' ) { list($oid) = sscanf( $req, 'blob_read %u' ); $obj = pg_lo_open($oid,'r') or pgerr( 'lo_open failed' ); pg_lo_seek($obj,0,PGSQL_SEEK_END); $len = pg_lo_tell($obj); pg_lo_seek($obj,0,PGSQL_SEEK_SET); $res = pg_lo_read($obj,$len) or pgerr( 'lo_read failed' ); pg_lo_close($obj);
function Unlink() { if (version_compare(phpversion(), "4.2.0", "ge") > 0) { pg_lo_unlink($this->dbconnect, $this->oid); } }
function lo_unlink($p_oid) { return pg_lo_unlink($this->db, $p_oid); }
if (!$oid) { echo "pg_lo_import() error\n"; } if ($oid != 21003) { echo "pg_lo_import() wrong id\n"; } pg_lo_unlink($db, $oid); pg_exec($db, 'commit'); echo "import LO from string\n"; pg_exec($db, 'begin'); $oid = pg_lo_import($db, __FILE__, "21004"); if (!$oid) { echo "pg_lo_import() error\n"; } if ($oid != 21004) { echo "pg_lo_import() wrong id\n"; } pg_lo_unlink($db, $oid); pg_exec($db, 'commit'); echo "import LO using default connection\n"; pg_exec('begin'); $oid = pg_lo_import($db, __FILE__, 21005); if (!$oid) { echo "pg_lo_import() error\n"; } if ($oid != 21005) { echo "pg_lo_import() wrong id\n"; } pg_lo_unlink($oid); pg_exec('commit'); echo "OK";
/** * */ function lo_unlink($oid) { return pg_lo_unlink($this->connection, $oid); }
function BlobDelete($blob) { pg_query($this->_connectionID, 'begin'); $result = @pg_lo_unlink($blob); pg_query($this->_connectionID, 'commit'); return $result; }
function DB_lo_unlink($conn, $data) { if (($fp = DB_lo_open($conn, $data, "r")) === false) { return false; } DB_lo_close($fp); if (strcmp(phpversion(), '4.2.0') < 0) { return pg_lounlink($conn, $data); } else { return pg_lo_unlink($conn, $data); } }
function BlobDelete($blob) { pg_exec($this->_connectionID, "begin"); $result = @pg_lo_unlink($blob); pg_exec($this->_connectionID, "commit"); return $result; }
pg_lo_close($handle); pg_exec($db, "commit"); echo "unlink LO\n"; pg_exec($db, "begin"); pg_lo_unlink($db, $oid) or print "pg_lo_unlink() error 1\n"; pg_exec($db, "commit"); // more pg_lo_unlink() tests echo "Test without connection\n"; pg_exec($db, "begin"); $oid = pg_lo_create($db) or print "pg_lo_create() error\n"; pg_lo_unlink($oid) or print "pg_lo_unlink() error 2\n"; pg_exec($db, "commit"); echo "Test with string oid value\n"; pg_exec($db, "begin"); $oid = pg_lo_create($db) or print "pg_lo_create() error\n"; pg_lo_unlink($db, (string) $oid) or print "pg_lo_unlink() error 3\n"; pg_exec($db, "commit"); echo "import/export LO\n"; $path = dirname(__FILE__) . '/'; pg_query($db, 'begin'); $oid = pg_lo_import($db, $path . 'php.gif'); pg_query($db, 'commit'); pg_query($db, 'begin'); @unlink($path . 'php.gif.exported'); pg_lo_export($oid, $path . 'php.gif.exported', $db); if (!file_exists($path . 'php.gif.exported')) { echo "Export failed\n"; } @unlink($path . 'php.gif.exported'); pg_query($db, 'commit'); echo "OK";