aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/preproc/ecpg.c
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2018-03-14 00:54:13 +0100
committerMichael Meskes <meskes@postgresql.org>2018-03-14 00:54:13 +0100
commit3b7ab4380440d7b14ee390fabf39f6d87d7491e2 (patch)
tree624029b996d00a119d97bc5f03d1b9ef21a16a5d /src/interfaces/ecpg/preproc/ecpg.c
parentdb2fc801f66a70969cbdd5673ed9d02025c70695 (diff)
downloadpostgresql-3b7ab4380440d7b14ee390fabf39f6d87d7491e2.tar.gz
postgresql-3b7ab4380440d7b14ee390fabf39f6d87d7491e2.zip
Add Oracle like handling of char arrays.
In some cases Oracle Pro*C handles char array differently than ECPG. This patch adds a Oracle compatibility mode to make ECPG behave like Pro*C. Patch by David Rader <davidr@openscg.com>
Diffstat (limited to 'src/interfaces/ecpg/preproc/ecpg.c')
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c
index 0704837396f..8fb731fcfb1 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -41,7 +41,7 @@ help(const char *progname)
printf(_(" -c automatically generate C code from embedded SQL code;\n"
" this affects EXEC SQL TYPE\n"));
printf(_(" -C MODE set compatibility mode; MODE can be one of\n"
- " \"INFORMIX\", \"INFORMIX_SE\"\n"));
+ " \"INFORMIX\", \"INFORMIX_SE\", \"ORACLE\"\n"));
#ifdef YYDEBUG
printf(_(" -d generate parser debug output\n"));
#endif
@@ -208,6 +208,10 @@ main(int argc, char *const argv[])
snprintf(informix_path, MAXPGPATH, "%s/informix/esql", pkginclude_path);
add_include_path(informix_path);
}
+ else if (strncmp(optarg, "ORACLE", strlen("ORACLE")) == 0)
+ {
+ compat = ECPG_COMPAT_ORACLE;
+ }
else
{
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), argv[0]);