Summary: | Application crash on creating new row | ||
---|---|---|---|
Product: | [Applications] KEXI | Reporter: | Arseniy <kdeuser> |
Component: | Tables | Assignee: | Kexi Bugs <kexi-bugs> |
Status: | CLOSED DUPLICATE | ||
Severity: | crash | CC: | adam, inksi, staniek |
Priority: | NOR | Keywords: | drkonqi |
Version: | 2.9.8 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Buggy database |
Description
Arseniy
2015-12-22 02:54:50 UTC
Created attachment 96253 [details]
Buggy database
Thanks Arseniy! I am fixing this issue already for 2.9.11. See https://bugs.kde.org/show_bug.cgi?id=356888. *** This bug has been marked as a duplicate of bug 356888 *** Maybe this bug occurs because one of the fields of the table is «exists» — this is reserved word in SQLite. Yes, there are also related remarks in the wish https://bugs.kde.org/show_bug.cgi?id=332161. In the context of the db posted by you, after running this: insert into frames values (1, 0,0,0,"abc"); and this select "exists" from frames; -- the result will be: 0 And running this: select "exists1" from frames; returns: exists1 So a dangerous combination. Future Kexi will have support for proper identifier escaping, probably using []. The easiest approach we can use now, for Kexi 2.9, is to raise error in Table Designer for reserved words so tables with reserved words as identifiers cannot be even created. Kexi 3's approach to id escaping would be: select [exists] from frames; |