Clean up the mess in DrillCursor, namely the poorly named (and of course undocumented) flow-control flags and the flag-laden next() method.
DRILL-3285: Part 1--Prep., Hygiene: Mainly, adding comments.
- field doc. comments
- method doc. comments
- branch/block comments
Removed unused recordBatchCount and getRecordBatchCount().
Added logger call for spurious batch.
- Cleaned up logger.
- Added "final" on updateColumns().
- Wrapped some lines
- Misc. comment whitespace.
DRILL-3285: Part 2--Renaming.
Renamed state/control-flow members:
- started -> initialSchemaLoaded
- first -> beforeFirstBatch
- redoFirstNext -> returnTrueForNextCallToNext
- finished -> afterLastRow
Renamed other items:
- changed -> schemaChanged
- currentBatch -> currentBatchHolder
- DrillResultSet's currentBatch -> batchLoader
DRILL-3285: Part 3--Invert beforeFirstBatch -> ! afterFirstBatch.
DRILL-3285: Part 4--Reorder fields, updateColumns.
DRILL-3285: Part 5--Split old hacky next() into separate methods.
Split the original public next() method (which was hacked to handle an extra,
initial call to read the schema batch) into:
- new loadInitialSchema() (for handling the call for the schema)
- modified next() (for handling normal calls from ResultSet.next())
- new private nextRowInternally() (for common code)
Pulls invariant afterFirstBatch up out of bogus-batch loop.