PostgreSQL: Allow rc_cur_time field to be null.
authorJeff <jeff.janes@gmail.com>
Sun, 20 Apr 2014 22:09:34 +0000 (15:09 -0700)
committerJjanes <jeff.janes@gmail.com>
Tue, 22 Apr 2014 16:57:49 +0000 (16:57 +0000)
The column recentchanges.rc_cur_time is no longer populated by SQL,
so PostgreSQL must be changed to allow the NULL value for it.

In MySQL, the empty string is used as a surrogate for NULL, but that
is not allowed in PostgreSQL.

Bug: 61318
Change-Id: I6733ef11152d545382bec087d992515dcf9aec0b

includes/installer/PostgresUpdater.php
maintenance/postgres/tables.sql

index c5c10b3..15e18ed 100644 (file)
@@ -234,6 +234,7 @@ class PostgresUpdater extends DatabaseUpdater {
                        array( 'changeNullableField', 'image', 'img_metadata', 'NOT NULL' ),
                        array( 'changeNullableField', 'filearchive', 'fa_metadata', 'NOT NULL' ),
                        array( 'changeNullableField', 'recentchanges', 'rc_cur_id', 'NULL' ),
+                       array( 'changeNullableField', 'recentchanges', 'rc_cur_time', 'NULL' ),
 
                        array( 'checkOiDeleted' ),
 
index 266cb3b..a3fb042 100644 (file)
@@ -406,7 +406,7 @@ CREATE SEQUENCE recentchanges_rc_id_seq;
 CREATE TABLE recentchanges (
   rc_id              INTEGER      NOT NULL  PRIMARY KEY DEFAULT nextval('recentchanges_rc_id_seq'),
   rc_timestamp       TIMESTAMPTZ  NOT NULL,
-  rc_cur_time        TIMESTAMPTZ  NOT NULL,
+  rc_cur_time        TIMESTAMPTZ      NULL,
   rc_user            INTEGER          NULL  REFERENCES mwuser(user_id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED,
   rc_user_text       TEXT         NOT NULL,
   rc_namespace       SMALLINT     NOT NULL,