Skip to content

Commit 655eee0

Browse files
committed
Fixed precedence parenthesis
1 parent 71f2ad5 commit 655eee0

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

tests/06_Query/QOM/ConvertQueriesBackAndForthTest.php

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,16 @@ public function testBackAndForth()
5353
foreach ($this->qomQueries as $name => $originalQomQuery) {
5454
$originalSql2Query = $this->sql2Queries[$name];
5555
if (is_array($originalSql2Query)) {
56-
$passed = false;
57-
foreach ($originalSql2Query as $query) {
58-
$qom = $this->sql2Parser->parse($query);
59-
if ($originalQomQuery->getStatement() == $qom->getStatement()) {
60-
$sql2 = $this->qomParser->convert($qom);
61-
if ($sql2 == $query) {
62-
$passed = true;
63-
break;
64-
}
65-
}
66-
}
67-
$this->assertTrue($passed, "QOM-->SQL2->QOM: Original query variation = ".$query);
56+
$sourceQuery = $originalSql2Query[0];
57+
$targetQuery = $originalSql2Query[1];
58+
59+
$qom = $this->sql2Parser->parse($sourceQuery);
60+
$sqlResult = $sql2 = $this->qomParser->convert($qom);
61+
$this->assertEquals(
62+
$targetQuery,
63+
$sqlResult,
64+
$name
65+
);
6866
} else {
6967
$qom = $this->sql2Parser->parse($originalSql2Query);
7068
$this->assertEquals($originalQomQuery, $qom, "QOM-->SQL2: Original query = $originalSql2Query");

tests/06_Query/QOM/Sql2TestQueries.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static function getQueries()
5959

6060
$queries['6.7.12.Constraint.Precedence.3'] = array(
6161
'SELECT * FROM [nt:file] AS file WHERE NOT file.prop1 = \'1\' OR file.prop2 = \'2\' AND NOT file.prop3 = \'3\'',
62-
'SELECT * FROM [nt:file] AS file WHERE (NOT file.prop1 = \'1\' OR (file.prop2 = \'2\' AND NOT file.prop3 = \'3\'))',
62+
'SELECT * FROM [nt:file] AS file WHERE ((NOT file.prop1 = \'1\') OR (file.prop2 = \'2\' AND (NOT file.prop3 = \'3\')))',
6363
);
6464

6565
$queries['6.7.12.Constraint.Precedence.4'] = array(
@@ -77,7 +77,7 @@ public static function getQueries()
7777
NOT file.prop1 IS NOT NULL AND NOT NOT file.prop2 IS NOT NULL
7878
OR NOT file.prop3 = \'hello\' AND file.prop4 <> \'hello\'',
7979

80-
'SELECT * FROM [nt:file] AS file WHERE ((NOT file.prop1 IS NOT NULL AND NOT NOT file.prop2 IS NOT NULL) OR (NOT file.prop3 = \'hello\' AND file.prop4 <> \'hello\'))',
80+
'SELECT * FROM [nt:file] AS file WHERE (((NOT file.prop1 IS NOT NULL) AND (NOT (NOT file.prop2 IS NOT NULL))) OR ((NOT file.prop3 = \'hello\') AND file.prop4 <> \'hello\'))',
8181
);
8282

8383
/**

0 commit comments

Comments
 (0)