[limb-svn] r6876 - in 3.x/trunk/limb/dbal: src/drivers/linter tests/cases/driver/linter

svn at limb-project.com svn at limb-project.com
Mon Mar 31 17:10:33 MSD 2008


Author: svk
Date: 2008-03-31 17:10:33 +0400 (Mon, 31 Mar 2008)
New Revision: 6876
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6876

Modified:
   3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterConnection.class.php
   3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterStatement.class.php
   3.x/trunk/limb/dbal/tests/cases/driver/linter/lmbLinterStatementTest.class.php
Log:
-- null's workflow changed according to extension changes

Modified: 3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterConnection.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterConnection.class.php	2008-03-31 12:08:36 UTC (rev 6875)
+++ 3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterConnection.class.php	2008-03-31 13:10:33 UTC (rev 6876)
@@ -84,6 +84,7 @@
       $this->mode = isset($this->config['extra']['mode']) ? $this->config['extra']['mode'] : TM_AUTOCOMMIT;
       
     $conn = @linter_open_connect($user, $password, $database, $this->mode);
+    
     $this->connectionId = $conn;
     
     if ($conn < 0)
@@ -95,6 +96,9 @@
     else
     {
       $this->log("Connected in mode ".$this->mode.". Connection #".$this->connectionId);
+      linter_set_cursor_opt($this->connectionId, CO_NULL_AS_NULL_OBJECT, 1);
+      linter_set_cursor_opt($this->connectionId, CO_FETCH_BLOBS_AS_USUAL_DATA, 1);
+      //linter_set_cursor_opt($this->connectionId, CO_DECIMAL_AS_DOUBLE, 1);
     }
 	
 
@@ -216,7 +220,6 @@
         $this->_raiseError($result);
         
       linter_set_cursor_opt($result, CO_DT_FORMAT, "YYYY-MM-DD HH:MI:SS");
-      linter_set_cursor_opt($result, CO_FETCH_BLOBS_AS_USUAL_DATA, 1);
 
       $this->cursorPool[$result] = "opened";
       $this->log("Cursor opened. Connection: ".$this->connectionId."; cursor: ".$result."; pool size: ".count($this->cursorPool));
@@ -262,6 +265,7 @@
   
   function executeStatement($stmt)
   {
+    $this->useConnection = false;
     $sql = $stmt->getSQL();
     $sql = $this->prepare_sql($sql);
     $cursor = $this->handle_cursor_pool();

Modified: 3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterStatement.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterStatement.class.php	2008-03-31 12:08:36 UTC (rev 6875)
+++ 3.x/trunk/limb/dbal/src/drivers/linter/lmbLinterStatement.class.php	2008-03-31 13:10:33 UTC (rev 6876)
@@ -35,23 +35,23 @@
 
   function setNull($name)
   {
-    $this->parameters[$name] = 'null';
+    $this->parameters[$name] = null;
   }
 
   function setSmallInt($name, $value)
   {
-    $this->parameters[$name] = is_null($value) ?  'null' : intval($value);
+    $this->parameters[$name] = is_null($value) ?  null : intval($value);
   }
 
   function setInteger($name, $value)
   {
-    $this->parameters[$name] = is_null($value) ?  'null' : intval($value);
+    $this->parameters[$name] = is_null($value) ?  null : intval($value);
   }
 
   function setFloat($name, $value)
   {
     $this->parameters[$name] = is_null($value) ?
-    'null' :
+    null :
     floatval($value);
   }
 
@@ -62,7 +62,7 @@
     else if(is_string($value) && preg_match('/^(|-)\d+(|.\d+)$/', $value))
       $this->parameters[$name] = $value;
     else
-      $this->parameters[$name] = 'null';
+      $this->parameters[$name] = null;
   }
 
   function setDecimal($name, $value)
@@ -72,31 +72,31 @@
     else if(is_string($value) && preg_match('/^(|-)\d+(|.\d+)$/', $value))
       $this->parameters[$name] = $value;
     else
-      $this->parameters[$name] = 'null';
+      $this->parameters[$name] = null;
   }
 
   function setBoolean($name, $value)
   {
     $this->parameters[$name] = is_null($value) ?
-    'null' :(($value) ?  "TRUE" : "FALSE");
+    null :(($value) ?  "TRUE" : "FALSE");
   }
 
   function setChar($name, $value)
   {
     $this->parameters[$name] = is_null($value) ?
-    'null' : $value;
+    null : $value;
   }
 
   function setVarChar($name, $value)
   {
     $this->parameters[$name] = is_null($value) ?
-    'null' : $value;
+    null : $value;
   }
 
   function setClob($name, $value)
   {
     $this->parameters[$name] = is_null($value) ?
-    'null' : $value;
+    null : $value;
   }
 
   protected function _setDate($name, $value, $format)
@@ -106,7 +106,7 @@
     else if(is_string($value))
       $this->parameters[$name] = date($format, strtotime($value));
     else
-      $this->parameters[$name] = 'null';
+      $this->parameters[$name] = null;
   }
 
   function setDate($name, $value)
@@ -127,7 +127,7 @@
   function setBlob($name, $value)
   {
     $this->parameters[$name] = is_null($value) ?
-    'null' : $value;
+    null : $value;
   }
 
   function nullDateValue()
@@ -250,7 +250,7 @@
         if(!array_key_exists($param, $this->parameters))
           $this->parameters[$param] = null;
           
-        if (is_null($this->parameters[$param]) || $this->parameters[$param] == "null")
+        if (is_null($this->parameters[$param]))
         {
           $newsql .= 'null';
           $nulls = true;

Modified: 3.x/trunk/limb/dbal/tests/cases/driver/linter/lmbLinterStatementTest.class.php
===================================================================
--- 3.x/trunk/limb/dbal/tests/cases/driver/linter/lmbLinterStatementTest.class.php	2008-03-31 12:08:36 UTC (rev 6875)
+++ 3.x/trunk/limb/dbal/tests/cases/driver/linter/lmbLinterStatementTest.class.php	2008-03-31 13:10:33 UTC (rev 6876)
@@ -37,7 +37,7 @@
     $stmt->$setter($column, $value);
 
     $id = $stmt->insertId('id');
-
+    
     $sql = 'SELECT * FROM standard_types WHERE "id" = :id:';
     $stmt = $this->connection->newStatement($sql);
     $stmt->setInteger('id', $id);
@@ -51,10 +51,10 @@
   {
     $stmt = $this->connection->newStatement('SELECT :literal:');
     $stmt->setSmallInt('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual($stmt->getOneValue(), $value);
 
     $record = $this->setTypedValue(LIMB_DB_TYPE_SMALLINT, 'type_smallint', $value);
-    $this->assertIdentical($record->getInteger('type_smallint'), is_null($value) ? 0 : $value);
+    $this->assertIdentical($record->getInteger('type_smallint'), $value);
     $this->assertEqual($record->get('type_smallint'), $value);
   }
   
@@ -62,10 +62,10 @@
   {
     $stmt = $this->connection->newStatement('SELECT :literal:');
     $stmt->setInteger('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual($stmt->getOneValue(), $value);
 
     $record = $this->setTypedValue(LIMB_DB_TYPE_INTEGER, 'type_integer', $value);
-    $this->assertIdentical($record->getInteger('type_integer'), is_null($value) ? 0 : $value);
+    $this->assertIdentical($record->getInteger('type_integer'), $value);
     $this->assertEqual($record->get('type_integer'), $value);
   }
   
@@ -73,12 +73,12 @@
   {
     $stmt = $this->connection->newStatement('SELECT :literal:');
     $stmt->setBoolean('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : ($value ? 'TRUE' : 'FALSE'));
+    $this->assertEqual($stmt->getOneValue(), is_null($value) ? null : ($value ? 'TRUE' : 'FALSE'));
 
     $record = $this->setTypedValue(LIMB_DB_TYPE_BOOLEAN, 'type_boolean', $value);
     
     if(is_null($value))
-      $this->assertIdentical($record->getBoolean('type_boolean'), false);
+      $this->assertIdentical($record->getBoolean('type_boolean'), null);
     else
       $this->assertIdentical($record->getBoolean('type_boolean'), (boolean) $value);
   }
@@ -92,7 +92,7 @@
     $record = $this->setTypedValue(LIMB_DB_TYPE_FLOAT, 'type_float', $value);
     
     if(is_null($value))
-      $this->assertIdentical($record->getFloat('type_float'), 0.0);
+      $this->assertIdentical($record->getFloat('type_float'), null);
     else
       $this->assertEqual(round($record->getFloat('type_float'), 2), round((float) $value, 2));
       
@@ -103,7 +103,7 @@
   {
     $stmt = $this->connection->newStatement('SELECT :literal:');
     $stmt->setDouble('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual($stmt->getOneValue(), $value);
 
     $record = $this->setTypedValue(LIMB_DB_TYPE_DOUBLE, 'type_double', $value);
     
@@ -119,11 +119,11 @@
   {
     $stmt = $this->connection->newStatement('SELECT :literal:');
     $stmt->setDecimal('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual(round($stmt->getOneValue(), 2), is_null($value) ? 'null' : round($value, 2));
     
     $record = $this->setTypedValue(LIMB_DB_TYPE_DECIMAL, 'type_decimal', $value);
     $this->assertEqual($record->getStringFixed('type_decimal'), is_null($value) ? 0 : $value);
-    $this->assertEqual($record->get('type_decimal'), is_null($value) ? 0 : $value);
+    $this->assertEqual(round($record->get('type_decimal'), 2), is_null($value) ? 0 : round($value, 2));
   }
   
   function testSetDecimal()
@@ -160,17 +160,17 @@
 
     $value = null;
     $stmt->setChar('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual($stmt->getOneValue(), $value);
 
     $value = null;
     $record = $this->setTypedValue(LIMB_DB_TYPE_CHAR, 'type_char', $value);
-    $this->assertIdentical($record->getString('type_char'), is_null($value) ? '' : $value);
+    $this->assertIdentical($record->getString('type_char'), $value);
     $this->assertEqual($record->get('type_char'), $value);
 
     $value = ' trim ';
     $value = null;
     $stmt->setChar('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual($stmt->getOneValue(), $value);
   }
   
   
@@ -196,11 +196,11 @@
 
     $value = null;
     $stmt->setVarChar('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), is_null($value) ? 'null' : $value);
+    $this->assertEqual($stmt->getOneValue(), $value);
 
     $value = null;
     $record = $this->setTypedValue(LIMB_DB_TYPE_VARCHAR, 'type_varchar', $value);
-    $this->assertIdentical($record->getString('type_varchar'), is_null($value) ? '' : $value);
+    $this->assertIdentical($record->getString('type_varchar'), $value);
     $this->assertEqual($record->get('type_varchar'), $value);
 
     $value = ' trim ';
@@ -259,11 +259,11 @@
 
     $value = null;
     $stmt->setDate('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), "null");
+    $this->assertEqual($stmt->getOneValue(), null);
 
     $record = $this->setTypedValue(LIMB_DB_TYPE_DATE, 'type_date', $value);
     $this->assertIdentical($record->getStringDate('type_date'), null);
-    $this->assertEqual($record->get('type_date'), $stmt->nullDateValue());
+    $this->assertEqual($record->get('type_date'), null);
 
     $value = '2009-12-28';
 
@@ -292,12 +292,12 @@
 
     $value = null;
     $stmt->setTime('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), 'null');
+    $this->assertEqual($stmt->getOneValue(), null);
 
     $value = null;
     $record = $this->setTypedValue(LIMB_DB_TYPE_TIME, 'type_time', $value);
-    $this->assertIdentical($record->getString('type_time'), $stmt->nullDateValue());
-    $this->assertEqual($record->get('type_time'), $stmt->nullDateValue());
+    $this->assertIdentical($record->getString('type_time'), $value);
+    $this->assertEqual($record->get('type_time'), $value);
 
     $value = '06:01:01';
 
@@ -326,12 +326,12 @@
 
     $value = null;
     $stmt->setTime('literal', $value);
-    $this->assertEqual($stmt->getOneValue(), 'null');
+    $this->assertEqual($stmt->getOneValue(), $value);
 
     $record = $this->setTypedValue(LIMB_DB_TYPE_TIMESTAMP, 'type_timestamp', $value);
     $this->assertIdentical($record->getStringTimeStamp('type_timestamp'), $value);
     $this->assertIdentical($record->getIntegerTimeStamp('type_timestamp'), $value);
-    $this->assertEqual($record->get('type_timestamp'), $stmt->nullDateValue());
+    $this->assertEqual($record->get('type_timestamp'), $value);
 
     $value = '2009-12-28 18:01:01';
     $stmt->setTime('literal', $value);
@@ -359,7 +359,7 @@
   {
     $stmt = $this->connection->newStatement('SELECT :literal:');
     $stmt->setNull('literal');
-    $this->assertIdentical($stmt->getOneValue(), 'null');
+    $this->assertIdentical($stmt->getOneValue(), null);
 
     $sql = '
           INSERT INTO standard_types (



More information about the limb-svn mailing list