1.20.x schema.inc | protected DatabaseSchema_mysql::buildTableNameCondition($table_name, $operator = '=', $add_prefix = TRUE) |
Build a condition to match a table name against a standard information_schema.
MySQL uses databases like schemas rather than catalogs so when we build a condition to query the information_schema.tables, we set the default database as the schema unless specified otherwise, and exclude table_catalog from the condition criteria.
Overrides DatabaseSchema::buildTableNameCondition
File
- drivers/
database_mysql/ schema.inc, line 57 - Database schema code for MySQL database servers.
Class
Code
protected function buildTableNameCondition($table_name, $operator = '=', $add_prefix = TRUE) {
// Ensure the table name is not surrounded with quotes as that is not
// appropriate for schema queries.
$quote_char = MYSQL_IDENTIFIER_QUOTE_CHARACTER_DEFAULT;
$table_name = str_replace($quote_char, '', $table_name);
$table_info = $this->getPrefixInfo($table_name, $add_prefix);
$condition = new DatabaseCondition('AND');
$condition->condition('table_schema', $table_info['database']);
$condition->condition('table_name', $table_info['table'], $operator);
return $condition;
}