Thread: ODBC: OID column in views

ODBC: OID column in views

From
Dave Page
Date:
I've recently come across a couple of minor problems(?) in the ODBC driver:

1) When querying a view eg:

SELECT * FROM pg_tables;

the driver will always attempt (and fail) to retrieve the oid column thus
returning an ODBC call failed error. This occurs whether the 'Show OID
Column' is selected or not. I can see the obvious overhead in checking
whether or not a query is on a view or table - is the current behaviour the
best solution or is there another way around this (other than specifying
column names in queries)?

2) Under OID options, if you uncheck 'Show Column', the 'Fake Index' option
will correctly be greyed out. If it is ticked when it is greyed though, the
driver will still connect with: showoid='0',fakeoidindex='1'. Can this cause
any problems?

Regards,

Dave.

--
Dave Page, Network & Systems Manager, The Vale Housing Association Ltd.
dpage@vale-housing.co.uk
http://www.vale-housing.co.uk (Work)
http://www.pgadmin.freeserve.co.uk/ (Home of pgAdmin)
Beer can be a permanent solution - but only if you have enough of it!


Attachment

Re: [INTERFACES] ODBC: OID column in views

From
Byron Nikolaidis
Date:

Dave Page wrote:

> I've recently come across a couple of minor problems(?) in the ODBC driver:
>
> 1) When querying a view eg:
>
> SELECT * FROM pg_tables;
>
> the driver will always attempt (and fail) to retrieve the oid column thus
> returning an ODBC call failed error. This occurs whether the 'Show OID
> Column' is selected or not. I can see the obvious overhead in checking
> whether or not a query is on a view or table - is the current behaviour the
> best solution or is there another way around this (other than specifying
> column names in queries)?
>

I'm not sure what you mean by "the driver will always attempt to retrieve the oid
column"...  What is the driver doing?  If it is sending another query, could you show
me exactly what because its been a while since I looked at the code.


>
> 2) Under OID options, if you uncheck 'Show Column', the 'Fake Index' option
> will correctly be greyed out. If it is ticked when it is greyed though, the
> driver will still connect with: showoid='0',fakeoidindex='1'. Can this cause
> any problems?
>

I dont think so, but I'm not 100% sure.

Byron



Re: [INTERFACES] ODBC: OID column in views

From
José Soares
Date:
I have a problem similar about RowVersioning.
If I link a view with RowVersioning checked M$Access show the following message, when I
try to open the table:

--------------------------------------------------------------------------
Error while executing the query.
ERROR: system column xmin not available - table_name is a view (#1)
--------------------------------------------------------------------------

Dave Page ha scritto:

> I've recently come across a couple of minor problems(?) in the ODBC driver:
>
> 1) When querying a view eg:
>
> SELECT * FROM pg_tables;
>
> the driver will always attempt (and fail) to retrieve the oid column thus
> returning an ODBC call failed error. This occurs whether the 'Show OID
> Column' is selected or not. I can see the obvious overhead in checking
> whether or not a query is on a view or table - is the current behaviour the
> best solution or is there another way around this (other than specifying
> column names in queries)?
>
> 2) Under OID options, if you uncheck 'Show Column', the 'Fake Index' option
> will correctly be greyed out. If it is ticked when it is greyed though, the
> driver will still connect with: showoid='0',fakeoidindex='1'. Can this cause
> any problems?
>
> Regards,
>
> Dave.

--
______________________________________________________________
PostgreSQL 6.5.0 on i586-pc-linux-gnu, compiled by gcc 2.7.2.3
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jose'