Re: Porting MSSQL to PGSQL (Was: [OT] MySQL is bad, but
Mischa Sandberg <mischa@ca.sophos.com>
From: Mischa Sandberg <mischa@ca.sophos.com>
To: "Jim C. Nasby" <jnasby@pervasive.com>, Josh Berkus <josh@agliodbs.com>
Cc: pgsql-hackers@postgresql.org
Date: 2006-05-22T22:00:08Z
Lists: pgsql-hackers
Jim C. Nasby wrote: > On Sun, May 21, 2006 at 02:58:17PM -0700, Josh Berkus wrote: >> Actually, porting TSQL to PL/pgSQL would be very hard. I speak as an expert >> TSQL developer. For example, most data manipulation in TSQL is done through >> updatable cursors, something we don't currently support. There are plenty of direct runtime incompatibilities, that have to be implemented not as language-to-language, but language-to-procedure. That also makes them stick out as the first thing to refactor and reimplement, once the basic working system has been ported :-) Hadn't thought about updatable cursors, but solved that problem before in SimbaExpress and SimbaFusion with (effectively) arrays of OID's. That's what I love about PG: so many rich consistent facilities that you can implement things that tie other DB's in knots. >> Also, T-SQL uses >> un-ordered, callable parameters for SPs, something which we *also* don't >> support. Not such a big. Any translation has full access to the catalog (ported over to the target PG system) and the parser/translator can fill in the blanks. > And TSQL doesn't fail a transaction on an error, resulting in code like > > UPDATE ... > > if @@error = 0 then > UPDATE ... > end > if @@error = 0 then > ... Yeah, transaction error behaviour always brings out the nasty incompatibilities (Jim, was that a major problem on Project Lance?). -- Engineers think that equations approximate reality. Physicists think that reality approximates the equations. Mathematicians never make the connection.