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

@@ -417,6 +417,10 @@ class BasicTest extends SimpleTest {
$parsed_query = DB::parse("SELECT * FROM %b WHERE id=%i AND name=%s", 'accounts', 5, 'Joe');
$correct_query = "SELECT * FROM `accounts` WHERE id=5 AND name='Joe'";
$this->assert($parsed_query === $correct_query);
$parsed_query = DB::parse("SELECT DATE_FORMAT(birthday, '%%Y-%%M-%%d %%h:%%i:%%s') AS mydate FROM accounts WHERE id=%i", 5);
$correct_query = "SELECT DATE_FORMAT(birthday, '%Y-%M-%d %h:%i:%s') AS mydate FROM accounts WHERE id=5";
$this->assert($parsed_query === $correct_query);
}