diff options
author | Michael Meskes <meskes@postgresql.org> | 2018-03-14 00:54:13 +0100 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2018-03-14 00:54:13 +0100 |
commit | 3b7ab4380440d7b14ee390fabf39f6d87d7491e2 (patch) | |
tree | 624029b996d00a119d97bc5f03d1b9ef21a16a5d /src/interfaces/ecpg/preproc/ecpg.c | |
parent | db2fc801f66a70969cbdd5673ed9d02025c70695 (diff) | |
download | postgresql-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.c | 6 |
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]); |