diff options
author | Derek Allard <derek.allard@ellislab.com> | 2007-12-18 18:22:50 +0100 |
---|---|---|
committer | Derek Allard <derek.allard@ellislab.com> | 2007-12-18 18:22:50 +0100 |
commit | 6ddb5a17ae1a0a75ca75f846dbb7d3a98f1902a3 (patch) | |
tree | 1192959a689fc65b6995abbedb51c7c92730fdfa /system/database/drivers | |
parent | 694b5b8ee6a40b57c91be3c5448bc8f5540d32d8 (diff) |
Added 'random' as an order_by() option in Active Record.
Diffstat (limited to 'system/database/drivers')
-rw-r--r-- | system/database/drivers/mssql/mssql_driver.php | 4 | ||||
-rw-r--r-- | system/database/drivers/mysql/mysql_driver.php | 17 | ||||
-rw-r--r-- | system/database/drivers/mysqli/mysqli_driver.php | 7 | ||||
-rw-r--r-- | system/database/drivers/oci8/oci8_driver.php | 4 | ||||
-rw-r--r-- | system/database/drivers/odbc/odbc_driver.php | 5 | ||||
-rw-r--r-- | system/database/drivers/postgre/postgre_driver.php | 7 | ||||
-rw-r--r-- | system/database/drivers/sqlite/sqlite_driver.php | 5 |
7 files changed, 27 insertions, 22 deletions
diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php index 051dd5bfe..89610455b 100644 --- a/system/database/drivers/mssql/mssql_driver.php +++ b/system/database/drivers/mssql/mssql_driver.php @@ -35,7 +35,7 @@ class CI_DB_mssql_driver extends CI_DB { * database engines, so this string appears in each driver and is
* used for the count_all() and count_all_results() functions.
*/
- var $count_string = "SELECT COUNT(*) AS numrows ";
+ var $_count_string = "SELECT COUNT(*) AS numrows ";
/**
* Non-persistent database connection
@@ -280,7 +280,7 @@ class CI_DB_mssql_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string . "FROM ".$this->dbprefix.$table);
+ $query = $this->query($this->_count_string . "FROM ".$this->dbprefix.$table);
if ($query->num_rows() == 0)
return '0';
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php index 69a238d94..2d91c5927 100644 --- a/system/database/drivers/mysql/mysql_driver.php +++ b/system/database/drivers/mysql/mysql_driver.php @@ -31,18 +31,19 @@ class CI_DB_mysql_driver extends CI_DB {
/**
- * 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() functions.
- */
- var $count_string = "SELECT COUNT(*) AS numrows ";
-
- /**
* Whether to use the MySQL "delete hack" which allows the number
* of affected rows to be shown. Uses a preg_replace when enabled,
* adding a bit more processing to all queries.
*/
var $delete_hack = TRUE;
+
+ /**
+ * 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() functions.
+ */
+ var $_count_string = "SELECT COUNT(*) AS numrows ";
+ var $_random_keyword = ' RAND()'; // database specific random keyword
/**
* Non-persistent database connection
@@ -296,7 +297,7 @@ class CI_DB_mysql_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string . "FROM `".$this->dbprefix.$table."`");
+ $query = $this->query($this->_count_string . "FROM `".$this->dbprefix.$table."`");
if ($query->num_rows() == 0)
return '0';
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php index 30a256e05..099117097 100644 --- a/system/database/drivers/mysqli/mysqli_driver.php +++ b/system/database/drivers/mysqli/mysqli_driver.php @@ -35,8 +35,9 @@ class CI_DB_mysqli_driver extends CI_DB { * database engines, so this string appears in each driver and is
* used for the count_all() and count_all_results() functions.
*/
- var $count_string = "SELECT COUNT(*) AS numrows ";
-
+ var $_count_string = "SELECT COUNT(*) AS numrows ";
+ var $_random_keyword = ' RAND()'; // database specific random keyword
+
/**
* Whether to use the MySQL "delete hack" which allows the number
* of affected rows to be shown. Uses a preg_replace when enabled,
@@ -289,7 +290,7 @@ class CI_DB_mysqli_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string . "FROM `".$this->dbprefix.$table."`");
+ $query = $this->query($this->_count_string . "FROM `".$this->dbprefix.$table."`");
if ($query->num_rows() == 0)
return '0';
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php index 0cd04cc58..e6bcefef1 100644 --- a/system/database/drivers/oci8/oci8_driver.php +++ b/system/database/drivers/oci8/oci8_driver.php @@ -48,7 +48,7 @@ class CI_DB_oci8_driver extends CI_DB { * database engines, so this string appears in each driver and is
* used for the count_all() and count_all_results() functions.
*/
- var $count_string = "SELECT COUNT(1) AS numrows ";
+ var $_count_string = "SELECT COUNT(1) AS numrows ";
// Set "auto commit" by default
var $_commit = OCI_COMMIT_ON_SUCCESS;
@@ -396,7 +396,7 @@ class CI_DB_oci8_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string . "FROM ".$table);
+ $query = $this->query($this->_count_string . "FROM ".$table);
if ($query == FALSE)
{
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php index ef26ea1c6..5e1676244 100644 --- a/system/database/drivers/odbc/odbc_driver.php +++ b/system/database/drivers/odbc/odbc_driver.php @@ -35,7 +35,8 @@ class CI_DB_odbc_driver extends CI_DB { * database engines, so this string appears in each driver and is
* used for the count_all() and count_all_results() functions.
*/
- var $count_string = "SELECT COUNT(*) AS numrows ";
+ var $_count_string = "SELECT COUNT(*) AS numrows ";
+ var $_random_keyword = ' RND('.time().')'; // database specific random keyword
/**
* Non-persistent database connection
@@ -258,7 +259,7 @@ class CI_DB_odbc_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string . "FROM `".$this->dbprefix.$table."`");
+ $query = $this->query($this->_count_string . "FROM `".$this->dbprefix.$table."`");
if ($query->num_rows() == 0)
return '0';
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php index beaa7931c..e54f9cceb 100644 --- a/system/database/drivers/postgre/postgre_driver.php +++ b/system/database/drivers/postgre/postgre_driver.php @@ -35,7 +35,8 @@ class CI_DB_postgre_driver extends CI_DB { * database engines, so this string appears in each driver and is
* used for the count_all() and count_all_results() functions.
*/
- var $count_string = "SELECT COUNT(*) AS numrows ";
+ var $_count_string = "SELECT COUNT(*) AS numrows ";
+ var $_random_keyword = ' RANDOM()'; // database specific random keyword
/**
* Non-persistent database connection
@@ -285,8 +286,8 @@ class CI_DB_postgre_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string .'FROM "'.$this->dbprefix.$table.'"');
-// original query before count_string was used. Kept for reference
+ $query = $this->query($this->_count_string .'FROM "'.$this->dbprefix.$table.'"');
+// original query before _count_string was used. Kept for reference
// $query = $this->query('SELECT COUNT(*) AS numrows FROM "'.$this->dbprefix.$table.'"');
if ($query->num_rows() == 0)
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php index 5f86b8ec3..aa6738c03 100644 --- a/system/database/drivers/sqlite/sqlite_driver.php +++ b/system/database/drivers/sqlite/sqlite_driver.php @@ -37,7 +37,8 @@ class CI_DB_sqlite_driver extends CI_DB { * database engines, so this string appears in each driver and is
* used for the count_all() and count_all_results() functions.
*/
- var $count_string = "SELECT COUNT(*) AS numrows ";
+ var $_count_string = "SELECT COUNT(*) AS numrows ";
+ var $_random_keyword = ' Random()'; // database specific random keyword
/**
* Non-persistent database connection
@@ -281,7 +282,7 @@ class CI_DB_sqlite_driver extends CI_DB { if ($table == '')
return '0';
- $query = $this->query($this->count_string . "FROM `".$this->dbprefix.$table."`");
+ $query = $this->query($this->_count_string . "FROM `".$this->dbprefix.$table."`");
if ($query->num_rows() == 0)
return '0';
|