[
https://issues.apache.org/jira/browse/DERBY-3674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12597003#action_12597003
]
Mamta A. Satoor commented on DERBY-3674:
----------------------------------------
Prior to my checkin for DERBY-1062, all the work for inplace compress was
handled outside of compile and execute hierarchy and the code for inplace
compress was in OnlineCompress class. In that class, we checked if we are
trying to compress a VTI (which in this jira entry's case is
SYSCS_DIAG.TRANSACTION_TABLE) and if yes, then we did nothing and simply
returned from the OnlineCompress class.
With changes for DERBY-1062, we have moved the code from OnlineCompress into
ALTER TABLE related compile and execute classes(namely AlterTableNode and
AlterTableConstantAction). In ALTER TABLE, we can tell in the bind phase in
AlterTableNode.bindStatement() that we are dealing with VTI but there is no
easy way to say we are done since we are dealing with inplace compress of VTI
and hence let's quit. I can try to change code in compile and execute time to
somehow ignore inplace compress on VTI but I was curious if there is a more
graceful way to just quit out of compile phase (and skip execute phase all
together) since we know inplace compress on VTI should be treated as no-op.
> 'ALTER TABLE' is not allowed on the System table
> '"SYSCS_DIAG"."TRANSACTION_TABLE"' in derbyall - store/TransactionTable.sql
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3674
> URL: https://issues.apache.org/jira/browse/DERBY-3674
> Project: Derby
> Issue Type: Bug
> Components: Regression Test Failure, Test
> Affects Versions: 10.5.0.0
> Environment: OS: SunOS 5.10
> JVM: Sun 1.6.0_04
> SVN: r >= 655989
> Reporter: Ole Solberg
> Assignee: Mamta A. Satoor
> Priority: Minor
>
> See e.g.
> http://dbtg.thresher.com/derby/test/tinderbox_trunk16/jvm1.6/testing/testlog/SunOS-5.10_i86pc-i386/655989-derbyall_diff.txt
> <method>
> store/TransactionTable.sql
> </method>
> <signature>
> 268 del
> < 0 rows inserted/updated/deleted
> 268a268,269
> > ERROR 38000: The exception 'java.sql.SQLException: 'ALTER TABLE' is not
> > allowed on the System table '"SY\
> SCS_DIAG"."TRANSACTION_TABLE"'.' was thrown while evaluating an expression.
> > ERROR X0Y56: 'ALTER TABLE' is not allowed on the System table
> > '"SYSCS_DIAG"."TRANSACTION_TABLE"'.
> </signature>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.