Обсуждение: Re: [INTERFACES] BIT type still not working

Поиск
Список
Период
Сортировка

Re: [INTERFACES] BIT type still not working

От
Bruce Momjian
Дата:
Anyone want to address this?

[ Charset ISO-8859-1 unsupported, converting... ]
> Is this true. If so, is there anytime schedule for a fix?
>
> Thanks, Ian
>
> Dan,
>
> I really think there is something wrong with the boolean (bit) type setting
> within the PostgreSQL JDBC driver. After checking w/ news groups and
> receiving one answer below, I think the only way I can accomplish what I
> need to is to go to postresql itself. Do you have any ideas?
>
> Hi Joe,
>
> I appreciate your response. I put in a workaround if I'm dealing with
> postgresql like the following:
>
>
> if (value instanceof Boolean &&
> getType().equals(PersistentStore.PostgreSQL))
>     {
> Trace.println("Setting Boolean value for "+objAttr.getName()+"="+value);
> preparedStatement.setBoolean(i, ((Boolean)value).booleanValue());
>     }
> else
>     {
> preparedStatement.setObject(i, value);
>     }
>
> and saw the output:
>
> ..
> SQL: insert into Car (License,Color,Logo,Sunroof) values (?,?,?,?)
> Setting Boolean value for Sunroof=false
> ..
>
> with exactly the same problem, so calling setBoolean didn't work either. Do
> you have any suggestions on how to get in touch with the appropriate
> PostgreSQL people?
> Thanks, Ian
>
> -----Original Message-----
> From:    Joe Weinstein [mailto:joe@bea.com]
> Sent:    Monday, January 08, 2001 5:31 PM
> To:    Ian deSouza
> Subject:    Re: org.postgresql.Driver Problem?
>
>
>
> Ian deSouza wrote:
>
> Sorry, the value was equals to true when I get zpbit_in: t is not a valid
> bitstring and when value
> is false I get
> zpbit_in: f is not a valid bitstring .
>
> Hi Ian.
> You shouldn't use setObject() unless you are sending
> the driver a Driver-understandable java.sql Object.
> In this case, you should probably just use setBoolean().
>
>
>
>


--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [INTERFACES] BIT type still not working

От
Barry Lind
Дата:
Can't reproduce the problem with current sources.

I could successfully insert and select a boolean type to/from the
database using:

PreparedStatement.setBoolean(), ResultSet.getBoolean()
as well as
PreparedStatement.setObject(), ResultSet.getObject()

It therefore appears that this is no longer a problem.

thanks,
--Barry

Bruce Momjian wrote:
>
> Anyone want to address this?
>
> [ Charset ISO-8859-1 unsupported, converting... ]
> > Is this true. If so, is there anytime schedule for a fix?
> >
> > Thanks, Ian
> >
> > Dan,
> >
> > I really think there is something wrong with the boolean (bit) type setting
> > within the PostgreSQL JDBC driver. After checking w/ news groups and
> > receiving one answer below, I think the only way I can accomplish what I
> > need to is to go to postresql itself. Do you have any ideas?
> >
> > Hi Joe,
> >
> > I appreciate your response. I put in a workaround if I'm dealing with
> > postgresql like the following:
> >
> >
> > if (value instanceof Boolean &&
> > getType().equals(PersistentStore.PostgreSQL))
> >     {
> > Trace.println("Setting Boolean value for "+objAttr.getName()+"="+value);
> > preparedStatement.setBoolean(i, ((Boolean)value).booleanValue());
> >     }
> > else
> >     {
> > preparedStatement.setObject(i, value);
> >     }
> >
> > and saw the output:
> >
> > ..
> > SQL: insert into Car (License,Color,Logo,Sunroof) values (?,?,?,?)
> > Setting Boolean value for Sunroof=false
> > ..
> >
> > with exactly the same problem, so calling setBoolean didn't work either. Do
> > you have any suggestions on how to get in touch with the appropriate
> > PostgreSQL people?
> > Thanks, Ian
> >
> > -----Original Message-----
> > From: Joe Weinstein [mailto:joe@bea.com]
> > Sent: Monday, January 08, 2001 5:31 PM
> > To:   Ian deSouza
> > Subject:      Re: org.postgresql.Driver Problem?
> >
> >
> >
> > Ian deSouza wrote:
> >
> > Sorry, the value was equals to true when I get zpbit_in: t is not a valid
> > bitstring and when value
> > is false I get
> > zpbit_in: f is not a valid bitstring .
> >
> > Hi Ian.
> > You shouldn't use setObject() unless you are sending
> > the driver a Driver-understandable java.sql Object.
> > In this case, you should probably just use setBoolean().
> >
> >
> >
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: Re: [INTERFACES] BIT type still not working

От
Peter T Mount
Дата:
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:

>
> Anyone want to address this?

Added to the top of the list for Saturday. After looking at it, there's a
couple of bits in the code I'm a bit suspicious of (with Boolean's).

Peter

>
> [ Charset ISO-8859-1 unsupported, converting... ]
> > Is this true. If so, is there anytime schedule for a fix?
> >
> > Thanks, Ian
> >
> > Dan,
> >
> > I really think there is something wrong with the boolean (bit) type
> setting
> > within the PostgreSQL JDBC driver. After checking w/ news groups and
> > receiving one answer below, I think the only way I can accomplish what
> I
> > need to is to go to postresql itself. Do you have any ideas?
> >
> > Hi Joe,
> >
> > I appreciate your response. I put in a workaround if I'm dealing with
> > postgresql like the following:
> >
> >
> > if (value instanceof Boolean &&
> > getType().equals(PersistentStore.PostgreSQL))
> >     {
> > Trace.println("Setting Boolean value for
> "+objAttr.getName()+"="+value);
> > preparedStatement.setBoolean(i, ((Boolean)value).booleanValue());
> >     }
> > else
> >     {
> > preparedStatement.setObject(i, value);
> >     }
> >
> > and saw the output:
> >
> > ..
> > SQL: insert into Car (License,Color,Logo,Sunroof) values (?,?,?,?)
> > Setting Boolean value for Sunroof=false
> > ..
> >
> > with exactly the same problem, so calling setBoolean didn't work
> either. Do
> > you have any suggestions on how to get in touch with the appropriate
> > PostgreSQL people?
> > Thanks, Ian
> >
> > -----Original Message-----
> > From:    Joe Weinstein [mailto:joe@bea.com]
> > Sent:    Monday, January 08, 2001 5:31 PM
> > To:    Ian deSouza
> > Subject:    Re: org.postgresql.Driver Problem?
> >
> >
> >
> > Ian deSouza wrote:
> >
> > Sorry, the value was equals to true when I get zpbit_in: t is not a
> valid
> > bitstring and when value
> > is false I get
> > zpbit_in: f is not a valid bitstring .
> >
> > Hi Ian.
> > You shouldn't use setObject() unless you are sending
> > the driver a Driver-understandable java.sql Object.
> > In this case, you should probably just use setBoolean().
> >
> >
> >
> >
>
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania
> 19026
>



--
Peter Mount peter@retep.org.uk
PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/