@@ -696,46 +696,89 @@ public void testGoogleStandardSQLDialectIsQuery_QueryHints() {
696696
697697 // Supports query hints, PostgreSQL dialect does NOT
698698 // Valid query hints.
699- assertTrue (parser .isQuery ("@{JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ));
700- assertTrue (parser .isQuery ("@ {JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ));
701- assertTrue (parser .isQuery ("@{ JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ));
702- assertTrue (parser .isQuery ("@{JOIN_METHOD=HASH_JOIN } SELECT * FROM PersonsTable" ));
703- assertTrue (parser .isQuery ("@{JOIN_METHOD=HASH_JOIN}\n SELECT * FROM PersonsTable" ));
704- assertTrue (parser .isQuery ("@{\n JOIN_METHOD = HASH_JOIN \t }\n \t SELECT * FROM PersonsTable" ));
705699 assertTrue (
706- parser .isQuery (
707- "@{JOIN_METHOD=HASH_JOIN}\n -- Single line comment\n SELECT * FROM PersonsTable" ));
700+ parser
701+ .parse (Statement .of ("@{JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ))
702+ .isQuery ());
708703 assertTrue (
709- parser .isQuery (
710- "@{JOIN_METHOD=HASH_JOIN}\n /* Multi line comment\n with more comments\n */SELECT * FROM PersonsTable" ));
704+ parser
705+ .parse (Statement .of ("@ {JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ))
706+ .isQuery ());
711707 assertTrue (
712- parser .isQuery (
713- "@{JOIN_METHOD=HASH_JOIN} WITH subQ1 AS (SELECT SchoolID FROM Roster),\n "
714- + " subQ2 AS (SELECT OpponentID FROM PlayerStats)\n "
715- + "SELECT * FROM subQ1\n "
716- + "UNION ALL\n "
717- + "SELECT * FROM subQ2" ));
708+ parser
709+ .parse (Statement .of ("@{ JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ))
710+ .isQuery ());
711+ assertTrue (
712+ parser
713+ .parse (Statement .of ("@{JOIN_METHOD=HASH_JOIN } SELECT * FROM PersonsTable" ))
714+ .isQuery ());
715+ assertTrue (
716+ parser
717+ .parse (Statement .of ("@{JOIN_METHOD=HASH_JOIN}\n SELECT * FROM PersonsTable" ))
718+ .isQuery ());
719+ assertTrue (
720+ parser
721+ .parse (
722+ Statement .of ("@{\n JOIN_METHOD = HASH_JOIN \t }\n \t SELECT * FROM PersonsTable" ))
723+ .isQuery ());
724+ assertTrue (
725+ parser
726+ .parse (
727+ Statement .of (
728+ "@{JOIN_METHOD=HASH_JOIN}\n -- Single line comment\n SELECT * FROM PersonsTable" ))
729+ .isQuery ());
730+ assertTrue (
731+ parser
732+ .parse (
733+ Statement .of (
734+ "@{JOIN_METHOD=HASH_JOIN}\n /* Multi line comment\n with more comments\n */SELECT * FROM PersonsTable" ))
735+ .isQuery ());
736+ assertTrue (
737+ parser
738+ .parse (
739+ Statement .of (
740+ "@{JOIN_METHOD=HASH_JOIN} WITH subQ1 AS (SELECT SchoolID FROM Roster),\n "
741+ + " subQ2 AS (SELECT OpponentID FROM PlayerStats)\n "
742+ + "SELECT * FROM subQ1\n "
743+ + "UNION ALL\n "
744+ + "SELECT * FROM subQ2" ))
745+ .isQuery ());
718746
719747 // Multiple query hints.
720748 assertTrue (
721- parser .isQuery ("@{FORCE_INDEX=index_name} @{JOIN_METHOD=HASH_JOIN} SELECT * FROM tbl" ));
749+ parser
750+ .parse (
751+ Statement .of ("@{FORCE_INDEX=index_name, JOIN_METHOD=HASH_JOIN} SELECT * FROM tbl" ))
752+ .isQuery ());
722753 assertTrue (
723- parser .isQuery ("@{FORCE_INDEX=index_name} @{JOIN_METHOD=HASH_JOIN} Select * FROM tbl" ));
754+ parser
755+ .parse (
756+ Statement .of ("@{FORCE_INDEX=index_name, JOIN_METHOD=HASH_JOIN} Select * FROM tbl" ))
757+ .isQuery ());
724758 assertTrue (
725- parser .isQuery (
726- "@{FORCE_INDEX=index_name}\n @{JOIN_METHOD=HASH_JOIN}\n WITH subQ1 AS (SELECT SchoolID FROM Roster),\n "
727- + " subQ2 AS (SELECT OpponentID FROM PlayerStats)\n "
728- + "SELECT * FROM subQ1\n "
729- + "UNION ALL\n "
730- + "SELECT * FROM subQ2" ));
759+ parser
760+ .parse (
761+ Statement .of (
762+ "@{FORCE_INDEX=index_name,\n JOIN_METHOD=HASH_JOIN}\n WITH subQ1 AS (SELECT SchoolID FROM Roster),\n "
763+ + " subQ2 AS (SELECT OpponentID FROM PlayerStats)\n "
764+ + "SELECT * FROM subQ1\n "
765+ + "UNION ALL\n "
766+ + "SELECT * FROM subQ2" ))
767+ .isQuery ());
731768
732769 // Invalid query hints.
733- assertFalse (parser .isQuery ("@{JOIN_METHOD=HASH_JOIN SELECT * FROM PersonsTable" ));
734- assertFalse (parser .isQuery ("@JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" ));
735- assertFalse (parser .isQuery ("@JOIN_METHOD=HASH_JOIN SELECT * FROM PersonsTable" ));
736770 assertFalse (
737- parser .isQuery (
738- "@{FORCE_INDEX=index_name} @{JOIN_METHOD=HASH_JOIN} UPDATE tbl set FOO=1 WHERE ID=2" ));
771+ parser .parse (Statement .of ("@{JOIN_METHOD=HASH_JOIN SELECT * FROM PersonsTable" )).isQuery ());
772+ assertFalse (
773+ parser .parse (Statement .of ("@JOIN_METHOD=HASH_JOIN} SELECT * FROM PersonsTable" )).isQuery ());
774+ assertFalse (
775+ parser .parse (Statement .of ("@JOIN_METHOD=HASH_JOIN SELECT * FROM PersonsTable" )).isQuery ());
776+ assertFalse (
777+ parser
778+ .parse (
779+ Statement .of (
780+ "@{FORCE_INDEX=index_name} @{JOIN_METHOD=HASH_JOIN} UPDATE tbl set FOO=1 WHERE ID=2" ))
781+ .isQuery ());
739782 }
740783
741784 @ Test
0 commit comments