[ 
https://issues.apache.org/jira/browse/TRAFODION-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15318009#comment-15318009
 ] 

ASF GitHub Bot commented on TRAFODION-1684:
-------------------------------------------

Github user xwq commented on a diff in the pull request:

    https://github.com/apache/incubator-trafodion/pull/513#discussion_r66019295
  
    --- 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 "
    --- End diff --
    
    Thanks from your comments. Now I know what is multi-columns histograms.
    
    From the ODBC standard , I think it only need return the signal-column 
histogram now. I thinks I can use "colcount=1" to filter signal-column 
histogram out . 
    
    I want to know whether "COLCOUNT=1" is right or not here?


> 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)

Reply via email to