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.php98
1 files changed, 0 insertions, 98 deletions
diff --git a/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php b/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php
deleted file mode 100644
index c44d73cb..00000000
--- a/framework/Data/ActiveRecord/Vendor/TSqliteMetaData.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
- * TSqliteMetaData class file.
- *
- * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
- * @link http://www.pradosoft.com/
- * @copyright Copyright &copy; 2005-2007 PradoSoft
- * @license http://www.pradosoft.com/license/
- * @version $Id$
- * @package System.Data.ActiveRecord.Vendor
- */
-
-Prado::using('System.Data.ActiveRecord.Vendor.TDbMetaDataCommon');
-
-/**
- * TSqliteMetaData specialized command builder for SQLite database.
- *
- * @author Wei Zhuo <weizho[at]gmail[dot]com>
- * @version $Id$
- * @package System.Data.ActiveRecord.Vendor
- * @since 3.1
- */
-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($conn, $criteria)
- {
- if($criteria===null) return '';
- $sql = '';
- if(($condition = $criteria->getCondition())!==null)
- $sql .= ' WHERE '.$condition;
- $orders=array();
- foreach($criteria->getOrdersBy() as $by=>$ordering)
- $orders[] = $this->getOrdering($by, $ordering);
- if(count($orders) > 0)
- $sql .= ' ORDER BY '.implode(', ', $orders);
- if(($limit = $criteria->getLimit())!==null)
- {
- $offset = $criteria->getOffset();
- $offset = $offset===null?0:intval($offset); //assume integer offset?
- $sql .= ' LIMIT '.$offset.', '.intval($limit); //assume integer limit?
- }
- return strlen($sql) > 0 ? $sql : '';
- }
-
- public function getSearchRegExpCriteria($fields, $keywords)
- {
- if(strlen(trim($keywords)) == 0) return '';
- $words = array();
- preg_match_all('/([a-zA-Z0-9-+]+)/', $keywords, $words);
- $result = array();
- foreach($fields as $field)
- $result[] = $this->getLikeCriteriaStr($this->getColumn($field)->getName(), $words[0]);
- return '('.implode(' OR ', $result).')';
- }
-
- protected function getLikeCriteriaStr($column, $words)
- {
- $result=array();
- foreach($words as $word)
- $result[] = "({$column} LIKE \"%{$word}%\")";
- return '('.implode(' AND ', $result).')';
- }
-
- /**
- * Remove quote from the keys in the data.
- * @param mixed record row
- * @return array record row
- */
- public function postQueryRow($row)
- {
- if(!is_array($row)) return $row;
- $result=array();
- foreach($row as $k=>$v)
- $result[str_replace('"','',$k)]=$v;
- return $result;
- }
-
- /**
- * Remove quote from the keys in the data.
- * @param mixed record row
- * @return array record row
- */
- public function postQuery($rows)
- {
- $data = array();
- foreach($rows as $k=>$v)
- $data[$k] = $this->postQueryRow($v);
- return $data;
- }
-}
-
-?> \ No newline at end of file