|Subject:||Use of $h->func() should be deprecated and replaced with calls to driver-private 'installed methods'|
The old $h->func(...) way of calling driver-private methods is problematic, not least because it doesn't honour RaiseError etc! Drivers should install driver-private methods into the DBI dispatcher using the install_method() method when the driver is initialized. See(and the following "Using install_method() to expose driver-private methods" section. The install_method() requires the method name being installed to being with the driver's registered prefix, but DBD::SQLite wasn't registered. I've registered 'sqlite_' as the prefix for DBD::SQLite in the next DBI release (1.608). So you'll need to only call install_method() if the DBI VERSION is >= 1.608. To avoid problems renaming the methods currently called via func() you can use the XS ALIAS directive to give each XS driver-private method that an extra name that begins with sqlite_.