aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2001-04-05 08:21:14 +0000
committerMichael Meskes <meskes@postgresql.org>2001-04-05 08:21:14 +0000
commit495fe1214c62974427b594e3732cc613a951ee11 (patch)
tree9886dcf507be56cc98899bd260cd9f52d5931517
parent3ced3cfff98e68a206aeb56ccc7cb1154bdaacb6 (diff)
downloadpostgresql-495fe1214c62974427b594e3732cc613a951ee11.tar.gz
postgresql-495fe1214c62974427b594e3732cc613a951ee11.zip
Hopefully fixed the long long problem.
-rw-r--r--src/interfaces/ecpg/ChangeLog4
-rw-r--r--src/interfaces/ecpg/lib/typename.c2
-rw-r--r--src/interfaces/ecpg/preproc/preproc.y32
3 files changed, 32 insertions, 6 deletions
diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 41c07a43ecd..4516b8e5435 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -1067,5 +1067,9 @@ Thu Mar 29 10:23:05 CEST 2001
Mon Apr 2 10:16:10 CEST 2001
- Synced scan.l and pgc.l.
+
+Thu Apr 5 10:11:35 CEST 2001
+
+ - Fixed long long problem.
- Set ecpg version to 2.8.0.
- Set library version to 3.2.0.
diff --git a/src/interfaces/ecpg/lib/typename.c b/src/interfaces/ecpg/lib/typename.c
index 78c2665ed8f..a27aea47438 100644
--- a/src/interfaces/ecpg/lib/typename.c
+++ b/src/interfaces/ecpg/lib/typename.c
@@ -31,12 +31,10 @@ ECPGtype_name(enum ECPGttype typ)
return "long";
case ECPGt_unsigned_long:
return "unsigned long";
-#ifdef HAVE_LONG_LONG_INT_64
case ECPGt_long_long:
return "long long";
case ECPGt_unsigned_long_long:
return "unsigned long long";
-#endif /* HAVE_LONG_LONG_INT_64 */
case ECPGt_float:
return "float";
case ECPGt_double:
diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y
index 29bfb3662d0..13f67a3692d 100644
--- a/src/interfaces/ecpg/preproc/preproc.y
+++ b/src/interfaces/ecpg/preproc/preproc.y
@@ -4251,8 +4251,20 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
| SQL_UNSIGNED SQL_INT { $$ = ECPGt_unsigned_int; }
| SQL_UNSIGNED SQL_LONG { $$ = ECPGt_unsigned_long; }
| SQL_UNSIGNED SQL_LONG SQL_INT { $$ = ECPGt_unsigned_long; }
- | SQL_UNSIGNED SQL_LONG SQL_LONG { $$ = ECPGt_unsigned_long_long; }
- | SQL_UNSIGNED SQL_LONG SQL_LONG SQL_INT { $$ = ECPGt_unsigned_long_long; }
+ | SQL_UNSIGNED SQL_LONG SQL_LONG {
+#ifdef HAVE_LONG_LONG_INT_64
+ $$ = ECPGt_unsigned_long_long;
+#else
+ $$ = ECPGt_unsigned_long;
+#endif
+ }
+ | SQL_UNSIGNED SQL_LONG SQL_LONG SQL_INT {
+#ifdef HAVE_LONG_LONG_INT_64
+ $$ = ECPGt_unsigned_long_long;
+#else
+ $$ = ECPGt_unsigned_long;
+#endif
+ }
| SQL_UNSIGNED CHAR { $$ = ECPGt_unsigned_char; }
;
@@ -4261,8 +4273,20 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; }
| SQL_INT { $$ = ECPGt_int; }
| SQL_LONG { $$ = ECPGt_long; }
| SQL_LONG SQL_INT { $$ = ECPGt_long; }
- | SQL_LONG SQL_LONG { $$ = ECPGt_long_long; }
- | SQL_LONG SQL_LONG SQL_INT { $$ = ECPGt_long; }
+ | SQL_LONG SQL_LONG {
+#ifdef HAVE_LONG_LONG_INT_64
+ $$ = ECPGt_long_long;
+#else
+ $$ = ECPGt_long;
+#endif
+ }
+ | SQL_LONG SQL_LONG SQL_INT {
+#ifdef HAVE_LONG_LONG_INT_64
+ $$ = ECPGt_long_long;
+#else
+ $$ = ECPGt_long;
+#endif
+ }
| SQL_BOOL { $$ = ECPGt_bool; };
| FLOAT { $$ = ECPGt_float; }
| DOUBLE { $$ = ECPGt_double; }