From 1f04877186a944fd02844f35007c6f1d8022fa5f Mon Sep 17 00:00:00 2001 From: rylek Date: Mon, 21 Dec 2009 22:43:44 +0000 Subject: [PATCH] Minor fixes in Oracle schema metadata functions. git-svn-id: svn://ultimatepp.org/upp/trunk@1828 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Oracle/OraCommon.cpp | 7 ++++++- uppsrc/Sql/Sql.cpp | 6 +++++- uppsrc/TCore/SqlConsole.cfg | Bin 0 -> 1355 bytes 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 uppsrc/TCore/SqlConsole.cfg diff --git a/uppsrc/Oracle/OraCommon.cpp b/uppsrc/Oracle/OraCommon.cpp index 600259dbd..e2ac2179f 100644 --- a/uppsrc/Oracle/OraCommon.cpp +++ b/uppsrc/Oracle/OraCommon.cpp @@ -270,7 +270,12 @@ Vector OracleSchemaUsers(Sql& cursor) Vector OracleSchemaTables(Sql& cursor, String database) { Vector out; - if(Select(SqlId("TABLE_NAME")).From(SqlId("ALL_TABLES")).Where(SqlId("OWNER") == database).Execute(cursor)) + SqlSelect sel; + if(!IsNull(database)) + sel = Select(SqlId("TABLE_NAME")).From(SqlId("ALL_TABLES")).Where(SqlId("OWNER") == database); + else + sel = Select(SqlId("TABLE_NAME")).From(SqlId("USER_TABLES")); + if(sel.Execute(cursor)) out = FetchList(cursor); return out; } diff --git a/uppsrc/Sql/Sql.cpp b/uppsrc/Sql/Sql.cpp index 6b9e2e9d8..1405c80b4 100644 --- a/uppsrc/Sql/Sql.cpp +++ b/uppsrc/Sql/Sql.cpp @@ -645,7 +645,11 @@ Vector SqlSession::EnumColumns(String database, String table) Vector info; SqlBool none; none.SetFalse(); - if(cursor.Execute(Select(SqlAll()).From(SqlSet(SqlCol(database + '.' + table))).Where(none))) { + String full_name = database; + if(!IsNull(database)) + full_name << '.'; + full_name << table; + if(cursor.Execute(Select(SqlAll()).From(SqlSet(SqlCol(full_name))).Where(none))) { info.SetCount(cursor.GetColumns()); for(int i = 0; i < info.GetCount(); i++) info[i] = cursor.GetColumnInfo(i); diff --git a/uppsrc/TCore/SqlConsole.cfg b/uppsrc/TCore/SqlConsole.cfg new file mode 100644 index 0000000000000000000000000000000000000000..181f1a0fa125ef5cebd5978319343fe45e360042 GIT binary patch literal 1355 zcmcgsO;3YB6r75haPXujv&XUAjRZ07n_RZ=P_l`Yn8$m&SUl8-v}+0DIa z#+)xES42jsyH8cAI^myW4O#1yvy4lk5@P$@L%sFiW$&QN>RHoY*<7SDIvN=r`q^y! zWY=Wm+T#+XJ_|KwwVJg$PsIOxrv`ItI@d*S6i@Y+Of={1d{jOXA0%`_KqvT&Hsb7L zE)r(7r@U#?#ST3o?$al)!