[
https://issues.apache.org/jira/browse/DERBY-712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718862#action_12718862
]
Rick Hillegas commented on DERBY-712:
-------------------------------------
Hi Suran,
The new catalogs_b.patch looks very good. It will need another round or two of
adjusting but it is definitely looking solid. I have applied the patch and am
running regression tests now. I will post my results when the tests finish.
I have some comments on the new patch:
PermDescriptor
o You should remove the permUUID field from this class since it shadows the oid
field in the superclass. In my experience, this kind of shadowing always causes
bugs in the future because it is so easy to lose track of which copy of the
redundant field is being used. So the constructor for this class should call
setUUID( permUUID ) rather than stuffing the shadowing field via "this.permUUID
= permUUID".
o Once you do that, you can get rid of the getUUID(), setUUID(), and
getObjectID() methods in this class.
o I have reservations about the second constructor for this class (the one
which is used to create a key descriptor rather than a full-fledged permissions
descriptor). However, I see that you are following the data dictionary patterns
for the other permissions descriptors. I think you are right to follow the
existing patterns. But we should put a sticky note on our brains to remind
ourselves to clean up this pattern in the future--partially initialized data is
brittle. This is something we can revisit when we collapse all of the
permissions catalogs into the master catalog which you are creating. Don't
worry, that's another project and not part of the sequence generator work.
SYSSEQUENCESRowFactory
o I think that you should flip the order of the keys in the second index. That
is, the key order should be ( schemaID, sequenceName ) rather than (
sequenceName, schemaID ). This will speed up the check in
DataDictionaryImpl.isSchemaEmpty(). But maybe you have a use for an index with
key order ( sequenceName, schemaID ) which I'm not seeing. If so, then I would
recommend adding a third index. Note that if you swap the key order, then you
will need to make a corresponding change to
DataDictionaryImpl.getSequenceDescriptor(String, SchemaDescriptor)
o I think that buildColumnList() should return an array of 10 column
descriptors, one for each column in the table. See, for instance, the
corresponding method in SYSALIASESRowFactory.
SYSROLESRowFactory
o As with SYSSEQUENCESRowFactory, I think that buildColumnList() should return
a larger array, one cell for each column in the table.
DataDictionary
o The header comment for getPermDescriptor() does not seem to describe the
method.
EmptyDictionary
o I think that you can remove the stub for dropSequenceDescriptor(String,
TransactionController) because you have removed this method from the
DataDictionary interface.
DataDictionaryImpl
o The header comments on getUncachedPermDescriptor() getPermDescriptor(), and
dropAllPermDescriptors() look like they were copied from pre-existing methods,
so they should be revised to describe the new methods.
Thanks,
-Rick
> Support for sequences
> ---------------------
>
> Key: DERBY-712
> URL: https://issues.apache.org/jira/browse/DERBY-712
> Project: Derby
> Issue Type: New Feature
> Components: SQL
> Environment: feature request
> Reporter: Tony Dahbura
> Assignee: Suran Jayathilaka
> Fix For: 10.6.0.0
>
> Attachments: catalogs_a.patch, catalogs_b.patch,
> SequenceGenerator.html
>
>
> Would like to see support added for sequences. This would permit a select
> against the sequence to always obtain a ever increasing/decreasing value.
> The identity column works fine but there are times for applications where the
> application needs to obtain the sequence number and use it prior to the
> database write. Subsequent calls to the table/column would result in a new
> number on each call.
> SQL such as the following:
> SELECT NEXT VALUE FOR sequence_name FROM sometable ; would result in a next
> value.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.