summaryrefslogtreecommitdiff
path: root/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php')
-rw-r--r--framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php17
1 files changed, 13 insertions, 4 deletions
diff --git a/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php b/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php
index 75c30c93..22d1759b 100644
--- a/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php
+++ b/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php
@@ -24,28 +24,37 @@ class TSqliteMetaData extends TDbMetaDataCommon
{
/**
* Build the SQL search string from the criteria object for Postgress database.
+ * @param TDbConnection database connection.
* @param TActiveRecordCriteria search criteria.
* @return string SQL search.
*/
- protected function getSqlFromCriteria(TActiveRecordCriteria $criteria)
+ protected function getSqlFromCriteria($conn, TActiveRecordCriteria $criteria)
{
$sql = '';
if(($condition = $criteria->getCondition())!==null)
$sql .= $condition;
$orders=array();
foreach($criteria->getOrdersBy() as $by=>$ordering)
- $orders[] = $by.' '.$ordering;
+ $orders[] = $conn->quoteString($by).' '.$this->getOrdering($ordering);
if(count($orders) > 0)
$sql .= ' ORDER BY '.implode(', ', $orders);
if(($limit = $criteria->getLimit())!==null)
{
$offset = $criteria->getOffset();
- $offset = $offset===null?0:$offset;
- $sql .= ' LIMIT '.$offset.', '.$limit;
+ $offset = $offset===null?0:intval($offset); //assume integer offset?
+ $sql .= ' LIMIT '.$offset.', '.intval($limit); //assume integer limit?
}
return strlen($sql) > 0 ? ' WHERE '.$sql : '';
}
+ private function getOrdering($direction)
+ {
+ if(strtolower($direction) == 'desc')
+ return 'DESC';
+ else
+ return 'ASC';
+ }
+
/**
* Remove quote from the keys in the data.
* @param mixed record row