Skip to content
pilcrow edited this page Sep 13, 2010 · 11 revisions

Fork of erikh’s ruby-dbi wiki

Overview

  • mysql_misc
    DBD::Mysql typemap, doc improvement, small refactoring
  • small_fixes
    DBD::Mysql typemap, Null#parse regex precompilation, and dbh.driver_name= arg freeze(),
  • dbd_pg
    COPY support, deprecate 'pg_native_binding' support, pilcrow’s pstmt collision fix
  • dbd_pg-Pistos-collision
    As above, Pistos’ pstmt collision fix
  • func_block
    dbh.func :whatever do ... end
  • nil_handle
    Not Ready refactoring for clarity.

mysql_misc
Status: OK (2009-09-29)

  • urgent fix #27196 dbd-mysql-0.4.3 type conversions broken under ruby-1.9.1
  • Simplified Mysql::Statement: removal of unneeded and incompletely applied @’’@mutex@, simplified #execute() and #column_info()
  • Corrected documentation on #commit() &c. against non-transactional storage engines, refactored transaction NotImplementedError against non-transactional server backends, added more consistent error-checking and two #func functions (:warning_count and :sqlstate)

small_fixes
Status: OK (2009-09-30)

dbd_pg
Status: Stable (2009-10-01)

dbd-pg improvements

  • pg COPY support (patch rf-27105)
  • direct (unprepared) Pg::Database#do implementation (patch rf-27105)
  • pstmt identifier collision recovery (bug rf-27113) (see also dbd-pg-Pistos-collision)
  • N.B. deprecates pg_native_binding attribute, remove non-default dbh['pg_native_binding']=false support (bug rf-27121)

dbd_pg-Pistos-collision
Status: Stable (2009-10-01)

As for dbd-pg above, but showing Pistos’ stmt collision avoidance scheme rather than mine.

nil_handle
Status: Nearing completion

Refactoring for an AFNP approach under lib/dbi

  • All Handles have a NilHandle singleton
  • Most StatementHandle#fetch_* reimplemented in terms of a basic fetch with
  • DatabaseHandle#execute reimplemented in terms of #prepare/StatementHandle#execute per the docs
    N.B.: DBD::Driver::Database#execute is obsolete, use dbh.do() if you want (possibly supported) “direct sql”
  • FIXME: tests needed for fetch methods when un-executed, when exhausted

func_block
Status: ready (2009-09-21)

Extend DBI::Handle#func to support blocks, crudely discriminate caller errors (yours) from implementation errors (mine). patch rf-27130