https://bugs.kde.org/show_bug.cgi?id=332161

--- Comment #2 from Jarosław Staniek <stan...@kde.org> ---
Note: when [] notation is used it's not possible to distinguish between escaped
identifier and query parameter using just grammar. To distinguish one needs to
try to find the identifier in the current scope/context. If it's not found,
it's assumed to be a query parameter.

This is also why query parameters dialogs appear in MSA when field is not found
(e.g. because it has been removed or renamed). See also
https://msdn.microsoft.com/en-us/library/office/ff845220.aspx "PARAMETERS
Declaration (Microsoft Access SQL)".

Summing up: using the [] notation for identifiers breaks compatibility with
query parameters notation introduced in Kexi 1.x. Example:

Let T be table with one field "foo INTEGER".
Let Q be query "SELECT [foo], [bar] from T"

Results of running Q:
- Before the proposed semantics of identifier escaping: Ask for "foo"
parameter, ask for "bar" parameter
- After the proposed semantics of identifier escaping: Ask for "bar" parameter.
[foo] is recognized as T.foo.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to