Expand description
TTC thin-protocol wire codecs, split across cohesive submodules.
mod.rs wires the submodules and re-exports their items so every
oracledb_protocol::thin::* path that downstream crates depend on stays
reachable, and so submodules see each other via use super::*.
Modules§
- aq
- Sans-io codecs for Oracle Advanced Queuing (AQ) enqueue/dequeue operations.
Structs§
- Accept
Info - Auth
Response - Batch
Server Error - One batch error entry from
executemany(batcherrors=True)(reference impl/thin/messages/base.pyx batch error codes/offsets/messages arrays). - Bind
Type Info - Borrowed
Fetch Result - The borrowed counterpart of a fetched
QueryResult: aBorrowedRowBatchof zero-copy rows plus the response-level fields a caller needs to page and finalize the cursor. Produced byparse_query_response_borrowed. - Borrowed
RowBatch - A decoded fetch batch that owns the wire response buffer and column
metadata, and yields rows of borrowed
QueryValueRefthat point straight into that buffer. This is the zero-copy fetch fast path: the common scalar grid is decoded with no per-cell allocation. - Client
Capabilities - Column
Metadata - Cursor
Value - Heap payload of
QueryValue::Cursor. Boxed out of the enum because a REF CURSOR carries a full column-metadata vector — seeQueryValue. - DbObject
Packed Reader - Execute
Options - Optional execute modes (reference ExecuteMessage attributes).
- LobRead
Result - LobValue
- Heap payload of
QueryValue::Lob(LOB / BFILE locator). Boxed out of the enum — seeQueryValue. - MsgQuery
- One query whose result set changed (QUERYCHANGE notifications).
- MsgRow
- One row changed inside a table notification.
- MsgTable
- One table changed inside an OBJCHANGE / QUERYCHANGE notification.
- Notification
Message - A single decoded OAC notification record handed to the user callback.
- Object
Value - Heap payload of
QueryValue::Object(ADT / collection image). Boxed out of the enum — seeQueryValue. - Query
Result - Subscribe
Result - Result of decoding the SUBSCRIBE (register) response.
- TpcChange
State Response - Outcome of a TPC transaction change-state (func 104) round trip used by
tpc_prepare/tpc_commit/tpc_rollback. Reference tpc_change_state.pyx_process_return_parametersreads the out state (ub4) from the PARAMETER message; the txn-in-progress bit is sampled from the final call status. - TpcSwitch
Response - Outcome of a TPC transaction-switch (func 103) round trip used by
tpc_begin(START) andtpc_end(DETACH). Reference tpc_switch.pyx_process_return_parameterscaptures the application value and the returned transaction context; the txn-in-progress bit is sampled from the final call status (reference protocol.pyx_process_call_status). - TpcXid
- A two-phase-commit transaction id (reference
Xidnamedtuple). Theglobal_transaction_idandbranch_qualifierare the raw (already UTF-8 encoded) byte values; the shim coercesstrmembers before calling.
Enums§
- Bind
Value - Notification
Record - Outcome of decoding one OAC record from the notification stream.
- Oracle
Number - Inline, lossless decimal carrier for an Oracle
NUMBER. - Query
Value - Query
Value Ref - A borrowed, zero-copy mirror of the hot scalar
QueryValuevariants whose payload lives inside the fetch decode buffer (the network responseVec<u8>). A consumer iterating a fetched row batch via the borrowed path receivesQueryValueRef<'buf>values that point straight at the wire bytes — the common scalar case pays zero per-cell allocations, in contrast to the ownedQueryValuepath which materializes aString/Vec<u8>for every column of every row. - Sessionless
TxnState - Outcome of a sessionless transaction switch / suspend round trip, as
signalled by the server through the transaction-id key/value pair
(reference messages/base.pyx
_update_sessionless_txn_state).Nonemeans the response carried no transaction-id update.
Constants§
- CS_
FORM_ IMPLICIT - CS_
FORM_ NCHAR - EVENT_
AQ - EVENT_
DEREG - EVENT_
OBJCHANGE - EVENT_
QUERYCHANGE - OPCODE_
ALLROWS - Table operation flag: rows are summarised (no per-row records follow).
- ORA_
TYPE_ NUM_ BFILE - ORA_
TYPE_ NUM_ BINARY_ DOUBLE - ORA_
TYPE_ NUM_ BINARY_ FLOAT - ORA_
TYPE_ NUM_ BINARY_ INTEGER - ORA_
TYPE_ NUM_ BLOB - ORA_
TYPE_ NUM_ BOOLEAN - ORA_
TYPE_ NUM_ CHAR - ORA_
TYPE_ NUM_ CLOB - ORA_
TYPE_ NUM_ CURSOR - ORA_
TYPE_ NUM_ DATE - ORA_
TYPE_ NUM_ INTERVAL_ DS - ORA_
TYPE_ NUM_ INTERVAL_ YM - ORA_
TYPE_ NUM_ JSON - ORA_
TYPE_ NUM_ LONG - ORA_
TYPE_ NUM_ LONG_ RAW - ORA_
TYPE_ NUM_ NUMBER - ORA_
TYPE_ NUM_ OBJECT - ORA_
TYPE_ NUM_ RAW - ORA_
TYPE_ NUM_ ROWID - ORA_
TYPE_ NUM_ TIMESTAMP - ORA_
TYPE_ NUM_ TIMESTAMP_ LTZ - ORA_
TYPE_ NUM_ TIMESTAMP_ TZ - ORA_
TYPE_ NUM_ UROWID - ORA_
TYPE_ NUM_ VARCHAR - ORA_
TYPE_ NUM_ VECTOR - SESSIONLESS_
FORMAT_ ID - Format id stamped into the XID of a sessionless transaction so the server
can distinguish it from an XA global transaction (reference
impl/thin/connection.pyx
_SessionlessData.create_message). - SUBSCR_
QOS_ DEREG_ NFY - SUBSCR_
QOS_ QUERY - SUBSCR_
QOS_ RELIABLE - SUBSCR_
QOS_ ROWIDS - TNS_
AQ_ ARRAY_ DEQ - TNS_
AQ_ ARRAY_ ENQ - TNS_
AQ_ ARRAY_ FLAGS_ RETURN_ MESSAGE_ ID - TNS_
AQ_ EXT_ KEYWORD_ AGENT_ ADDRESS - TNS_
AQ_ EXT_ KEYWORD_ AGENT_ NAME - TNS_
AQ_ EXT_ KEYWORD_ AGENT_ PROTOCOL - TNS_
AQ_ EXT_ KEYWORD_ ORIGINAL_ MSGID - TNS_
AQ_ MESSAGE_ ID_ LENGTH - TNS_
AQ_ MESSAGE_ VERSION - TNS_
AQ_ MSG_ BUFFERED - TNS_
AQ_ MSG_ PERSISTENT - TNS_
AQ_ MSG_ PERSISTENT_ OR_ BUFFERED - TNS_
AUTH_ MODE_ CHANGE_ PASSWORD - TNS_
AUTH_ MODE_ LOGON - TNS_
AUTH_ MODE_ WITH_ PASSWORD - TNS_
CCAP_ FIELD_ VERSION_ 12_ 1 ttc_field_versiongate that drives the 12.1 SUBSCRIBE block / response client-id read (referenceTNS_CCAP_FIELD_VERSION_12_1).- TNS_
DATA_ FLAGS_ BEGIN_ PIPELINE - TNS_
DATA_ FLAGS_ END_ OF_ REQUEST - TNS_
DATA_ FLAGS_ END_ OF_ RESPONSE - TNS_
DATA_ FLAGS_ EOF - TNS_
EOCS_ FLAGS_ TXN_ IN_ PROGRESS - End-of-call status flag signalling a server-side transaction is in progress
(reference constants.pxi:586
TNS_EOCS_FLAGS_TXN_IN_PROGRESS). Sampled from the last STATUS / ERROR message of every round trip to drivetransaction_in_progress(reference protocol.pyx_process_call_status). - TNS_
ERR_ NO_ MESSAGES_ FOUND - ORA-25228: dequeue from an empty queue with NO_WAIT returns this; the thin
driver clears it and surfaces
Noneinstead (reference aq_base.pyx). - TNS_
FETCH_ ORIENTATION_ ABSOLUTE - TNS_
FETCH_ ORIENTATION_ CURRENT - Fetch orientations for scrollable cursors (reference constants.pxi).
- TNS_
FETCH_ ORIENTATION_ FIRST - TNS_
FETCH_ ORIENTATION_ LAST - TNS_
FETCH_ ORIENTATION_ NEXT - TNS_
FETCH_ ORIENTATION_ PRIOR - TNS_
FETCH_ ORIENTATION_ RELATIVE - TNS_
FUNC_ AQ_ ARRAY - TNS_
FUNC_ AQ_ DEQ - TNS_
FUNC_ AQ_ ENQ - TNS_
FUNC_ AUTH_ PHASE_ ONE - TNS_
FUNC_ AUTH_ PHASE_ TWO - TNS_
FUNC_ CLOSE_ CURSORS - TNS_
FUNC_ COMMIT - TNS_
FUNC_ EXECUTE - TNS_
FUNC_ FETCH - TNS_
FUNC_ LOB_ OP - TNS_
FUNC_ LOGOFF - TNS_
FUNC_ NOTIFY - Arm the EMON notification stream (FUNC byte on the second/emon connection).
- TNS_
FUNC_ PING - TNS_
FUNC_ PIPELINE_ BEGIN - TNS_
FUNC_ PIPELINE_ END - TNS_
FUNC_ ROLLBACK - TNS_
FUNC_ SUBSCRIBE - Register / unregister a subscription (FUNC byte on the primary connection).
- TNS_
FUNC_ TPC_ TXN_ CHANGE_ STATE - Two-phase-commit transaction change-state (commit/abort/prepare/forget);
reference
TNS_FUNC_TPC_TXN_CHANGE_STATE(impl/thin/constants.pxi:441). - TNS_
FUNC_ TPC_ TXN_ SWITCH - Two-phase-commit / sessionless transaction switch (start/attach/detach);
reference
TNS_FUNC_TPC_TXN_SWITCH(impl/thin/constants.pxi:440). - TNS_
INIT_ KPNDRREQ - TNS_
KEYWORD_ NUM_ TRANSACTION_ ID - Keyword number carrying the (binary) sessionless transaction id / state in a return-parameter key/value pair (reference constants.pxi:207).
- TNS_
KPD_ AQ_ BUFMSG - TNS_
KPD_ AQ_ EITHER - TNS_
MAX_ LONG_ LENGTH - TNS_
MSG_ TYPE_ BIT_ VECTOR - TNS_
MSG_ TYPE_ DATA_ TYPES - TNS_
MSG_ TYPE_ DESCRIBE_ INFO - TNS_
MSG_ TYPE_ END_ OF_ RESPONSE - TNS_
MSG_ TYPE_ ERROR - TNS_
MSG_ TYPE_ FLUSH_ OUT_ BINDS - TNS_
MSG_ TYPE_ FUNCTION - TNS_
MSG_ TYPE_ IMPLICIT_ RESULTSET - TNS_
MSG_ TYPE_ IO_ VECTOR - TNS_
MSG_ TYPE_ LOB_ DATA - TNS_
MSG_ TYPE_ OAC - OAC data message type read at the head of the notification stream.
- TNS_
MSG_ TYPE_ PARAMETER - TNS_
MSG_ TYPE_ PIGGYBACK - TNS_
MSG_ TYPE_ PROTOCOL - TNS_
MSG_ TYPE_ ROW_ DATA - TNS_
MSG_ TYPE_ ROW_ HEADER - TNS_
MSG_ TYPE_ SERVER_ SIDE_ PIGGYBACK - TNS_
MSG_ TYPE_ STATUS - TNS_
MSG_ TYPE_ TOKEN - TNS_
OBJ_ TOP_ LEVEL - TNS_
PACKET_ TYPE_ ACCEPT - TNS_
PACKET_ TYPE_ CONNECT - TNS_
PACKET_ TYPE_ DATA - TNS_
PACKET_ TYPE_ REDIRECT - TNS_
PACKET_ TYPE_ REFUSE - TNS_
PIPELINE_ MODE_ ABORT_ ON_ ERROR - TNS_
PIPELINE_ MODE_ CONTINUE_ ON_ ERROR - TNS_
SUBSCR_ CLIENT_ ID_ LEN - TNS_
SUBSCR_ FLAGS_ INCLUDE_ ROWIDS - TNS_
SUBSCR_ FLAGS_ QUERY - TNS_
SUBSCR_ MODE_ CLIENT_ INITIATED - TNS_
SUBSCR_ NAMESPACE_ AQ - Notification namespaces (shared numeric space with the public enums).
- TNS_
SUBSCR_ NAMESPACE_ DBCHANGE - TNS_
SUBSCR_ OP_ REGISTER - TNS_
SUBSCR_ OP_ UNREGISTER - TNS_
SUBSCR_ QOS_ PURGE_ ON_ NTFN - TNS_
SUBSCR_ QOS_ RELIABLE - TNS_
SUBSCR_ QOS_ SECURE - TNS_
SUBSCR_ STOP_ NOTIF - OAC record
message_typevalue that ends the notification stream. - TNS_
TPC_ TXNID_ SYNC_ SERVER - TNS_
TPC_ TXNID_ SYNC_ SET - TNS_
TPC_ TXNID_ SYNC_ UNSET - TNS_
TPC_ TXN_ ABORT - TNS_
TPC_ TXN_ COMMIT - TNS_
TPC_ TXN_ DETACH - TNS_
TPC_ TXN_ FORGET - TNS_
TPC_ TXN_ POST_ DETACH - TNS_
TPC_ TXN_ PREPARE - TNS_
TPC_ TXN_ START - TNS_
TPC_ TXN_ STATE_ ABORTED - TNS_
TPC_ TXN_ STATE_ COMMITTED - TNS_
TPC_ TXN_ STATE_ FORGOTTEN - TNS_
TPC_ TXN_ STATE_ PREPARE - TNS_
TPC_ TXN_ STATE_ READ_ ONLY - TNS_
TPC_ TXN_ STATE_ REQUIRES_ COMMIT - TNS_
VERIFIER_ TYPE_ 11G_ 1 - TNS_
VERIFIER_ TYPE_ 11G_ 2 - TNS_
VERIFIER_ TYPE_ 12C - TPC_
TXN_ FLAGS_ JOIN - TPC_
TXN_ FLAGS_ NEW - TPC_
TXN_ FLAGS_ PROMOTE - TPC_
TXN_ FLAGS_ RESUME - TPC_
TXN_ FLAGS_ SESSIONLESS
Functions§
- adjust_
refetch_ metadata - When the same query is re-executed after a column’s data type changed to
CLOB/BLOB but the previous execution fetched the column as a char/raw
type, the server streams the data as LONG/LONG RAW (same as a define of
CLOB/BLOB as string/bytes); the fetch metadata must follow (reference
impl/thin/messages/base.pyx:820-845
_adjust_metadata). Returnstruewhen the metadata was adjusted. - append_
auth_ phase_ one - append_
auth_ phase_ two_ token - Appends the auth message for token authentication (OCI IAM database
token / OAuth2) to the fast-auth bundle. Unlike password auth there is no
verifier challenge: the reference sends auth phase TWO directly, carrying the
token in
AUTH_TOKENwith noAUTH_SESSKEY/AUTH_PASSWORDand auth modeLOGON(noWITH_PASSWORD); it never resends (messages/auth.pyx_set_params/_write_message, messages/fast_auth.pyx). Because this message lives inside the fast-auth bundle (ttc field version 19.1), the function code carries noub8token-num — exactly likeappend_auth_phase_one. - bind_
template_ from_ type_ name - bind_
value_ type_ info - build_
auth_ phase_ two_ payload - build_
auth_ phase_ two_ payload_ with_ context_ with_ seq - build_
auth_ phase_ two_ payload_ with_ proxy_ with_ seq - Phase-two auth payload with optional proxy authentication: the reference
writes
PROXY_CLIENT_NAMEas the first key/value pair when the connect user is of the formuser[proxy_user](messages/auth.pyx). - build_
auth_ phase_ two_ payload_ with_ seq - build_
begin_ pipeline_ piggyback - Begin-pipeline piggyback (messages/base.pyx
_write_begin_pipeline_piggybackand_write_piggyback_code): prepended to the first pipelined message’s payload. The packet carrying it must setTNS_DATA_FLAGS_BEGIN_PIPELINE. - build_
change_ password_ payload_ with_ seq - Change-password payload: an AUTH_PHASE_TWO message carrying only the
combo-key-encrypted old/new passwords (reference
connection.pyx
_create_change_password_message+ messages/auth.pyx_write_message: auth mode WITH_PASSWORD|CHANGE_PASSWORD, two pairs). - build_
close_ cursors_ piggyback - Builds a close-cursors piggyback message (reference
_write_close_cursors_piggyback+write_cursors_to_close); it is prepended to the next regular message in the same data packet and consumes a TTC sequence number of its own. - build_
connect_ packet_ payload - build_
define_ fetch_ payload_ with_ seq - build_
end_ pipeline_ payload_ with_ seq - End-pipeline message (messages/end_pipeline.pyx): function 200 plus an unused ub4 identifier. Sent after every pipelined operation message; its packet carries no END_OF_REQUEST flag and its response is the final (N+1th) boundary-delimited response of the pipeline.
- build_
execute_ payload_ with_ bind_ rows_ and_ options_ with_ seq - build_
execute_ payload_ with_ bind_ rows_ with_ seq - build_
execute_ payload_ with_ bind_ rows_ with_ seq_ and_ token - Execute message with an explicit pipeline token; pipelined operations
carry tokens 1..N (impl/thin/connection.pyx
_create_messages_for_pipeline), everything else carries 0. - build_
execute_ payload_ with_ binds_ with_ seq - build_
execute_ payload_ with_ seq - build_
execute_ query_ payload - build_
execute_ query_ payload_ with_ seq - build_
fast_ auth_ phase_ one_ payload - build_
fast_ auth_ token_ payload - Fast-auth bundle for token authentication: the same static
protocol/data-types prefix as
build_fast_auth_phase_one_payload, but with a phase-twoAUTH_TOKENmessage appended (no verifier round-trip). The caller sends this once and reads a single auth response. - build_
fetch_ payload - build_
fetch_ payload_ with_ seq - build_
function_ payload - build_
function_ payload_ with_ seq - build_
function_ payload_ with_ seq_ and_ token - Bare function message with an explicit pipeline token (messages/base.pyx
_write_function_codewritesub8 token_numfor field version >= 23.1 ext 1; non-pipelined messages carry 0). - build_
lob_ create_ temp_ payload_ with_ seq - build_
lob_ free_ temp_ payload_ with_ seq - build_
lob_ read_ payload_ with_ seq - build_
lob_ trim_ payload_ with_ seq - build_
lob_ write_ payload_ with_ seq - build_
notify_ payload_ with_ seq - Build the NOTIFY (FUNC 187) payload sent on the emon connection. Ports
notification.pyx::_write_message. The caller must transmit this packet with theTNS_DATA_FLAGS_END_OF_REQUESTdata flag set. - build_
sessionless_ piggyback - Sessionless transaction-switch piggyback, prepended to the next execute
message’s payload (reference messages/base.pyx
_write_sessionless_piggyback— the same message body written with aTNS_MSG_TYPE_PIGGYBACKheader). Used for a deferred begin/resume (defer_round_trip=True) and for thesuspend_on_successpost-detach.operationalready encodes whether a post-detach is folded in (TNS_TPC_TXN_START | TNS_TPC_TXN_POST_DETACH). - build_
subscribe_ payload_ with_ seq - Build the SUBSCRIBE (FUNC 125) payload for register (
opcode = 1) or unregister (opcode = 2). Portssubscribe.pyx::_write_message. - build_
tpc_ change_ state_ payload_ with_ seq - TPC transaction change-state payload (func 104), used by
tpc_prepare(operation = TNS_TPC_TXN_PREPARE),tpc_commit(TNS_TPC_TXN_COMMIT) andtpc_rollback(TNS_TPC_TXN_ABORT).requested_stateis the desired state (0 for prepare; READ_ONLY/COMMITTED for commit; ABORTED for rollback). Reference messages/tpc_change_state.pyx_write_message. - build_
tpc_ switch_ payload_ with_ seq - Full-XA transaction-switch payload (func 103), used by
tpc_begin(operation = TNS_TPC_TXN_START) andtpc_end(operation = TNS_TPC_TXN_DETACH). Unlikebuild_tpc_txn_switch_payload_with_seq(the sessionless special case) this carries a realformat_id, a non-empty branch qualifier, and the captured transactioncontextto echo back. Reference messages/tpc_switch.pyx_write_message. - build_
tpc_ txn_ switch_ payload_ with_ seq - Direct (non-deferred) transaction-switch function call used to begin/resume
(
TNS_TPC_TXN_START+ new/resume flag, withxid) or suspend (TNS_TPC_TXN_DETACH, noxid) a sessionless transaction. Reference impl/thin/connection.pyxbegin/resume/suspend_sessionless_transaction. - check_
fetch_ conversion - Mirrors the reference fetch-conversion legality matrix
(reference impl/base/var.pyx:113-248
_check_fetch_conversion). Given the metadata of the column being fetched and the Oracle type requested by an output type handler variable, returns the metadata that should be used for the wire define. Conversions that only affect the Python materialization keep the original wire metadata; LOB and JSON sources adjust the define so the server sends inline data. Unsupported pairs returnNoneand the caller is expected to raiseDPY-4007. - check_
notification_ header - Consume the leading
TNS_MSG_TYPE_OACbyte that precedes the OAC record stream (process()reads it once before delivering any record). Returns the number of bytes consumed (1) or an error if the byte is not OAC. - check_
notification_ header_ with_ limits - collection_
flags_ for - Collection flags byte written at the start of a collection body
(
TNS_OBJ_HAS_INDEXESfor associative arrays, else 0). Reference_parse_tdscollection_flags +_pack_data. - column_
metadata_ is_ xmltype - cursor_
bind_ template - dbobject_
attr_ max_ size - dbobject_
attr_ precision_ scale - dbobject_
element_ bind_ type_ info - dbobject_
rowtype_ attr_ max_ size - decode_
bfile_ locator_ name - decode_
datetime_ value - decode_
dbobject_ binary_ double - decode_
dbobject_ binary_ float - decode_
dbobject_ text - decode_
dbobject_ xmltype_ text - decode_
lob_ text - decode_
number_ text_ into - Decode the Oracle
NUMBERwire form into canonical decimal text, appending totextand returning whether the value is integral.digitsis a caller-owned scratch buffer (cleared on entry) so a tight decode loop can reuse one allocation across many values — this is the allocation-free core the borrowed fetch path drives, writing straight into its per-row arena.decode_number_valueis the owning convenience wrapper. - decode_
number_ value - decode_
sessionless_ txn_ state - Decode the sessionless state bits packed in the transaction-id key/value
binary payload (reference
_update_sessionless_txn_state). The last two bytes are the state mask and the sync version; the leading bytes are the transaction id itself. - define_
metadata_ from_ bind - encode_
lob_ text - encode_
number_ text - Encode a canonical decimal
valueinto the OracleNUMBERwire form (the inverse ofdecode_number_value). Public so benches / parity harnesses can synthesize fetch payloads. Reference impl/base/encoders.pyx. - image_
begin - Builds the pickle image header (reference
write_header+ image_flags fromcreate_new_object). Returns the buffer pre-seeded with the header; the caller appends the body and then callsimage_finalizeto back-patch the total size (4-byte BE at offset 3). - image_
finalize - Back-patches the total image size (reference
_get_packed_data: the 4-byte BE size at offset 3, after flags + version + 0xFE). - image_
write_ length - Writes a collection/element count length into a pickle image buffer using
the 245-cutoff scheme (reference
DbObjectPickleBuffer.write_length). - image_
write_ null - Writes a NULL element/attribute marker into the image. Non-collection object
attributes use
TNS_OBJ_ATOMIC_NULL(253); scalars and collection elements useTNS_NULL_LENGTH_INDICATOR(255). Reference_pack_valueNone branch. - image_
write_ value_ bytes - Writes a length-prefixed value into a DbObject pickle image buffer using the
inner-buffer scheme (252 short cutoff, 32767 chunks for the long form). This
mirrors
Buffer.write_bytes_with_lengthused by_pack_value(reference impl/thin/packet.pyx) — NOT the 245-cutoffwrite_length. - is_
cursor_ bind_ template - lob_
locator_ is_ temporary - output_
bind - pack_
bindvalue_ into_ image - Packs a single scalar
BindValueinto a DbObject pickle image buffer, mirroring_pack_value(reference impl/thin/dbobject.pyx:247-306). Object (nested) and Null/Array values are handled by the caller (the pyshim owns the recursion and null framing); this serves scalar attributes and collection elements only. - parse_
accept_ payload - parse_
auth_ response - parse_
auth_ response_ with_ limits - parse_
fetch_ response_ with_ context - parse_
fetch_ response_ with_ context_ and_ limits - parse_
lob_ create_ temp_ response - parse_
lob_ create_ temp_ response_ with_ limits - parse_
lob_ free_ temp_ response - parse_
lob_ free_ temp_ response_ with_ limits - parse_
lob_ read_ response - parse_
lob_ read_ response_ with_ limits - parse_
lob_ trim_ response - parse_
lob_ trim_ response_ with_ limits - parse_
lob_ write_ response - parse_
lob_ write_ response_ with_ limits - parse_
notification_ stream - Decode every OAC record in a notification stream. The reference reads one
leading
message_typebyte (TNS_MSG_TYPE_OAC) then loops_process_oacuntilend_of_response; the driver chains network packets intopayloadso this operates on the full concatenated TTC stream. - parse_
notification_ stream_ with_ limits - parse_
oac_ record - Decode a single OAC record. Ports
notification.pyx::_process_oacplus the inner payload decode. - parse_
oac_ record_ with_ limits - parse_
plain_ function_ response - Scan a plain function response (ping/commit/rollback) for a server error.
Unknown message types end the scan without error so payload shapes that
were previously tolerated (responses used to go unparsed) keep working.
Returns whether a server-side transaction is in progress, sampled from the
final end-of-call status bit (reference protocol.pyx
_process_call_status). - parse_
plain_ function_ response_ with_ limits - parse_
query_ response - parse_
query_ response_ borrowed - Walk a fetch/query response payload and produce a
BorrowedFetchResultwhose rows borrowpayload(the caller must keep the owned buffer alive —BorrowedRowBatchowns it). This is the zero-copy companion toparse_fetch_response_with_context: it walks the exact same message framing (DESCRIBE_INFO / ROW_HEADER / BIT_VECTOR / ROW_DATA / ERROR / END_OF_RESPONSE) but, instead of materializing owned rows, records each row’s byte offset and bit vector soBorrowedRowBatch::for_each_row_refcan decode them lazily and without per-cell allocation. - parse_
query_ response_ borrowed_ with_ limits - parse_
query_ response_ with_ binds - parse_
query_ response_ with_ binds_ and_ options - parse_
query_ response_ with_ binds_ options_ and_ columns known_columnscarries the fetch metadata of a re-executed statement whose response does not repeat the describe information (reference keeps the statement’s fetch vars across executions).- parse_
query_ response_ with_ binds_ options_ columns_ and_ limits - parse_
query_ response_ with_ context - parse_
query_ response_ with_ limits - parse_
query_ response_ with_ previous - parse_
subscribe_ response - Decode the SUBSCRIBE (register) response. Ports
subscribe.pyx::_process_return_parameters, dispatched on theTNS_MSG_TYPE_PARAMETERmessage inside the standard function response loop. - parse_
subscribe_ response_ with_ limits - parse_
tpc_ change_ state_ response - Parse a TPC change-state response (reference tpc_change_state.pyx
_process_return_parametersplus the base.pyx message loop). Reads the out state from the PARAMETER message and the txn-in-progress bit from the last call status. Server errors are surfaced asProtocolError. - parse_
tpc_ change_ state_ response_ with_ limits - parse_
tpc_ switch_ response - Parse a full-XA transaction-switch response (reference tpc_switch.pyx
_process_return_parametersplus the base.pyx message loop). Captures the returned transaction context (PARAMETER message) and the txn-in-progress bit (last call status). Server errors are surfaced asProtocolError. - parse_
tpc_ switch_ response_ with_ limits - parse_
tpc_ txn_ switch_ response - Parse a transaction-switch response (reference tpc_switch.pyx
_process_return_parametersplus base.pyx message loop). Returns any sessionless state update carried by a transaction-id key/value pair; server errors (e.g. ORA-25351 / ORA-26217) are surfaced asProtocolError. - parse_
tpc_ txn_ switch_ response_ with_ limits - public_
dbtype_ name_ from_ bind - public_
dbtype_ name_ from_ column_ metadata - public_
dbtype_ name_ from_ oracle_ type_ name - public_
dbtype_ name_ from_ type_ name - public_
dbtype_ size_ info - Mirrors the reference
DbType.default_size/_buffer_size_factortable (reference impl/base/types.pyx:120-440). Returns(default_size, buffer_size_factor)for a public database type name. - returning_
output_ bind - try_
parse_ oac_ record - Attempt to decode exactly one OAC record from the front of
bytes. Returns the decoded record and the number of bytes consumed, orOk(None)when the buffer does not yet hold a complete record (the caller must read more data from the EMON socket and retry — mirroring the referenceReadBufferchaining packets within a singleprocess()call). - try_
parse_ oac_ record_ with_ limits - write_
dbobject_ bind - Frames a fully-packed DbObject pickle
imageinto the outgoing data row, replacing the zero stub used for empty OUT binds. MirrorsWriteBuffer.write_dbobject(reference impl/thin/packet.pyx:842-857). Thetoidis derived from the typeoidpercreate_new_object(620-622).