From: <car...@us...> - 2006-04-11 12:05:57
|
Revision: 88 Author: carlosga_fb Date: 2006-04-11 05:05:45 -0700 (Tue, 11 Apr 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=88&view=rev Log Message: ----------- ?\194?\183 Fixed bug on relkind handling Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs 2006-04-11 12:05:09 UTC (rev 87) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs 2006-04-11 12:05:45 UTC (rev 88) @@ -25,28 +25,27 @@ protected override string BuildSql(string[] restrictions) { - string sql = - "SELECT " + + string sql = + "SELECT " + "current_database() AS TABLE_CATALOG, " + - "pg_namespace.nspname AS TABLE_SCHEMA, " + - "pg_class.relname AS TABLE_NAME, " + - "case pg_class.relkind " + - "when 'r' THEN 'TABLE' " + - "when 'v' THEN 'VIEW' " + - "END AS TABLE_TYPE, " + - "pg_class.relhasindex AS HAS_INDEXES, " + - "pg_class.relisshared AS IS_SHARED, " + - "pg_class.relchecks AS CONSTRAINT_COUNT, " + - "pg_class.reltriggers AS TRIGGER_COUNT, " + - "pg_class.relhaspkey AS HAS_PRIMARY_KEY, " + - "pg_class.relhasrules AS HAS_RULES, " + - "pg_class.relhassubclass AS HAS_SUBCLASS, " + - "pg_description.description AS DESCRIPTION "+ - "FROM pg_class " + - "left join pg_namespace ON pg_class.relnamespace = pg_namespace.oid " + - "left join pg_description ON pg_class.oid = pg_description.objoid " + - "WHERE pg_class.relkind = 'r' "; - + "pg_namespace.nspname AS TABLE_SCHEMA, " + + "pg_class.relname AS TABLE_NAME, " + + "case pg_class.relkind " + + "when 'r' THEN 'TABLE' " + + "when 'v' THEN 'VIEW' " + + "END AS TABLE_TYPE, " + + "pg_class.relhasindex AS HAS_INDEXES, " + + "pg_class.relisshared AS IS_SHARED, " + + "pg_class.relchecks AS CONSTRAINT_COUNT, " + + "pg_class.reltriggers AS TRIGGER_COUNT, " + + "pg_class.relhaspkey AS HAS_PRIMARY_KEY, " + + "pg_class.relhasrules AS HAS_RULES, " + + "pg_class.relhassubclass AS HAS_SUBCLASS, " + + "pg_description.description AS DESCRIPTION " + + "FROM pg_class " + + "left join pg_namespace ON pg_class.relnamespace = pg_namespace.oid " + + "left join pg_description ON pg_class.oid = pg_description.objoid "; + if (restrictions != null && restrictions.Length > 0) { // TABLE_CATALOG @@ -73,6 +72,11 @@ } } + if (restrictions.Length < 4 || restrictions[3] == null) + { + sql += "WHERE pg_class.relkind = 'r' "; + } + sql += " ORDER BY pg_class.relkind, pg_namespace.nspname, pg_class.relname"; return sql; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |