From VisualWorks®, 7.5 of April 3, 2007 on April 3, 2007 at 1:22:26 pm (Dialog confirm: 'You are filing-in a Parcel source file!\\While this is possible it will not have\the same effect as loading the parcel.\None of the Parcel''s prerequisites will\be loaded and none of its load actions\will be performed.\\Are you sure you want to file-in?' withCRs) ifFalse: [self error: 'Parcel file-in abandoned. Choose terminate or close.'] <class> <name>OracleThreadedSession</name> <environment>Database</environment> <super>Database.OracleSession</super> <private>false</private> none <imports></imports> <category>Database-Oracle THAPI</category> <attributes> <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleThreadedSession
OracleSession is the concrete implementation of multi-threaded session services using the Oracle 8 OCI library.
</comment> <class> <name>OracleNTThreadedInterface</name> <environment>Database</environment> <super>Database.OracleNTInterface</super> <private>false</private> none <imports> Database.OracleNTThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>oci.dll</item> <item>advapi32.dll</item></libraryFiles> <libraryDirectories></libraryDirectories> true full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleNTThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the Windows NT platform.
</comment> <class> <name>OracleWin95ThreadedInterface</name> <environment>Database</environment> <super>Database.OracleNTThreadedInterface</super> <private>false</private> none <imports> Database.OracleWin95ThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>oci.dll</item> <item>advapi32.dll</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleWin95ThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the Windows 95/98 platform.
</comment> <class> <name>OracleThreadedInterface</name> <environment>Database</environment> <super>Database.OracleInterface</super> <private>false</private> none <imports> Database.OracleThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles></libraryFiles> <libraryDirectories></libraryDirectories> true full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI.
</comment> <class> <name>OracleOS2ThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.OracleOS2ThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>ora7o32</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleOS2ThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the OS2 platform.
</comment> <class> <name>Oracle64BitThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.Oracle64BitThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles></libraryFiles> <libraryDirectories></libraryDirectories> true full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.Oracle64BitThreadedInterface
This class defines 64-bit multi-threaded calling conventions for the Oracle 8 OCI. It should only be used in 64-bit images, running on a 64-bit VM. The 64-bit VM regards "long int" as a 64-bit integer, but the Oracle libraries are faithful to the original spec, which uses 32-bit integers. Thus, a few changes were made to the 64-bit classes, almost entirely directed at changing the word "long int" to "int", which is seen by the 64-bit VM as a 32-bit integer.
</comment> <class> <name>OracleLinux64ThreadedInterface</name> <environment>Database</environment> <super>Database.Oracle64BitThreadedInterface</super> <private>false</private> none <imports> Database.OracleLinux64ThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.so.10.1</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleLinux64ThreadedInterface
This class defines multi-threaded calling conventions for the Oracle (8 and above) OCI on the 64-bit Linux (Intel) platform.
</comment> <class> <name>OracleSolaris64ThreadedInterface</name> <environment>Database</environment> <super>Database.Oracle64BitThreadedInterface</super> <private>false</private> none <imports> Database.OracleSolaris64ThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.so.10.1</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleSolaris64ThreadedInterface
This class defines multi-threaded calling conventions for the Oracle (8 and above) OCI on the 64-bit Solaris platform.
</comment> <class> <name>OracleSolarisThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.OracleSolarisThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.so</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleSolarisThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the Solaris platform.
</comment> <class> <name>OracleLinuxThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.OracleLinuxThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.so</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleLinuxThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the Linux (Intel) platform.
</comment> <class> <name>OracleAIXThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.OracleAIXThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.so</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleAIXThreadedInterface
This class defines multi-threaded calling conventions for the Oracle OCI on the AIX platform.
</comment> <class> <name>OracleHPUXThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.OracleHPUXThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.sl</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleHPUXThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the HPUX platform.
</comment> <class> <name>OracleAlphaUnixThreadedInterface</name> <environment>Database</environment> <super>Database.OracleThreadedInterface</super> <private>false</private> none <imports> Database.OracleAlphaUnixThreadedInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>libclntsh.so</item></libraryFiles> <libraryDirectories></libraryDirectories> false full <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleAlphaUnixThreadedInterface
This class defines multi-threaded calling conventions for the Oracle 8 OCI on the Alpha platform.
</comment> <class> <name>OracleThreadedConnection</name> <environment>Database</environment> <super>Database.OracleConnection</super> <private>false</private> none connectionPool <imports></imports> <category>Database-Oracle THAPI</category> <attributes> <package>OracleThapiEXDI</package> </attributes> </class> <comment> Database.OracleThreadedConnection
OracleConnection is the concrete class implementation of multi-threaded connection services using the Oracle 8 OCI library.
</comment> <methods> Database.OracleThreadedSession class <category>private-accessing</category>
connectionClass ^OracleThreadedConnection
</methods> <methods> Database.OracleThreadedSession class <category>class initialization</category>
initialize super initialize. self install.
</methods> <methods> Database.OracleNTThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#nt
</methods> <methods> Database.OracleWin95ThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#win95
</methods> <methods> Database.OracleOS2ThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#os2
</methods> <methods> Database.Oracle64BitThreadedInterface <category>types</category>
sb4 <C: typedef signed int sb4>
ub4 <C: typedef unsigned int ub4>
</methods> <methods> Database.OracleLinux64ThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#linux_x86_64_unix
</methods> <methods> Database.OracleSolaris64ThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#unix_sysV_sun_solaris64
</methods> <methods> Database.OracleSolarisThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#sun5_unix
</methods> <methods> Database.OracleLinuxThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#linux_i386_unix
</methods> <methods> Database.OracleAIXThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#aix_unix
</methods> <methods> Database.OracleHPUXThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#hp_unix
</methods> <methods> Database.OracleAlphaUnixThreadedInterface class <category>private</category>
platformSymbol "this must contain the platform symbol that will match that returned by determinePlatformType." ^#alpha_unix
</methods> <methods> Database.OracleThreadedConnection <category>testing</category>
isNonBlocking ^true
</methods> <methods> Database.OracleThreadedConnection <category>private-execution</category>
acquireExternal: aPassword "Acquire the external resources involved with a connection to the SQL-environment." | xif name pw env pool useConnectionPool | xif := self class xif. name := self username. [ name isString ] whileFalse: [ name := self class requiredUsernameSignal raiseRequest ]. pw := aPassword. [ pw isString ] whileFalse: [ pw := self class requiredPasswordSignal raiseRequest ]. pool := self connectionPool. useConnectionPool := (pool class name == #OracleConnectionPool). useConnectionPool ifTrue: [ env := pool environment. ] ifFalse: [ env := self environment. ]. env isNil ifTrue: [ env := self class defaultEnvironment ]. [ env isString ] whileFalse: [ env := self class requiredEnvironmentSignal raiseRequest ]. env := self class mapLogical: env. [ "Begin unwind protection (1)" "Allocate necessary handles." useConnectionPool ifFalse: [ self unprotectedAllocHenv ]. ["Begin unwind protection (2)" useConnectionPool ifTrue: [ self serverAttachConnectionPoolExternal. ] ifFalse: [ self serverAttachEnvironmentExternal: env. ]. self setAttribute: self hsrvr type: #OCI_ATTR_SERVER descriptor: self hsvcctx type: #OCI_HTYPE_SVCCTX. ( (name size == 0) and: [ pw size == 0 ]) ifTrue: [ self authenticationMode: xif OCI_CRED_EXT. ] ifFalse: [ self authenticationMode: xif OCI_CRED_RDBMS. self setAttribute: name type: #OCI_ATTR_USERNAME descriptor: self hsess type: #OCI_HTYPE_SESSION . self setAttribute: pw type: #OCI_ATTR_PASSWORD descriptor: self hsess type: #OCI_HTYPE_SESSION. ]. self setAttribute: self htxn type: #OCI_ATTR_TRANS descriptor: self hsvcctx type: #OCI_HTYPE_SVCCTX. [ "Begin unwind protection (3)" self sessionBeginExternal. self setAttribute: self hsess type: #OCI_ATTR_SESSION descriptor: self hsvcctx type: #OCI_HTYPE_SVCCTX. "End unwind protection (3)" ] ifCurtailed: [self sessionEndExternal]. "End unwind protection (2)" ] ifCurtailed: [self serverDetachExternal]. "End unwind protection (1)" ] ifCurtailed: [ "Something went wrong so we must implicitly free any handles we've allocated." useConnectionPool ifFalse: [ self unprotectedFreeHenv ]. ]. self singleStatementTransactions
dismissExternal "Release the external resources." [ "Begin unwind protection (1)" self sessionEndExternal. self serverDetachExternal. "End unwind protection (1)" ] ensure: [ "Whether or not there was a failure, there's no point in hanging on to stuff." (self connectionPool class name == #OracleConnectionPool) ifFalse: [ self unprotectedFreeHenv ]. ].
serverAttachConnectionPoolExternal "Create an access path to a data source for OCI operations." | rtval xif herr hsrvr pool | xif := self class xif. self unprotectedAllocHsvcctx. self unprotectedAllocHsrvr. self unprotectedAllocHsess. self unprotectedAllocHtxn. pool := self connectionPool. herr := self herr. hsrvr := self hsrvr. rtval := xif OCIServerAttach:hsrvr with: herr with: pool poolName with: pool poolNameLen with: (xif OCI_CPOOL) . (traceLevel >= 1) ifTrue: [(self traceStream) print: rtval; nextPutAll: ' = OCIAttachServer( hsrvr = '; nextPutAll: (hsrvr referentAddress printStringRadix:16); nextPutAll: ', herr = '; nextPutAll: (herr referentAddress printStringRadix:16); nextPutAll: ', environment = '; nextPutAll: pool poolName; nextPutAll: ', size = '; print: pool poolNameLen; nextPutAll: ', #OCI_CPOOL )'. self class trace: self emitTrace]. (rtval == xif OCI_SUCCESS) ifFalse: [ | errs | errs := self getErrors. ^self class unableToConnectToSQLenvironmentSignal raiseWith: errs errorString: errs first dbmsErrorString ].
serverDetachExternal | rtval xif hsrvr herr | xif := self class xif. hsrvr := self hsrvr. herr := self herr. [ "Begin unwind protection (1)" rtval := xif OCIServerDetach: hsrvr with: herr with: xif OCI_DEFAULT. (traceLevel >= 1) ifTrue: [(self traceStream) print: rtval; nextPutAll: ' = OCIServerDetach( hsrvr = '; nextPutAll: ( hsrvr referentAddress printStringRadix:16); nextPutAll: ', herr = '; nextPutAll: ( herr referentAddress printStringRadix:16); nextPutAll: ', OCI_DEFAULT )'. self class trace: self emitTrace]. "End unwind protection (1)" ] ensure:[ self unprotectedFreeHtxn. self unprotectedFreeHsess. self unprotectedFreeHsrvr. self unprotectedFreeHsvcctx. (self connectionPool class name == #OracleConnectionPool) ifFalse: [ self unprotectedFreeHerr ]. ].
</methods> <methods> Database.OracleThreadedConnection <category>accessing</category>
connectionPool ^connectionPool
connectionPool: aConnectionPool connectionPool := aConnectionPool
</methods> <methods> Database.OracleThreadedConnection class <category>class initialization</category>
initialize "OracleThreadedConnection initialize" super initialize. PlatformType := self platformType. self initializeExternalInterfaceMap. self initializeAttributeTypeConversionMap
initializeAttributeTypeConversionMap "OracleConnection initializeAttributeTypeConversionMap." "Connection Pool Handle Attributes:" AttributeTypeConversionMap add: #OCI_ATTR_CONN_TIMEOUT->#unsignedLongAt:; add: #OCI_ATTR_CONN_BUSY_COUNT->#unsignedLongAt:; add: #OCI_ATTR_CONN_OPEN_COUNT->#unsignedLongAt:
initializeExternalInterfaceMap "self initializeExternalInterfaceMap" xifMap := IdentityDictionary new. self privateThreadedInterfaces do: [:each | xifMap at: (each platformSymbol) put: each name]
privateThreadedInterfaces "Return collection of loaded threaded interfaces note - this method depends on the naming convention that threaded interfaces have the word Threaded in them, and non-threaded do not -- e.g. OracleThreadedNTInterface" ^OracleInterface withAllSubclasses select: [:ea | (ea name indexOfSubCollection: 'Threaded' startingAt: 1) ~= 0]
</methods> <methods> Database.OracleThreadedConnection class <category>private-accessing</category>
interfaceClass "Answer the class to use as the OracleInterface for the current platform." | interfaceClassName | interfaceClassName := xifMap at: self platformType ifAbsent: [nil]. ^self environment at: interfaceClassName ifAbsent: [nil].
sessionClass "Answer the class to use for session objects associated with receiver." ^OracleThreadedSession
</methods> <methods> Database.OracleThreadedConnection class <category>accessing</category>
kind ^#OracleThreaded
</methods> <methods> Database.OracleThreadedConnection class <category>testing</category>
isThreaded ^true
</methods> <methods> Database.OracleThreadedConnection class <category>private-instance creation</category>
newForConnectionPool: aConnectionPool "Answer a new OracleThreadedConnection associated with aConnectionPool." | conn | (conn := self basicNew) initialize. conn connectionPool: aConnectionPool. conn henv: aConnectionPool henv. conn herr: aConnectionPool herr. aConnectionPool connections add: conn. ^conn
</methods> <methods> Database.OracleConnection class <category>threaded</category>
newBeThreaded "return a new instance that will run under thapi" ^self threadedConnectionClass new
threadedConnectionClass ^OracleThreadedConnection
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures - transaction</category>
OCITransCommit: svchp with: errhp with: flags <C: sword _threaded OCITransCommit(OCISvcCtx * svchp, OCIError * errhp, ub4 flags)> ^self externalAccessFailedWith: _errorCode
OCITransRollback: svchp with: errhp with: flags <C: sword _threaded OCITransRollback(OCISvcCtx * svchp, OCIError * errhp, ub4 flags)> ^self externalAccessFailedWith: _errorCode
OCITransStart: svchp with: errhp with: timeout with: flags <C: sword _threaded OCITransStart(OCISvcCtx * svchp, OCIError * errhp, uword timeout, ub4 flags)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures-attributes</category>
OCIAttrGet: trgthndlp with: trghndltyp with: attributep with: sizep with: attrtype with: errhp <C: sword _threaded OCIAttrGet(const void * trgthndlp, ub4 trghndltyp, void * attributep, ub4 * sizep, ub4 attrtype, OCIError * errhp)> ^self externalAccessFailedWith: _errorCode
OCIAttrSet: trgthndlp with: trghndltyp with: attributep with: size with: attrtype with: errhp <C: sword _threaded OCIAttrSet(void * trgthndlp, ub4 trghndltyp, void * attributep, ub4 size, ub4 attrtype, OCIError * errhp)> ^self externalAccessFailedWith: _errorCode
OCIDescribeAny: svchp with: errhp with: objptr with: objnm_len with: objptr_typ with: info_level with: objtyp with: dschp <C: sword _threaded OCIDescribeAny(OCISvcCtx * svchp, OCIError * errhp, const OraText * objptr, ub4 objnm_len, ub1 objptr_typ, ub1 info_level, ub1 objtyp, OCIDescribe * dschp)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures - binding</category>
OCIBindByName: stmtp with: bindp with: errhp with: placeholder with: placeh_len with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode <C: sword _threaded OCIBindByName(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, const OraText * placeholder, sb4 placeh_len, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIBindByPos: stmtp with: bindp with: errhp with: position with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode <C: sword _threaded OCIBindByPos(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, ub4 position, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures-connection</category>
OCIErrorGet: hndlp with: recordno with: sqlstate with: errcodep with: bufp with: bufsiz with: type <C: sword _threaded OCIErrorGet(void * hndlp, ub4 recordno, OraText * sqlstate, sb4 * errcodep, OraText * bufp, ub4 bufsiz, ub4 type)> ^self externalAccessFailedWith: _errorCode
OCIServerAttach: srvhp with: errhp with: dblink with: dblink_len with: mode <C: sword _threaded OCIServerAttach(OCIServer * srvhp, OCIError * errhp, const OraText * dblink, sb4 dblink_len, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIServerDetach: srvhp with: errhp with: mode <C: sword _threaded OCIServerDetach(OCIServer * srvhp, OCIError * errhp, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCISessionBegin: svchp with: errhp with: usrhp with: credt with: mode <C: sword _threaded OCISessionBegin(OCISvcCtx * svchp, OCIError * errhp, OCISession * usrhp, ub4 credt, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCISessionEnd: svchp with: errhp with: usrhp with: mode <C: sword _threaded OCISessionEnd(OCISvcCtx * svchp, OCIError * errhp, OCISession * usrhp, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures-initialize</category>
OCIEnvInit: envp with: mode with: xtramem_sz with: usrmempp <C: sword _threaded OCIEnvInit(OCIEnv * * envp, ub4 mode, size_t xtramem_sz, void * * usrmempp)> ^self externalAccessFailedWith: _errorCode
OCIInitialize: mode with: ctxp with: malocfp with: ralocfp with: mfreefp <C: sword _threaded OCIInitialize(ub4 mode, void * ctxp, void * (* malocfp)(void * ctxp, size_t size), void * (* ralocfp)(void * ctxp, void * memptr, size_t newsize), void (* mfreefp)(void * ctxp, void * memptr))> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures - statement</category>
OCIStmtExecute: svchp with: stmtp with: errhp with: iters with: rowoff with: snap_in with: snap_out with: mode <C: sword _threaded OCIStmtExecute(OCISvcCtx * svchp, OCIStmt * stmtp, OCIError * errhp, ub4 iters, ub4 rowoff, const OCISnapshot * snap_in, OCISnapshot * snap_out, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIStmtFetch: stmtp with: errhp with: nrows with: orientation with: mode <C: sword _threaded OCIStmtFetch(OCIStmt * stmtp, OCIError * errhp, ub4 nrows, ub2 orientation, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIStmtPrepare: stmtp with: errhp with: stmt with: stmt_len with: language with: mode <C: sword _threaded OCIStmtPrepare(OCIStmt * stmtp, OCIError * errhp, const OraText * stmt, ub4 stmt_len, ub4 language, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures - defining</category>
OCIDefineByPos: stmtp with: defnp with: errhp with: position with: valuep with: value_sz with: dty with: indp with: rlenp with: rcodep with: mode <C: sword _threaded OCIDefineByPos(OCIStmt * stmtp, OCIDefine * * defnp, OCIError * errhp, ub4 position, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * rlenp, ub2 * rcodep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures - timestamp</category>
OCIDateTimeConstruct: hndl with: err with: datetime with: year with: month with: day with: hour with: min with: sec with: fsec with: timezone with: timezone_length <C: sword _threaded OCIDateTimeConstruct ( dvoid *hndl, OCIError *err, OCIDateTime *datetime, sb2 year, ub1 month, ub1 day, ub1 hour, ub1 min, ub1 sec, ub4 fsec, OraText *timezone, size_t timezone_length )> ^self externalAccessFailedWith: _errorCode
OCIDateTimeGetDate: hndl with: err with: datetime with: year with: month with: day <C: sword _threaded OCIDateTimeGetDate( dvoid *hndl, OCIError *err, const OCIDateTime *datetime, sb2 *year, ub1 *month, ub1 *day )> ^self externalAccessFailedWith: _errorCode
OCIDateTimeGetTime: hndl with: err with: datetime with: hour with: min with: sec with: fsec <C: sword _threaded OCIDateTimeGetTime ( dvoid *hndl, OCIError *err, OCIDateTime *datetime, ub1 *hour, ub1 *min, ub1 *sec, ub4 *fsec )> ^self externalAccessFailedWith: _errorCode
OCIDateTimeGetTimeZoneName: hndl with: err with: datetime with: buf with: buflen <C: sword _threaded OCIDateTimeGetTimeZoneName ( dvoid *hndl, OCIError *err, const OCIDateTime *datetime, ub1 *buf, ub4 *buflen)> ^self externalAccessFailedWith: _errorCode
OCIDateTimeSysTimeStamp: hndl with: err with: datetime <C: sword _threaded OCIDateTimeSysTimeStamp ( dvoid *hndl, OCIError *err, OCIDateTime *datetime )> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleNTThreadedInterface <category>procedures - LOB</category>
OCILobAssign: envp with: errhp with: lobp with: lobpp <C: sword _threaded OCILobAssign(OCIEnv * envp, OCIError * errhp, OCILobLocator * lobp, OCILobLocator ** lobpp)> ^self externalAccessFailedWith: _errorCode
OCILobGetChunkSize: svchp with: errhp with: lobp with: chunk_size <C: sword _threaded OCILobGetChunkSize(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * chunk_size)> ^self externalAccessFailedWith: _errorCode
OCILobGetLength: svchp with: errhp with: lobp with: lenp <C: sword _threaded OCILobGetLength(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * lenp)> ^self externalAccessFailedWith: _errorCode
OCILobLocatorAssign: svchp with: errhp with: lobp with: lobpp <C: sword _threaded OCILobLocatorAssign(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, OCILobLocator ** lobpp)> ^self externalAccessFailedWith: _errorCode
OCILobRead: svchp with: errhp with: lobp with: amtp with: offset with: bufp with: bufl with: ctxp with: cbfp with: csid with: csfrm <C: sword _threaded OCILobRead(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * amtp, ub4 offset, void * bufp, ub4 bufl, void * ctxp, sb4 (* cbfp)(void * ctxp, const void * bufp, ub4 len, ub1 piece), ub2 csid, ub1 csfrm)> ^self externalAccessFailedWith: _errorCode
OCILobWrite: svchp with: errhp with: lobp with: amtp with: offset with: bufp with: buflen with: piece with: ctxp with: cbfp with: csid with: csfrm <C: sword _threaded OCILobWrite(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * amtp, ub4 offset, void * bufp, ub4 buflen, ub1 piece, void * ctxp, sb4 (* cbfp)(void * ctxp, void * bufp, ub4 * len, ub1 * piece), ub2 csid, ub1 csfrm)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures - binding</category>
OCIBindByName: stmtp with: bindp with: errhp with: placeholder with: placeh_len with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode <C: sword _threaded OCIBindByName(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, const OraText * placeholder, sb4 placeh_len, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIBindByPos: stmtp with: bindp with: errhp with: position with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode <C: sword _threaded OCIBindByPos(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, ub4 position, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures-connection</category>
OCIServerAttach: srvhp with: errhp with: dblink with: dblink_len with: mode <C: sword _threaded OCIServerAttach(OCIServer * srvhp, OCIError * errhp, const OraText * dblink, sb4 dblink_len, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIServerDetach: srvhp with: errhp with: mode <C: sword _threaded OCIServerDetach(OCIServer * srvhp, OCIError * errhp, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCISessionBegin: svchp with: errhp with: usrhp with: credt with: mode <C: sword _threaded OCISessionBegin(OCISvcCtx * svchp, OCIError * errhp, OCISession * usrhp, ub4 credt, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCISessionEnd: svchp with: errhp with: usrhp with: mode <C: sword _threaded OCISessionEnd(OCISvcCtx * svchp, OCIError * errhp, OCISession * usrhp, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures-initialize</category>
OCIEnvInit: envp with: mode with: xtramem_sz with: usrmempp <C: sword _threaded OCIEnvInit(OCIEnv * * envp, ub4 mode, size_t xtramem_sz, void * * usrmempp)> ^self externalAccessFailedWith: _errorCode
OCIInitialize: mode with: ctxp with: malocfp with: ralocfp with: mfreefp <C: sword _threaded OCIInitialize(ub4 mode, void * ctxp, void * (* malocfp)(void * ctxp, size_t size), void * (* ralocfp)(void * ctxp, void * memptr, size_t newsize), void (* mfreefp)(void * ctxp, void * memptr))> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures - statement</category>
OCIStmtExecute: svchp with: stmtp with: errhp with: iters with: rowoff with: snap_in with: snap_out with: mode <C: sword _threaded OCIStmtExecute(OCISvcCtx * svchp, OCIStmt * stmtp, OCIError * errhp, ub4 iters, ub4 rowoff, const OCISnapshot * snap_in, OCISnapshot * snap_out, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIStmtFetch: stmtp with: errhp with: nrows with: orientation with: mode <C: sword _threaded OCIStmtFetch(OCIStmt * stmtp, OCIError * errhp, ub4 nrows, ub2 orientation, ub4 mode)> ^self externalAccessFailedWith: _errorCode
OCIStmtPrepare: stmtp with: errhp with: stmt with: stmt_len with: language with: mode <C: sword _threaded OCIStmtPrepare(OCIStmt * stmtp, OCIError * errhp, const OraText * stmt, ub4 stmt_len, ub4 language, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures - transaction</category>
OCITransCommit: svchp with: errhp with: flags <C: sword _threaded OCITransCommit(OCISvcCtx * svchp, OCIError * errhp, ub4 flags)> ^self externalAccessFailedWith: _errorCode
OCITransRollback: svchp with: errhp with: flags <C: sword _threaded OCITransRollback(OCISvcCtx * svchp, OCIError * errhp, ub4 flags)> ^self externalAccessFailedWith: _errorCode
OCITransStart: svchp with: errhp with: timeout with: flags <C: sword _threaded OCITransStart(OCISvcCtx * svchp, OCIError * errhp, uword timeout, ub4 flags)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures-attributes</category>
OCIAttrGet: trgthndlp with: trghndltyp with: attributep with: sizep with: attrtype with: errhp <C: sword _threaded OCIAttrGet(const void * trgthndlp, ub4 trghndltyp, void * attributep, ub4 * sizep, ub4 attrtype, OCIError * errhp)> ^self externalAccessFailedWith: _errorCode
OCIAttrSet: trgthndlp with: trghndltyp with: attributep with: size with: attrtype with: errhp <C: sword _threaded OCIAttrSet(void * trgthndlp, ub4 trghndltyp, void * attributep, ub4 size, ub4 attrtype, OCIError * errhp)> ^self externalAccessFailedWith: _errorCode
OCIDescribeAny: svchp with: errhp with: objptr with: objnm_len with: objptr_typ with: info_level with: objtyp with: dschp <C: sword _threaded OCIDescribeAny(OCISvcCtx * svchp, OCIError * errhp, const OraText * objptr, ub4 objnm_len, ub1 objptr_typ, ub1 info_level, ub1 objtyp, OCIDescribe * dschp)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures - defining</category>
OCIDefineByPos: stmtp with: defnp with: errhp with: position with: valuep with: value_sz with: dty with: indp with: rlenp with: rcodep with: mode <C: sword _threaded OCIDefineByPos(OCIStmt * stmtp, OCIDefine * * defnp, OCIError * errhp, ub4 position, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * rlenp, ub2 * rcodep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures - timestamp</category>
OCIDateTimeConstruct: hndl with: err with: datetime with: year with: month with: day with: hour with: min with: sec with: fsec with: timezone with: timezone_length <C: sword _threaded OCIDateTimeConstruct ( dvoid *hndl, OCIError *err, OCIDateTime *datetime, sb2 year, ub1 month, ub1 day, ub1 hour, ub1 min, ub1 sec, ub4 fsec, OraText *timezone, size_t timezone_length )> ^self externalAccessFailedWith: _errorCode
OCIDateTimeGetDate: hndl with: err with: datetime with: year with: month with: day <C: sword _threaded OCIDateTimeGetDate( dvoid *hndl, OCIError *err, const OCIDateTime *datetime, sb2 *year, ub1 *month, ub1 *day )> ^self externalAccessFailedWith: _errorCode
OCIDateTimeGetTime: hndl with: err with: datetime with: hour with: min with: sec with: fsec <C: sword _threaded OCIDateTimeGetTime ( dvoid *hndl, OCIError *err, OCIDateTime *datetime, ub1 *hour, ub1 *min, ub1 *sec, ub4 *fsec )> ^self externalAccessFailedWith: _errorCode
OCIDateTimeGetTimeZoneName: hndl with: err with: datetime with: buf with: buflen <C: sword _threaded OCIDateTimeGetTimeZoneName ( dvoid *hndl, OCIError *err, const OCIDateTime *datetime, ub1 *buf, ub4 *buflen)> ^self externalAccessFailedWith: _errorCode
OCIDateTimeSysTimeStamp: hndl with: err with: datetime <C: sword _threaded OCIDateTimeSysTimeStamp ( dvoid *hndl, OCIError *err, OCIDateTime *datetime )> ^self externalAccessFailedWith: _errorCode
</methods> <methods> Database.OracleThreadedInterface <category>procedures - LOB</category>
OCILobAssign: envp with: errhp with: lobp with: lobpp <C: sword _threaded OCILobAssign(OCIEnv * envp, OCIError * errhp, OCILobLocator * lobp, OCILobLocator ** lobpp)> ^self externalAccessFailedWith: _errorCode
OCILobGetChunkSize: svchp with: errhp with: lobp with: chunk_size <C: sword _threaded OCILobGetChunkSize(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * chunk_size)> ^self externalAccessFailedWith: _errorCode
OCILobGetLength: svchp with: errhp with: lobp with: lenp <C: sword _threaded OCILobGetLength(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * lenp)> ^self externalAccessFailedWith: _errorCode
OCILobLocatorAssign: svchp with: errhp with: lobp with: lobpp <C: sword _threaded OCILobLocatorAssign(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, OCILobLocator ** lobpp)> ^self externalAccessFailedWith: _errorCode
OCILobRead: svchp with: errhp with: lobp with: amtp with: offset with: bufp with: bufl with: ctxp with: cbfp with: csid with: csfrm <C: sword _threaded OCILobRead(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * amtp, ub4 offset, void * bufp, ub4 bufl, void * ctxp, sb4 (* cbfp)(void * ctxp, const void * bufp, ub4 len, ub1 piece), ub2 csid, ub1 csfrm)> ^self externalAccessFailedWith: _errorCode
OCILobWrite: svchp with: errhp with: lobp with: amtp with: offset with: bufp with: buflen with: piece with: ctxp with: cbfp with: csid with: csfrm <C: sword _threaded OCILobWrite(OCISvcCtx * svchp, OCIError * errhp, OCILobLocator * lobp, ub4 * amtp, ub4 offset, void * bufp, ub4 buflen, ub1 piece, void * ctxp, sb4 (* cbfp)(void * ctxp, void * bufp, ub4 * len, ub1 * piece), ub2 csid, ub1 csfrm)> ^self externalAccessFailedWith: _errorCode
</methods> <initialize> Database.OracleThreadedSession </initialize> <initialize> Database.OracleThreadedConnection </initialize> "Imported Classes:" self error: 'Attempting to file-in parcel imports. Choose terminate or close' <class> <name>OracleConnection</name> <environment>Database</environment> <super>Database.ExternalDatabaseConnection</super> <private>false</private> none henvHolder herrHolder hsvcctxHolder hsrvrHolder hsessHolder htxnHolder executionMode transactionMode authenticationMode signalMap libraryInitialized <imports></imports> <category>Database-Oracle</category> <attributes> <package>OracleEXDI</package> </attributes> </class> <class> <name>OracleInterface</name> <environment>Database</environment> <super>External.ExternalInterface</super> <private>false</private> none encoding <imports> private Database.OracleInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles></libraryFiles> <libraryDirectories></libraryDirectories> true full <package>OracleEXDI</package> </attributes> </class> <class> <name>OracleSession</name> <environment>Database</environment> <super>Database.ExternalDatabaseSession</super> <private>false</private> none resultsCache hstmtHolder herrHolder bindValuePointersHolder maxLongBytes queryIsPLSQL currentRowIndex totalRows rowsInBlock dependentLobs sqlPointerHolder maxBindSize needBinding answerLobProxy defaultDisplayLobSize <imports></imports> <category>Database-Oracle</category> <attributes> <package>OracleEXDI</package> </attributes> </class> <class> <name>OracleNTInterface</name> <environment>Database</environment> <super>Database.OracleInterface</super> <private>false</private> none <imports> private Database.OracleNTInterfaceDictionary.* </imports> <category>Database-External-Libraries</category> <attributes> <includeFiles></includeFiles> <includeDirectories></includeDirectories> <libraryFiles><item>oci.dll</item> <item>advapi32.dll</item></libraryFiles> <libraryDirectories></libraryDirectories> true full <package>OracleEXDI</package> </attributes> </class>