aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/preproc
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/preproc')
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.c6
-rw-r--r--src/interfaces/ecpg/preproc/extern.h4
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 */