Subject Re: [Firebird-Architect] RFC: Cross database queries
Author Jim Starkey
Roman Rokytskyy wrote:
> clear requirement for XSQLVAR extension.
>
> I cannot tell a lot about ODBC, but I suspect that the requirements are
> similar.
>
JDBC was designed to properly layer on ODBC, so the system result sets
are identical. Perhaps JDBC has been extended a tad since I last
implemented JDBC and ODBC drivers, but they were originally identical.

The system result sets are what drive basically all database tools. If
the goal is to to make external tables appear transparent to the client,
there is no reasonable alternative to properly managing the system
result sets.

I'm sorry if this is inconvenient, but there are reasons that external
tables haven't been implemented over the 22 years since gds/Galaxy
version 1.

I'm not saying that it isn't a good idea or can't be done, but a proper
implementation is quite a bit of work and I'm afraid there are no shortcuts.
>
> If we implement catalogs (e.g. external data source is a catalog) and
> engine provides a possibility to access the needed information in the
> remote database via system tables or selectable system procedures (in
> other words the parser would somehow distinguish the query involving
> catalog name), that would work. For sure, we (driver developers) will
> have to update drivers to support it, but that's ok.
>
If you say so, I guess, but that sounds to me like hand waving to avoid
solving the problem.
> Same applies to the result set meta data - we need such information only
> after preparing the query.
>
>

That's the easy case, I'm afraid.