Hi
I found some issue in v9-0002
1.
+
+ elog(DEBUG1, "[Worker] Processing - line position:%d, block:%d, unprocessed lines:%d, offset:%d, line size:%d",
+ write_pos, lineInfo->first_block,
+ pg_atomic_read_u32(&data_blk_ptr->unprocessed_line_parts),
+ offset, pg_atomic_read_u32(&lineInfo->line_size));
+
write_pos or other variable to be printed here are type of uint32, I think it'better to use '%u' in elog msg.
2.
+ * line_size will be set. Read the line_size again to be sure if it is
+ * completed or partial block.
+ */
+ dataSize = pg_atomic_read_u32(&lineInfo->line_size);
+ if (dataSize)
It use dataSize( type int ) to get uint32 which seems a little dangerous.
Is it better to define dataSize uint32 here?
3.
Since function with 'Cstate' in name has been changed to 'CState'
I think we can change function PopulateCommonCstateInfo as well.
4.
+ if (pcdata->worker_line_buf_count)
I think some check like the above can be 'if (xxx > 0)', which seems easier to understand.
Best regards,
houzj