@@ -7744,3 +7744,61 @@ fn parse_create_type() {
7744
7744
fn parse_create_table_collate ( ) {
7745
7745
pg_and_generic ( ) . verified_stmt ( "CREATE TABLE tbl (foo INT, bar TEXT COLLATE \" de_DE\" )" ) ;
7746
7746
}
7747
+
7748
+ #[ test]
7749
+ fn parse_binary_operators_without_whitespace ( ) {
7750
+ // x + y
7751
+ all_dialects ( ) . one_statement_parses_to (
7752
+ "SELECT field+1000 FROM tbl1" ,
7753
+ "SELECT field + 1000 FROM tbl1" ,
7754
+ ) ;
7755
+
7756
+ all_dialects ( ) . one_statement_parses_to (
7757
+ "SELECT tbl1.field+tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7758
+ "SELECT tbl1.field + tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7759
+ ) ;
7760
+
7761
+ // x - y
7762
+ all_dialects ( ) . one_statement_parses_to (
7763
+ "SELECT field-1000 FROM tbl1" ,
7764
+ "SELECT field - 1000 FROM tbl1" ,
7765
+ ) ;
7766
+
7767
+ all_dialects ( ) . one_statement_parses_to (
7768
+ "SELECT tbl1.field-tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7769
+ "SELECT tbl1.field - tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7770
+ ) ;
7771
+
7772
+ // x * y
7773
+ all_dialects ( ) . one_statement_parses_to (
7774
+ "SELECT field*1000 FROM tbl1" ,
7775
+ "SELECT field * 1000 FROM tbl1" ,
7776
+ ) ;
7777
+
7778
+ all_dialects ( ) . one_statement_parses_to (
7779
+ "SELECT tbl1.field*tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7780
+ "SELECT tbl1.field * tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7781
+ ) ;
7782
+
7783
+ // x / y
7784
+ all_dialects ( ) . one_statement_parses_to (
7785
+ "SELECT field/1000 FROM tbl1" ,
7786
+ "SELECT field / 1000 FROM tbl1" ,
7787
+ ) ;
7788
+
7789
+ all_dialects ( ) . one_statement_parses_to (
7790
+ "SELECT tbl1.field/tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7791
+ "SELECT tbl1.field / tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7792
+ ) ;
7793
+
7794
+ // x % y
7795
+ all_dialects ( ) . one_statement_parses_to (
7796
+ "SELECT field%1000 FROM tbl1" ,
7797
+ "SELECT field % 1000 FROM tbl1" ,
7798
+ ) ;
7799
+
7800
+ all_dialects ( ) . one_statement_parses_to (
7801
+ "SELECT tbl1.field%tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7802
+ "SELECT tbl1.field % tbl2.field FROM tbl1 JOIN tbl2 ON tbl1.id = tbl2.entity_id" ,
7803
+ ) ;
7804
+ }
0 commit comments