Subject | Re: [Firebird-Architect] External procedures: implementation proposal. |
---|---|
Author | Aleksey Karyakin |
Post date | 2005-07-25T15:32:43Z |
"Jim Starkey" <jas@...> wrote in message
news:42E50059.2060108@......
Extarnal scalar functions? Aggregate functions? These should have
separate interfaces that don't provide database connection. In the
long run, the interface to external-defined functions should have
become no different to the internal ones.
Also, it would be necessary for external procedures that have side
effects to participate in transactions. Thus, the engine may
establish 2PC transaction between itself and any involved external
providers. There are magnitudes of gains that can be achieved by
that - logging, replication, data distribution, etc.
Regards,
Aleksey Karyakin
news:42E50059.2060108@......
>invented
> The solution to the problem is already in place due to early and
> effective lobbying by Paul Ruizendaal: the InternalConnection class
> implementation of the Connection interface. This mechanism was
> for the explicit purpose of exporting database semantics andcontext to
> external procedures. An InternalConnection object is obtained bythe
> internal engine method Attachment::getUserConnection(Transaction*). The
> connection object provides a clean, architecturally supportableWhat about other extension types besides triggers and procedures?
> interface to internal engine functions using the JDBC paradigm.
Extarnal scalar functions? Aggregate functions? These should have
separate interfaces that don't provide database connection. In the
long run, the interface to external-defined functions should have
become no different to the internal ones.
Also, it would be necessary for external procedures that have side
effects to participate in transactions. Thus, the engine may
establish 2PC transaction between itself and any involved external
providers. There are magnitudes of gains that can be achieved by
that - logging, replication, data distribution, etc.
Regards,
Aleksey Karyakin