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

Commit2704898

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 parent27cef0a commit2704898

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
@@ -2335,7 +2335,7 @@ preprocess_limit(PlannerInfo *root, double tuple_fraction,
23352335
{
23362336
*offset_est=DatumGetInt64(((Const*)est)->constvalue);
23372337
if (*offset_est<0)
2338-
*offset_est=0;/*less than 0 is sameas0 */
2338+
*offset_est=0;/*treatasnot present */
23392339
}
23402340
}
23412341
else
@@ -2496,9 +2496,8 @@ limit_needed(Query *parse)
24962496
{
24972497
int64offset=DatumGetInt64(((Const*)node)->constvalue);
24982498

2499-
/* Executor would treat less-than-zero same as zero */
2500-
if (offset>0)
2501-
return true;/* OFFSET with a positive value */
2499+
if (offset!=0)
2500+
return true;/* OFFSET with a nonzero value */
25022501
}
25032502
}
25042503
else

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp