Skip to content

Commit 0093bb7

Browse files
Thin: small optimization when sending column metadata.
1 parent 72f44e5 commit 0093bb7

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

doc/src/release_notes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ oracledb 1.0.1 (TBD)
3232
fetched as floats when oracledb.defaults.fetch_lobs was set to `False`.
3333
#) Thin: ensure that errors that occur during fetch are detected consistently.
3434
#) Thin: fixed issue when fetching null values in implicit results.
35+
#) Thin: small optimization when sending column metadata.
3536
#) Improved samples and documentation.
3637

3738

src/oracledb/impl/thin/constants.pxi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,6 @@ DEF TNS_KEYWORD_NUM_EDITION = 172
401401

402402
# bind flags
403403
DEF TNS_BIND_USE_INDICATORS = 0x0001
404-
DEF TNS_BIND_USE_LENGTH = 0x0002
405404
DEF TNS_BIND_ARRAY = 0x0040
406405

407406
# bind directions

src/oracledb/impl/thin/messages.pyx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ cdef class MessageWithData(Message):
897897
ora_type_num = var_impl.dbtype._ora_type_num
898898
if ora_type_num == TNS_DATA_TYPE_ROWID:
899899
ora_type_num = TNS_DATA_TYPE_UROWID
900-
flag = TNS_BIND_USE_INDICATORS | TNS_BIND_USE_LENGTH
900+
flag = TNS_BIND_USE_INDICATORS
901901
if var_impl.is_array:
902902
flag |= TNS_BIND_ARRAY
903903
buf.write_uint8(ora_type_num)
@@ -918,9 +918,12 @@ cdef class MessageWithData(Message):
918918
buf.write_ub4(0) # cont flag
919919
buf.write_ub4(0) # OID
920920
buf.write_ub4(0) # version
921-
buf.write_ub4(TNS_CHARSET_UTF8)
921+
if var_impl.dbtype._csfrm != 0:
922+
buf.write_ub4(TNS_CHARSET_UTF8)
923+
else:
924+
buf.write_ub4(0)
922925
buf.write_uint8(var_impl.dbtype._csfrm)
923-
buf.write_ub4(var_impl.size)
926+
buf.write_ub4(0) # max chars (not used)
924927
if buf._caps.ttc_field_version >= TNS_CCAP_FIELD_VERSION_12_2:
925928
buf.write_ub4(0) # oaccolid
926929

0 commit comments

Comments
 (0)