Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: [Q] specifying bigint


  • From: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
  • To: V S P <toreason(at)fastmail(dot)fm>
  • Cc: pgsql-odbc(at)postgresql(dot)org
  • Subject: Re: [Q] specifying bigint
  • Date: Sat, 28 Mar 2009 20:26:05 +0900
  • Message-id: <49CE094D.9050405@tpf.co.jp> <text/plain>

V S P wrote:
HI,
I did some more tracing, and it looks like the data is sent to ODBC
correctly  (bigint, char, bigint)
and it is somewhere within ODBC driver or after, bigints are converted
to strings
Wanted to ask if there is may be a workaround of some sort to keep
bigints
as number not strings

here is the ODBC trace of the offending update (Ascii driver on windows)
the bigint appear to be 'announced' as bigints (prb_bigint is my program name)

The error indicates, however that somewhere bigint is converted to a
string
in 'f3=t.f3"

	DIAG [42883] ERROR: operator does not exist: bigint = text;
Error while executing the query (7)

------------------------
prb_bigint d98-110 ENTER SQLPrepare HSTMT 00921C28
		UCHAR *             0x009078F0 [      -3] "UPDATE test_tab SET f2= t.f2,f3=t.f3 from(VALUES( ?          , ?            , ?          ))as t(f1,f2,f3) WHERE test_tab.f1=t.f1\ 0"
		SDWORD                    -3

How about
  UPDATE test_tab SET f2=t.f2, f3=t.f3 from (VALUES (?::bigint, ?,
  ?::bigint)) as t(f1,f2,f3) WHERE test_tab.f1=t.f1
?

regards,
Hiroshi Inoue



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group