ODBC driver chances function-call in a wrong way - Mailing list pgsql-odbc

From Ida Schonfeld
Subject ODBC driver chances function-call in a wrong way
Date
Msg-id 089C615FFB98CE48BBA6E8EB9AD4A0C9044B18CD@mail.pica.nl
Whole thread Raw
Responses Re: ODBC driver chances function-call in a wrong way  (Hiroshi Inoue <inoue@tpf.co.jp>)
List pgsql-odbc

Hello,

 

I have the following problem:

 

 

I have a PG function in my database which looks like this:

 

CREATE OR REPLACE FUNCTION help_sel0(IN a int,IN b char(2),OUT master_fileset INT, OUT master_type CHAR(2), OUT highest_number INT) RETURNS RECORD AS

                        $function$

                        DECLARE

                         r RECORD;

                        BEGIN

                        SELECT INTO  r master_fileset,master_type,highest_number

                        FROM gen_master

                        WHERE master_fileset= a

                        AND   master_type= b;

                        master_fileset:=r.master_fileset;

                        master_type:=r.master_type;

                        highest_number:=r.highest_number;

                        END;

                        $function$ 

                          LANGUAGE plpgsql;

 

When I now want to send with my ODBC-programm the following prepared statement to the server

 {SELECT * FROM gen_master_sel0(?,?);} (with the parameters 10 and ‘S2’)

 the driver recognizes that I’m calling a “stored procedure”, but he doesn’t  notice the given parameter and changes the command to this

  SELECT * FROM gen_master_sel0( 10, E'S2');() .

 

Is this a bug in the recent driver (8.3.0400) which I’m using or has anybody any idea what I might have done wrong? I have to say this is the first time I’m working with Postgres so maybe my function is not ok?!

 

I’m very thankful for ideas and suggestions J

 

Thx, Ida

 

 

pgsql-odbc by date:

Previous
From: "Cornelio Royer"
Date:
Subject: Re: Postgresql and PowerBuilder
Next
From: "jurijs Nezencevs"
Date:
Subject: Re: ODBCNET