diff options
Diffstat (limited to 'contrib/seg/segparse.y')
| -rw-r--r-- | contrib/seg/segparse.y | 18 |
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; } |
