Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it possible to detemine WAL format at runtime #304

Open
wants to merge 56 commits into
base: REL_15_STABLE_neon
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
0fc0e97
Neon rebased to REL_15_STABLE (up to 0a9045c9ff)
lubennikovaav Jul 22, 2022
8af27f3
fix regression tests
lubennikovaav Aug 10, 2022
c146655
rebase to the latest origin and resolve conflicts
lubennikovaav Aug 16, 2022
a41058d
Remove contrib neon and neon_test_utils.
lubennikovaav Aug 24, 2022
e06d8c7
Prevent access to uninitalized shaerd memory in InstallXLogFileSegmen…
lubennikovaav Aug 24, 2022
9b2b574
Remove Dockerfile, it's now in the neon repo
lubennikovaav Aug 29, 2022
261fc36
Move backpressure throttling implementation to neon extension (#203)
knizhnik Sep 2, 2022
f5cb05b
Merge last written cache lsn with new main branch (#201)
knizhnik Sep 4, 2022
80512f1
Local prefetch implementation for Postgres 15
hlinnaka Sep 13, 2022
54f74ad
Set last written LSN for the created relation (#212)
hlinnaka Sep 16, 2022
fb19b2c
Use normal install program to install server headers.
hlinnaka Sep 12, 2022
5079178
Update expected output for sysviews test because of changed default v…
knizhnik Sep 12, 2022
95f6956
Undo diasming VM check warning in vacuumlazy.c (#214)
knizhnik Sep 20, 2022
561af18
Set Neon-specific FMGR_ABI_EXTRA
lubennikovaav Sep 21, 2022
4ac76c3
Don't use newline in PG_VERSION file.
lubennikovaav Sep 21, 2022
a771474
Unset ArchiveRecoveryRequested for Neon code path.
lubennikovaav Sep 21, 2022
faa68d0
Fix memory leak in ApplyRecord
knizhnik Sep 21, 2022
808318e
Rebase to Stamp 15.0
lubennikovaav Oct 5, 2022
52da928
Pin pages with speculative insert tuples to prevent their reconstruct…
knizhnik Oct 20, 2022
534b38a
Fix shared memory initialization for last written LSN cache (#226)
knizhnik Oct 24, 2022
887fd35
Fix upper boundary caculation in the chunks loop in SetLastWrittenLSN…
knizhnik Oct 28, 2022
e336bc9
Stamp XLP_FIRST_IS_CONTRECORD only if we start writing with page offset.
arssher Oct 28, 2022
a1066f4
Move walredo process code under pgxn in the main 'neon' repository.
hlinnaka Oct 31, 2022
f34afc9
Misc cleanup, mostly to reduce unnecessary differences with upstream.
hlinnaka Oct 31, 2022
87c5bb6
Optimize prefetch patterns in both heap seqscan and vacuum scans. (#228)
MMeent Nov 7, 2022
ddd669f
Fix prefetch issues in parallel scans and vacuum's cleanup scan (#235)
MMeent Nov 11, 2022
90c4f24
Fix expected results for regression tests (#238)
bayandin Nov 15, 2022
890a699
Use prefetch in pg_prewarm extension (#237)
knizhnik Nov 17, 2022
6fce20c
PG15: Prefetch cleanup (#241)
MMeent Nov 23, 2022
debb925
Drop unlogged table in regress test to avoid noise in tests
lubennikovaav Nov 21, 2022
85bd2ad
Do not produce open file error for unlogged relations (#240)
knizhnik Nov 24, 2022
6f72c84
Maintain last written LSN for each page to enable prefetch on vacuum,…
knizhnik Nov 24, 2022
dcdb9ee
Prefetch cleanup: (#246)
MMeent Dec 5, 2022
fc754e5
Set lsn fix v15 (#252)
knizhnik Dec 8, 2022
7cb2db7
Show prefetch statistic in EXPLAIN (#249)
knizhnik Jan 12, 2023
a52fb5a
Implement efficient prefetch for parallel bitmap heap scan (#258)
knizhnik Feb 14, 2023
9fc4107
Unlogged index fix v15 (#262)
knizhnik Feb 22, 2023
7b55f30
Fix bitmap scan prefetch (#261)
knizhnik Feb 23, 2023
513b58c
Revert handling of UNLOGGED tables on compute side v15.
arssher Feb 24, 2023
6da0174
Allow external main functions to skip config load and make last
kelvich Feb 23, 2023
a029c23
Remove walredo-related hacks from InternalIpcMemoryCreate()
kelvich Mar 6, 2023
78481ee
Adjust prefetch target for parallel bitmap scan (#274)
knizhnik Mar 27, 2023
8a6fd67
Copy iterator result in BitmapHeapNext (#276)
knizhnik Apr 7, 2023
0e771f9
Prefetch for index and index-only scans (#271)
knizhnik Apr 7, 2023
52c0264
[PG15] Feature/replicas (#279)
MMeent Apr 13, 2023
48ebdaf
Fix entering hot standby mode for Neon
lubennikovaav May 5, 2023
ac6ca4d
Do not allow users with CREATEROLE privelege to manage system user
kelvich Jul 7, 2023
38e3bd2
Fix regression tests after the patch with CREATEROLE restrictions
kelvich Jul 15, 2023
f93c725
Add startup logs (#293)
bojanserafimov Jul 17, 2023
4834eb7
Make it possible to grant self created roles (#298)
knizhnik Jul 27, 2023
362e841
Update expected file for create_role test (#301)
knizhnik Jul 28, 2023
fcd0bde
Define NEON_SMGR in smgr.h to make it possible for extensions to use …
knizhnik Jul 29, 2023
026d6b0
Request extension files and libraries from compute_ctl
lubennikovaav Jun 13, 2023
bd06d52
Make it possible to detemine WAL format at runtime
Aug 14, 2023
f6ea27b
Make handling t_cid more clear and less erro prone and move t_cid fro…
Aug 14, 2023
2c76abf
Support work with both multi_insert record formats in compatibility mode
Aug 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix bitmap scan prefetch (#261)
  • Loading branch information
knizhnik authored and tristan957 committed Aug 9, 2023
commit 7b55f30d73a54d42e5d75944cc607e8612cf8beb
11 changes: 10 additions & 1 deletion src/backend/executor/nodeBitmapHeapscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ BitmapHeapNext(BitmapHeapScanState *node)
break;
}

BitmapAdjustPrefetchIterator(node, tbmres);

/*
* We can skip fetching the heap page if we don't need any fields
* from the heap, and the bitmap entries don't need rechecking,
Expand Down Expand Up @@ -366,7 +368,10 @@ BitmapAdjustPrefetchIterator(BitmapHeapScanState *node,
{
#ifdef USE_PREFETCH
TBMIterator *prefetch_iterator = node->prefetch_iterator;
Assert(node->pstate == NULL);

/* NEON: we are not using prefetch iterator for parallel plan so no need to adjust it */
if (node->pstate != NULL)
return;

if (node->prefetch_pages > 0)
{
Expand Down Expand Up @@ -396,6 +401,10 @@ static inline void
BitmapAdjustPrefetchTarget(BitmapHeapScanState *node)
{
#ifdef USE_PREFETCH
/* NEON: we are not using prefetch iterator for parallel plan so no need to adjust it */
if (node->pstate != NULL)
return;

if (node->prefetch_target >= node->prefetch_maximum)
/* don't increase any further */ ;
else if (node->prefetch_target >= node->prefetch_maximum / 2)
Expand Down