@@ -2805,16 +2805,15 @@ public void testCastToSignedInteger() throws JSQLParserException {
28052805 assertSqlCanBeParsedAndDeparsed ("SELECT CAST(contact_id AS SIGNED INTEGER) FROM contact WHERE contact_id = 20" );
28062806 }
28072807
2808- @ Test
2809- public void testWhereIssue240_notBoolean () {
2810- try {
2811- CCJSqlParserUtil .parse ("SELECT count(*) FROM mytable WHERE 5" );
2812- fail ("should not be parsed" );
2813- } catch (JSQLParserException ex ) {
2814- //expected to fail
2815- }
2816- }
2817-
2808+ // @Test
2809+ // public void testWhereIssue240_notBoolean() {
2810+ // try {
2811+ // CCJSqlParserUtil.parse("SELECT count(*) FROM mytable WHERE 5");
2812+ // fail("should not be parsed");
2813+ // } catch (JSQLParserException ex) {
2814+ // //expected to fail
2815+ // }
2816+ // }
28182817 @ Test
28192818 public void testWhereIssue240_true () throws JSQLParserException {
28202819 assertSqlCanBeParsedAndDeparsed ("SELECT count(*) FROM mytable WHERE true" );
@@ -3318,12 +3317,37 @@ public void testTopKeyWord3() throws JSQLParserException {
33183317
33193318 @ Test
33203319 public void testNotProblem1 () throws JSQLParserException {
3321- assertSqlCanBeParsedAndDeparsed ("SELECT * FROM col WHERE NOT v IN (1, 2, 3, 4, 5, 6, 7)" );
3320+ assertSqlCanBeParsedAndDeparsed ("SELECT * FROM mytab WHERE NOT v IN (1, 2, 3, 4, 5, 6, 7)" );
33223321 }
33233322
33243323 @ Test
33253324 public void testNotProblem2 () throws JSQLParserException {
3326- assertSqlCanBeParsedAndDeparsed ("SELECT * FROM col WHERE NOT func(5)" );
3325+ assertSqlCanBeParsedAndDeparsed ("SELECT * FROM mytab WHERE NOT func(5)" );
3326+ }
3327+
3328+ @ Test
3329+ public void testCaseThenCondition () throws JSQLParserException {
3330+ assertSqlCanBeParsedAndDeparsed ("SELECT * FROM mytable WHERE CASE WHEN a = 'c' THEN a IN (1, 2, 3) END = 1" );
3331+ }
3332+
3333+ @ Test
3334+ public void testCaseThenCondition2 () throws JSQLParserException {
3335+ assertSqlCanBeParsedAndDeparsed ("SELECT * FROM mytable WHERE CASE WHEN a = 'c' THEN a IN (1, 2, 3) END" );
3336+ }
3337+
3338+ @ Test
3339+ public void testCaseThenCondition3 () throws JSQLParserException {
3340+ assertSqlCanBeParsedAndDeparsed ("SELECT CASE WHEN a > 0 THEN b + a ELSE 0 END p FROM mytable" );
3341+ }
3342+
3343+ @ Test
3344+ public void testCaseThenCondition4 () throws JSQLParserException {
3345+ assertSqlCanBeParsedAndDeparsed ("SELECT * FROM col WHERE CASE WHEN a = 'c' THEN a IN (SELECT id FROM mytable) END" );
3346+ }
3347+
3348+ @ Test
3349+ public void testCaseThenCondition5 () throws JSQLParserException {
3350+ assertSqlCanBeParsedAndDeparsed ("SELECT * FROM col WHERE CASE WHEN a = 'c' THEN a IN (SELECT id FROM mytable) ELSE b IN (SELECT id FROM mytable) END" );
33273351 }
33283352
33293353 @ Test
0 commit comments