MDL-17522 improved dml tests, fixed sql LIMIT support in native drivers

This commit is contained in:
skodak
2008-12-04 11:52:53 +00:00
parent 8ed5dd63ee
commit 3ff8bf266b
4 changed files with 480 additions and 341 deletions
+1 -1
View File
@@ -557,7 +557,7 @@ abstract class moodle_database {
return array($sql, array_values($params), SQL_PARAMS_QM); // 0-based required
} else if ($target_type & SQL_PARAMS_NAMED) {
$finalparams = array();
$pname = 'param00000';
$pname = 'param0';
$parts = explode('?', $sql);
$sql = array_shift($parts);
foreach ($parts as $part) {
@@ -477,6 +477,9 @@ class mysqli_native_moodle_database extends moodle_database {
public function get_recordset_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) {
$limitfrom = (int)$limitfrom;
$limitnum = (int)$limitnum;
$limitfrom = ($limitfrom < 0) ? 0 : $limitfrom;
$limitnum = ($limitnum < 0) ? 0 : $limitnum;
if ($limitfrom or $limitnum) {
if ($limitnum < 1) {
$limitnum = "18446744073709551615";
@@ -516,6 +519,9 @@ class mysqli_native_moodle_database extends moodle_database {
public function get_records_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) {
$limitfrom = (int)$limitfrom;
$limitnum = (int)$limitnum;
$limitfrom = ($limitfrom < 0) ? 0 : $limitfrom;
$limitnum = ($limitnum < 0) ? 0 : $limitnum;
if ($limitfrom or $limitnum) {
if ($limitnum < 1) {
$limitnum = "18446744073709551615";
+4
View File
@@ -545,6 +545,8 @@ class pgsql_native_moodle_database extends moodle_database {
public function get_recordset_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) {
$limitfrom = (int)$limitfrom;
$limitnum = (int)$limitnum;
$limitfrom = ($limitfrom < 0) ? 0 : $limitfrom;
$limitnum = ($limitnum < 0) ? 0 : $limitnum;
if ($limitfrom or $limitnum) {
if ($limitnum < 1) {
$limitnum = "18446744073709551615";
@@ -582,6 +584,8 @@ class pgsql_native_moodle_database extends moodle_database {
public function get_records_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) {
$limitfrom = (int)$limitfrom;
$limitnum = (int)$limitnum;
$limitfrom = ($limitfrom < 0) ? 0 : $limitfrom;
$limitnum = ($limitnum < 0) ? 0 : $limitnum;
if ($limitfrom or $limitnum) {
if ($limitnum < 1) {
$limitnum = "18446744073709551615";
File diff suppressed because it is too large Load Diff