Changeset 1399 for trunk/lib/AkActiveRecord/AkDbAdapters
- Timestamp:
- 09/01/09 20:52:50 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/AkActiveRecord/AkDbAdapters/AkMysqlDbAdapter.php
r1245 r1399 1 1 <?php 2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */3 2 4 3 // +----------------------------------------------------------------------+ 5 4 // | Akelos Framework - http://www.akelos.org | 6 5 // +----------------------------------------------------------------------+ 7 // | Copyright (c) 2002-2006, Akelos Media, S.L. & Bermi Ferrer Martinez |8 6 // | Released under the GNU Lesser General Public License, see LICENSE.txt| 9 7 // +----------------------------------------------------------------------+ … … 13 11 * @subpackage Base 14 12 * @component DbAdapter MySQL 15 * @author Bermi Ferrer <bermi a.t akelos c.om> 2004 - 2007 16 * @author Kaste 2007 17 * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 13 * @author Bermi Ferrer <bermi a.t bermilabs c.om> 14 * @author Kaste 15 * @author Arno Schneider <arno a.t bermilabs c.om> 16 * @copyright Copyright (c) 2002-2009, The Akelos Team http://www.akelos.org 18 17 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 19 18 */ … … 21 20 class AkMysqlDbAdapter extends AkDbAdapter 22 21 { 23 24 22 /** 25 23 * @param array $database_settings 26 24 * @return string 27 25 */ 28 function _constructDsn($database_settings)26 public function _constructDsn($database_settings) 29 27 { 30 28 $dsn = 'mysqlt://'; … … 33 31 $dsn .= !empty($database_settings['port']) ? ':'.$database_settings['port'] : ''; 34 32 $dsn .= '/'.$database_settings['database_name']; 35 if (empty($database_settings['options']) && !empty($database_settings['socket'])) $database_settings['options'] = 'socket='.urlencode($database_settings['socket']); 33 if (empty($database_settings['options']) && !empty($database_settings['socket'])) $database_settings['options'] = 'socket='.urlencode($database_settings['socket']); 36 34 $dsn .= !empty($database_settings['options']) ? '?'.$database_settings['options'] : ''; 37 35 return $dsn; 38 36 } 39 40 function type()37 38 public function type() 41 39 { 42 40 return 'mysql'; 43 41 } 44 42 45 function addLimitAndOffset(&$sql,$options)43 public function addLimitAndOffset(&$sql,$options) 46 44 { 47 45 if (isset($options['limit']) && $limit = $options['limit']){ 48 46 if (isset($options['offset']) && $offset = $options['offset']) 49 $sql .= " LIMIT $offset, $limit";47 $sql .= " LIMIT $offset, $limit"; 50 48 else 51 $sql .= " LIMIT $limit";49 $sql .= " LIMIT $limit"; 52 50 } 53 51 return $sql; 54 52 } 55 53 56 54 /* SCHEMA */ 57 58 function renameColumn($table_name,$column_name,$new_name)55 56 public function renameColumn($table_name,$column_name,$new_name) 59 57 { 60 58 $column_details = $this->selectOne("SHOW COLUMNS FROM $table_name LIKE '$column_name'"); … … 68 66 return $this->execute("ALTER TABLE $table_name CHANGE COLUMN $column_name $new_name $column_type_definition"); 69 67 } 70 71 /* QUOTING */ 72 73 function quote_string($value)68 69 /* QUOTING */ 70 71 public function quote_string($value) 74 72 { 75 73 return "'".mysql_real_escape_string($value, $this->connection->_connectionID)."'"; 76 74 } 77 78 function connect($die_on_error=true)75 76 public function connect($die_on_error=true) 79 77 { 80 78 parent::connect($die_on_error); 81 79 if(defined('AK_SET_UTF8_ON_MYSQL_CONNECT') && AK_SET_UTF8_ON_MYSQL_CONNECT){ 82 if(isset($this->connection->_connectionID)){83 if(function_exists('mysql_set_charset')){84 mysql_set_charset('utf8', $this->connection->_connectionID);85 }else{86 mysql_query('SET CHARACTER SET "utf8"', $this->connection->_connectionID);87 }88 89 }80 if(isset($this->connection->_connectionID)){ 81 if(function_exists('mysql_set_charset')){ 82 mysql_set_charset('utf8', $this->connection->_connectionID); 83 }else{ 84 mysql_query('SET CHARACTER SET "utf8"', $this->connection->_connectionID); 85 } 86 87 } 90 88 } 91 } 89 } 92 90 } 91 93 92 ?> trunk/lib/AkActiveRecord/AkDbAdapters/AkPgsqlDbAdapter.php
r468 r1399 1 1 <?php 2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */3 2 4 3 // +----------------------------------------------------------------------+ 5 4 // | Akelos Framework - http://www.akelos.org | 6 5 // +----------------------------------------------------------------------+ 7 // | Copyright (c) 2002-2006, Akelos Media, S.L. & Bermi Ferrer Martinez |8 6 // | Released under the GNU Lesser General Public License, see LICENSE.txt| 9 7 // +----------------------------------------------------------------------+ … … 13 11 * @subpackage Base 14 12 * @component DbAdapter PostgreSQL 15 * @author Bermi Ferrer <bermi a.t akelos c.om> 2004 - 2007 16 * @author Kaste 2007 17 * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 13 * @author Bermi Ferrer <bermi a.t bermilabs c.om> 14 * @author Kaste 15 * @author Arno Schneider <arno a.t bermilabs c.om> 16 * @copyright Copyright (c) 2002-2009, The Akelos Team http://www.akelos.org 18 17 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 19 18 */ … … 21 20 class AkPgsqlDbAdapter extends AkDbAdapter 22 21 { 23 24 25 function type() 22 23 public function type() 26 24 { 27 25 return 'postgre'; 28 26 } 29 27 30 28 /* SCHEMA */ 31 32 function renameColumn($table_name,$column_name,$new_name)29 30 public function renameColumn($table_name,$column_name,$new_name) 33 31 { 34 32 return $this->execute("ALTER TABLE $table_name RENAME COLUMN $column_name TO $new_name"); 35 33 } 36 34 37 35 /* META */ 38 39 function availableTables()36 37 public function availableTables() 40 38 { 41 39 $schema_path = $this->selectValue('SHOW search_path'); … … 44 42 } 45 43 46 /* QUOTING */ 47 48 function quote_string($value)44 /* QUOTING */ 45 46 public function quote_string($value) 49 47 { 50 if (AK_PHP5) { 51 return "'".pg_escape_string($this->connection->_connectionID,$value)."'"; 52 } else 53 return "'".pg_escape_string($value)."'"; 48 return "'".pg_escape_string($this->connection->_connectionID,$value)."'"; 54 49 } 55 50 56 51 } 57 52 ?> trunk/lib/AkActiveRecord/AkDbAdapters/AkSqliteDbAdapter.php
r468 r1399 1 1 <?php 2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */3 2 4 3 // +----------------------------------------------------------------------+ 5 4 // | Akelos Framework - http://www.akelos.org | 6 5 // +----------------------------------------------------------------------+ 7 // | Copyright (c) 2002-2006, Akelos Media, S.L. & Bermi Ferrer Martinez |8 6 // | Released under the GNU Lesser General Public License, see LICENSE.txt| 9 7 // +----------------------------------------------------------------------+ … … 13 11 * @subpackage Base 14 12 * @component DbAdapter SQLite 15 * @author Bermi Ferrer <bermi a.t akelos c.om> 2004 - 2007 16 * @author Kaste 2007 17 * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 13 * @author Bermi Ferrer <bermi a.t bermilabs c.om> 14 * @author Kaste 15 * @author Arno Schneider <arno a.t bermilabs c.om> 16 * @copyright Copyright (c) 2002-2009, The Akelos Team http://www.akelos.org 18 17 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 19 18 */ … … 21 20 class AkSqliteDbAdapter extends AkDbAdapter 22 21 { 23 22 24 23 /** 25 24 * @param array $database_settings 26 25 * @return string 27 26 */ 28 function _constructDsn($database_settings)27 public function _constructDsn($database_settings) 29 28 { 30 29 $dsn = $database_settings['type'].'://'; … … 33 32 return $dsn; 34 33 } 35 36 function type()34 35 public function type() 37 36 { 38 37 return 'sqlite'; … … 40 39 41 40 /* DATABASE STATEMENTS - CRUD */ 42 43 function incrementsPrimaryKeyAutomatically(){ 41 42 public function incrementsPrimaryKeyAutomatically() 43 { 44 44 return false; 45 45 } 46 47 function getNextSequenceValueFor($table){ 46 47 public function getNextSequenceValueFor($table) 48 { 48 49 $sequence_table = 'seq_'.$table; 49 50 return $this->connection->GenID($sequence_table); 50 51 } 51 52 /* QUOTING */ 53 54 function quote_string($value)52 53 /* QUOTING */ 54 55 public function quote_string($value) 55 56 { 56 57 return "'".sqlite_escape_string($value)."'"; 57 58 } 58 59 60 59 } 60 61 61 ?>
