This looks like dead code to me. The NEO.HP_DEFINITION_SCHEMA stuff is from the 
predecessor Neoview product.

Perhaps this should simply be removed?

-----Original Message-----
From: Wang, Xiao-Zhong [mailto:[email protected]] 
Sent: Tuesday, January 9, 2018 12:15 AM
To: [email protected]
Subject: How to fix this InvalidVarArgs problem, remove parameters or add print 
format?

file="/home/wangxz/code/trafodion/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp"
 line="6289"
id="logic" subid="InvalidVarArgs" severity="error"
msg="The count of parameters mismatches the format string in sprintf" 
web_identify="{"identify":"sprintf"}"
func_info="bool GetHashInfo ( char * sqlString , char * genRequestError , char 
* HashTableInfo )"
6279:                 break;
6280:             case 5:
6281:                 if(syskeysPresent)
6282:                     sprintf(ControlQuery,"select 
concat(cast(ac.COLUMN_NUMBER as varchar(10) character set ISO88591),',') from 
%s.SYSTEM_SCHEMA.SCHEMATA sc, NEO.HP_DEFINITION_SCHEMA.OBJECTS ob, 
NEO.HP_DEFINITION_SCHEMA.ACCESS_PATH_COLS ac where sc.SCHEMA_NAME = '%s' and 
ob.OBJECT_NAME = '%s'    and ac.PART_KEY_SEQ_NUM > 0    and sc.SCHEMA_UID = 
ob.SCHEMA_UID and ob.OBJECT_UID = ac.ACCESS_PATH_UID ORDER BY 
ac.POSITION_IN_ROW FOR READ UNCOMMITTED ACCESS", srvrGlobal->SystemCatalog, 
schemaToken, tableName);
6283:                 else
6284:                     sprintf(ControlQuery,"select 
concat(cast(ac.COLUMN_NUMBER+1 as varchar(10) character set ISO88591),',') from 
%s.SYSTEM_SCHEMA.SCHEMATA sc, NEO.HP_DEFINITION_SCHEMA.OBJECTS ob, 
NEO.HP_DEFINITION_SCHEMA.ACCESS_PATH_COLS ac where sc.SCHEMA_NAME = '%s' and 
ob.OBJECT_NAME = '%s'    and ac.PART_KEY_SEQ_NUM > 0    and sc.SCHEMA_UID = 
ob.SCHEMA_UID and ob.OBJECT_UID = ac.ACCESS_PATH_UID ORDER BY 
ac.POSITION_IN_ROW FOR READ UNCOMMITTED ACCESS", srvrGlobal->SystemCatalog, 
schemaToken, tableName);
6285:                 strcpy(HashTableInfo+ControlQueryLen, ";HC="); // HC 
means HASH COLUMNS in the TABLE.
6286:                 ControlQueryLen = ControlQueryLen + 4;
6287:                 break;
6288:             case 6:
6289:                 sprintf(ControlQuery,"select cast(cast((52 * 1024 * 128) 
/ (sum(co.column_size)) as integer) as varchar(10) character set ISO88591) from 
 %s.SYSTEM_SCHEMA.SCHEMATA sc, NEO.HP_DEFINITION_SCHEMA.OBJECTS ob, 
NEO.HP_DEFINITION_SCHEMA.COLS co where sc.SCHEMA_NAME = '%s' and ob.OBJECT_NAME 
= '%s' and sc.SCHEMA_UID = ob.SCHEMA_UID and ob.OBJECT_UID = co.OBJECT_UID and 
ob.OBJECT_TYPE = 'BT' FOR READ UNCOMMITTED ACCESS", srvrGlobal->SystemCatalog, 
verBuffer, verBuffer, atol(verBuffer), schemaToken, tableName);
6290:                 strcpy(HashTableInfo+ControlQueryLen, ";HE="); // HE 
means Guesstimated rowset size. Change 128 to HP soon.
6291:                 ControlQueryLen = ControlQueryLen + 4;
6292:                 break;
6293:             default:
6294:                 break;
6295:             }
6296:             iqqcode = QryControlSrvrStmt->ExecDirect(NULL, ControlQuery, 
EXTERNAL_STMT, TYPE_SELECT, SQL_ASYNC_ENABLE_OFF, 0);
6297:             if (iqqcode != SQL_SUCCESS)
6298:             {
6299:                 ERROR_DESC_def *p_buffer = 
QryControlSrvrStmt->sqlError.errorList._buffer;


北京易鲸捷信息技术有限公司
地址:北京市朝阳区北辰东路8号汇宾大厦A座1302室
手机:18513493336
邮箱:[email protected]<mailto:[email protected]>

Reply via email to