memory usage optimizations for read and write operations

Instead of re-declaring ```CreateColumnBlockDataBuffers``` and ```FreeColumnBlockDataBuffers``` here again, what we usually do is to declare them in the header file.