Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3ce8a1b

Browse files
committed
Fix for SELECT NOT boolfield FROM table
1 parenta3c5a3c commit3ce8a1b

File tree

1 file changed

+13
-24
lines changed

1 file changed

+13
-24
lines changed

‎src/backend/optimizer/util/tlist.c

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.19 1998/09/2220:28:07 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.20 1998/09/2221:48:27 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -453,31 +453,23 @@ flatten_tlistentry(Node *tlistentry, List *flat_tlist)
453453
{
454454
if (tlistentry==NULL)
455455
{
456-
457456
returnNULL;
458-
459457
}
460458
elseif (IsA(tlistentry,Var))
461459
{
462-
463-
return
464-
((Node*)get_expr(match_varid((Var*)tlistentry,
460+
return ((Node*)get_expr(match_varid((Var*)tlistentry,
465461
flat_tlist)));
466462
}
467463
elseif (IsA(tlistentry,Iter))
468464
{
469-
470465
((Iter*)tlistentry)->iterexpr=
471466
flatten_tlistentry((Node*) ((Iter*)tlistentry)->iterexpr,
472467
flat_tlist);
473468
returntlistentry;
474-
475469
}
476470
elseif (single_node(tlistentry))
477471
{
478-
479472
returntlistentry;
480-
481473
}
482474
elseif (is_funcclause(tlistentry))
483475
{
@@ -489,15 +481,12 @@ flatten_tlistentry(Node *tlistentry, List *flat_tlist)
489481
temp_result=lappend(temp_result,
490482
flatten_tlistentry(lfirst(elt),flat_tlist));
491483

492-
return
493-
((Node*)make_funcclause((Func*)expr->oper,temp_result));
484+
return ((Node*)make_funcclause((Func*)expr->oper,temp_result));
494485

495486
}
496487
elseif (IsA(tlistentry,Aggreg))
497488
{
498-
499489
returntlistentry;
500-
501490
}
502491
elseif (IsA(tlistentry,ArrayRef))
503492
{
@@ -514,26 +503,26 @@ flatten_tlistentry(Node *tlistentry, List *flat_tlist)
514503
temp=lappend(temp,flatten_tlistentry(lfirst(elt),flat_tlist));
515504
aref->reflowerindexpr=temp;
516505

517-
aref->refexpr=
518-
flatten_tlistentry(aref->refexpr,flat_tlist);
506+
aref->refexpr=flatten_tlistentry(aref->refexpr,flat_tlist);
519507

520-
aref->refassgnexpr=
521-
flatten_tlistentry(aref->refassgnexpr,flat_tlist);
508+
aref->refassgnexpr=flatten_tlistentry(aref->refassgnexpr,flat_tlist);
522509

523510
returntlistentry;
524511
}
525512
else
526513
{
527514
Expr*expr= (Expr*)tlistentry;
528-
Var*left=
529-
(Var*)flatten_tlistentry((Node*)get_leftop(expr),
515+
516+
Var*left=(Var*)flatten_tlistentry((Node*)get_leftop(expr),
530517
flat_tlist);
531-
Var*right=
532-
(Var*)flatten_tlistentry((Node*)get_rightop(expr),
518+
Var*right= (Var*)flatten_tlistentry((Node*)get_rightop(expr),
533519
flat_tlist);
520+
Expr*final=make_opclause((Oper*)expr->oper,left,right);
534521

535-
return ((Node*)
536-
make_opclause((Oper*)expr->oper,left,right));
522+
Assert(IsA(tlistentry,Expr));
523+
final->opType=expr->opType;
524+
final->typeOid=expr->typeOid;
525+
return (Node*)final;
537526
}
538527
}
539528

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp