Fix string conversions for operators in DEFAULT and CHECK clauses.
This commit is contained in:
parent
0829d2dba8
commit
43163cf5d6
@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.45 1997/09/13 03:15:46 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.46 1997/09/16 16:11:20 thomas Exp $
|
||||
*
|
||||
* HISTORY
|
||||
* AUTHOR DATE MAJOR EVENT
|
||||
@ -460,12 +460,12 @@ default_expr: AexprConst
|
||||
{
|
||||
if (!strcmp("<=", $2) || !strcmp(">=", $2))
|
||||
elog(WARN,"boolean expressions not supported in DEFAULT",NULL);
|
||||
$$ = nconc( $1, lcons( $2, $3));
|
||||
$$ = nconc( $1, lcons( makeString( $2), $3));
|
||||
}
|
||||
| Op default_expr
|
||||
{ $$ = lcons( $1, $2); }
|
||||
{ $$ = lcons( makeString( $1), $2); }
|
||||
| default_expr Op
|
||||
{ $$ = lcons( $2, $1); }
|
||||
{ $$ = lappend( $1, makeString( $2)); }
|
||||
;
|
||||
|
||||
opt_null: NOT PNULL { $$ = TRUE; }
|
||||
@ -635,6 +635,9 @@ printf("in ConstraintDef\n");
|
||||
constr->type = CONSTR_CHECK;
|
||||
constr->name = NULL;
|
||||
constr->def = FlattenStringList($2);
|
||||
#ifdef PARSEDEBUG
|
||||
printf("ConstraintDef: string is %s\n", (char *) constr->def);
|
||||
#endif
|
||||
$$ = constr;
|
||||
}
|
||||
;
|
||||
@ -689,15 +692,15 @@ printf( "Id is %s\n", $1);
|
||||
$$ = lappend( $$, makeString(")"));
|
||||
}
|
||||
| constraint_elem Op constraint_elem
|
||||
{ $$ = nconc( $1, lcons( $2, $3)); }
|
||||
{ $$ = nconc( $1, lcons( makeString( $2), $3)); }
|
||||
| constraint_elem AND constraint_elem
|
||||
{ $$ = nconc( $1, lcons( makeString( "AND"), $3)); }
|
||||
| constraint_elem OR constraint_elem
|
||||
{ $$ = nconc( $1, lcons( makeString( "OR"), $3)); }
|
||||
| Op constraint_elem
|
||||
{ $$ = lcons( $1, $2); }
|
||||
{ $$ = lcons( makeString( $1), $2); }
|
||||
| constraint_elem Op
|
||||
{ $$ = lcons( $2, $1); }
|
||||
{ $$ = lappend( $1, makeString( $2)); }
|
||||
;
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user