all places detected as SecurityCheck-SQLInjection by
mediawiki/phan-taint-check-plugin 3.1.0
Bug: T216348
Change-Id: Ifd9589e8da996a0017b4361c62830e597c41f10e
maintenance/rebuildLocalisationCache now accepts a
--no-clear-message-blob-store option to skip the call to
MessageBlobStore::clearGlobalCacheEntry() when a language file has
been rebuilt.
Bug: T268698
Change-Id: I0907b51149402ad60e924d17e6ef9d0084e8c2cc
Mere presence of partial index's WHERE clause is disrupting anything
that comes after it leading to strange and non-uniform formatting
Change-Id: I068113b3026d6c3422348e86b3048234b905bb1d
There are many changes in migrating page to abstract schema,
so I split this out to simplify it a bit.
- Rename index: page_len_idx -> page_len
- Rename index: page_random_idx -> page_random
- Rename index: page_unique_name -> name_title
- Add index: page_redirect_namespace_len
Bug: T164898
Change-Id: I8193860129f1134f5dad7d633d069077ee597465
These tables don't have drift between MySQL and Postgres but their
primary keys don't have explicit "NOT NULL" statement making them
nullable in sqlite. Fixing this drift.
Also changing the PK fields of these two tables from smallint to int,
given that PG would be complicated with smallint auto_increment PKs
Bug: T230428
Bug: T258366
Change-Id: Icf6ce044eaf0f09b1a2bdd8a1f618cef1e0415bf
This is follow up to Ie996b81ca59 that changed type of this field from
varbinary(14) to binary(14) as part of standardizing timestamp fields
but didn't add the patch.
Bug: T230428
Bug: T42626
Change-Id: I554899f729594c7064633459ab5a6be48920e131
Postgres:
- Drop deafault from job_id
- Add default to job_cmd
- Change job_namespace datatype to INTEGER
- Drop job_cmd_namespace_title index
- Add job_cmd index on the same fields as MySQL
- Rename index job_timestamp_idx
MySQL:
- Change job_title datatype to VARBINARY
- Change job_timestamp datatype to BINARY (mwtimestamp)
- Change job_token_timestamp datatype to BINARY (mwtimestamp)
Bug: T230428
Bug: T164898
Bug: T42626
Change-Id: I207aefc48c7bcbb5b5362af4b63d9a1383019a6d
This happened during the abstraction (Idc3ded012890d).
Given that the patch was merged recently,
I don't think we need database patches for it.
Bug: T230428
Change-Id: Ia8c529bc502ed1674476f71f67c80003a2ae83cf
For Postges:
- Drop foreign key from 'pp_page'
- Move pk addition from the SQL file to the Updater class
- Override default SQL value for float to return FLOAT which is in use.
For MySQL:
- Override default SQL value for float to return FLOAT which is in use
Hack added in generateSchemaSql.php
Bug: T230428
Bug: T164898
Change-Id: I3c591c9b8f43647b0208690bca79f2d0dd206922
Indexes need to have prefixes, to avoid clashes in several RDBMSes where
indexes are global
Bug: T266228
Change-Id: I96a04903f6123d1fb8081fcf15cdd1f29708d320
The number actually doesn't matter and it's only the width of response
(and it'll be dropped in future releases of MySQL) but since production
is set to tinyint(4), making these two in sync to reduce noise in drift
report.
Bug: T265321
Change-Id: I48894c0de13ac599a8c932c5dec091a39fd14bbf
Deconstructing non-sparse, numerically indexed arrays directly in
foreach (a.k.a. using the list() syntax in foreach) is possible since
PHP 5.5.
The possibility to use string array keys as well as non-sequential
numeric keys in array deconstruction was added in PHP 7.1.
Change-Id: I56a48552a45f61cedc291b306cad8548fc70d485
There's occassionaly a need to alter default constraints, currently
a separate patch file is required to do so everytime which is quite
onerous and can be simplified.
Borrow a pair of set/drop functions from PostgresUpdater to make the
process more efficient.
Also convert usages of patch files to use the methods.
Change-Id: I846b94d0a721295f5bcdfe21f658116704e2d350
For Postgres:
- Drop foreign key from 'revactor_page'
- Change datatype of 'revactor_actor' to BigInt as in MySQL/SQLite
- Make 'revactor_page' non-nullable as in MySQL/SQLite
For MySQL/SQLite:
- Drop empty string default constraint from 'revactor_timestamp' as
this is not allowed in the corresponding PG's TIMESTAMPTZ field
Bug: T230428
Bug: T164898
Change-Id: I8c5c4b338a3000b1e4c2ab82fdae4a9819925868
For Postgres:
- Change 'revcomment_comment_id' to BigInt as it's in MySQL/SQLite
Bug: T230428
Bug: T164898
Change-Id: I4b5af210b63d932e2eb0120075a5fa5250924ace
In order to make Postgres work:
- Dropped the autoincrement sequence, this is the PK without
autoincrement
- Change ipc_hex from BYTEA to TEXT
- Set default for ipc_rev_id
MySQL/SQLite:
-Drop default for ipc_rev_timestamp
Bug: T230428
Bug: T164898
Change-Id: I7f85d65f6ee3ac8b1d28e33095f37dce81e1727e
Postgres changes:
- Drop foreign key from `el_from`
- Change 'el_index_60 type from BYTEA to TEXT
- Set default for `el_from` to sync with MySQL
- Also renamed these indexes to sync with MySQL
- 'externallinks_from_to' -> 'el_from'
- 'externallinks_index' -> 'el_index'
- Add index 'el_to' on 'el_to' and 'el_from' columns. This completes
the PG indexes to 5 to match up MySQL indexes
Bug: T230428
Bug: T164898
Change-Id: I1ab9bde19e456256db99d1244130e8ee11f9b6c8
The hook is not called because the script calls setTemplateCallback(),
avoiding statelessFetchTemplate() which calls the hook.
The hook function is wrong anyway and wouldn't have worked if it was
called.
Removing because it makes Phan fail on an unrelated change.
Change-Id: Ia6a5b265dca5e0debc6f66dd5287105f44bbde88
For Postgres:
- Drop foreign key from pt_title
- Change pt_user to non-nullable to sync with MySQL
- Change pt_expiry to non-nullable to sync with MySQL
- Modify pt_reason_id to use BIGINT to sync with MySQL
- Drop default from pt_create_perm field since MySQL and SQLite
don't have it and the field is not nullable.
-
For MySQL/SQLite:
- Modify pt_title to use varbinary
- Drop DEFAULT constraint from pt_expiry (Postgres already does not have it)
Bug: T230428
Bug: T164898
Change-Id: Iff193754260046222ba9b7e704c46e27f21b1a6b