User:Leonsp/Changelog for IBM DB2 support
Appearance
Changes for 2009-09-23
[edit]includes/db/DatabaseIbm_db2.php
[edit]- Removed database column name lowercasing kludge -- now using the official way of getting lowercase column names
- Added reliable way of getting the last insert id -- required by database API
- Fixed bug where inserted data was always rolled back when the IGNORE flag was passed
maintenance/ibm_db2/tables.sql
[edit]- Stripped out all unused sequence definitions from the database schema -- the current DB2 database schema uses GENERATED BY DEFAULT columns, not sequences
Changes for 2009-08-15
[edit]config/index.php
[edit]- Made installation on IBM DB2 more robust
- Replaced E_ALL with E_ALL | E_STRICT
includes/db/DatabaseIbm_db2.php
[edit]- Enabled DB2_CASE_LOWER option for all connections and statements
- Enabled DB2_DEFERRED_PREPARE_ON for all statements -- delays statement preparation until execution to reduce database load
- Enabled DB2_ROWCOUNT_PREFETCH_ON for all statements -- makes db2_num_rows() work correctly
- Cleaned up error handling
- Cleaned up method signatures
- Rewrote insertion to use prepared statements -- required for inserting more than 32k of text
- Insertion will never try to insert a NULL value into a primary key
- Now relying on implicit casting in DB2 9.7 -- no longer sniffing to see if column is integer or string before adding quotes
- Implemented actual prepared statement handling -- required for correct INSERT, UPDATE behaviour
- In install mode, the class will print additional messages to the install bullet scroll
- Added bitwise operations (BITNOT, BITAND, BITOR)
includes/specials/SpecialAncientpages.php
[edit]- Added skeleton DB2 syntax to the database-specific switch statement
maintenance/convertLinks.inc
[edit]- Made limit clause database-agnostic
maintenance/ibm_db2/README
[edit]- Contents replaced with link to http://www.mediawiki.org/wiki/Manual:IBM_DB2
maintenance/ibm_db2/tables.sql
[edit]- Revised types to better match the MySQL schema
- All tables names now the same as MySQL -- was using Postgres names before
- Added some additional indices
- Added the change_tag, tag_summary, valid_tag, user_properties, log_search, and l10n_cache tables
- Added several new columns
maintenance/storage/compressOld.inc
[edit]- Made limit clause database-agnostic