[ 
https://issues.apache.org/jira/browse/PHOENIX-2901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15323028#comment-15323028
 ] 

Samarth Jain commented on PHOENIX-2901:
---------------------------------------

[~an...@apache.org] - thanks for the patch.

I am not convinced this is the right thing to do here. Shouldn't tenantId be a 
param here? 
{code}
+    public static void deleteViewIndexSequences(PhoenixConnection connection, 
PName name, boolean isNamespaceMapped)
+            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 + "'" : ""));
{code}

You would also want to test ViewIndexIT.testDeleteViewIndexSequences with an 
without name space mapping enabled. Also, I don't see tests around tenant 
views, indexes, index sequences, etc as I had suggested earlier (unless I am 
missing them).



> If namespaces are enabled, check for existence of schema when sequence created
> ------------------------------------------------------------------------------
>
>                 Key: PHOENIX-2901
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2901
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.8.0
>            Reporter: James Taylor
>            Assignee: Ankit Singhal
>             Fix For: 4.8.0
>
>         Attachments: PHOENIX-2901.patch, PHOENIX-2901_v2.patch, 
> PHOENIX-2901_withMoreTestCases.patch
>
>
> If namespaces are enabled, we should check for the existence of the sequence 
> schema before creating the sequence. There are some sequences that are 
> generated by Phoenix to manage indexes over views which auto generate a 
> schema name. Perhaps it'd be better if those used the SYSTEM schema instead 
> and prepended the sequence name with the previous schema name to ensure 
> uniqueness.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to