diff options
Diffstat (limited to 'src/interfaces/ecpg/preproc')
-rw-r--r-- | src/interfaces/ecpg/preproc/ecpg.c | 6 | ||||
-rw-r--r-- | src/interfaces/ecpg/preproc/extern.h | 4 |
2 files changed, 8 insertions, 2 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]); diff --git a/src/interfaces/ecpg/preproc/extern.h b/src/interfaces/ecpg/preproc/extern.h index 2c35426b7fb..d0c4e470166 100644 --- a/src/interfaces/ecpg/preproc/extern.h +++ b/src/interfaces/ecpg/preproc/extern.h @@ -122,10 +122,12 @@ extern int filtered_base_yylex(void); enum COMPAT_MODE { - ECPG_COMPAT_PGSQL = 0, ECPG_COMPAT_INFORMIX, ECPG_COMPAT_INFORMIX_SE + ECPG_COMPAT_PGSQL = 0, ECPG_COMPAT_INFORMIX, ECPG_COMPAT_INFORMIX_SE, ECPG_COMPAT_ORACLE }; extern enum COMPAT_MODE compat; #define INFORMIX_MODE (compat == ECPG_COMPAT_INFORMIX || compat == ECPG_COMPAT_INFORMIX_SE) +#define ORACLE_MODE (compat == ECPG_COMPAT_ORACLE) + #endif /* _ECPG_PREPROC_EXTERN_H */ |