EGL reserved words

EGL includes two categories of reserved words:

Words that are reserved outside of a directive

Outside of a directive, EGL reserves the words in the following table in any combination of uppercase and lowercase letters:

Table 1. Words reserved outside of a directive
Letter Reserved words
A absolute, add, all, and, any, as
B bigInt, bin, bind, blob, boolean, by, byName, byPosition
C call, case, char, clob, close, const, continue, converse, current
D dataItem, dataTable, date, dbChar, decimal, decrement, delete, display, dli
E else, embed, end, escape, execute, exit, extends
F false, field, first, float, for, forEach, form, formGroup, forUpdate, forward, freeSql, from, function
G get, goto, group
H handler, hex, hold
I if, import, in, inOut, inParent, insert, int, interface, interval, into, is, isa
L label, languageBundle, last, library, like
M matches, mbChar, money, move
N new, next, nil, no, not, nullable, num, number, numc
O of, onEvent, onException, open, openUI, or, otherwise, out
P pacf, package, passing, prepare, previous, print, private, program
R record, ref, relative, replace, return, returning, returns
S scroll, self, service, set, show, singleRow, smallFloat, smallInt, sql, sqlCondition, stack, static, string
T this, time, timestamp, to, transaction, transfer, true, try, type
U unicode, update, url, use, using, usingKeys, usingPCB
W when, where, while, with, wrap
Y yes

Words that are reserved in a #sql directive

Within a #sql directive, EGL reserves the words in the following table in any combination of uppercase and lowercase letters:

Table 2. Words reserved within a #sql directive
Letter Reserved words
A absolute, action, add, alias, all, allocate, alter, and, any, are, as, asc, assertion, at, authorization, avg
B begin, between, bigint, binaryLargeObject, bit, bit_length, blob, boolean, both, by
C call, cascade, cascaded, case, cast, catalog, char, char_length, character, character_length, characterLargeObject, characterVarying, charLargeObject, charVarying, check, clob, close, coalesce, collate, collation, column, comment, commit, connect, connection, constraint, constraints, continue, convert, copy, corresponding, count, create, cross, current, current_date, current_time, current_timestamp, current_user, cursor
D data, database, date, datetime, day, deallocate, dec, decimal, declare, default, deferrable, deferred, delete, desc, describe, diagnostics, disconnect, distinct, domain, double, doublePrecision, drop
E else, end, endExec, escape, except, exception, exec, execute, exists, explain, external, extract
F false, fetch, first, float, for, foreign, found, from, full
G get, getCurrentConnection, global, go, goto, graphic, grant, group
H having, hour
I identity, image, immediate, in, index, indicator, initially, inner, input, insensitive, insert, int, integer, intersect, into, is, isolation
J join
K key
L language, last, leading, left, level, like, local, long, longint, lower, ltrim
M match, max, min, minute, module, month
N national, nationalCharacter, nationalCharacterLargeObject, nationalCharacterVarying, nationalCharLargeObject, nationalCharVarying, natural, nchar, ncharVarying, nclob, next, no, not, null, nullIf, number, numeric
O octet_length, of, on, only, open, option, or, order, outer, output, overlaps
P pad, partial, position, prepare, preserve, primary, prior, privileges, procedure, public
R raw, read, real, references, relative, restrict, revoke, right, rollback, rows, rtrim, runtimeStatistics
S schema, scroll, second, section, select, session, session_user, set, signal, size, smallint, some, space, sql, sqlcode, sqlcondition, sqlerror, sqlstate, substr, substring, sum, system_user
T table, tablespace, temporary, terminate, then, time, timestamp, timezone_hour, timezone_minute, tinyint, to, trailing, transaction, translate, translation, trim, true
U uncatalog, union, unique, unknown, update, upper, usage, user, using
V values, varbinary, varchar, varchar2, varGraphic, varying, view
W when, whenever, where, with, work, write
Y year
Z zone

SQL reserved words requiring special treatment

The following SQL reserved words require special treatment in EGL if they are used as SQL table names or column names:

call, from, group, having, insert, order, select, set, union, update, values, where

To use these SQL reserved words, do the following:
  • Specify the column property for a field in an SQL record as in the following example:
    column = "\"FROM\""
  • Specify the tableNames property for a SQL record as in the following example:
    tableNames = [["\"ORDER\""]]
  • Specify the column name in the defaultSelectCondition for a SQL record as in the following example:
    defaultSelectCondition = #sqlCondition{ "ORDER" = ... }
  • Specify an SQL I/O statement as in the following example:
    ... #sql{ select "FROM" from "ORDER" .... } ...

Feedback