@@ -123,14 +123,6 @@ public final class DeleteStatementParserTest extends AbstractStatementParserTest
parseWithSpecialSyntax(DatabaseType.MySQL,"DELETE FROM TABLE_XXX PARTITION (partition_1, partition_2,partition_3) WHERE field1=1");
parseWithSpecialSyntax(DatabaseType.Oracle,"DELETE /*+ index(field1) */ ONLY (TABLE_XXX) WHERE field1=1 RETURN * LOG ERRORS INTO TABLE_LOG");
parseWithSpecialSyntax(DatabaseType.Oracle,"DELETE /*+ index(field1) */ ONLY (TABLE_XXX) WHERE field1=1 RETURNING *");
/* // TODO 不支持
parseWithSpecialSyntax(DatabaseType.SQLServer,
"WITH field_query (field1, field2) AS (SELECT field1, field2 FROM TABLE_XXX AS xxx GROUP BY field1) DELETE TOP(10) OUTPUT (inserted.field1) FROM TABLE_XXX WHERE field1=1");
*/
parseWithSpecialSyntax(DatabaseType.PostgreSQL,
"WITH RECURSIVE field_query (field1) AS (SELECT field1 FROM TABLE_XXX AS xxx ORDER BY field1 DESC) DELETE FROM ONLY TABLE_XXX USING producers WHERE field1=1 RETURNING *");
parseWithSpecialSyntax(DatabaseType.PostgreSQL,
"WITH field1_query AS (SELECT field1 FROM TABLE_XXX), field2_query AS (SELECT field2 FROM TABLE_XXX) DELETE FROM ONLY TABLE_XXX USING producers WHERE field1=1 OUTPUT *");
@@ -122,14 +122,6 @@ public final class InsertStatementParserTest extends AbstractStatementParserTest
// TODO
// parseWithSpecialSyntax(DatabaseType.MySQL, "INSERT INTO TABLE_XXX (field1) SELECT field1 FROM TABLE_XXX2 ON DUPLICATE KEY UPDATE field1=field1+1");
parseWithSpecialSyntax(DatabaseType.MySQL,"INSERT /*+ index(field1) */ INTO TABLE_XXX (`field1`) VALUES (1) RETURNING field1*2 LOG ERRORS INTO TABLE_LOG");
/* // TODO 不支持
parseWithSpecialSyntax(DatabaseType.SQLServer,
"WITH field_query (field1, field2) AS (SELECT field1, field2 FROM TABLE_XXX AS xxx GROUP BY field1) INSERT TOP(10) INTO OUTPUT TABLE_XXX (`field1`) VALUES (1)");
*/
parseWithSpecialSyntax(DatabaseType.PostgreSQL,
"WITH RECURSIVE field_query (field1, field2) AS (SELECT field1, field2 FROM TABLE_XXX AS xxx ORDER BY field1 DESC) INSERT INTO TABLE_XXX (field1) VALUES (1) RETURNING id");
parseWithSpecialSyntax(DatabaseType.PostgreSQL,
"WITH field1_query AS (SELECT field1 FROM TABLE_XXX), field2_query AS (SELECT field2 FROM TABLE_XXX) INSERT INTO TABLE_XXX (field1) VALUES (1) RETURNING *");
@@ -117,14 +117,6 @@ public final class UpdateStatementParserTest extends AbstractStatementParserTest
parseWithSpecialSyntax(DatabaseType.Oracle,"UPDATE /*+ index(field1) */ ONLY TABLE_XXX SET field1=1 WHERE field1=1 RETURN * LOG ERRORS INTO TABLE_LOG");
parseWithSpecialSyntax(DatabaseType.Oracle,"UPDATE /*+ index(field1) */ ONLY TABLE_XXX SET field1=1 WHERE field1=1 RETURNING *");
parseWithSpecialSyntax(DatabaseType.Oracle,"UPDATE /*+ index(field1) */ ONLY TABLE_XXX SET field1=1 WHERE field1=1 LOG ERRORS INTO TABLE_LOG");
/* // TODO 不支持
parseWithSpecialSyntax(DatabaseType.SQLServer,
"WITH field_query (field1) AS (SELECT field1 FROM TABLE_XXX AS xxx GROUP BY field1) UPDATE TOP(10) TABLE_XXX SET field1=1 OUTPUT (inserted.field1) WHERE field1=1");
*/
parseWithSpecialSyntax(DatabaseType.PostgreSQL,
"WITH RECURSIVE field_query (field1) AS (SELECT field1 FROM TABLE_XXX AS xxx ORDER BY field1 DESC) UPDATE ONLY TABLE_XXX SET field1=1 WHERE field1=1 RETURNING *");
parseWithSpecialSyntax(DatabaseType.PostgreSQL,
"WITH field1_query AS (SELECT field1 FROM TABLE_XXX), field2_query AS (SELECT field2 FROM TABLE_XXX) UPDATE ONLY TABLE_XXX SET (field1,field2)=(1,?) WHERE field1=1");