Обсуждение: bug in getTime after insertRow with postgresql-8.1-404.jdbc3.jar
hi,
I suspect, I bumpt into a bug with insertRow.
Here is my java code:
-------------------------------snipp-------------------------------
System.out.println("millisec before
update:"+((java.sql.Time)rs.getTime(dbAttribute)).getTime());
rs.updateTime(dbAttribute, new java.sql.Time( (
(java.util.Date)this.theValue).getTime()));
System.out.println("millisec after
update:"+((java.sql.Time)rs.getTime(dbAttribute)).getTime());
..
..
..
System.out.println("millisec before
insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
this.db.rs.insertRow(); //write the actual insert row to table
System.out.println("millisec after
insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
-------------------------------snipp-------------------------------
the output is
-------------------------------snipp-------------------------------
millisec before update:60000
millisec after update:60000
millisec before insertRow:60000
millisec after insertRow:3660000
-------------------------------snipp-------------------------------
what indicates that after the insertRow my timezone is added CET -> one
hour more -> 3600000 msec
if I use postgresql-8.0-314.jdbc3.jar
it behaves normal ->
-------------------------------snipp-------------------------------
millisec before update:60000
millisec after update:60000
millisec before insertRow:60000
millisec after insertRow:60000
-------------------------------snipp-------------------------------
thanks for any help
hpb
Funny! If I use
postgresql-8.0-314.jdbc3.jar
it works fine
if I use
postgresql-8.1-404.jdbc3.jar
it shows this error.
May be that there is another issue than the driver ??????
hpb
Pradeep Sharma schrieb:
> Which driver you are currently using. I found the same issue with
> postgresql-8.0-314.jdbc3.jar
>
> After that I am using the latest driver from postgres site, and it seems
> to be working fine.
>
> One thing is sure it is a problem with the driver.
>
> Pradeep
>
> On 1/5/06, *hpb@htl-steyr.ac.at <mailto:hpb@htl-steyr.ac.at>*
> <hpb@htl-steyr.ac.at <mailto:hpb@htl-steyr.ac.at>> wrote:
>
> hi,
>
> I suspect, I bumpt into a bug with insertRow.
>
> Here is my java code:
>
> -------------------------------snipp-------------------------------
> System.out.println("millisec before
> update:"+((java.sql.Time)rs.getTime(dbAttribute)).getTime());
>
> rs.updateTime(dbAttribute, new java.sql.Time( (
> (java.util.Date)this.theValue).getTime()));
>
> System.out.println("millisec after
> update:"+((java.sql.Time)rs.getTime(dbAttribute)).getTime());
>
> ..
> ..
> ..
>
>
> System.out.println ("millisec before
> insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
>
> this.db.rs.insertRow(); //write the actual insert row to table
>
> System.out.println("millisec after
> insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
> -------------------------------snipp-------------------------------
>
> the output is
>
> -------------------------------snipp-------------------------------
> millisec before update:60000
> millisec after update:60000
> millisec before insertRow:60000
> millisec after insertRow:3660000
> -------------------------------snipp-------------------------------
>
> what indicates that after the insertRow my timezone is added CET -> one
> hour more -> 3600000 msec
> if I use postgresql-8.0-314.jdbc3.jar
> it behaves normal ->
>
> -------------------------------snipp-------------------------------
> millisec before update:60000
> millisec after update:60000
> millisec before insertRow:60000
> millisec after insertRow:60000
> -------------------------------snipp-------------------------------
>
> thanks for any help
>
> hpb
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org
> <mailto:majordomo@postgresql.org> so that your
> message can get through to the mailing list cleanly
>
>
>
>
> --
> Pradeep Sharma
> In2M Corporation,
> Mumbai
> Mob.- +91-9892853803
hpb@htl-steyr.ac.at wrote:
> System.out.println("millisec before
> insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
>
> this.db.rs.insertRow(); //write the actual insert row to table
>
> System.out.println("millisec after
> insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
Is the data actually inserted to the database correctly?
If you re-query it via a different resultset, is it correct?
(IIRC, insertRow() directly updates the Java-side resultset without
requerying the DB, which is why I ask -- I suspect there will be a bug
in that update code)
-O
The data is inserted in the database correctly!
I was thinking about a workaround by doing another select. I didn't I
posted in the newsgroup ;-)
hpb
Oliver Jowett schrieb:
> hpb@htl-steyr.ac.at wrote:
>
>> System.out.println("millisec before
>> insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
>>
>> this.db.rs.insertRow(); //write the actual insert row to table
>>
>> System.out.println("millisec after
>> insertRow:"+((java.sql.Time)this.db.rs.getTime("ist_von")).getTime());
>
>
> Is the data actually inserted to the database correctly?
>
> If you re-query it via a different resultset, is it correct?
>
> (IIRC, insertRow() directly updates the Java-side resultset without
> requerying the DB, which is why I ask -- I suspect there will be a bug
> in that update code)
>
> -O