17.06.2016 17:13, Dimitry Sibiryakov wrote:
>
> As most of you know, when routine protocol.cpp:alloc_cstring() receives zero 
> length, it
> behaves differently, depending on previous allocations. In some cases it 
> returns pointer
> to zero-length string, in some - NULL pointer.
> Because of this, used in subj test query "EXECUTE STATEMENT ''" can throw 
> different
> errors. If the routine has returned NULL, user will get code 335544608 from 
> Y-valve,
> otherwise it will be set of 335544569, 335544436, 335544851 from DSQL.
> In first case the test will fail, as it always expects the second case.
>
> Is it a problem in the test or in the server?

Wouldn't it be better to check for empty SQL string earlier, inside 
ExecStatementNode::execute(), and throw error directly from there, 
before passing it through the layers?

Or perhaps do such a check in the remote client, or even better in the 
Y-valve?


Dmitry


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to