[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] api/db/adodb-csvlib.inc.php, 1.1.2.2
From: |
nomail |
Subject: |
[Phpgroupware-cvs] api/db/adodb-csvlib.inc.php, 1.1.2.2 |
Date: |
Thu, 20 May 2004 15:32:33 -0000 |
Update of /api/db
Modified Files:
Branch: proposal-branch
adodb-csvlib.inc.php
date: 2004/04/16 20:59:49; author: seek3r; state: Exp; lines: +41 -24
Log Message:
bringing savannah cvs back up to date with what we were doing on our private
cvs server. We will not be doing dev from this cvs tree
=====================================================================
No syntax errors detected in -
=====================================================================
Index: api/db/adodb-csvlib.inc.php
diff -u api/db/adodb-csvlib.inc.php:1.1.2.1 api/db/adodb-csvlib.inc.php:1.1.2.2
--- api/db/adodb-csvlib.inc.php:1.1.2.1 Sat Feb 28 06:34:10 2004
+++ api/db/adodb-csvlib.inc.php Fri Apr 16 20:59:49 2004
@@ -3,7 +3,7 @@
$ADODB_INCLUDED_CSV = 1;
/*
- V4.20 22 Feb 2004 (c) 2000-2004 John Lim (address@hidden). All rights
reserved.
+ V4.21 20 Mar 2004 (c) 2000-2004 John Lim (address@hidden). All rights
reserved.
Released under both BSD license and Lesser GPL library license.
Whenever there is any discrepancy between the two licenses,
the BSD license will take precedence. See License.txt.
@@ -42,31 +42,30 @@
$text = "====-1,0,$sql\n";
return $text;
- } else {
- $tt = ($rs->timeCreated) ? $rs->timeCreated : time();
- $line = "====0,$tt,$sql\n";
- }
- // column definitions
- for($i=0; $i < $max; $i++) {
- $o = $rs->FetchField($i);
- $line .=
urlencode($o->name).':'.$rs->MetaType($o->type,$o->max_length,$o).":$o->max_length,";
}
- $text = substr($line,0,strlen($line)-1)."\n";
+ $tt = ($rs->timeCreated) ? $rs->timeCreated : time();
+ ## changed format from ====0 to ====1
+ $line = "====1,$tt,$sql\n";
- // get data
if ($rs->databaseType == 'array') {
- $text .= serialize($rs->_array);
+ $rows =& $rs->_array;
} else {
$rows = array();
while (!$rs->EOF) {
$rows[] = $rs->fields;
$rs->MoveNext();
}
- $text .= serialize($rows);
}
- $rs->MoveFirst();
- return $text;
+
+ for($i=0; $i < $max; $i++) {
+ $o =& $rs->FetchField($i);
+ $flds[] = $o;
+ }
+
+ $rs =& new ADORecordSet_array();
+ $rs->InitArrayFields($rows,$flds);
+ return $line.serialize($rs);
}
@@ -93,9 +92,9 @@
$arr = array();
$ttl = 0;
- if ($meta = fgetcsv ($fp, 32000, ",")) {
+ if ($meta = fgetcsv($fp, 32000, ",")) {
// check if error message
- if (substr($meta[0],0,4) === '****') {
+ if (strncmp($meta[0],'****',4) === 0) {
$err = trim(substr($meta[0],4,1024));
fclose($fp);
return false;
@@ -104,7 +103,7 @@
// $meta[0] is -1 means return an empty recordset
// $meta[1] contains a time
- if (substr($meta[0],0,4) === '====') {
+ if (strncmp($meta[0], '====',4) === 0) {
if ($meta[0] == "====-1") {
if (sizeof($meta) < 5) {
@@ -120,14 +119,14 @@
}
$rs->fields = array();
$rs->timeCreated = $meta[1];
- $rs = new ADORecordSet($val=true);
+ $rs =& new ADORecordSet($val=true);
$rs->EOF = true;
$rs->_numOfFields=0;
$rs->sql = urldecode($meta[2]);
$rs->affectedrows = (integer)$meta[3];
$rs->insertid = $meta[4];
return $rs;
- }
+ }
# Under high volume loads, we want only 1
thread/process to _write_file
# so that we don't have 50 processes queueing to write
the same data.
# Would require probabilistic blocking write
@@ -164,8 +163,26 @@
}// (timeout>0)
$ttl = $meta[1];
}
+
//================================================
+ // new cache format - use serialize
extensively...
+ if ($meta[0] === '====1') {
+ // slurp in the data
+ $MAXSIZE = 128000;
+
+ $text = fread($fp,$MAXSIZE);
+ if (strlen($text) === $MAXSIZE) {
+ while ($txt =
fread($fp,$MAXSIZE)) {
+ $text .= $txt;
+ }
+ }
+ fclose($fp);
+ @$rs = unserialize($text);
+ if (is_object($rs)) $rs->timeCreated =
$ttl;
+ return $rs;
+ }
+
$meta = false;
- $meta = fgetcsv($fp, 16000, ",");
+ $meta = fgetcsv($fp, 32000, ",");
if (!$meta) {
fclose($fp);
$err = "Unexpected EOF 1";
@@ -182,7 +199,7 @@
$flds = false;
break;
}
- $fld = new ADOFieldObject();
+ $fld =& new ADOFieldObject();
$fld->name = urldecode($o2[0]);
$fld->type = $o2[1];
$fld->max_length = $o2[2];
@@ -203,14 +220,14 @@
}
fclose($fp);
- $arr = @unserialize($text);
+ @$arr = unserialize($text);
//var_dump($arr);
if (!is_array($arr)) {
$err = "Recordset had unexpected EOF (in serialized
recordset)";
if (get_magic_quotes_runtime()) $err .= ". Magic Quotes
Runtime should be disabled!";
return false;
}
- $rs = new ADORecordSet_array();
+ $rs =& new ADORecordSet_array();
$rs->timeCreated = $ttl;
$rs->InitArrayFields($arr,$flds);
return $rs;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] api/db/adodb-csvlib.inc.php, 1.1.2.2,
nomail <=