Ingres Ruby Projects
From Ingres Community Wiki
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.
=Discussion
=Planning
=Design
=Coding
=Beta
=Stable
=Terminated
[edit]
Ruby Driver Research Projects
[edit]
Ruby Driver TODO
- General
- Get ingres active_record adaptor added to the active_record project (http://rubyforge.org/frs/?group_id=182)
- Clean up
- Beautify C code
- Refactor code - For example -
connectcallsconnect_with_credentialswhich in turn callsconnect2ingres- 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
- Refactor code - For example -
- Beautify C code
- (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
eachmethod toingres_adaptor.rb- Required for AR unit tests
- Create a RubyGem (installable package)
- Data type support
- 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
- Improve test coverages from the active_record unit-tests
