SqueakDBX

The relational access answer for Squeak/Pharo

Targets and Features

Main targets

    • Complete support of OpenDBX and all the databases it includes.
    • Glorp integration
    • Maintenance due to changes on OpenDBX that impacts on SqueakDBX, for example, API changes or new functionality.


Features

  • Current features
    • Cross-platform support: Linux, Windows (using MinGW) and Mac
    • Mini VM blocks when using FFI (asynchronous queries)
    • Own SqueakDBX plugin
    • Support for: Oracle, PostgreSQL, MySQL, MS SQL Server, ODBC and SQLite3
    • Transactional concept: begin transaction, commit and rollback
    • Mappings from String to specific types in selects
    • Special OpenDBX options: multistatements, encryption, compression, paged results, mySQL modes, and more

    • Automated database connection release (although manual disconnection is recommended ;-)
    • Automated results retrieving in order to do another query, after doing a query and not iterating ALL results
    • Lots of unit tests that buck up our project ;-)
    • Lots of benchmarks and comparison with native drivers (PostgreSQL and MySQL).
    • Error handling: Not only errors, but levels associated with an error in order to avoid FFI calls (if you get a fatal error, it has no sense to do another query and the resources must be free).
    • Query timeout (this is very useful for webapplications) and pageSize can be set for each query.


  • Expected features
    • Support for: Firebird, Interbase and Sybase
    • Ability to be used as a GLORP driver


  • Possible future features
    • Support for: DB2, Ingres and Informix
      • Note: DB2 support is coming (next major version of OpenDBX will include it)
    • Connection pooling
    • Prepared statement interface
    • Store procedures
    • Support for large objects (like clobs, globs and arrays)
    • Escape and avoid of SQL insertion
    • Authentication support: extends to other methods, not only user/password
    • Full text support