Babelfish for PostgreSQL implementeds the Microsoft SQL Server protocol
and T-SQL syntax on-top of PostgreSQL.  It requires a modified version
of PostgreSQL in addition to some PostgreSQL extensions. 

A Babelfish database listens on both the PostgreSQL port (5432), where
it operates as standard PostgreSQL, and the Microsoft SQL Server port
(1433), where it uses the SQL Server wire protocol and supports T-SQL
syntax.

>From some limited testing, it does work, at least for some things.
Testing using databases/ruby-sequel's integration tests, it passes 100%
of tests for PostgreSQL using the pg driver and 80% of tests for
Microsoft SQL Server using the tiny_tds driver.

Ports-wise, it's a mess:

* Three separate distfiles, one of which doesn't use a directory
* A library name containing a dash that doesn't work well with
  SHARED_LIBS 
* Convoluted and fragile build with a mix of make and gmake
* Babelfish-specific extensions build during fake, then install into
  a nested fake directory (do-install moves them afterward)
* Currently doesn't handle library versioning (fixable if anyone cares)

This is not something I would like to maintain, and therefore I'm not
proposing it for commit.  Posting it here in case someone else may be
interested.

Thanks,
Jeremy

Attachment: babelfishpg.tar.gz
Description: application/tar-gz

Reply via email to