[kexi] [Bug 332161] Identifiers equal to a reserved word not supported in queries

Jarosław Staniek via KDE Bugzilla bugzilla_noreply at kde.org
Thu Dec 3 00:33:46 UTC 2015


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

--- Comment #2 from Jarosław Staniek <staniek at 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 the assignee for the bug.


More information about the Kexi-bugs mailing list