This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch 4.x in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/4.x by this push: new acb4884 PHOENIX-6574 Executing "DROP TABLE" drops all sequences acb4884 is described below commit acb4884c3d49f73d8e47316a9b4ce714877e7e5e Author: Istvan Toth <st...@apache.org> AuthorDate: Mon Oct 18 14:33:14 2021 +0200 PHOENIX-6574 Executing "DROP TABLE" drops all sequences --- .../org/apache/phoenix/end2end/SequenceIT.java | 22 ++++++++++++++++++++++ .../java/org/apache/phoenix/util/MetaDataUtil.java | 10 +++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java index c5d6d1a..fdb2eab 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java @@ -33,6 +33,7 @@ import java.sql.ParameterMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; import java.util.List; import java.util.Properties; @@ -1466,6 +1467,27 @@ public class SequenceIT extends ParallelStatsDisabledIT { assertEquals(5, rs.getInt(2)); } + @Test + public void testBug6574() throws Exception { + String sequenceName = generateSequenceNameWithSchema(); + String tableName = generateTableNameWithSchema(); + + try(Statement stmt = conn.createStatement()) { + stmt.execute("CREATE SEQUENCE " + sequenceName); + stmt.execute("CREATE TABLE " + tableName + " (id integer primary key)"); + + String query = "SELECT * FROM SYSTEM.\"SEQUENCE\" where SEQUENCE_NAME = '" + getNameWithoutSchema(sequenceName) + "'"; + ResultSet rs = stmt.executeQuery(query); + assertTrue(rs.next()); + rs.close(); + + stmt.execute("DROP TABLE " + tableName); + rs = stmt.executeQuery(query); + assertTrue(rs.next()); + rs.close(); + } + } + private static String getSchemaName(String tableName) { return tableName.substring(0, tableName.indexOf(".")); } diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java index 504459f..5fdc9f9 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java @@ -819,11 +819,11 @@ public class MetaDataUtil { throws SQLException { String schemaName = getViewIndexSequenceSchemaName(name, isNamespaceMapped); String sequenceName = getViewIndexSequenceName(name, null, isNamespaceMapped); - connection.createStatement().executeUpdate("DELETE FROM " + PhoenixDatabaseMetaData.SYSTEM_SEQUENCE + " WHERE " - + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA - + (schemaName.length() > 0 ? "='" + schemaName + "'" : " IS NULL") + (isNamespaceMapped - ? " AND " + PhoenixDatabaseMetaData.SEQUENCE_NAME + " = '" + sequenceName + "'" : "")); - + connection.createStatement().executeUpdate("DELETE FROM " + + PhoenixDatabaseMetaData.SYSTEM_SEQUENCE + + " WHERE " + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + + (schemaName.length() > 0 ? "='" + schemaName + "'" : " IS NULL") + + " AND " + PhoenixDatabaseMetaData.SEQUENCE_NAME + " = '" + sequenceName + "'" ); } /**