I'm pleased to annouce the 6th release of Gtk2::Ex::DBI ... http://entropy.homelinux.org/Gtk2-Ex-DBI/
Gtk2::Ex::DBI is an open-source helper object that makes your Gtk2-Perl apps data aware.
It handles querying, 'painting' records on your Glade-generated form, passing updates back to the database server, inserting, deleting, and much more.
This release is a MAJOR update that dramatically improves performance while lowering the system requirements, by selecting small 'slices' of records instead of the entire resultset at once.
Currently MySQL is the only database server that gets full functionality, but I've made some progress with SQL Server by switching to DBD::ODBC - full SQL Server ( and Sybase too, I assume ) support should arrive in the next version. Adding support for Oracle and Postgres should be trivial, but I don't use either, so it's up to others ( hint, hint )
For anyone who has bookmarked my webpage previously, note that the address has moved ( see last item in changelog ).
From the changelog:
Version 0.6, released 18-Jan-2005
MAJOR CHANGE: Implemented selecting of partial recordsets ( slices ) instead of simply selecting the whole recordset at once. Dramatically improves performance on low-memory machines, and in cases of large recordsets INCOMPATIBLE CHANGE: The min / max values that are passed to the record spinner are now the recordset position PLUS ONE ( ie starts at 1 now instead of 0 ) Update the range of the record spinner when inserting / deleting Added workaround for http://bugzilla.gnome.org/show_bug.cgi?id=156017 Added support for default values. TODO: Support for fetching default values from DB Server Added support for Gtk2::CheckButton Broke out last_insert_id functionality into it's own method Fixed logic problem in 'move' method if there are no records ( don't try to move to position -1 ) Added ( dodgy ) workaround for http://bugzilla.gnome.org/show_bug.cgi?id=52372 - we bail out :) Documentation additions / cleanups Got website back online at http://entropy.homelinux.org after a large outage ( I was in Cambodia for a month, and someone stole my hostname after it expired )