Commit bb6ea924 authored by catch's avatar catch

Issue #2875679 by mondrake, daffie: BasicSyntaxTest::testConcatFields fails with contrib driver

parent aae672cc
...@@ -29,15 +29,22 @@ public function testConcatLiterals() { ...@@ -29,15 +29,22 @@ public function testConcatLiterals() {
/** /**
* Tests string concatenation with field values. * Tests string concatenation with field values.
*
* We use 'job' and 'age' fields from the {test} table. Using the 'name' field
* for concatenation causes issues with custom or contrib database drivers,
* since its type 'varchar_ascii' may lead to using field-level collations not
* compatible with the other fields.
*/ */
public function testConcatFields() { public function testConcatFields() {
$result = db_query('SELECT CONCAT(:a1, CONCAT(name, CONCAT(:a2, CONCAT(age, :a3)))) FROM {test} WHERE age = :age', [ $result = $this->connection->query(
'SELECT CONCAT(:a1, CONCAT(job, CONCAT(:a2, CONCAT(age, :a3)))) FROM {test} WHERE age = :age', [
':a1' => 'The age of ', ':a1' => 'The age of ',
':a2' => ' is ', ':a2' => ' is ',
':a3' => '.', ':a3' => '.',
':age' => 25, ':age' => 25,
]); ]
$this->assertIdentical($result->fetchField(), 'The age of John is 25.', 'Field CONCAT works.'); );
$this->assertSame('The age of Singer is 25.', $result->fetchField(), 'Field CONCAT works.');
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment