summaryrefslogtreecommitdiff
path: root/contrib/seg/segparse.y
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/seg/segparse.y')
-rw-r--r--contrib/seg/segparse.y18
1 files changed, 13 insertions, 5 deletions
diff --git a/contrib/seg/segparse.y b/contrib/seg/segparse.y
index 67f5b9f43dd..9c69efede63 100644
--- a/contrib/seg/segparse.y
+++ b/contrib/seg/segparse.y
@@ -4,8 +4,6 @@
#include "postgres.h"
#include <math.h>
-
-#include "utils/elog.h"
#include "segdata.h"
#include "buffer.h"
@@ -75,7 +73,11 @@ range:
((SEG *)result)->upper = $3.val;
if ( ((SEG *)result)->lower > ((SEG *)result)->upper ) {
reset_parse_buffer();
- elog(ERROR, "swapped boundaries: %g is greater than %g", ((SEG *)result)->lower, ((SEG *)result)->upper );
+ ereport(ERROR,
+ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+ errmsg("swapped boundaries: %g is greater than %g",
+ ((SEG *)result)->lower, ((SEG *)result)->upper)));
+
YYERROR;
}
((SEG *)result)->l_sigd = $1.sigd;
@@ -144,7 +146,10 @@ float seg_atof ( char *value ) {
if ( errno ) {
snprintf(buf, 256, "numeric value %s unrepresentable", value);
reset_parse_buffer();
- elog(ERROR, "%s", buf);
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("syntax error"),
+ errdetail("%s", buf)));
}
return result;
@@ -175,7 +180,10 @@ int seg_yyerror ( char *msg ) {
);
reset_parse_buffer();
- elog(ERROR, "%s", buf);
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("syntax error"),
+ errdetail("%s", buf)));
return 0;
}