From d405ec369b2584fafd0f490cc825eacc26101e97 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Wed, 20 Jul 2016 14:49:58 +0200 Subject: [PATCH] Translator: added %N --- src/Dibi/Translator.php | 5 ++++- tests/dibi/Translator.phpt | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Dibi/Translator.php b/src/Dibi/Translator.php index 0fb20f9d..4986fe6c 100644 --- a/src/Dibi/Translator.php +++ b/src/Dibi/Translator.php @@ -380,9 +380,12 @@ final class Translator } case 'by': - case 'n': // identifier name + case 'n': // composed identifier name return $this->identifiers->$value; + case 'N': // identifier name + return $this->driver->escapeIdentifier($value); + case 'ex': case 'sql': // preserve as dibi-SQL (TODO: leave only %ex) $value = (string) $value; diff --git a/tests/dibi/Translator.phpt b/tests/dibi/Translator.phpt index 6b072434..c616a5c5 100644 --- a/tests/dibi/Translator.phpt +++ b/tests/dibi/Translator.phpt @@ -542,6 +542,12 @@ Assert::same( ); +Assert::same( + reformat('SELECT [a].[b] AS [c.d]'), + $conn->translate('SELECT %n AS %N', 'a.b', 'c.d') +); + + setLocale(LC_ALL, 'czech'); Assert::same(