Last modified: 2009-05-05 15:53:31 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T20492, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 18492 - Oracle Single Schema database abstraction
Oracle Single Schema database abstraction
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
General/Unknown (Other open bugs)
1.15.x
All All
: Normal enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
http://www.abakus.si/jk/jksvn/
: patch, patch-need-review
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-04-17 09:01 UTC by Jure Kajzer
Modified: 2009-05-05 15:53 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Multiple patches archive (40.00 KB, application/octet-stream)
2009-04-17 09:02 UTC, Jure Kajzer
Details
Previous attachment in correct form (25.63 KB, patch)
2009-04-18 12:51 UTC, Jure Kajzer
Details
fixed patch 2 (25.27 KB, patch)
2009-04-19 12:26 UTC, Jure Kajzer
Details
fixed DatabaseOracleSS as requested (22.16 KB, patch)
2009-04-20 13:43 UTC, Jure Kajzer
Details

Description Jure Kajzer 2009-04-17 09:01:49 UTC
Removed the last few hardcoded LIMIT clauses i could find, replaced with limitResult function.
Changed fetchAssoc function name to fetchRow overload in DatabaseOracle.php
Added OracleSS database abstraction.

This DB abstraction uses Oracle as DB with multiple wiki instances stored into a single schema. All tables are wrapped with views which make use of a package variable set in constructor to identify current wiki instance.

Also added:
- makeList and selectRow function overloads.
- ORAField class and fieldExists, fieldInfo implementations which use data from a preparsed table (dynmaic query was too slow)
- query ignore errors, ignoring of DUP_VAL_ON_INDEX on insert
- infinity keyword is replaced with a large timestamp (31-DEC-30 12.00.00.000000 AM)

Database import script will be supplied just as soon as i get it from our DBA.
Comment 1 Jure Kajzer 2009-04-17 09:02:46 UTC
Created attachment 6032 [details]
Multiple patches archive
Comment 2 Roan Kattouw 2009-04-17 10:39:07 UTC
(In reply to comment #1)
> Created an attachment (id=6032) [details]
> Multiple patches archive
> 

There's no need to put multiple patches in one archive. If you just run "svn diff" on the command line, it'll generate one big patch for you that's way easier for us to review and apply.
Comment 3 Jure Kajzer 2009-04-17 10:47:01 UTC
Noted, will do in future.
Comment 4 Jure Kajzer 2009-04-18 12:51:18 UTC
Created attachment 6035 [details]
Previous attachment in correct form
Comment 5 Roan Kattouw 2009-04-18 18:43:51 UTC
(In reply to comment #4)
> Created an attachment (id=6035) [details]
> Previous attachment in correct form
> 

Some trivial problems with this patch:
* you have a typo in Article.php: limitResults() should be limitResult()
* the patch removes WantedQueryPage from AutoLoader.php
* you're copying code from Database::__construct() to DatabaseOracleSS::__construct(), instead just call parent::__construct(). This trick works for other functions as well (haven't checked for code duplication everywhere)
* use Doxygen comments (/** ... */) for the docs above a function declaration. Hash comments (# ...) won't work there

This really needs to be reviewed by someone with more DB expertise than I have, though
Comment 6 Jure Kajzer 2009-04-19 12:26:08 UTC
Created attachment 6039 [details]
fixed patch 2
Comment 7 Jure Kajzer 2009-04-19 12:31:46 UTC
Comment on attachment 6039 [details]
fixed patch 2

Typos fixed. 

As for DatabaseOracleSS. This was done by modifying DatabaseOracle class currently in SVN trunk ... comments and construtor are more-less unchanged. I'll take a moment on Monday to apply requested changes.
Comment 8 Jure Kajzer 2009-04-20 13:43:41 UTC
Created attachment 6042 [details]
fixed DatabaseOracleSS as requested

fixed constructor
replaced Hash comments with Doxygen
Comment 9 Jure Kajzer 2009-04-22 07:02:08 UTC
Instructions for instaling DB objects

https://www.abakus.si/mwabakus/index.php?title=Doc/wiki/installation/en#Installing_wiki_tables
Comment 10 Jure Kajzer 2009-05-05 15:53:31 UTC
Patch was denied. Changes will be split into core changes to DatabaseOracle class and an extension for single schema use of Oracle DB.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links