Giving this module 1/5 for 'overall' might make me seem ungrateful, but I am not - I am glad I can use DBI to perform basic operations. But DBD::Ingres does not support RVs from procedures, and does not document db_events; what is more, it blows up when a NULL value is SELECTed, due to an inability to map to a Perl type.
You'll also find some badly-handled DBI errors that you'd probably not see with a more popular DBD such as DBD::mysql. For example, "Preparing sth sth_report_result DBD::Ingres::db selectall_arrayref failed: E_LQ006B The SQLDA field SQLIND for column 1 should be a non-null pointer. [for Statement..." or "DBD::Ingres::commit(DBI::db=HASH(0x824140)) invalidates 2 active cursor(s) at .../mytest.t line 185. DBD::Ingres: Attempt to execute a statement after commit at ...sun4-solaris/DBI.pm line 1595" - that latter in response to a 'commit' that should work.
Ingres 9.1 is a horrible database to work with, and this module *does* make it a little easier by providing a Perl interface for some tasks.
I use this module a lot :) Building the module is nasty on HPUX
during the make I would receive this error.
"dbdimp.c", line 1: error 4036: Can't open include file '/cyp/gtac01/unixtacapps/ingres/files/eqdef.h'.
I had to edit the dbdimp.c file and change the include file
from eqdef.h to eqdefc.h and the module will compile.
The module is missing cached statements so it will not work
with Apache::DBI :(