[
https://issues.apache.org/jira/browse/TRAFODION-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15311194#comment-15311194
]
ASF GitHub Bot commented on TRAFODION-1684:
-------------------------------------------
Github user DaveBirdsall commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/513#discussion_r65448987
--- Diff: core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp ---
@@ -4811,6 +4811,64 @@ odbc_SQLSvc_GetSQLCatalogs_sme_(
break;
+ case SQL_API_SQLSTATISTICS:
+ if (!checkIfWildCard(catalogNm, catalogNmNoEsc) && !metadataId)
+ {
+ exception_->exception_nr =
odbc_SQLSvc_GetSQLCatalogs_ParamError_exn_;
+ exception_->u.ParamError.ParamDesc =
SQLSVC_EXCEPTION_WILDCARD_NOT_SUPPORTED;
+ }
+ if (tableNm[0] != '$' && tableNm[0] != '\\')
+ {
+ if (strcmp(catalogNm, "") == 0)
+ strcpy(tableName1, SEABASE_MD_CATALOG);
+ else
+ strcpy(tableName1, catalogNm);
+ }
+
+ tableParam[0] = tableName1;
+ convertWildcard(metadataId, TRUE, schemaNm, expSchemaNm);
+ convertWildcardNoEsc(metadataId, TRUE, schemaNm,
schemaNmNoEsc);
+ convertWildcard(metadataId, TRUE, tableNm, expTableNm);
+ convertWildcardNoEsc(metadataId, TRUE, tableNmNoEsc,
tableNmNoEsc);
+ inputParam[0] = schemaNmNoEsc;
+ inputParam[1] = expSchemaNm;
+ inputParam[2] = tableNmNoEsc;
+ inputParam[3] = expTableNm;
+
+ snprintf(CatalogQuery, sizeof(CatalogQuery),
+ "select "
+ "cast('%s' as varchar(128)) TABLE_CAT, "
+ "cast(trim(ob.SCHEMA_NAME) as varchar(128))
TABLE_SCHEM, "
+ "cast(trim(ob.OBJECT_NAME) as varchar(128))
TABLE_NAME, "
+ "cast(0 as smallint) NON_UNIQUE, " // not support
+ "cast('' as varchar(128)) INDEX_QUALIFIER, " // not
support
+ "cast('' as varchar(128)) INDEX_NAME, "
+ "cast(0 as smallint) TYPE, " // not support
+ "cast((case when (trim(co.COLUMN_CLASS) <> 'S') then
co.column_number+1 else "
+ "co.column_number end) as smallint)
ORDINAL_POSITION, "
+ "cast(trim(co.COLUMN_NAME) as varchar(128))
COLUMN_NAME, "
+ "cast('' as char(1)) ASC_OR_DES, "
+ "cast(sb.rowcount as integer) CARDINALITY, "
+ "cast(0 as integer) PAGES, " // not support
+ "cast('' as varchar(128)) FILTER_CONDITION " // not
support
+ "from "
+ "TRAFODION.\"_MD_\".OBJECTS ob, "
+ "TRAFODION.\"_MD_\".COLUMNS co, "
+ "TRAFODION.%s.sb_histograms sb "
+ "where "
+ "ob.OBJECT_UID = co.OBJECT_UID "
+ "and co.COLUMN_NUMBER = sb.COLUMN_NUMBER "
+ "and (ob.SCHEMA_NAME = '%s' or trim(ob.SCHEMA_NAME)
LIKE '%s' ESCAPE '\\') "
+ "and (ob.OBJECT_NAME = '%s' or trim(ob.OBJECT_NAME)
LIKE '%s' ESCAPE '\\') "
+ "and (ob.OBJECT_TYPE in ('BT', 'VI')) "
+ "and (trim(co.COLUMN_CLASS) not in('S', 'M'));",
--- End diff --
Earlier in the query there is a CASE expression on co.COLUMN_CLASS that
looks for 'S'. However, here we've eliminated rows with 'S'. So, that CASE
expression seems not to be needed.
> ODBC: trafodion doesn't support API SQLStatistics
> -------------------------------------------------
>
> Key: TRAFODION-1684
> URL: https://issues.apache.org/jira/browse/TRAFODION-1684
> Project: Apache Trafodion
> Issue Type: Improvement
> Components: connectivity-dcs
> Affects Versions: 1.0 (pre-incubation), 2.0-incubating
> Environment: client os: window7,windows8,linux(centos6.7, suse11)
> Reporter: Gao, Rui-Xian
> Assignee: RuoYu Zuo
>
> Test code--
> FullConnect
> SQLAllocStmt((SQLHANDLE)hdbc, &hstmt);
> SQLExecDirect(hstmt,(SQLTCHAR*)CreateTbl[t],SQL_NTS);
> SQLExecDirect(hstmt,(SQLTCHAR*)CreateIdx,SQL_NTS);
> SQLStatistics(hstmt,(SQLTCHAR*)TQualifier,(SWORD)_tcslen(TQualifier),(SQLTCHAR*)TOwner,(SWORD)_tcslen(TOwner),(SQLTCHAR*)TName,(SWORD)_tcslen(TName),Unique[idx],Accuracy[a]);
> The sql statement sqlexecdirect is running --
> create table WZDPCMJFIV (V6COTKFLZS char(10) CHARACTER SET ISO88591 NOT
> NULL,primary key(V6COTKFLZS));
> create unique index KBROLZG1HL on WZDPCMJFIV (V6COTKFLZS ASC);
> Then sqlstatistics will return error that the api type is unsupported --
> 09:43:34 ***ERROR: SQLStatistics: Expected: SQL_SUCCESS Actual: SQL_ERROR
> File: ../../../../src/coast/coast_unified/src/stat.c Line: 351
> State: HYC00
> Native Error: 1
> Error: [Trafodion ODBC Driver][DCS Server] OPTIONAL FEATURE NOT
> IMPLEMENTED.UNSUPPORTED INPUT SMD API TYPE
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)