On 11/01/2018 07:43 AM, Amit Kapila wrote:
You can find the latest code at https://github.com/EnterpriseDB/zheap
Seems valgrind complains about a couple of places in the code - nothing major, might be noise, but probably worth a look.
regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
==7569== Conditional jump or move depends on uninitialised value(s) ==7569== at 0x5914C8: ZHeapDetermineModifiedColumns (zheapam.c:6666) ==7569== by 0x587453: zheap_update (zheapam.c:2176) ==7569== by 0x7577D3: ExecUpdate (nodeModifyTable.c:1426) ==7569== by 0x759C0B: ExecModifyTable (nodeModifyTable.c:2629) ==7569== by 0x729687: ExecProcNodeFirst (execProcnode.c:445) ==7569== by 0x71D8E9: ExecProcNode (executor.h:241) ==7569== by 0x720194: ExecutePlan (execMain.c:1711) ==7569== by 0x71DF11: standard_ExecutorRun (execMain.c:367) ==7569== by 0x71DD3F: ExecutorRun (execMain.c:310) ==7569== by 0x9113CA: ProcessQuery (pquery.c:161) ==7569== by 0x912CE8: PortalRunMulti (pquery.c:1286) ==7569== by 0x9122C1: PortalRun (pquery.c:799) ==7569== by 0x90C1C2: exec_simple_query (postgres.c:1215) ==7569== by 0x9104D9: PostgresMain (postgres.c:4244) ==7569== by 0x86A911: BackendRun (postmaster.c:4388) ==7569== by 0x86A0DF: BackendStartup (postmaster.c:4079) ==7569== by 0x8665F7: ServerLoop (postmaster.c:1711) ==7569== by 0x865EA3: PostmasterMain (postmaster.c:1384) ==7569== by 0x78E3AB: main (main.c:228) ==7569== Uninitialised value was created by a stack allocation ==7569== at 0x59043D: znocachegetattr (zheapam.c:6206) ==7569== { <insert_a_suppression_name_here> Memcheck:Cond fun:ZHeapDetermineModifiedColumns fun:zheap_update fun:ExecUpdate fun:ExecModifyTable fun:ExecProcNodeFirst fun:ExecProcNode fun:ExecutePlan fun:standard_ExecutorRun fun:ExecutorRun fun:ProcessQuery fun:PortalRunMulti fun:PortalRun fun:exec_simple_query fun:PostgresMain fun:BackendRun fun:BackendStartup fun:ServerLoop fun:PostmasterMain fun:main } ==8811== Conditional jump or move depends on uninitialised value(s) ==8811== at 0x5914C8: ZHeapDetermineModifiedColumns (zheapam.c:6666) ==8811== by 0x587453: zheap_update (zheapam.c:2176) ==8811== by 0x7577D3: ExecUpdate (nodeModifyTable.c:1426) ==8811== by 0x759C0B: ExecModifyTable (nodeModifyTable.c:2629) ==8811== by 0x729687: ExecProcNodeFirst (execProcnode.c:445) ==8811== by 0x71D8E9: ExecProcNode (executor.h:241) ==8811== by 0x720194: ExecutePlan (execMain.c:1711) ==8811== by 0x71DF11: standard_ExecutorRun (execMain.c:367) ==8811== by 0x71DD3F: ExecutorRun (execMain.c:310) ==8811== by 0x9113CA: ProcessQuery (pquery.c:161) ==8811== by 0x912CE8: PortalRunMulti (pquery.c:1286) ==8811== by 0x9122C1: PortalRun (pquery.c:799) ==8811== by 0x90C1C2: exec_simple_query (postgres.c:1215) ==8811== by 0x9104D9: PostgresMain (postgres.c:4244) ==8811== by 0x86A911: BackendRun (postmaster.c:4388) ==8811== by 0x86A0DF: BackendStartup (postmaster.c:4079) ==8811== by 0x8665F7: ServerLoop (postmaster.c:1711) ==8811== by 0x865EA3: PostmasterMain (postmaster.c:1384) ==8811== by 0x78E3AB: main (main.c:228) ==8811== Uninitialised value was created by a stack allocation ==8811== at 0x59043D: znocachegetattr (zheapam.c:6206) ==8811== { <insert_a_suppression_name_here> Memcheck:Cond fun:ZHeapDetermineModifiedColumns fun:zheap_update fun:ExecUpdate fun:ExecModifyTable fun:ExecProcNodeFirst fun:ExecProcNode fun:ExecutePlan fun:standard_ExecutorRun fun:ExecutorRun fun:ProcessQuery fun:PortalRunMulti fun:PortalRun fun:exec_simple_query fun:PostgresMain fun:BackendRun fun:BackendStartup fun:ServerLoop fun:PostmasterMain fun:main } ==8811== Conditional jump or move depends on uninitialised value(s) ==8811== at 0x574A76: InsertUndoRecord (undorecord.c:135) ==8811== by 0x56F405: InsertPreparedUndo (undoinsert.c:840) ==8811== by 0x5848E0: zheap_insert (zheapam.c:896) ==8811== by 0x755F21: ExecInsert (nodeModifyTable.c:692) ==8811== by 0x759BB2: ExecModifyTable (nodeModifyTable.c:2622) ==8811== by 0x729687: ExecProcNodeFirst (execProcnode.c:445) ==8811== by 0x71D8E9: ExecProcNode (executor.h:241) ==8811== by 0x720194: ExecutePlan (execMain.c:1711) ==8811== by 0x71DF11: standard_ExecutorRun (execMain.c:367) ==8811== by 0x71DD3F: ExecutorRun (execMain.c:310) ==8811== by 0x9113CA: ProcessQuery (pquery.c:161) ==8811== by 0x912CE8: PortalRunMulti (pquery.c:1286) ==8811== by 0x9122C1: PortalRun (pquery.c:799) ==8811== by 0x90C1C2: exec_simple_query (postgres.c:1215) ==8811== by 0x9104D9: PostgresMain (postgres.c:4244) ==8811== by 0x86A911: BackendRun (postmaster.c:4388) ==8811== by 0x86A0DF: BackendStartup (postmaster.c:4079) ==8811== by 0x8665F7: ServerLoop (postmaster.c:1711) ==8811== by 0x865EA3: PostmasterMain (postmaster.c:1384) ==8811== by 0x78E3AB: main (main.c:228) ==8811== Uninitialised value was created by a stack allocation ==8811== at 0x5841D3: zheap_insert (zheapam.c:685) ==8811== { <insert_a_suppression_name_here> Memcheck:Cond fun:InsertUndoRecord fun:InsertPreparedUndo fun:zheap_insert fun:ExecInsert fun:ExecModifyTable fun:ExecProcNodeFirst fun:ExecProcNode fun:ExecutePlan fun:standard_ExecutorRun fun:ExecutorRun fun:ProcessQuery fun:PortalRunMulti fun:PortalRun fun:exec_simple_query fun:PostgresMain fun:BackendRun fun:BackendStartup fun:ServerLoop fun:PostmasterMain fun:main } ==8811== Conditional jump or move depends on uninitialised value(s) ==8811== at 0x574AA0: InsertUndoRecord (undorecord.c:136) ==8811== by 0x56F405: InsertPreparedUndo (undoinsert.c:840) ==8811== by 0x5848E0: zheap_insert (zheapam.c:896) ==8811== by 0x755F21: ExecInsert (nodeModifyTable.c:692) ==8811== by 0x759BB2: ExecModifyTable (nodeModifyTable.c:2622) ==8811== by 0x729687: ExecProcNodeFirst (execProcnode.c:445) ==8811== by 0x71D8E9: ExecProcNode (executor.h:241) ==8811== by 0x720194: ExecutePlan (execMain.c:1711) ==8811== by 0x71DF11: standard_ExecutorRun (execMain.c:367) ==8811== by 0x71DD3F: ExecutorRun (execMain.c:310) ==8811== by 0x9113CA: ProcessQuery (pquery.c:161) ==8811== by 0x912CE8: PortalRunMulti (pquery.c:1286) ==8811== by 0x9122C1: PortalRun (pquery.c:799) ==8811== by 0x90C1C2: exec_simple_query (postgres.c:1215) ==8811== by 0x9104D9: PostgresMain (postgres.c:4244) ==8811== by 0x86A911: BackendRun (postmaster.c:4388) ==8811== by 0x86A0DF: BackendStartup (postmaster.c:4079) ==8811== by 0x8665F7: ServerLoop (postmaster.c:1711) ==8811== by 0x865EA3: PostmasterMain (postmaster.c:1384) ==8811== by 0x78E3AB: main (main.c:228) ==8811== Uninitialised value was created by a stack allocation ==8811== at 0x5841D3: zheap_insert (zheapam.c:685) ==8811== { <insert_a_suppression_name_here> Memcheck:Cond fun:InsertUndoRecord fun:InsertPreparedUndo fun:zheap_insert fun:ExecInsert fun:ExecModifyTable fun:ExecProcNodeFirst fun:ExecProcNode fun:ExecutePlan fun:standard_ExecutorRun fun:ExecutorRun fun:ProcessQuery fun:PortalRunMulti fun:PortalRun fun:exec_simple_query fun:PostgresMain fun:BackendRun fun:BackendStartup fun:ServerLoop fun:PostmasterMain fun:main }