|
OracleConnection>>getAttribute:descriptor:type: includes the following
statements:
--------------
ub := UninterpretedBytes new: 512.
...
getSelector := AttributeTypeConversionMap at: attributeType
ifAbsent: [ #newPointerToAddressAt: ]
...
attribute := ub perform: getSelector with: 1.
--------------
If the AttributeTypeConversionMap does not include the key
attributeType, it will send #newPointerToAddressAt: to an
UninterpretedBytes. There is no method with this selector.
OracleConnection>>initializeAttributeTypeConversionMap uses the
selector, too, which could also lead to exceptions:
(AttributeTypeConversionMap := IdentityDictionary new)
...
add: #OCI_ATTR_SERVER->#newPointerToAddressAt:;
add: #OCI_ATTR_SESSION->#newPointerToAddressAt:;
add: #OCI_ATTR_TRANS->#newPointerToAddressAt:;
Currently, the attributes with these names are only used to set values
in #acquireExternal:, so the bug will not cause problems when using the
OracleEXDI in a "normal" way.
Regards,
Joachim Geidel
|