Thank you for the advice, unfortunately, that isn't an option, you see I didn't write the application and so cannot control the calls it makes. What I need is for PG to do as it's told!
I can only think of three solutions which I'd appreciate comments / advice on....
1) Hack PG Source and re-compile to make upper-case the default table name.
2) Hack the ODBC driver source to get it to always add quotes to table names.
3) Given that the statement seems to be looking for the table name in one of the system tables, put a trigger on that table to automatically convert any new additions to upper case.
Of the three, I suspect #3 would be the easiest, but would I screw up anything else? If anyone suggests #1 or #2 as the "best" alternative, then could they offer advice on how to proceed? (Actually advice on #3 would be welcome too....!)
As an aside, it would seem that from searching the web, this is a common problem. The "quote the names" solution just doesn't work for a lot of people. I would suggest that if PG is to be seen as a realistic migration path from other DB's, this really needs to be fixed by the developers.
Anyway, thanks again for the help so far - hopefully not much further to go!
Paul
>>> Shridhar Daithankar <shridhar@frodo.hserus.net> 25/02/2004 08:58:31 >>>
On Tuesday 24 February 2004 22:10, Paul Simpson wrote:
> Create Table TTATTASSOC (AssocId varchar(10), SetId varchar(10), SlotId
> int4)
> I have, therefore, come to the conclusion that the app requires table names
> in Upper case. How can I force this to work?
I believe postgresql is noisy about the case in tablename. In the create table
statement above if you want to preserve the case in tablename, you have to
quote it.
Try it and let us know. (This is out of memory so might need further tuning)
Now how to force you app. to do that remains altogether different question..
Shridhar