Re: psqlodbc - SysTAble Prefixes issue

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: brajmohan saxena <braj(dot)saxena(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: psqlodbc - SysTAble Prefixes issue
Date: 2016-10-12 07:41:09
Message-ID: 9bf2ece5-6b10-68aa-c014-0f5c0e5f0528@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

On 10/10/2016 01:12 PM, brajmohan saxena wrote:
> Hi,
>
> While using the Windows psqlodbc driver, I found there is one ODBC
> configuration parameter *"SysTable Prefixes"* set by default to "dd_".
>
> So when I try to use *SQLTables* ODBC call to get the user defined tables
> which is created with prefixed "dd_" I am able to get the tables with
> psqlodbc-9.3.4 but this is not the case if I use the psqlodbc-9.5.4 Driver.
> If i remove "dd_" from SysTable Prefixes config parameter it gives me the
> tables which are prefixed with "dd_" for psqlodbc-9.5.4.

The default systable prefix is indeed "dd_". Why? I don't know. Looking
at the git history, that goes all the way back to the first commit that
added the very first version of the driver, in 1998.

In the beginning, the code looked like this:

/* These prefixes denote system tables */
#define INSIGHT_SYS_PREFIX "dd_"
#define POSTGRES_SYS_PREFIX "pg_"
#define KEYS_TABLE "dd_fkey"

Back in the day, the driver was overhauled and maintained by a company
called Insight Distribution Systems (now defunct, AFAIK). So I'm
guessing that the early versions of the driver added some tables or
views, and they had the prefix "dd_".

I think we should remove the dd_ prefix from the default. Whatever it
was originally used for, it's clearly obsolete at this point.

Meanwhile, you can just remove it from your ODBC configuration.

- Heikki

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Shinji Mecha 2016-10-12 13:46:05 Bug report
Previous Message brajmohan saxena 2016-10-10 10:12:13 psqlodbc - SysTAble Prefixes issue