Thanks - is there any documentation on how the parser works and
explaining what is the sqlgrammer.jj file is and how is it used, etc.
Duncan
Bryan Pendleton wrote:
Duncan Groenewald wrote:
Any chance someone can explain how I could modify the parser (or
whatever) to be able to handle the NULL constraint ?
Beware: I haven't tried this, but you could have a look at
java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj and
experimentally try to modify it for yourself.
In terms of the modifications, I think you'll want to look at the
subroutine columnConstraint(), and observe how the explicitNotNull
and explicitNull flags are handled.
Notice that there is an explicit parser block for
<NOT> <NULL>
I think you'll either want to add a second explicit parser block for
<NULL>
or modify the existing one to
[<NOT>] <NULL>
and either way you want to make sure that you manage the explicitNull
and explicitNotNull flags properly, and that you call setNullability()
on the dataTypeDescriptor to record the user's NULL / NOT NULL choice.
Hope this helps,
bryan