From 3ca9397bff0984c54c2a452c74825377406ce697 Mon Sep 17 00:00:00 2001 From: Alex Belyaev Date: Wed, 27 Mar 2013 01:08:33 +0400 Subject: [PATCH 1/2] Type of value returned by Sql2ToQomQueryConverter::parseLiteral becomes more accurate --- src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php b/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php index 9305801..395f591 100644 --- a/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php +++ b/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php @@ -700,7 +700,13 @@ protected function parseLiteral() throw new \Exception("Syntax error: unterminated quoted string $token in '{$this->sql2}'"); } - $token = substr($token, 1, -1); + $token = substr($token, 1, -1); + } else if (is_numeric($token)){ + $token = strpos($token, '.') === false ? (int) $token : (float) $token; + } else if ($token == 'true') { + $token = '1'; + } else if ($token == 'false') { + $token = '0'; } return $this->factory->literal($token); From 131c50e60784baad1dee48f3e81f9be2d904e12f Mon Sep 17 00:00:00 2001 From: Alex Belyaev Date: Sat, 8 Jun 2013 20:14:04 +0400 Subject: [PATCH 2/2] parseLiteral returns boolean type in case 'false' or 'true' --- src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php b/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php index 395f591..3161f43 100644 --- a/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php +++ b/src/PHPCR/Util/QOM/Sql2ToQomQueryConverter.php @@ -704,9 +704,9 @@ protected function parseLiteral() } else if (is_numeric($token)){ $token = strpos($token, '.') === false ? (int) $token : (float) $token; } else if ($token == 'true') { - $token = '1'; + $token = true; } else if ($token == 'false') { - $token = '0'; + $token = false; } return $this->factory->literal($token);