-DEFINE mw_prefix='';
+-- defines must comply with ^define\s*([^\s=]*)\s*=\s?'\{\$([^\}]*)\}';
+define mw_prefix='{$wgDBprefix}';
CREATE SEQUENCE user_user_id_seq MINVALUE 0 START WITH 0;
CREATE TABLE &mw_prefix.user_properties (
up_user NUMBER NOT NULL,
up_property VARCHAR2(32) NOT NULL,
- up_value BLOB
+ up_value CLOB
);
CREATE UNIQUE INDEX &mw_prefix.user_properties_u01 on &mw_prefix.user_properties (up_user,up_property);
CREATE INDEX &mw_prefix.user_properties_i01 on &mw_prefix.user_properties (up_property);
CREATE INDEX &mw_prefix.page_i01 ON &mw_prefix.page (page_random);
CREATE INDEX &mw_prefix.page_i02 ON &mw_prefix.page (page_len);
+/*$mw$*/
CREATE TRIGGER &mw_prefix.page_set_random BEFORE INSERT ON &mw_prefix.page
- FOR EACH ROW WHEN (new.page_random IS NULL)
- BEGIN
- SELECT dbms_random.value INTO :NEW.page_random FROM dual;
- END;
-/
+ FOR EACH ROW WHEN (new.page_random IS NULL)
+BEGIN
+ SELECT dbms_random.value INTO :NEW.page_random FROM dual;
+END;
+/*$mw$*/
CREATE SEQUENCE rev_rev_id_val;
CREATE TABLE &mw_prefix.revision (
ar_flags VARCHAR2(255),
ar_rev_id NUMBER,
ar_text_id NUMBER,
- ar_deleted NUMBER DEFAULT '0' NOT NULL
+ ar_deleted NUMBER DEFAULT '0' NOT NULL,
+ ar_len NUMBER,
+ ar_page_id NUMBER,
+ ar_parent_id NUMBER
);
CREATE INDEX &mw_prefix.archive_i01 ON &mw_prefix.archive (ar_namespace,ar_title,ar_timestamp);
CREATE INDEX &mw_prefix.archive_i02 ON &mw_prefix.archive (ar_user_text,ar_timestamp);
CREATE INDEX &mw_prefix.ipblocks_i03 ON &mw_prefix.ipblocks (ipb_timestamp);
CREATE INDEX &mw_prefix.ipblocks_i04 ON &mw_prefix.ipblocks (ipb_expiry);
-CREATE TABLE image (
+CREATE TABLE &mw_prefix.image (
img_name VARCHAR2(255) NOT NULL,
img_size NUMBER NOT NULL,
img_width NUMBER NOT NULL,
CREATE TABLE &mw_prefix.math (
- math_inputhash VARCHAR2(16) NOT NULL,
- math_outputhash VARCHAR2(16) NOT NULL,
+ math_inputhash VARCHAR2(32) NOT NULL,
+ math_outputhash VARCHAR2(32) NOT NULL,
math_html_conservativeness NUMBER NOT NULL,
math_html CLOB,
math_mathml CLOB
CREATE TABLE &mw_prefix.redirect (
rd_from NUMBER NOT NULL REFERENCES &mw_prefix.page(page_id) ON DELETE CASCADE,
rd_namespace NUMBER NOT NULL,
- rd_title VARCHAR2(255) NOT NULL
+ rd_title VARCHAR2(255) NOT NULL,
+ rd_interwiki VARCHAR2(32),
+ rd_fragment VARCHAR2(255)
);
CREATE INDEX &mw_prefix.redirect_i01 ON &mw_prefix.redirect (rd_namespace,rd_title,rd_from);
CREATE INDEX si_title_idx ON &mw_prefix.searchindex(si_title) INDEXTYPE IS ctxsys.context;
CREATE INDEX si_text_idx ON &mw_prefix.searchindex(si_text) INDEXTYPE IS ctxsys.context;
+CREATE TABLE &mw_prefix.l10n_cache (
+ lc_lang varchar2(32) NOT NULL,
+ lc_key varchar2(255) NOT NULL,
+ lc_value clob NOT NULL
+);
+CREATE INDEX &mw_prefix.l10n_cache_u01 ON &mw_prefix.l10n_cache (lc_lang, lc_key);
+
CREATE TABLE &mw_prefix.wiki_field_info_full (
table_name VARCHAR2(35) NOT NULL,
column_name VARCHAR2(35) NOT NULL,
);
ALTER TABLE &mw_prefix.wiki_field_info_full ADD CONSTRAINT &mw_prefix.wiki_field_info_full_pk PRIMARY KEY (table_name, column_name);
+/*$mw$*/
CREATE PROCEDURE &mw_prefix.fill_wiki_info IS
BEGIN
DELETE &mw_prefix.wiki_field_info_full;
END LOOP;
COMMIT;
END;
+/*$mw$*/
+/*$mw$*/
BEGIN
&mw_prefix.fill_wiki_info;
END;
+/*$mw$*/
+/*$mw$*/
CREATE OR REPLACE FUNCTION BITOR (x IN NUMBER, y IN NUMBER) RETURN NUMBER AS
BEGIN
RETURN (x + y - BITAND(x, y));
END;
+/*$mw$*/
+
+/*$mw$*/
+CREATE OR REPLACE FUNCTION BITNOT (x IN NUMBER) RETURN NUMBER AS
+BEGIN
+ RETURN (4294967295 - x);
+END;
+/*$mw$*/
+