diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index b1bf7d3a95..6dab88c12c 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.8 1998/01/19 05:06:18 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.9 1998/01/19 05:48:36 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -277,12 +277,14 @@ transformExpr(ParseState *pstate, Node *expr, int precedence) { Node *lexpr = transformExpr(pstate, lfirst(elist), precedence); Node *rexpr = lfirst(right_expr); + TargetEntry *tent = (TargetEntry *)rexpr; Expr *op_expr; - op_expr = make_op(op, lexpr, rexpr); + op_expr = make_op(op, lexpr, tent->expr); sublink->oper = lappend(sublink->oper, op_expr->oper); right_expr = lnext(right_expr); } + result = (Node *) expr; } break; } @@ -382,6 +384,9 @@ exprType(Node *expr) case T_Param: type = ((Param *) expr)->paramtype; break; + case T_SubLink: + type = BOOLOID; + break; case T_Ident: /* is this right? */ type = UNKNOWNOID; diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 6ad51713a3..6110738232 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.17 1998/01/17 23:33:14 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.18 1998/01/19 05:48:55 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -315,7 +315,7 @@ again: slock_t _res; \ do \ { \ - __asm__("lock xchgb %0,%1": "=q"(_res), "=m"(*lock):"0"(0x1)); \ + __asm__("xchgb %0,%1": "=q"(_res), "=m"(*lock):"0"(0x1)); \ } while (_res != 0); \ } while (0) #endif