[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