Nat! bio photo

Nat!

Senior Mull

Twitter Github Twitch

MulleSybaseEOAdaptor - a new beginning

Today a new version of MulleSybase adaptor will be released. Here are some more or less relevant snippets from the release notes with respect to the last release 1.5.2. There have been quite a lot of changes and improvements over time.

  • Added support for JDBC connection dictionaries. Probably I still need to deal with the custom value types (like 'c' and so forth).
  • Fixed a bug with text/image types and Sybase 12.5.1
  • assertConnectionDictionary tries to close the channel more desperately now
  • attributes that have factory methods use improved logic for binding the sybase type to the input parameter
  • Fixed the abuse of an NSAutoreleasePool feature (addition of nil object) via IMP
  • Derived attributes are not disturbing the fetch anymore (should have been filtered by upper layer, but wasn't)
  • fixed a problem in the capabilities parsing code, that manifests with unusual packet sizes. Sybase bug around.
  • [NSDecimalNumber zero] problem cropped up again. Fixed hopefully forever by using cached copy of [NSDecimalNumber zero].
  • fixed a problem in the cancel code, that manifested on 11.9.2
  • isFetchInProgress adheres to the EOF documentation and does not report fetches in progress, if no rows are to be returned (but status/output parameters might be available)
  • fixed -[MulleSQLExpression createTableStatementsForEntityGroup:] it now does not produce duplicate column names, also the order of the columns created by column name and not by attribute name anymore.
  • Support for wide tables.
  • Support for large char and varchar
  • Support for unichar and univarchar. Note that because of some implementation details, unichar column results will always be "described" by the adaptor as univarchar.
  • Collects multiple errors, so that more important error messages dont't get lost.
  • Single character strings failed to retain properly (ugh!)
  • Minor pretty up on warning message added in 1.6.
  • Minor bugfix when a connection fails.
  • Various optimizations
  • If the Model is incorrect and an external type needs to be guessed, the adaptor is less likely to produce incorrect guesses, that lead to incomprehensible crashes later on. A warning message will be logged.