declaration |
int fgw_sqlexplode(src, srclen, vars, verbose, expstate, iidx, oodx,
exp, s, e, explen)
char *src; /* Input: script */
int srclen; /* Input: script length */
loc_t *vars; /* IO: symbol table */
int verbose; /* Input: verbose flag */
int expstate; /* Input: expansion flag */
int iidx; /* Input: start offset */
int *oidx; /* Output: next start offset */
char *exp; /* Output: buffer containing expansion */
int *s; /* Output: start index of verbatim string */
int *e; /* Output: end index of verbatim string */
int explen; /* Input: buffer size */
|
notes |
- iidx should initially be 1, and the value returned by oidx
on successive calls
- at each successive call
fgw_sqlexplode will either return the
result of an expansion, in exp, or a portion of the source string
to be copied verbatim (starting at s and ending at e)
- the end of the query is marked by oidx being set to
NULL
- expstate is at present used in conjunction with the fgw_sqlexec.
If set to zero, it allows to skip actions on expansion blocks (eg because in
inactive sections of the input script), if set to -1, interactive expansions
(picklists and prompts) are disabled
- the expansion facility does not allow the use of pick
lists if the application is not running (or has been linke not to run) in
form mode.
|