Re: TupleTableSlot abstraction
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Attachments
- pg_abstract_tts_patches_v8.tar.zip (application/zip)
On Sat, Aug 18, 2018 at 8:53 PM, Andres Freund <andres@anarazel.de> wrote: > On 2018-08-17 01:07:06 -0700, Andres Freund wrote: >> Hi, >> >> On 2018-08-17 12:10:20 +0530, Ashutosh Bapat wrote: >> > We need to add LLVM code to fetch tts_flags and >> > perform bit operation on it to get or set slow property. I haven't >> > found any precedence for LLVM bit operations in postgresql's JIT code. >> >> There are several, look for the infomask accesses in >> slot_compiler_deform. >> >> I'll try to do the adaption later today. > > Attached is a series of patches doing so. The previous implementation > of sysvar accesses wasn't actually working - the slot argument was > uninitialized. Sorry for that. I couldn't test it since the code wasn't compiling. The changes to slot_compile_deform changes you provided in the patch fix the compilation errors. Thanks for those changes. > > I also noticed an independent issue in your changes to > ExecInitScanTupleSlot(): You can't assume that the plan belonging to the > ScanState have a Scan node in their plan. Look e.g. at Material, Sort > etc. So currently your scanrelid access is often just uninitialized > data. I have incorporated changes in your patches into the relevant patches in the updated patch-set. With this patch-set make check-world passes for me. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
Commits
-
Fix memory leak when inserting tuple at relation creation for CTAS
- 414a9d3cf34c 12.0 landed
-
Build HashState's hashkeys expression with the correct parent.
- 5f32b29c1819 12.0 landed
-
Move TupleTableSlots boolean member into one flag variable.
- c5257345ef61 12.0 landed
-
Move generic slot support functions from heaptuple.c into execTuples.c.
- 9d906f1119de 12.0 landed
-
Remove absolete function TupleDescGetSlot().
- 10763358c3f0 12.0 landed
-
Remove function list from prologue of execTuples.c.
- bbdfbb9154fc 12.0 landed
-
Split ExecStoreTuple into ExecStoreHeapTuple and ExecStoreBufferHeapTuple.
- 29c94e03c7d0 12.0 landed
-
Change TupleTableSlot->tts_nvalid to type AttrNumber.
- a598708ffa8e 12.0 landed
-
Deduplicate code between slot_getallattrs() and slot_getsomeattrs().
- 88ebd62fcc2e 12.0 landed
-
Mention ownership requirements for REFRESH MATERIALIZED VIEW in docs
- ee8012481190 12.0 cited
-
Spell "partitionwise" consistently.
- 31380bc7c204 12.0 cited
-
Fix WHERE CURRENT OF when the referenced cursor uses an index-only scan.
- 8f5ac440430a 11.0 cited