@@ -696,46 +696,89 @@ public void testGoogleStandardSQLDialectIsQuery_QueryHints() {
696
696
697
697
// Supports query hints, PostgreSQL dialect does NOT
698
698
// 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" ));
705
699
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 ());
708
703
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 ());
711
707
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 ());
718
746
719
747
// Multiple query hints.
720
748
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 ());
722
753
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 ());
724
758
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 ());
731
768
732
769
// 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" ));
736
770
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 ());
739
782
}
740
783
741
784
@ Test
0 commit comments