Re: Checking assumptions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Checking assumptions
Date: 2006-04-20 14:54:37
Message-ID: 18412.1145544877@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> randomAccess is set if EXEC_FLAG_BACKWARD is set, but does that
> guarentee it will never be tried?

If it were tried, that would be caller error. Think of it as an Assert ;-)

> src/backend/optimizer/plan/planner.c function inheritance_planner=20
> If the bulk of the loop is skipped for any reason, we segfault right
> after.

Another poor man's Assert.

> src/backend/utils/adt/selfuncs.c function like_selectivity

> Assume this function is never called with a zero length bytea
> constant. It just looks wierd to set patt to NULL only to Assert() it
> three lines down.

This may be a real bug --- I'm not sure how well the bytea-LIKE path has
been tested, and it looks odd to me too.

> src/backend/utils/adt/ruleutils.c function get_sublink_expr
> We assume sublink->subLinkType == ANY_SUBLINK implies
> sublink->testexpr != NULL.

Yeah, it does.

> src/backend/rewrite/rewriteHandler.c function AcquireRewriteLocks
> Assume ((Var*)var)->varno > 0

For a join alias, I don't see any problem there.

> src/backend/executor/execMain.c function ExecutePlan
> We assume an UPDATE statement always has a junkfilter.

Yup.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2006-04-20 15:01:42 Re: pg_dump -Ft failed on Windows XP
Previous Message Tom Lane 2006-04-20 14:42:02 Re: float8 regression test failure in head