Re: problems with sqlsetpos -->having odbc intercept alter command - Mailing list pgsql-odbc

From Dave Page
Subject Re: problems with sqlsetpos -->having odbc intercept alter command
Date
Msg-id 03AF4E498C591348A42FC93DEA9661B8259F40@mail.vale-housing.co.uk
Whole thread Raw
Responses SQLColumns, SQLTables where fails depending on row cache size
List pgsql-odbc
 
-----Original Message-----
From: Hollysugar Webmaster [mailto:webmaster@hollysugar.com]
Sent: 09 April 2003 17:02
To: Dave Page
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] problems with sqlsetpos -->having odbc intercept alter command

Dave,
 
For the moment we have given up on syncing the SyWare product with PostgreSql. We are now shifting our focus to using Microsoft's active sync as a method of syncing to the PostgreSql database. Either of these methods will allow us to communicate and sync with the GIS application we have running on the PDA.
 
With the active sync connection we are also running into a problem. Active sync is sending the command " Alter table "MSysCeCmobile2" add "ConflictID" integer IDENTITY" which then results in a parse error. I have written the equivalent alter table/column commands setting the column to a serial but I do not know how to intercept the original alter command with my group of commands? 
 
If that's what Activesync sends, then I don't see how you can intercept it short of hacking the driver or the PostgreSQL parser. 
 
I tried to create a function which I was going to invoke with a rule but setting the default value for the sequence caused an error in the function 'ERROR: Attribute "conflict_id_id" not found'. conflict_id_id is the name of the sequence I created. This is the line of code I used:
 
 ' ALTER TABLE "MSysCeCmobile2" ALTER "ConflictID" SET DEFAULT nextval("conflict_id_id");'
 
When I used single quotes within the nextval function I would get a parse error. 
 
Try doing it in pgAdmin with SQL logging turned on and see what it does. It's almost certainly single quotes though. 
 
Even if I were to get this function to work correctly it does not appear that PostgreSql has support for a rule on ALTER. Which leads me back to intercepting the ALTER command with the ODBC driver and replacing it with my own ALTER commands. 
 
No, there is no support for rules on ALTER that I'm aware of. If I get time tomorrow I'll look at activesync (no promises). We have about 20 pocket PCs in the field running a PostgreSQL based application. The only difference here is that the data is downloaded and prepared in a local Access database which is then transferred to the ppc. 
 
Regards, Dave.

pgsql-odbc by date:

Previous
From: "shannic"
Date:
Subject: Prb. in storing binary data.
Next
From: "Wayne Armstrong"
Date:
Subject: SQLColumns, SQLTables where fails depending on row cache size