Critically, you can't keep allocating the key backing store buffers once per call to p_execute/updateTargetTableAndIndex and only free them once in the destructor.