WordPress.org

Make WordPress Core


Ignore:
Timestamp:
09/10/2015 07:04:04 AM (6 years ago)
Author:
pento
Message:

WPDB: get_table_from_query() didn't find table names with hyphens in them.

Merge of [33718] to the 4.0 branch.

Props dustinbolton, pento.

See #33470.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/4.0/tests/phpunit/tests/db.php

    r32413 r33994  
    492492    function data_get_table_from_query() {
    493493        $table = 'a_test_table_name';
    494         $db_table = '`a_test_db`.`another_test_table`';
     494        $more_tables = array(
     495            // table_name => expected_value
     496            '`a_test_db`.`another_test_table`' => 'a_test_db.another_test_table',
     497            'a-test-with-dashes'               => 'a-test-with-dashes',
     498        );
    495499
    496500        $queries = array(
     
    597601        $querycount = count( $queries );
    598602        for ( $ii = 0; $ii < $querycount; $ii++ ) {
    599             $db_query = str_replace( $table, $db_table, $queries[ $ii ] );
    600             $expected_db_table = str_replace( '`', '', $db_table );
     603            foreach ( $more_tables as $name => $expected_name ) {
     604                $new_query = str_replace( $table, $name, $queries[ $ii ] );
     605                $queries[] = array( $new_query, $expected_name );
     606            }
    601607
    602608            $queries[ $ii ] = array( $queries[ $ii ], $table );
    603             $queries[] = array( $db_query, $expected_db_table );
    604609        }
    605610        return $queries;
Note: See TracChangeset for help on using the changeset viewer.