|Subject||Re: [Firebird-Architect] Re: External procedures: implementation|
> >>violation of layering. If Firebird 2.0 were refactored to make theAgreed
> >>y-valve and engine separate libraries, "execute statement" would have
> >>been unimplementable.
> > Why? I can easily imagine separate engine library which exports the
> >same API, includes DSQL and NOT includes Y-valve. In such engine any
> >API call is statically linked and don't break layering because
> >everything is incapsulated inside one layer.
> Execute statement calls into DSQL, which is part of the Y-valve, to getBecause in that case that hack not needed anymore. Engine can call
> the external handles to loop back through the client interface to the
> Y-valve. If DSQL were in the engine itself, as in Vulcan, that hack
> wouldn't work.
himself with usual Attachment and Transaction pointers, not handles.
And engine already did it many times in tens of .epp files.