Re: [INTERFACES] Foreign Keys - Mailing list pgsql-interfaces

From Valerio Santinelli
Subject Re: [INTERFACES] Foreign Keys
Date
Msg-id 36DE7632.F0CFF0AC@mediacom.it
Whole thread Raw
In response to RE: [INTERFACES] Foreign Keys  (Michael Davis <michael.davis@prevuenet.com>)
List pgsql-interfaces

jose' soares wrote:

> > Valerio Santinelli ha scritto:
> >
> > > Byron Nikolaidis wrote:
> > >
> > > > Michael Davis wrote:
> > > >
> > > > > Here is the psqlodbc.log file.  The first time the form opens, it correctly
> > > > > opens the first rentalorder.  I immediately moved to the new record in
> > > > > Access which opens a message box with an ODBC error (no description).  I the
> > > > > blank rental order looks okay but the rental order lines records all have
> > > > > errors.  Even if I move back to a valid record, the order lines will show
> > > > > only errors.
> > > > >
> > > > The second problem is this:
> > > >
> > > > conn=153237224, query='SELECT "RentalOrders"."rentalorderlinesid" FROM "rentalorderlines"
> > > > "RentalOrders" WHERE ("rentalorderid" =  NULL ) '
> > > > ERROR from backend during send_query: 'ERROR:  parser: parse error at or near "null"'
> > > > STATEMENT ERROR: func=SC_execute, desc='', errnum=1, errmsg='Error while executing the query'
> > > >
> > > > Since postgres will not recognize the syntax (where 'col' = null)...  it only recognizes
> > > > "isnull".  I was hoping someone would have added the ability for the parser to handle this at
> > > > some point (Hey Dave, maybe you could contribute something here man :-).
> > >
> > > The second problem is affecting my system as well.. do you think that there's a way around it without waiting for
someoneto patch the PostgreSQL code ? 
> > >
> > > --
> > >
> > >
> > > Valerio Santinelli a.k.a. TANiS
> > > [tanis@mediacom.it]+:+[http://www.mediacom.it/~tanis]
> >
> > When I started to use Access97 with PostgreSQL I had this problem too and I made a change to
./src/backend/parser/gram.y
> > to make Access recognize the syntax  "column_name" = NULL and it works fine now.
> > Here attached the patch to gram.y.
> >
> > Buona fortuna.
> >
> > -Jose'-
> > "No other success in life can compensate for failure in the home" (David O. McKay)
>
> Sorry, I forgot attachment.
> -Jose'-
>
>   ------------------------------------------------------------------------
> *** ./src/backend/parser/gram.old.y     Wed Mar  3 15:03:27 1999
> --- ./src/backend/parser/gram.y Wed Dec  2 12:54:12 1998
> ***************
> *** 3323,3328 ****
> --- 3323,3330 ----
>                                 {       $$ = makeA_Expr(OP, "<", $1, $3); }
>                 | a_expr '>' a_expr
>                                 {       $$ = makeA_Expr(OP, ">", $1, $3); }
> +               | a_expr '=' NULL_P
> +                               {       $$ = makeA_Expr(ISNULL, NULL, $1, NULL); }
>                 | a_expr '=' a_expr
>                                 {       $$ = makeA_Expr(OP, "=", $1, $3); }
>                 | ':' a_expr

Thanks. That was what i was looking for. It's been real useful!
I also put this other line to handle the inverse case (NULL = field)

               | NULL_P '=' a_expr
                               {       $$ = makeA_Expr(ISNULL, NULL, $3, NULL);


--

C'ya!

Valerio Santinelli a.k.a. TANiS
[tanis@mediacom.it]+:+[http://www.mediacom.it/~tanis]



pgsql-interfaces by date:

Previous
From: "Gregory W Burnham"
Date:
Subject: Broken Pipe
Next
From: "V. A."
Date:
Subject: libpq++ - copy - default values