<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Implements Zend_Db_Adapter and Zend_Db_Statement to use with Firebird/Interbase PHP extension. This Adapter uses the PHP extension interbase (php_interbase).
Firebird/Interbase does not support auto-incrementing keys, so you should specify the name of a sequence to lastInsertId() or lastSequenceId().Zend Framework: Zend_Db Firebird-Interbase support Component Proposal
Proposed Component Name
Zend_Db Firebird-Interbase support
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Db Firebird-Interbase support
Proposers
Luiz Fernando Furtado
Ralph Schindler, Zend liaison
Revision
1.1 - 14 August 2007: Initial version.
1.2 - 01 October 2007: Ready for revision version (Merged Adapter and Statement proposals).
1.3 - 05 October 2007: Transaction support now works (no nested transaction support).
1.4 - 30 October 2007: (in progress) writing unit tests.
1.5 - 22 January 2008: Almost all tests done, need to improve transaction support, foldCase and AutoQuoteIdentifiers.
1.6 - 29 January 2008: All Tests complete.
1.8 - 30 January 2008: PDO support development started...and canceled (PHP PDO Firebird extension is in experimental status)
1.9 - ?? February 2008: Run tests with FB 1, 1.5, 2, 2.1 and IB 6, 7.5, 2007.
2.0 - October 2008: Bugs in the issue tracker fixed.
2.1 - January 2009: Adapter released in Version 1.7.3 - Extras (wiki revision: 26)Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
4. Dependencies on Other Framework Components
- Zend_DB_Adapter
- Zend_DB_Statement
5. Theory of Operation
See Zend_Db_Adapter and Zend_Db_Statement usage.
6. Milestones / Tasks
- Milestone 1: (DONE) Publish the code based on Zend_Db Mysqli and Zend_Db Oracle adapted to Firebird
- Milestone 2: (DONE) Bugs fix and improvements.
- Milestone 3: (DONE) Write and run tests.
- Milestone 4: (DONE) PDO support canceled due to PHP PDO Firebird is in experimental status.
- Milestone 5: (DONE) Run tests with many server versions.
- Milestone 6: (DONE) Coding standart review.
- Milestone 7: (DONE) Fix bugs reported by the comunity.
- Milestone 8: (DONE) Include in the extras library.
7. Class Index
- Zend_DB_Adapter_Firebird
- Zend_DB_Adapter_Firebird_Exception
- Zend_DB_Adapter_Statement
- Zend_DB_Adapter_Statement_Exception
8. Use Cases
No use cases listed.
9. Class Skeletons
Implements Zend_Db_Adapter and Zend_Db_Statement.
7 Comments
comments.show.hideOct 30, 2007
Luiz Fernando Furtado
<p>Bug fixed: Correct table alias without ' AS '.</p>
Oct 30, 2007
Darby Felton
<p>Based on historical precedence, a formal proposal is not necessary for development of a new database adapter, but my personal opinion is that it's best we have one.</p>
<p>I looked at Firebird some time ago, and I recall thinking that it seemed to be an excellent choice for an RDBMS, but I never had a good chance to use it in a project (until now). Thanks for putting this forward!</p>
<p>To complete this proposal, I would recommend the following:</p>
<ul>
<li>Any requirements, constraints, or acceptance criteria specific to Firebird should be listed in the corresponding section (3)</li>
</ul>
<ul>
<li>We should have some use cases (section 8), in order to uncover and illustrate items specific to Firebird. The use cases may also aid as a foundation for writing unit tests and documentation for this adapter.</li>
</ul>
Dec 10, 2007
Wil Sinclair
<p>Will this adapter be tested against both Interbase and Firebird? Also, do we have any indication of how much interest in firebird exists in the PHP community?</p>
Dec 10, 2007
Darby Felton
<ac:macro ac:name="note"><ac:parameter ac:name="title">Zend Comments</ac:parameter><ac:rich-text-body>
<p>This proposal is approved for incubator development, provided that the following issues are addressed:</p>
<ul>
<li>Which databases will this adapter support with tests? (i.e., Firebird, Interbase, or both)</li>
<li>The documentation must clearly indicate the answer to the above question.</li>
</ul>
</ac:rich-text-body></ac:macro>
Dec 13, 2007
Luiz Fernando Furtado
<p>This adapter will be tested with FirebirdSQL and Interbase.</p>
<p>FirebirdSQL is a open source fork of Interbase 6 and the two are compatible, except by some very especific features that not is the focus of Zend_Db components.</p>
Dec 13, 2007
Darby Felton
<p>Thanks for clarifying this for us, Luiz! <ac:emoticon ac:name="smile" /></p>
Apr 24, 2009
Luiz Fernando Furtado
<p>This adapter was released in version 1.7.3 in "extras" library, in the "Full Package".</p>
<p>Adapter name is ZendX_Db_Adapter_Firebird.</p>
<p>Remember to use the param adapterNamespace with value ZendX_Db_Adapter.</p>
<p>We recommend to update the gds32.dll (or linux equivalent) bundled with php, to the same version of the server. For Firebird the equivalent gds32.dll is fbclient.dll.</p>
<p>By default all identifiers (tables names, fields) are returned in upper case.</p>