[SQL] Re: is there a mysql to postgresql sql converter?

2000-11-23 Thread Max Fonin

Hi.

I'm writing MySQL->Postgres dump converter. E.g. it will convert only database dumps 
produced by mysqldump.
It's almost ready, problems are ENUM and SET types. I have problems with types 
emulation.
Maybe someone help me guys ?

Anyway, some half-working version attached.

Max Rudensky.

 my2pg.pl


[SQL] Re: is there a mysql to postgresql sql converter?

2000-11-23 Thread Max Fonin

Can give a link ?

On Fri, 17 Nov 2000 13:45:37 -0800
clayton cottingham <[EMAIL PROTECTED]> wrote:

> Max Fonin wrote:
> > 
> > Hi.
> > 
> > I'm writing MySQL->Postgres dump converter. E.g. it will convert only database 
>dumps produced by mysqldump.
> > It's almost ready, problems are ENUM and SET types. I have problems with types 
>emulation.
> > Maybe someone help me guys ?
> > 
> > Anyway, some half-working version attached.
> > 
> > Max Rudensky.
> > 
> >   
> >Name: my2pg.pl
> >my2pg.plType: Perl Program (application/x-perl)
> >Encoding: base64
> 
> 
> thats cool!!
> 
> i thought i saw another converter in the last couple o months on
> freshmeat too



[SQL] Re: is there a mysql to postgresql sql converter?

2000-11-23 Thread Max Fonin

Hi.

> > Can give a link ?
> can do :
> http://freshmeat.net/projects/mysql2pgsql/?highlight=convert+sql
Thank you.

BTW, if you interested in this tool, I may send you fresh versions or place it on the 
web.

Maybe you will or somebody help me with one problem ? Do you know PL/pgSQL and how to 
create new type in Postgres ?
The problem is that I can't use new type constructed with CREATE TYPE if transform 
functions written on PL/pgSQL.
Because PL/pgSQL doesn't support type "opaque", or I do something wrong. The same 
function on PL/pgSQL with 
input argtype "text" or "int2" works fine, but when I simply change argtype to 
"opaque", I get "compilation error near line 0".
Source is below.

Thanks,
Max Rudensky.

BEGIN;

CREATE FUNCTION enum_access_Monday_in (opaque)
RETURNS enum_access_Monday
AS '
DECLARE
invalue ALIAS for $1;
BEGIN
IF invalue= OR invalue=''0'' THEN RETURN 0; END IF;
IF invalue=''Monday'' OR invalue=''1'' THEN RETURN 1; END IF;
IF invalue=''Tuesday'' OR invalue=''2'' THEN RETURN 2; END IF;
IF invalue=''Wednesday'' OR invalue=''3'' THEN RETURN 3; END IF;
RAISE EXCEPTION ''incorrect input value: %'',invalue;
END;'
LANGUAGE 'plpgsql'
WITH (ISCACHABLE);
CREATE FUNCTION enum_access_Monday_out (opaque)
RETURNS opaque
AS '
DECLARE
outvalue ALIAS for $1;
BEGIN
IF outvalue=0 THEN RETURN ; END IF;
IF outvalue=1 THEN RETURN ''Monday''; END IF;
IF outvalue=2 THEN RETURN ''Tuesday''; END IF;
IF outvalue=3 THEN RETURN ''Wednesday''; END IF;
RAISE EXCEPTION ''incorrect output value: %'',outvalue;
END;'
LANGUAGE 'plpgsql'
WITH (ISCACHABLE);

CREATE TYPE enum_access_Monday (
internallength = 2,
input = enum_access_Monday_in,
output = enum_access_Monday_out,
PASSEDBYVALUE
);

COMMIT;



[SQL] MySQL -> Postgres dump converter

2000-11-23 Thread Max Fonin

Hi.

MySQL->Postgres dump converter is now available at 
http://ziet.zhitomir.ua/~fonin/code/my2pg.pl.
Still beta and bugsome version but working, supports MySQL ENUMs, near the end are SET 
emulation.
Please help me to test.

Max Rudensky.