File tree Expand file tree Collapse file tree 2 files changed +17
-2
lines changed
main/java/org/hibernate/engine/jdbc/internal
test/java/org/hibernate/orm/test/jdbc/util Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -76,20 +76,21 @@ public String perform() {
7676 token = tokens .nextToken ();
7777 }
7878 while ( !"\n " .equals ( token ) && tokens .hasMoreTokens () );
79+ result .append ( "\n " );
7980 }
8081
8182 lcToken = token .toLowerCase ( Locale .ROOT );
8283 switch ( lcToken ) {
8384 case "'" :
8485 case "`" :
8586 case "\" " :
86- appendUntilToken (lcToken );
87+ appendUntilToken ( lcToken );
8788 misc ();
8889 break ;
8990 // SQL Server uses "[" and "]" to escape reserved words
9091 // see SQLServerDialect.openQuote and SQLServerDialect.closeQuote
9192 case "[" :
92- appendUntilToken ("]" );
93+ appendUntilToken ( "]" );
9394 misc ();
9495 break ;
9596
Original file line number Diff line number Diff line change @@ -78,6 +78,20 @@ public void testProblematic() {
7878 assertNoLoss ( "select * from ((select e.id from Entity e union all select e.id from Entity e) union select e.id from Entity e) grp" );
7979 }
8080
81+ @ Test
82+ public void testSingleLineComment (){
83+ assertNoLoss ("CREATE TRIGGER before_employee_delete\n "
84+ + "BEFORE DELETE ON employees\n "
85+ + "FOR EACH ROW\n "
86+ + "BEGIN\n "
87+ + " -- abcd\n "
88+ + " IF EXISTS (SELECT 1 FROM orders WHERE employee_id = OLD.id) THEN\n "
89+ + " SIGNAL SQLSTATE '45000'\n "
90+ + " SET MESSAGE_TEXT = 'Cannot delete employee because they have related orders';\n "
91+ + " END IF;\n "
92+ + "END " );
93+ }
94+
8195 private void assertNoLoss (String query ) {
8296 String formattedQuery = FormatStyle .BASIC .getFormatter ().format ( query );
8397 StringTokenizer formatted = new StringTokenizer ( formattedQuery , " \t \n \r \f ()" );
You can’t perform that action at this time.
0 commit comments