function DB_lo_read($contest, $id, $s = -1) { if (strcmp(phpversion(), '4.2.0') < 0) { if ($s < 0) { $str = ''; while (($buf = pg_loread($id, 100000)) != false) { $str .= $buf; } } else { $str = pg_loread($id, $s); } } else { if ($s < 0) { $str = ''; while (($buf = pg_lo_read($id, 100000)) != false) { $str .= $buf; } } else { $str = pg_lo_read($id, $s); } } if (($str2 = DB_unlock($contest, $str)) === false) { return $str; } return $str2; }
function BlobDecode($blob, $maxsize = false, $hastrans = true) { if (!$this->GuessOID($blob)) { return $blob; } if ($hastrans) { @pg_exec($this->_connectionID, "begin"); } $fd = @pg_lo_open($this->_connectionID, $blob, "r"); if ($fd === false) { if ($hastrans) { @pg_exec($this->_connectionID, "commit"); } return $blob; } if (!$maxsize) { $maxsize = $this->maxblobsize; } $realblob = @pg_loread($fd, $maxsize); @pg_loclose($fd); if ($hastrans) { @pg_exec($this->_connectionID, "commit"); } return $realblob; }
function ReadResultLOB($lob, &$data, $length) { if (!$this->RetrieveLOB($lob)) { return -1; } $data = pg_loread($this->lobs[$lob]["Handle"], $length); if (GetType($data) != "string") { $this->SetError("Read Result LOB", pg_ErrorMessage($this->connection)); return -1; } if (($length = strlen($data)) == 0) { $this->lobs[$lob]["EndOfLOB"] = 1; } return $length; }
function DB_lo_read($fp, $len) { if (strcmp(phpversion(), '4.2.0') < 0) { return pg_loread($fp, $len); } else { return pg_lo_read($fp, $len); } }
/** * Read data from large object input stream. * * @param int $lob handle to a lob created by the createLob() function * @param blob $data reference to a variable that will hold data to be * read from the large object input stream * @param int $length integer value that indicates the largest ammount of * data to be read from the large object input stream. * @return mixed length on success, a MDB error on failure * @access private */ function _readResultLob($lob, &$data, $length) { $lobresult = $this->_retrieveLob($lob); if (MDB::isError($lobresult)) { return $lobresult; } $data = @pg_loread($this->lobs[$lob]['Handle'], $length); if (gettype($data) != 'string') { $this->raiseError(MDB_ERROR, NULL, NULL, 'Read Result LOB: ' . @pg_errormessage($this->connection)); } if (($length = strlen($data)) == 0) { $this->lobs[$lob]['EndOfLOB'] = 1; } return $length; }
/** * Read data from large object input stream. * * @param int $lob handle to a lob created by the createLOB() function * @param blob $data reference to a variable that will hold data to be * read from the large object input stream * @param int $length integer value that indicates the largest ammount of * data to be read from the large object input stream. * @return mixed length on success, a MDB2 error on failure * @access private */ function _readResultLOB($lob, &$data, $length) { $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; $lobresult = $this->_retrieveLOB($lob); if (MDB2::isError($lobresult)) { return $lobresult; } $data = @pg_loread($db->lobs[$lob]['handle'], $length); if (!is_string($data)) { return $db->raiseError(); } if (($length = strlen($data)) == 0) { $db->lobs[$lob]['end_of_LOB'] = true; } return $length; }