You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by st...@apache.org on 2021/10/18 16:58:23 UTC
[phoenix] branch 4.x updated: PHOENIX-6574 Executing "DROP TABLE"
drops all sequences
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 + "'" );
}
/**