[
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:
---------------------------------------
[[email protected]] - 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)