Обсуждение: Schema support
There have been a couple of reports that psqlODBC does not support
schemas. This is not strictly true, it actually has full support for
schemas, however, SQLTables honours the search_path variable on the
server and hides objects in schemas that are not visible.
I'm not convinced this is the correct behaviour - SQLTables should show
everything afaict, unless a parameter is passed to it to filter the
output. The micro-patch below corrects this - however I'm not 100% sure
there won't be any side effects I haven't thought of. I'd appreciate it
if I could get some feedback.
Thanks Dave.
Index: info.c
===================================================================
RCS file: /usr/local/cvsroot/psqlodbc/psqlodbc/info.c,v
retrieving revision 1.114
diff -u -r1.114 info.c
--- info.c 26 Jul 2004 14:10:37 -0000 1.114
+++ info.c 4 Oct 2004 20:59:31 -0000
@@ -1284,7 +1284,6 @@
if (conn->schema_support)
{
schema_strcat1(tables_query, " and nspname %s '%.*s'",
likeeq, szSchemaName, cbSchemaName, szTableName, cbTableName, conn);
- strcat(tables_query, " and
pg_catalog.pg_table_is_visible(c.oid)");
}
else
my_strcat1(tables_query, " and usename %s '%.*s'",
likeeq, szSchemaName, cbSchemaName);
Hi Dave,
I just started using the PG odbc driver with access and I noticed that the only schema that would show up was public, even though I had added several of my own that are visible.
The only way I could get it to work was with the searchpath, and that does not seem to me how it should work.
The search path is a marginal solution because if you add new schemas you have to update every single DSN with the new search path, this can be alleviated some by using a file DSN but it is still a huge PITA.
I was using the stable version from Nov 2003
Thanks,
Tony Caduto
Senior Programmer/Analyst
M&I Trust and Investment Management
| "Dave Page" <dpage@vale-housing.co.uk> Sent by: pgsql-odbc-owner@postgresql.org 10/04/2004 04:15 PM |
|
There have been a couple of reports that psqlODBC does not support
schemas. This is not strictly true, it actually has full support for
schemas, however, SQLTables honours the search_path variable on the
server and hides objects in schemas that are not visible.
I'm not convinced this is the correct behaviour - SQLTables should show
everything afaict, unless a parameter is passed to it to filter the
output. The micro-patch below corrects this - however I'm not 100% sure
there won't be any side effects I haven't thought of. I'd appreciate it
if I could get some feedback.
Thanks Dave.
Index: info.c
===================================================================
RCS file: /usr/local/cvsroot/psqlodbc/psqlodbc/info.c,v
retrieving revision 1.114
diff -u -r1.114 info.c
--- info.c 26 Jul 2004 14:10:37 -0000 1.114
+++ info.c 4 Oct 2004 20:59:31 -0000
@@ -1284,7 +1284,6 @@
if (conn->schema_support)
{
schema_strcat1(tables_query, " and nspname %s '%.*s'",
likeeq, szSchemaName, cbSchemaName, szTableName, cbTableName, conn);
- strcat(tables_query, " and
pg_catalog.pg_table_is_visible(c.oid)");
}
else
my_strcat1(tables_query, " and usename %s '%.*s'",
likeeq, szSchemaName, cbSchemaName);
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
Hi,
I just installed the latest snapshot on my PC where I have my Access test databases and now when I do a linked table I don't get anything back without a searchpath.
before I would at least get public.
Thanks,
Tony Caduto
Senior Programmer/Analyst
M&I Trust and Investment Management
| anthony.caduto@micorp.com Sent by: pgsql-odbc-owner@postgresql.org 10/04/2004 04:35 PM |
|
Hi Dave,
I just started using the PG odbc driver with access and I noticed that the only schema that would show up was public, even though I had added several of my own that are visible.
The only way I could get it to work was with the searchpath, and that does not seem to me how it should work.
The search path is a marginal solution because if you add new schemas you have to update every single DSN with the new search path, this can be alleviated some by using a file DSN but it is still a huge PITA.
I was using the stable version from Nov 2003
Thanks,
Tony Caduto
Senior Programmer/Analyst
M&I Trust and Investment Management
| "Dave Page" <dpage@vale-housing.co.uk> Sent by: pgsql-odbc-owner@postgresql.org 10/04/2004 04:15 PM |
|
There have been a couple of reports that psqlODBC does not support
schemas. This is not strictly true, it actually has full support for
schemas, however, SQLTables honours the search_path variable on the
server and hides objects in schemas that are not visible.
I'm not convinced this is the correct behaviour - SQLTables should show
everything afaict, unless a parameter is passed to it to filter the
output. The micro-patch below corrects this - however I'm not 100% sure
there won't be any side effects I haven't thought of. I'd appreciate it
if I could get some feedback.
Thanks Dave.
Index: info.c
===================================================================
RCS file: /usr/local/cvsroot/psqlodbc/psqlodbc/info.c,v
retrieving revision 1.114
diff -u -r1.114 info.c
--- info.c 26 Jul 2004 14:10:37 -0000 1.114
+++ info.c 4 Oct 2004 20:59:31 -0000
@@ -1284,7 +1284,6 @@
if (conn->schema_support)
{
schema_strcat1(tables_query, " and nspname %s '%.*s'",
likeeq, szSchemaName, cbSchemaName, szTableName, cbTableName, conn);
- strcat(tables_query, " and
pg_catalog.pg_table_is_visible(c.oid)");
}
else
my_strcat1(tables_query, " and usename %s '%.*s'",
likeeq, szSchemaName, cbSchemaName);
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
Patch applied.
> -----Original Message-----
> From: pgsql-odbc-owner@postgresql.org
> [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Dave Page
> Sent: 04 October 2004 22:16
> To: pgsql-odbc@postgresql.org
> Subject: [ODBC] Schema support
>
> There have been a couple of reports that psqlODBC does not
> support schemas. This is not strictly true, it actually has
> full support for schemas, however, SQLTables honours the
> search_path variable on the server and hides objects in
> schemas that are not visible.
>
> I'm not convinced this is the correct behaviour - SQLTables
> should show everything afaict, unless a parameter is passed
> to it to filter the output. The micro-patch below corrects
> this - however I'm not 100% sure there won't be any side
> effects I haven't thought of. I'd appreciate it if I could
> get some feedback.
>
> Thanks Dave.
>
> Index: info.c
> ===================================================================
> RCS file: /usr/local/cvsroot/psqlodbc/psqlodbc/info.c,v
> retrieving revision 1.114
> diff -u -r1.114 info.c
> --- info.c 26 Jul 2004 14:10:37 -0000 1.114
> +++ info.c 4 Oct 2004 20:59:31 -0000
> @@ -1284,7 +1284,6 @@
> if (conn->schema_support)
> {
> schema_strcat1(tables_query, " and nspname %s
> '%.*s'", likeeq, szSchemaName, cbSchemaName, szTableName,
> cbTableName, conn);
> - strcat(tables_query, " and
> pg_catalog.pg_table_is_visible(c.oid)");
> }
> else
> my_strcat1(tables_query, " and usename %s
> '%.*s'", likeeq, szSchemaName, cbSchemaName);
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>