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

Commit6306d07

Browse files
committed
Re-enable error for "SELECT ... OFFSET -1".
The executor has thrown errors for negative OFFSET values since 8.4 (seecommitbfce56e), but in a moment of brainfade I taught the planner that OFFSET with a constant negative value was ano-op (commit1a1832e). Reinstate theformer behavior by only discarding OFFSET with a value of exactly 0. Inpassing, adjust a planner comment that referenced the ancient behavior.Back-patch to 9.3 where the mistake was introduced.
1 parentf59c8ef commit6306d07

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

‎src/backend/optimizer/plan/planner.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2127,7 +2127,7 @@ preprocess_limit(PlannerInfo *root, double tuple_fraction,
21272127
{
21282128
*offset_est=DatumGetInt64(((Const*)est)->constvalue);
21292129
if (*offset_est<0)
2130-
*offset_est=0;/*less than 0 is sameas0 */
2130+
*offset_est=0;/*treatasnot present */
21312131
}
21322132
}
21332133
else
@@ -2288,9 +2288,8 @@ limit_needed(Query *parse)
22882288
{
22892289
int64offset=DatumGetInt64(((Const*)node)->constvalue);
22902290

2291-
/* Executor would treat less-than-zero same as zero */
2292-
if (offset>0)
2293-
return true;/* OFFSET with a positive value */
2291+
if (offset!=0)
2292+
return true;/* OFFSET with a nonzero value */
22942293
}
22952294
}
22962295
else

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp