re-design query parser, new model has cleaner code and allows for %% escaping of % characters

This commit is contained in:
Sergey Tsalkov
2021-06-18 20:50:25 +00:00
parent 20c7acd8a4
commit 42894b70ae
3 changed files with 202 additions and 172 deletions

View File

@@ -5,7 +5,7 @@ class WhereClauseTest extends SimpleTest {
$where->add('username=%s', 'Bart');
$where->add('password=%s', 'hello');
$result = DB::query("SELECT * FROM accounts WHERE %l", $where->text());
$result = DB::query("SELECT * FROM accounts WHERE %l", $where);
$this->assert(count($result) === 1);
$this->assert($result[0]['age'] === '15');
}
@@ -17,7 +17,7 @@ class WhereClauseTest extends SimpleTest {
$subclause->add('age=%i', 15);
$subclause->add('age=%i', 14);
$result = DB::query("SELECT * FROM accounts WHERE %l", $where->text());
$result = DB::query("SELECT * FROM accounts WHERE %l", $where);
$this->assert(count($result) === 1);
$this->assert($result[0]['age'] === '15');
}
@@ -29,7 +29,7 @@ class WhereClauseTest extends SimpleTest {
$subclause->add('username!=%s', 'Bart');
$subclause->negateLast();
$result = DB::query("SELECT * FROM accounts WHERE %l", $where->text());
$result = DB::query("SELECT * FROM accounts WHERE %l", $where);
$this->assert(count($result) === 1);
$this->assert($result[0]['age'] === '15');
}