Home » Database » MDB2_Driver_fbsql
fbsql MDB2 driver
This package is unmaintained.
Download latest release 0.3.0 (archived versions might be outdated)
License: BSD License
Description
This is the Frontbase SQL MDB2 driver.
Maintainers
- Frank M. Kromann (fmk) — lead, inactive
- Lukas Kahwe Smith (lsmith) — lead, inactive
- Lorenzo Alberton (quipo) — lead, inactive
Dependencies
Required
- PHP (>= 5.0.4)
- PEAR Installer (>= 1.4.0b1)
- MDB2 (>= 2.5.0b4)
- fbsql (extension)
Releases
- 0.3.0 (alpha, 2012-10-23)
Release notes
License: BSD License
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- Remove last few "Assigning the return value of new by reference is deprecated" notices.
- Fix Bug #19262. Updates conditional stagements to use logical operators to include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Have alterTable() return MDB2_OK on success, as documented (bug 19200)
- Have dropTable() return MDB2_OK on success, as documented (bug 19199)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- FETCHMODE constants are NOT bitwise.
- Fix problems with rev 308955 (setResultTypesAssoc() does not exist, missed handling some associative results) (Bug #18203).
- #13291 fixed.
- Check is DBA_username is set or not
- Use standaloneQueris for excute create/drop satabase
- Add options DBA_username and DBA_password
- Add new methid databaseExists
- Add _doConnect method
- Change connect method to use _doConnect
- Add standaloneQuery only for excute DBA queries
- fix typo in fbsql
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- request #12012: added charset/collation support in createDatabase() for the drivers that support this feature
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type as first option
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- added _mapNativeDatatype() in the Datatype module
- phpdoc fixes in all the list*() methods
- removed outdated comments
- removed use of track_errors, it was causing pain for users of controlled environments due to the use if ini_set() and it does not work in 5.2.0 reliably anymore anways
- added supported 'new_link' and use it to determine if lastInsertID() test can be run (does ibase do new links for the same host by default?)
- skipping proper id generation prevents lastInsertID() from working
- unreachable code
- handle quoted identifier and SQL comment in prepare parser - expanded definition of quote and escape characters - added support for scale in decimal field definition
- cosmetic fixes s/ressource/resource s/id/resource
- s/Metabase/MDB2
- fixed inheritance structure of convertResult()
- reverted the bulk of the recent rtrim changes because it was killing performance - if types have been defined, then rtrim is not done inside _fixResultArrayValues() but inside covertResult() instead (but only for type 'text')
- fixed mode handling in convert methods and added missing phpdoc comments
- refactored _fixResultArrayValues() into convertResultRow of the datatype module - force loading of the datatype module in MDB2::factory() - only apply RTRIM for type 'text' or null
- do not list empty contraints and indexes
- fixed and cleaned up handling return values when disable_query is set in _doQuery() and _execute()
- readded accidentally removed debug() call in beginTransaction()
- use old dsn when rolling back in disconnect()
- renamed 'time' to 'when' in the debug context array (still not entirely happy, but less ambiguous)
- check that $savepoint is_null ..
- reworked tableInfo() to use a common implementation based on getTableFieldDefinition() when a table name is passed (Bug #8124)
- added nativetype output to tableInfo() and getTableFieldDefinition()
- added mdb2type output to getTableFieldDefinition()
- folded setSavepoint() and releaseSavepoint() into beginTransaction and commit()
- brought rollback() implementation inline with new commit() implementation
- added debug() call at the end of a query/prepare/execute calling (Request #7933)
- added context array parameter to debug() and make use of it whereever sensible
- added optional method name parameter to raiseError() and use whereever possible
- added quote_identifier and pattern_escaping support information
- removed useless nested_transactions parameter since no driver can implement it natively
- various cleanups related to savepoint/nested transaction support
- revert minor BC issue where inTransaction would return an integer instead of a boolean
- added base class for consistency
- turned in_transaction into an integer
- added ability to escape wildcard characters in escape() and quote()
- cleanedup free()
- do not throw an error if the connection has already been terminated (Bug #7790)
- phpdoc fixes
- typo fix for last commit
- added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback
- switched most array_key_exists() calls to !empty() to improve readability and performance
- fixed a few edge cases and potential warnings
- generalized quoteIdentifier() with a property
- added setCharset()
- use setCharset() in connect()/_doConnect()
- I have no idea why addslashes() was used for BLOB (this might result in SQL injection vulnerability)
- phpdoc fixes (thx Stoyan)
- primary key support should work
- added 'prepared_statements' supported meta data setting
- phpdoc fixes
- made _doQuery() return a reference
- added userinfo's to all raiseError calls that previously had none - cosmetic fixes here and there
- added support for fixed and variable types for 'text' (Request #1523)
- typo fixes in phpdoc (thx Stoyan)
- various minor tweaks to error messages, phpdoc and adding stub methods to the common driver
- explicitly set is_manip parameter to false for transaction debug calls
- explicitly set is_manip parameter to false for transaction debug calls
- various minor tweaks to error messages, phpdoc and adding stub methods to the
common driver
- typo fixes in phpdoc (thx Stoyan)
- added support for fixed and variable types for 'text' in declarations,
as well as in reverse engineering (Request #1523)
- made _doQuery() return a reference
- added userinfo's to all raiseError calls that previously had none
- added 'prepared_statements' supported meta data setting
- marked primary key as supported
- use setCharset() in connect()/_doConnect()
- generalized quoteIdentifier() with a property
- switched most array_key_exists() calls to !empty() to improve readability and performance
- fixed a few edge cases and potential warnings
- added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback
- check if result/connection has not yet been freed/disconnected before
attempting to free a result set(Bug #7790)
- added ability to escape wildcard characters in escape() and quote()
- added debug() call at the end of a query/prepare/execute calling (Request #7933)
- added context array parameter to debug() and make use of it wherever sensible
- added optional method name parameter to raiseError() and use wherever possible
- added ability to escape wildcard characters in escape() and quote()
- added debug() call at the end of a query/prepare/execute calling (Request #7933)
- added 'nativetype' output to tableInfo()
- reworked tableInfo() to use a common implementation based on getTableFieldDefinition()
when a table name is passed (Bug #8124)
- fixed incorrect regex in mapNativeDatatype() (Bug #8256) (thx ioz at ionosfera dot com)
- use old dsn when rolling back open transactions in disconnect()
- do not list empty contraints and indexes
- fixed handling return values when disable_query is set in _doQuery() and _execute()
- increased MDB2 dependency to XXX
- do not skip id generation in nextId() when creating a sequence on demand
because this prevents lastInsertID() from working
- migrated to package.xml version 2
- added _mapNativeDatatype() in the Datatype module
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type
as first option
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- added standaloneQuery()note:
- this driver needs a serious update as it's currently unmaintained/untestedopen todo items:
- ensure that all primary/unique/foreign key handling is only in the constraint methods - 0.2.0 (alpha, 2006-04-16)
Release notes
License: BSD License
- do not fix case in listUsers()
- unified case fixing in the list*() methods
- split index and constraint handling
- quote identifiers where possible inside the manager methods depending on
the new 'quote_identifier' option (defaults to off)
- refactored get*Declaration() methods to use getTypeDeclaration()
- setting in_transaction to false on disconnect
- added new Function modules to handle difference in SQL functions
- force rollback() with open transactions on disconnect
- fixed table renaming
- escape floats to make sure they do not contain evil characters (bug #5608)
- split off manipulation queries into exec() method from the query() method *BC BREAK*
- only if result_types is set to false in prepare() method the query will be
handled as a DML statement *BC BREAK*
- use lastInsertID() method in nextID()
- added 'mdbtype' to tableInfo()
- changed 'len' to 'length' in tableInfo() output *BC BREAK*
- fixed 'change' in alterTable()
- proper quote new table name in alterTable()
- explicitly pass if the module is phptype specific in all loadModule calls (bug #6226)
- typo fixes in error handling of nextResult() and numRows() calls
- nextResult() returns false if there are no more result sets to read
- _fixIndexName() now just attempts to remove possible formatting
- renamed _isSequenceName() to _fixSequenceName()
- _fixSequenceName() now just attempts to remove possible formatting, and only
returns a boolean if no formatting was applied when the new "check" parameter is set to true
- added support for length in decimal columns
- removed ugly hack for quote parameter in quote() since it was insufficient
(escaping also needs to be prevented)
- handle null as resource when disable_query option is enabled in result object
- aligned _modifyQuery() signature and phpdoc
- added 'result_introspection' supported metadata support
- use connected_server_info in getServerVersion() as a cache cache
- use parent::disconnect() in disconnect()open todo items:
- this driver needs a serious update as it's currently unmaintained/untested
- ensure that all primary/unique/foreign key handling is only in the contraint methods - 0.1.1 (alpha, 2005-10-10)
Release notes
License: BSD License
Warning: this release features numerous BC breaks!
There have been considerable improvements to the datatype, manager and reverse
modules. However this driver should be considered unmaintained and likely broken.- increased php dependency to 4.3.0 due to the usage of the streams API since beta5
- ensure that instance is connected before using connection property in tableInfo()
- alterTable now needs the full definition to work (use getTableFieldDefinition
from Reverse module if you do not have a definition at hand) this eliminates the need
of the declaration part in the alterTable array.
- ensure that instance is connected before using connection property in tableInfo()
- fix PHP4.4 breakage
- moved getInsertID() into core as lastInsertID()
- moved max_text_length property into the fbsql datatype module
- use !empty() instead of isset() in fetchRow to determine if result cols were bound or result types were set
- moved all private fetch mode fix methods into _fixResultArrayValues() for performance reasons
- renamed MDB2_PORTABILITY_LOWERCASE to MDB2_PORTABILITY_FIX_CASE and use 'field_case' option to determine if to upper- or lowercase (CASE_LOWER/CASE_UPPER)
- count() -> !empty() where possible
- use array_map() instead of array_flip(array_change_key_case(array_flip())) to fix case of array values
- use array_key_exists() instead of isset() where possible
- changed structure of field add/remove/change in alterTable() to match MDB2_Schema
- return 0 for manipulation queries when disable_query is enabled
- tweaked handling of notnull and default in field reverse engineering - 0.1.0 (alpha, 2005-06-08)
Release notes
License: BSD License
first unbundled release from MDB2 core
- dont just check for isset() for boolean values in order to support
setting them false as well (bug #4373)
- ensure SQL injection protection in all _quote() methods (was missing in
some decimal, float, time, date and timestamp implementations)
- Warning: this release is untested (new maintainer wanted!)
Bugs
| ID | Status | Type | Version | Date | Summary |
|---|---|---|---|---|---|
| #7136 | Closed | Bug | CVS | 2006-03-16 | There is a parse error in the FBSQL Manager |
| #18429 | Wont fix | Bug | 0.2.0 | 2011-04-08 | Error installing MDB2_Drive_fbsql |