summaryrefslogtreecommitdiffstats
path: root/system/database/drivers/pdo/pdo_driver.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/database/drivers/pdo/pdo_driver.php')
-rw-r--r--system/database/drivers/pdo/pdo_driver.php124
1 files changed, 74 insertions, 50 deletions
diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php
index 727f097f8..658a3d5a0 100644
--- a/system/database/drivers/pdo/pdo_driver.php
+++ b/system/database/drivers/pdo/pdo_driver.php
@@ -42,31 +42,28 @@
*/
class CI_DB_pdo_driver extends CI_DB {
- public $dbdriver = 'pdo';
+ var $dbdriver = 'pdo';
// the character used to excape - not necessary for PDO
- protected $_escape_char = '';
+ var $_escape_char = '';
// clause and character used for LIKE escape sequences
- protected $_like_escape_str;
- protected $_like_escape_chr;
+ var $_like_escape_str;
+ var $_like_escape_chr;
/**
* The syntax to count rows is slightly different across different
* database engines, so this string appears in each driver and is
- * used for the count_all() and count_all_results() public functions.
+ * used for the count_all() and count_all_results() functions.
*/
- protected $_count_string = "SELECT COUNT(*) AS ";
- protected $_random_keyword;
+ var $_count_string = "SELECT COUNT(*) AS ";
+ var $_random_keyword;
// need to track the pdo driver and options
- protected $pdodriver;
- protected $options = array();
+ var $pdodriver;
+ var $options = array();
- /**
- * Pre-connection setup
- */
- public function __construct($params)
+ function __construct($params)
{
parent::__construct($params);
@@ -107,10 +104,11 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Connection String
*
+ * @access private
* @param array
* @return void
*/
- protected function _connect_string($params)
+ function _connect_string($params)
{
if (strpos($this->hostname, ':'))
{
@@ -192,9 +190,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Non-persistent database connection
*
+ * @access private called by the base class
* @return resource
*/
- protected function db_connect()
+ function db_connect()
{
$this->options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_SILENT;
@@ -206,9 +205,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Persistent database connection
*
+ * @access private called by the base class
* @return resource
*/
- protected function db_pconnect()
+ function db_pconnect()
{
$this->options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_SILENT;
$this->options[PDO::ATTR_PERSISTENT] = TRUE;
@@ -221,9 +221,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* PDO connection
*
+ * @access private called by the PDO driver class
* @return resource
*/
- protected function pdo_connect()
+ function pdo_connect()
{
// Refer : http://php.net/manual/en/ref.pdo-mysql.connection.php
if ($this->pdodriver == 'mysql' && is_php('5.3.6'))
@@ -257,9 +258,10 @@ class CI_DB_pdo_driver extends CI_DB {
* Keep / reestablish the db connection if no queries have been
* sent for a length of time exceeding the server's idle timeout
*
+ * @access public
* @return void
*/
- public function reconnect()
+ function reconnect()
{
if ($this->db->db_debug)
{
@@ -274,9 +276,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Select the database
*
+ * @access private called by the base class
* @return resource
*/
- protected function db_select()
+ function db_select()
{
// Not needed for PDO
return TRUE;
@@ -301,10 +304,11 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Execute the query
*
+ * @access private called by the base class
* @param string an SQL query
* @return object
*/
- protected function _execute($sql)
+ function _execute($sql)
{
$sql = $this->_prep_query($sql);
@@ -329,10 +333,11 @@ class CI_DB_pdo_driver extends CI_DB {
*
* If needed, each database adapter can prep the query string
*
+ * @access private called by execute()
* @param string an SQL query
* @return string
*/
- protected function _prep_query($sql)
+ function _prep_query($sql)
{
if ($this->pdodriver === 'pgsql')
{
@@ -342,7 +347,7 @@ class CI_DB_pdo_driver extends CI_DB {
elseif ($this->pdodriver === 'sqlite')
{
// Change the backtick(s) for SQLite
- $sql = str_replace('`', '"', $sql);
+ $sql = str_replace('`', '', $sql);
}
return $sql;
@@ -353,9 +358,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Begin Transaction
*
+ * @access public
* @return bool
*/
- public function trans_begin($test_mode = FALSE)
+ function trans_begin($test_mode = FALSE)
{
if ( ! $this->trans_enabled)
{
@@ -381,9 +387,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Commit Transaction
*
+ * @access public
* @return bool
*/
- public function trans_commit()
+ function trans_commit()
{
if ( ! $this->trans_enabled)
{
@@ -406,9 +413,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Rollback Transaction
*
+ * @access public
* @return bool
*/
- public function trans_rollback()
+ function trans_rollback()
{
if ( ! $this->trans_enabled)
{
@@ -431,11 +439,12 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Escape String
*
+ * @access public
* @param string
* @param bool whether or not the string will be used in a LIKE condition
* @return string
*/
- public function escape_str($str, $like = FALSE)
+ function escape_str($str, $like = FALSE)
{
if (is_array($str))
{
@@ -474,9 +483,10 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Affected Rows
*
+ * @access public
* @return integer
*/
- public function affected_rows()
+ function affected_rows()
{
return $this->affect_rows;
}
@@ -508,10 +518,11 @@ class CI_DB_pdo_driver extends CI_DB {
* Generates a platform-specific query string that counts all records in
* the specified database
*
+ * @access public
* @param string
* @return string
*/
- public function count_all($table = '')
+ function count_all($table = '')
{
if ($table == '')
{
@@ -539,19 +550,20 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific query string so that the table names can be fetched
*
+ * @access private
* @param boolean
* @return string
*/
- protected function _list_tables($prefix_limit = FALSE)
+ function _list_tables($prefix_limit = FALSE)
{
if ($this->pdodriver == 'pgsql')
{
- // Analog public function to show all tables in postgre
+ // Analog function to show all tables in postgre
$sql = "SELECT * FROM information_schema.tables WHERE table_schema = 'public'";
}
elseif ($this->pdodriver == 'sqlite')
{
- // Analog public function to show all tables in sqlite
+ // Analog function to show all tables in sqlite
$sql = "SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'";
}
else
@@ -574,10 +586,11 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific query string so that the column names can be fetched
*
+ * @access public
* @param string the table name
* @return string
*/
- public function _list_columns($table = '')
+ function _list_columns($table = '')
{
return 'SHOW COLUMNS FROM '.$this->_from_tables($table);
}
@@ -589,24 +602,25 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific query so that the column data can be retrieved
*
+ * @access public
* @param string the table name
* @return object
*/
- public function _field_data($table)
+ function _field_data($table)
{
if ($this->pdodriver == 'mysql' or $this->pdodriver == 'pgsql')
{
- // Analog public function for mysql and postgre
+ // Analog function for mysql and postgre
return 'SELECT * FROM '.$this->_from_tables($table).' LIMIT 1';
}
elseif ($this->pdodriver == 'oci')
{
- // Analog public function for oci
+ // Analog function for oci
return 'SELECT * FROM '.$this->_from_tables($table).' WHERE ROWNUM <= 1';
}
elseif ($this->pdodriver == 'sqlite')
{
- // Analog public function for sqlite
+ // Analog function for sqlite
return 'PRAGMA table_info('.$this->_from_tables($table).')';
}
@@ -647,12 +661,13 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Escape the SQL Identifiers
*
- * This public function escapes column and table names
+ * This function escapes column and table names
*
+ * @access private
* @param string
* @return string
*/
- protected function _escape_identifiers($item)
+ function _escape_identifiers($item)
{
if ($this->_escape_char == '')
{
@@ -689,13 +704,14 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* From Tables
*
- * This public function implicitly groups FROM tables so there is no confusion
+ * This function implicitly groups FROM tables so there is no confusion
* about operator precedence in harmony with SQL standards
*
+ * @access public
* @param type
* @return type
*/
- public function _from_tables($tables)
+ function _from_tables($tables)
{
if ( ! is_array($tables))
{
@@ -712,12 +728,13 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific insert string from the supplied data
*
+ * @access public
* @param string the table name
* @param array the insert keys
* @param array the insert values
* @return string
*/
- public function _insert($table, $keys, $values)
+ function _insert($table, $keys, $values)
{
return 'INSERT INTO '.$this->_from_tables($table).' ('.implode(', ', $keys).') VALUES ('.implode(', ', $values).')';
}
@@ -729,12 +746,13 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific insert string from the supplied data
*
+ * @access public
* @param string the table name
* @param array the insert keys
* @param array the insert values
* @return string
*/
- public function _insert_batch($table, $keys, $values)
+ function _insert_batch($table, $keys, $values)
{
return 'INSERT INTO '.$this->_from_tables($table).' ('.implode(', ', $keys).') VALUES '.implode(', ', $values);
}
@@ -746,6 +764,7 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific update string from the supplied data
*
+ * @access public
* @param string the table name
* @param array the update data
* @param array the where clause
@@ -753,7 +772,7 @@ class CI_DB_pdo_driver extends CI_DB {
* @param array the limit clause
* @return string
*/
- public function _update($table, $values, $where, $orderby = array(), $limit = FALSE)
+ function _update($table, $values, $where, $orderby = array(), $limit = FALSE)
{
foreach ($values as $key => $val)
{
@@ -777,12 +796,13 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific batch update string from the supplied data
*
+ * @access public
* @param string the table name
* @param array the update data
* @param array the where clause
* @return string
*/
- public function _update_batch($table, $values, $index, $where = NULL)
+ function _update_batch($table, $values, $index, $where = NULL)
{
$ids = array();
$where = ($where != '' && count($where) >=1) ? implode(" ", $where).' AND ' : '';
@@ -829,12 +849,13 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific truncate string from the supplied data
* If the database does not support the truncate() command
- * This public function maps to "DELETE FROM table"
+ * This function maps to "DELETE FROM table"
*
+ * @access public
* @param string the table name
* @return string
*/
- public function _truncate($table)
+ function _truncate($table)
{
return $this->_delete($table);
}
@@ -846,12 +867,13 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific delete string from the supplied data
*
+ * @access public
* @param string the table name
* @param array the where clause
* @param string the limit clause
* @return string
*/
- public function _delete($table, $where = array(), $like = array(), $limit = FALSE)
+ function _delete($table, $where = array(), $like = array(), $limit = FALSE)
{
$conditions = '';
@@ -880,12 +902,13 @@ class CI_DB_pdo_driver extends CI_DB {
*
* Generates a platform-specific LIMIT clause
*
+ * @access public
* @param string the sql query string
* @param integer the number of rows to limit the query to
* @param integer the offset value
* @return string
*/
- public function _limit($sql, $limit, $offset)
+ function _limit($sql, $limit, $offset)
{
if ($this->pdodriver == 'cubrid' OR $this->pdodriver == 'sqlite')
{
@@ -907,10 +930,11 @@ class CI_DB_pdo_driver extends CI_DB {
/**
* Close DB Connection
*
+ * @access public
* @param resource
* @return void
*/
- public function _close($conn_id)
+ function _close($conn_id)
{
$this->conn_id = null;
}
@@ -918,4 +942,4 @@ class CI_DB_pdo_driver extends CI_DB {
}
/* End of file pdo_driver.php */
-/* Location: ./system/database/drivers/pdo/pdo_driver.php */ \ No newline at end of file
+/* Location: ./system/database/drivers/pdo/pdo_driver.php */