Ingres Ruby Projects

From Ingres Community Wiki

Jump to: navigation, search

This page provides a complete index of all Ruby Driver related open source projects sponsored by Ingres Corp. If you are interested in joining any of these projects, please contact the project leaders. If you would like to start a new project, please contact Grant Croker.

Image:announce_discuss.png=Discussion Image:announce_planning.png=Planning Image:announce_design.png=Design Image:announce_develop.png=Coding Image:announce_beta.png=Beta Image:announce_release.png=Stable Image:announce_terminate.png=Terminated

Ruby Driver Research Projects

Project Leader(s)
Image:announce_discuss.png Ruby Date Format Support Grant Croker
Image:announce_discuss.png Ruby Describe Input Support Grant Croker
Image:announce_beta.png Ruby on Rails 2.1 Support Grant Croker
Image:announce_beta.png Ruby Migrations Support Grant Croker
Image:announce_beta.png Ruby Increased Data Type Support Bruce Lunsford
Image:announce_develop.png Ruby Multiple Concurrent Connections Support Grant Croker

Ruby Driver TODO

  • General
  • Clean up
    • Beautify C code
      • Refactor code - For example - connect calls connect_with_credentials which in turn calls connect2ingres - needs to be simplified.
      • Organize the code
        • Order functions
        • Separate Ingres.c into separate functional areas, ala python dbi interface
      • Documentation
        • Indentation etc
        • Document each function
          • Use rdoc tags to simplify the documentation process
          • Enter TODO tags to identify known issues
  • (Missing) Features
    • Data type support
      • long nvarchar
      • Unicode datatypes
    • Multiple concurrent connections
      • Current implementation uses a global variable to hold the OpenAPI connection information. In multi-threaded environments only a single connection can be maintained. In a multi-process environment, such as Apache-Prefork, only one connection per process can be made.
    • Concurrent result-sets
      • At the present results are returned as multi-dimensional array and the OpenAPI statement is closed. It might be useful to have ruby functions that can query the data values.
    • Scrollable cursors (IIAPI_VERSION_6)
      • Only required if an object is returned from Ingres.execute(). The current implementation"s resultset is not connected to OpenAPI and can be navigated using standard array functions.
    • It should be possible to alter the output from Ingres.table() to only user tables, only system tables or all tables (current default)
    • Determine if II_DATE_FORMAT=SWEDEN is required for Ruby or RoR. If the former this can be enforced on connect calling IIapi_setEnvParam() with IIAPI_EP_DATE_FORMAT. If it is required for RoR then there needs to be some sort of mechanism to set the date format.
      • Determine other localization needs
    • Add each method to ingres_adaptor.rb
      • Required for AR unit tests
    • Create a RubyGem (installable package)
  • Testing
    • Improve test coverages from the active_record unit-tests
      • test_base.rb
      • All other AR unit tests
    • Enhance unit-tests for the ruby driver
      • At least cover data types, all methods and exceptions
Personal tools
Developing With