wiki.techinc.nl/includes/libs
Aaron Schulz 4659cbcccc rdbms: fix table prefixing in "FOR UPDATE" clause generation in Postgres
Make SqlPlatform::tableNameWithAlias() include the unqualified table
name as an alias if doing so is not redundant. This assures that the
default alias from JoinGroupBase::addJoin(), equal to the unqualified
table name, will be usable in SQL (regardless of table prefixes).

Clean up use of identifier quotes for sqlite_master tables. The called
methods expect unqualified names and a passthrough exception already
exists for sqlite_* tables.

Use "block_target.bt_user" directly in ApiQueryBlocks and BlockPager,
instead of using addIdentifierQuotes(). The "block_target" alias is
automatically added to the SQL by the rdbms layer when it's not clearly
redundant, so it is always safe to use block_target.bt_user. Also, there
is no reason for aliases to include quote characters. They are supposed
to be simple alphanumerics like column names. This makes it easy for
tableNameWithAlias() to avoid redundant aliases by checking tableName().

Avoid unneeded quotes around pg_catalog.* table names in the Postgres
installer. The relevant documentation of methods like selectField() is
that the table names be unqualified (no quotes nor dots), though dots
are still supported internally for compatibility reasons and ease of
querying schemas like pg_catalog and information_schema.

Change-Id: Ic7d7826da31f49915141692cb3bd84ed1e872e96
2025-06-24 22:33:30 +01:00
..
composer
DebugInfo Replace gettype() with get_debug_type() in debug/log/test output 2024-07-31 19:33:57 +02:00
Diff
eventrelayer
filebackend Drop a few phan PhanImpossibleTypeComparison suppressions now we've dropped PHP 7.4 2025-06-18 10:54:01 +01:00
http http: Handle accept header with incomplete q 2025-04-23 23:16:22 +00:00
iterators Use type declaration for class properties holding type hinted arguments 2024-09-11 20:08:50 +00:00
lockmanager objectcache: Move RedisConnRef.php to /libs/objectcache/ 2024-11-07 08:40:54 +00:00
Message Message: Downgrade exception on bool/null param to warning 2024-11-02 12:18:56 +00:00
mime MimeAnalyzer: detect magic number for gltf binary 2025-01-09 14:57:11 +00:00
objectcache objectcache: Remove docs about RedisConnectionPool configurable size 2024-11-07 08:43:27 +00:00
ParamValidator Localisation updates from https://translatewiki.net. 2025-06-24 07:33:27 +02:00
rdbms rdbms: fix table prefixing in "FOR UPDATE" clause generation in Postgres 2025-06-24 22:33:30 +01:00
Stats Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
telemetry Introduce minimal OTEL tracing library 2024-10-09 15:55:31 +02:00
uuid GlobalIdGenerator: Update str_getcsv() call for PHP 8.4 2024-10-29 15:17:13 +00:00
WRStats RateLimiter: Fix peek mode 2025-03-01 15:51:16 +00:00
ArrayUtils.php
Cookie.php Remove unchecked exception annotations 2024-09-17 22:20:58 +02:00
CookieJar.php
Deflate.php
DnsSrvDiscoverer.php
Emptiable.php
ExplodeIterator.php
GhostFieldAccessTrait.php
HashRing.php Remove unchecked exception annotations 2024-09-17 22:20:58 +02:00
HtmlArmor.php
HttpStatus.php
MapCacheLRU.php Replace gettype() with get_debug_type() in exception messages 2024-07-31 19:24:39 +02:00
MappedIterator.php libs: Add missing documentation to class properties 2024-09-13 17:24:12 +00:00
MemoizedCallable.php Replace gettype() with get_debug_type() in exception messages 2024-07-31 19:24:39 +02:00
MWCryptHash.php Replace gettype() with get_debug_type() in exception messages 2024-07-31 19:24:39 +02:00
NonSerializableTrait.php
README
ReplacementArray.php Use type declaration for class properties holding type hinted arguments 2024-09-11 20:08:50 +00:00
ReverseArrayIterator.php
RiffExtractor.php
StaticArrayWriter.php
StatusValue.php Make Message and MessageValue compatible 2024-10-19 15:00:07 +02:00
StringUtils.php Remove unchecked exception annotations 2024-09-17 22:20:58 +02:00
Timing.php
UDPTransport.php Remove unchecked exception annotations 2024-09-17 22:20:58 +02:00
UnpackFailedException.php
XhprofData.php

The classes in this directory ./includes/libs are considered standalone
from the remainder of the MediaWiki codebase. They do not call on any other
portions of MediaWiki code, and can be used in other projects without
dependency issues.