Subject | Re: [Firebird-Architect] External Engines Implementation Details |
---|---|
Author | Alex Peshkov |
Post date | 2007-12-29T08:58:59Z |
On Friday 28 December 2007 19:58, Jim Starkey wrote:
enough serious or not). Making yValve handles available for external engine
lets it use our standard API. I still continue thinking that having pure
virtual class for interface which may be filled with standard API calls (for
debugging purporses for example) or internal engine calls is much better
solution. But if we release external engines with current exec_stmt2
impementation (working with yValve handles), no later DSQL/JRD merge will
help us avoid backward compatibility problems, and we will have to keep that
hack till the end of days. That is what seems for me the worst in exec_stmt2.
from architecture POV - certainly. One question - what do you mean under
capability for internal SQL engine to support external engines?
> First, the exec_stmt2 impementation was a crude hack. It underlyingUnfortunately, there was one more reasoning (don't want to say now, is it
> problem is that dynamic SQL wasn't available in the engine. Rather than
> fixing that, he took a shortcut.
enough serious or not). Making yValve handles available for external engine
lets it use our standard API. I still continue thinking that having pure
virtual class for interface which may be filled with standard API calls (for
debugging purporses for example) or internal engine calls is much better
solution. But if we release external engines with current exec_stmt2
impementation (working with yValve handles), no later DSQL/JRD merge will
help us avoid backward compatibility problems, and we will have to keep that
hack till the end of days. That is what seems for me the worst in exec_stmt2.
> Vulcan has SQL inside the engine (folks, a SQL engine should actuallyNot sure anyone will notice it to be faster. But what about cleaner and OK
> support SQL). So it doesn't need the loop back. The internal SQL
> engine could support external engines as well. It is cleaner, faster,
> and doesn't break the architecture.
from architecture POV - certainly. One question - what do you mean under
capability for internal SQL engine to support external engines?