Make WordPress Core

Opened 5 years ago

Last modified 2 years ago

#15948 closed defect (bug)

dbDelta SET Default <literal> Comment <literal> — at Version 2

Reported by: hbanken Owned by:
Milestone: 3.6 Priority: normal
Severity: major Version: 3.1
Component: Database Keywords: has-patch 3.2-early
Focuses: Cc:

Description (last modified by scribu)

When dbDelta from wp_admin/includes/upgrade.php is used with a query containing different DEFAULT values than the actual TABLE in the database, dbDelta tries to update this DEFAULT value by altering the table. The regex that is used to find the new DEFAULT value is incorrect.

Right now, the regex is:

| DEFAULT '(.*)'|i

but this should be:

| DEFAULT '([^']*)'|i

...since, in the case a COMMENT value is set in the new query, the COMMENT value is also surrounded by single quotes ' COMMENT 'literal is added to the new default value.

Change History (2)

comment:1 @hbanken5 years ago

The regex should be | DEFAULT '([^']*)'|i
I didn't know about the WikiFormatting of ^.

comment:2 @scribu5 years ago

  • Description modified (diff)
Note: See TracTickets for help on using tickets.