[BUG][7.4.1] OracleConnection may send unimplemented message

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[BUG][7.4.1] OracleConnection may send unimplemented message

Joachim Geidel
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