Subject | RE: [IBO] MAP is a keyword in Firebird SQL? |
---|---|
Author | Jason Wharton |
Post date | 2017-09-19T00:33:37Z |
I looked into this and found how I could improve things.
This inconsistency will be resolved in the next release.
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com]
Sent: Wednesday, September 06, 2017 4:52 AM
To: IBObjects@yahoogroups.com
Subject: [IBO] MAP is a keyword in Firebird SQL?
I just discovered the next problem.
Suddenly I get an error message, when trying to post to a table called MAP. The error message says, that it cannot write to readonly fields. I stepped through the source and found that it does not detect several computed fields in the table MAP, because it does not find them in the Computed list of the schema, because ther it is stored with quotes as "MAP" and in the method where it is searching for computed (CheckInfoValid) it does not use the quotes. So it does not find any computed fields of the table MAP.
Now I found the function mkVarIdent that adds quotes to every tablename or fieldname, that is within an amount of reserved words (SQLTokens in IB_ParseEx) and in the array MAP is included. I just did a search on the firebird page and did not find MAP as a keyword or reserved word. So why is it in that list and why does IBO not take care, that it gets quoted when searching in the computed fileds list, but quotes it when putting it into that list?
Best Regards
Helmut