(Need more details? JD-GUI and ojdbc6_g.jar is all what you need.)
- oracle.jdbc.OracleDriver --> OracleDriver
- connect()
- oci: T2CDriverExtension (driverextension id: 2) [T2 means "type 2", aka using native-API]
- thin: T4CDriverExtension (driverextension id: 0) [T4 means "type 4", aka pure java implementation]
- Instatiates a T4CDriverExtension
- getConnection() --> T4CConnection
- Casts back the T4CConnection to PhysicalConnection, then returns.
- PhysicalConnection.createStatement(CURSOR_TYPE, CONCURRENCY_TYPE, IGNORED)
- return new OracleStatementWrapper( T4CDriverExtension.allocateStatement() --> T4CStatement)
- OracleStatementWrapper.executeQuery() [To have a ResultSet]
- OracleStatement.executeQuery()
- OracleStatement.doExecuteWithTimeout()
- T4CStatement.executeForRows()
- T4CStatement.doOall8(PARSE, EXEC, FETCH, DESCR, DEF, 1stRow)
- T4C8Oall.doOALL(PARSE, EXEC, FETCH, DESCR, DEF, kind, cursorid, sqlObject.getSqlBytes() [teh query], ...)
- ...
- return new OracleResultSetImpl(this.[pysical]connection, this[OracleStatement]);
- ret
- [while] OracleResultSetImpl.next()
- OracleResultSetImpl.close_or_fetch_from_next()
- T4CStatement.fetch()
- T4CStatement.doOall8(f,f,t,f,f)
- T4C8Oall.doOALL()
- T4CTTIfun.doRPC() [TTI: Two-Task Interface]
- marshalFunHeader()
- T4CTTIMsg.marshalTTCcode()
- T4CMAREngine.marshalUB1()
- [T4CSocketOutputStreamWrapper.write(aByte)]
- marshal() -- abstract: TODO
- receive()
- T4C8Oall.readDCB()
- T4C8TTILob.readLOBD()
- OracleResultSetImpl.getLong(i)
- OracleStatement,accessors[i-1]
- LongAccessor
- CharCommonAccessor.getLong(i-1)
- Long.parseLong(CharCommonAccessor.getString(i-1))
- cuts the string out of an array of bytes received as a LOB.