Intro* INSERT statements could face a non-existant block when MCOL-498 feature
is enabled. writeRow() guard blocks was supposed to proactively create empty
blocks. The pre-patch logic failed when first value in the block has been
removed by DELETE and this overwrites the whole valid block with empty magics.
This patch moves proactive creation logic into allocRowId().
thus reduced IO load when creating a table.
Uncompressed abbreviated segment and dicts aren't affected by
this b/c CS'es system catalog uses uncompressed dict files. CS
now doesn't work with empty dicts files.
for extent extention.
Added a getter, moved some methods from protected into public to use
with unit tests, e.g createFile, setPreallocSpace. Added code stub in
FileOp::oid2FileName to use with UT.
Add more comments.
Changed return value for HDFS'es fallocate.
Removed unnecessary code in ColumnBufferCompressed::writeToFile
Replaced Nulls with Empties in variable names.