From: Mike N. <ta...@al...> - 2001-04-22 07:16:30
|
Claudio Valderrama C. wrote: > On Behalf Of Mike Nordell > > > It also seems to me that the "alter_domain_ops" rule allows infinite > > recursion until terminated by an alter_domain_op. > > > > alter_domain_ops : alter_domain_op > > | alter_domain_ops alter_domain_op > > Yes, but I don't see a sane way to stop it. In theory, you can drop and add > a default in the same operation, for example. How do you propose to break > the recursion? For example, given my original example, this is valid: > alter domain dunno set default 9 add check(value=value) You're right, this isn't a parser problem. It has to be taken care of afterwards, like not allowing two SET operations in one statement. > So do you say that we don't need to protect DYN just in > case there're other syntax bugs in the this definition file? Absolutely not. We should add sanity checks wherever they are reasonable. Anoter related matter: This code seems to imply that we can only parse one full SQL statement/expression at a time since lex/yacc heavily rely on global variables. Does anyone know if this is currently a performance or concurrency problem (when running as SS that is)? /Mike |