// ---------------------------------------------------------- void insertIntoByteArray(LogicalByteArray buf) { buf.insertString(datasourceBytes); buf.insertString(catalogBytes); buf.insertString(schemaBytes); buf.insertString(locationBytes); buf.insertString(userRoleBytes); buf.insertShort(accessMode); buf.insertShort(autoCommit); buf.insertInt(queryTimeoutSec); buf.insertInt(idleTimeoutSec); buf.insertInt(loginTimeoutSec); buf.insertShort(txnIsolationLevel); buf.insertShort(rowSetSize); buf.insertInt(diagnosticFlag); buf.insertInt(processId); buf.insertString(computerNameBytes); buf.insertString(windowTextBytes); buf.insertInt(ctxACP); buf.insertInt(ctxDataLang); buf.insertInt(ctxErrorLang); buf.insertShort(ctxCtrlInferNXHAR); buf.insertShort(cpuToUse); buf.insertShort(cpuToUseEnd); buf.insertString(connectOptionsBytes); clientVersionList.insertIntoByteArray(buf); }
// ---------------------------------------------------------- int sizeOf(InterfaceConnection ic) throws CharacterCodingException, UnsupportedCharsetException { int size = 0; datasourceBytes = ic.encodeString(datasource, InterfaceUtilities.SQLCHARSETCODE_UTF8); catalogBytes = ic.encodeString(catalog, InterfaceUtilities.SQLCHARSETCODE_UTF8); schemaBytes = ic.encodeString(schema, InterfaceUtilities.SQLCHARSETCODE_UTF8); locationBytes = ic.encodeString(location, 1); userRoleBytes = ic.encodeString(userRole, 1); computerNameBytes = ic.encodeString(computerName, InterfaceUtilities.SQLCHARSETCODE_UTF8); windowTextBytes = ic.encodeString(windowText, InterfaceUtilities.SQLCHARSETCODE_UTF8); connectOptionsBytes = ic.encodeString(connectOptions, 1); size = TRANSPORT.size_bytes(datasourceBytes); size += TRANSPORT.size_bytes(catalogBytes); size += TRANSPORT.size_bytes(schemaBytes); size += TRANSPORT.size_bytes(locationBytes); size += TRANSPORT.size_bytes(userRoleBytes); size += TRANSPORT.size_short; // accessMode size += TRANSPORT.size_short; // autoCommit size += TRANSPORT.size_int; // queryTimeoutSec size += TRANSPORT.size_int; // idleTimeoutSec size += TRANSPORT.size_int; // loginTimeoutSec size += TRANSPORT.size_short; // txnIsolationLevel size += TRANSPORT.size_short; // rowSetSize size += TRANSPORT.size_short; // diagnosticFlag size += TRANSPORT.size_int; // processId size += TRANSPORT.size_bytes(computerNameBytes); size += TRANSPORT.size_bytes(windowTextBytes); size += TRANSPORT.size_int; // ctxACP size += TRANSPORT.size_int; // ctxDataLang size += TRANSPORT.size_int; // ctxErrorLang size += TRANSPORT.size_short; // ctxCtrlInferNCHAR size += TRANSPORT.size_short; // cpuToUse size += TRANSPORT.size_short; // cpuToUseEnd size += TRANSPORT.size_bytes(connectOptionsBytes); size += clientVersionList.sizeOf(); return size; }