Revert "rdbms: codify DatabaseDomain table "_" prefix convention"
authorGergő Tisza <gtisza@wikimedia.org>
Wed, 3 Jul 2019 11:26:02 +0000 (11:26 +0000)
committerGergő Tisza <tgr.huwiki@gmail.com>
Wed, 3 Jul 2019 14:09:12 +0000 (16:09 +0200)
This partially reverts commit c4e284f1130cdc2a4811120594bdb8013d17eaaa
(adding _ to prefixes in tests and readbility / code style fixes are preserved).
It broke all installations which used a table prefix not ending in underscore.

Bug: T227147
Change-Id: I99fc0a2f0fc7b5b321d75fd885763688f92f6d04

includes/DefaultSettings.php
includes/libs/rdbms/database/domain/DatabaseDomain.php

index a32af36..9b5a38b 100644 (file)
@@ -1958,7 +1958,8 @@ $wgSearchTypeAlternatives = null;
 
 /**
  * Table name prefix.
- * This should be alphanumeric, contain neither spaces nor hyphens, and end in "_"
+ * Should be alphanumeric plus underscores, and not contain spaces nor hyphens.
+ * Suggested format ends with an underscore.
  */
 $wgDBprefix = '';
 
index 5dd4b49..c1eceb0 100644 (file)
@@ -53,9 +53,7 @@ class DatabaseDomain {
                }
                $this->schema = $schema;
                if ( !is_string( $prefix ) ) {
-                       throw new InvalidArgumentException( 'Prefix must be a string.' );
-               } elseif ( $prefix !== '' && substr( $prefix, -1, 1 ) !== '_' ) {
-                       throw new InvalidArgumentException( 'A non-empty prefix must end with "_".' );
+                       throw new InvalidArgumentException( "Prefix must be a string." );
                }
                $this->prefix = $prefix;
        }