-
-
Notifications
You must be signed in to change notification settings - Fork 262
Closed
Description
IUTILS_name_to_string contains a call to KEYWORD_stringIsAToken, which is triggered by any keyword, even if it is not actually needed. For example, when calling SHOW SYSTEM FUNCTIONs RDB$BLOB_UTIL.SEEK; we expect the following output:
Engine: SYSTEM
Parameters:
OUTPUT (RDB$INTEGER) INTEGER
HANDLE INPUT (RDB$BLOB_UTIL_HANDLE) INTEGER
MODE INPUT (RDB$INTEGER) INTEGER
OFFSET INPUT (RDB$INTEGER) INTEGER
However, we end up with the following output:
Engine: SYSTEM
Parameters:
OUTPUT (RDB$INTEGER) INTEGER
HANDLE INPUT (RDB$BLOB_UTIL_HANDLE) INTEGER
MODE INPUT (RDB$INTEGER) INTEGER
"OFFSET" INPUT (RDB$INTEGER) INTEGER
I have investigated the code, and this is happening because the word OFFSET is included in ParserTokens.h, which is causing this issue. Similar triggers occur with other keywords.
For example, if you call SHOW SYSTEM PROCEDURE RDB$BLOB_UTIL.CANCEL_BLOB;, you should see:
Engine: SYSTEM
Parameters:
BLOB INPUT (RDB$BLOB) BLOB CHARACTER SET NONE
=============================================================================
However, in the end we get:
Engine: SYSTEM
Parameters:
"BLOB" INPUT (RDB$BLOB) BLOB CHARACTER SET SYSTEM.NONE
=============================================================================
Metadata
Metadata
Assignees
Labels
No labels