Lists: | pgsql-odbc |
---|
From: | Bob Caryl <bob(at)fis-cal(dot)com> |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Ok... I got most of it working but . . . |
Date: | 2005-07-26 17:12:35 |
Message-ID: | 42E66F03.7010302@fis-cal.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-odbc |
I am using arrays of double precision numbers in certain columns in my
table. When I format the CString object (analogous to Glib::ustring
objects in the linux world) to update this column it looks like this:
"{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}"
However, when the odbc driver tries to update the new added record, I
get the following error message server side (and at my application):
ERROR: invalid input syntax for type double precision:
"{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}"
Evidently, the odbc driver is deciding to optimize my query perhaps?
What am I doing wrong this time?
Thanks,
Bob Caryl
From: | "Greg Campbell" <greg(dot)campbell(at)us(dot)michelin(dot)com> |
---|---|
To: | Bob Caryl <bob(at)fis-cal(dot)com> |
Cc: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: Ok... I got most of it working but . . . |
Date: | 2005-07-26 17:42:51 |
Message-ID: | 42E6761B.6020800@us.michelin.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-odbc |
Is that supposed to be an SQL string, like
"INSERT INTO my_table (field1, field2, field3, field3) VALUES
(0.00,0.00,0.00)"
parentheis -- not curly braces?
Bob Caryl wrote:
> I am using arrays of double precision numbers in certain columns in my
> table. When I format the CString object (analogous to Glib::ustring
> objects in the linux world) to update this column it looks like this:
>
>
> "{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}"
>
>
> However, when the odbc driver tries to update the new added record, I
> get the following error message server side (and at my application):
>
> ERROR: invalid input syntax for type double precision:
> "{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}"
>
> Evidently, the odbc driver is deciding to optimize my query perhaps?
> What am I doing wrong this time?
>
> Thanks,
>
> Bob Caryl
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
Attachment | Content-Type | Size |
---|---|---|
greg.campbell.vcf | text/x-vcard | 241 bytes |
From: | Bob Caryl <bob(at)fis-cal(dot)com> |
---|---|
To: | Greg Campbell <greg(dot)campbell(at)us(dot)michelin(dot)com> |
Cc: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: Ok... I got most of it working but . . . |
Date: | 2005-07-26 18:05:53 |
Message-ID: | 42E67B81.4040501@fis-cal.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-odbc |
Greg Campbell wrote:
> Is that supposed to be an SQL string, like
> "INSERT INTO my_table (field1, field2, field3, field3) VALUES
> (0.00,0.00,0.00)"
>
> parentheis -- not curly braces?
>
>
>
> Bob Caryl wrote:
>
>> I am using arrays of double precision numbers in certain columns in
>> my table. When I format the CString object (analogous to
>> Glib::ustring objects in the linux world) to update this column it
>> looks like this:
>>
>>
>> "{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}"
>>
>>
>> However, when the odbc driver tries to update the new added record, I
>> get the following error message server side (and at my application):
>>
>> ERROR: invalid input syntax for type double precision:
>> "{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}"
>>
>> Evidently, the odbc driver is deciding to optimize my query
>> perhaps? What am I doing wrong this time?
>>
>> Thanks,
>>
>> Bob Caryl
>>
>>
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 9: In versions below 8.0, the planner will ignore your desire to
>> choose an index scan if your joining column's datatypes do not
>> match
>
To quote the documentation on the use of arrays in postgresql tables:
"To INSERT values into an array, you enclose all the array elements in
single quotes and braces ({}) and separate multipl elements with a comma."
Hence, if I have an array of double precision numbers called
misctendamt, and I wanted to insert 16 zero values into that array the
INSERT statement would look like this:
"INSERT INTO my_table (misctendamt) VALUES
'{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}'"
Unfortunately when using a derived MFC CRecordset object, I do not
actually write queries. I have to use class members of my derived
CRecordset class that are actually variables corresponding to the
columns of my table. So, for the array of double precision numbers, I
populate the CString variable with the
"{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}"
data, and then the odbc driver is apparently optimizing it to read
"{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}" and it is that the postgresql
server is choking on. The server wants to see those decimal points!
Bob Caryl