[CARBONDATA-4284] Load/insert after alter add column on partition table with complex...
authorShreelekhyaG <shreelu_gampa@yahoo.com>
Mon, 13 Sep 2021 13:14:19 +0000 (18:44 +0530)
committerkunal642 <kunalkapoor642@gmail.com>
Thu, 16 Sep 2021 06:29:16 +0000 (11:59 +0530)
commit3b29bcb1057166c85e05b67a061ec616e809831d
tree761af48fa809713bfd0f6d09cff6528b82a3ed4d
parent719935795f2dbc165cca304a47a0b456aac54e8c
[CARBONDATA-4284] Load/insert after alter add column on partition table with complex column fails

Why is this PR needed?
Insert after alter add column on partition table with complex column fails with bufferUnderFlowException
List of columns order in TableSchema is different after alter add column.
Ex: If partition is of dimension type, when table is created the schema columns order is as
dimension columns(partition column also) + complex column
After alter add, we are changing the order of columns in schema by moving the partition column to last.
complex column + partition column
Due to this change in order, while fillDimensionAndMeasureDetails, the indexing is wrong as it
expects complex column to be last always which causes bufferUnderFlowException while flattening complex row.

What changes were proposed in this PR?
After alter add, removed changes to add partition column at last.

This closes #4215
integration/spark/src/main/scala/org/apache/spark/sql/execution/command/carbonTableSchemaCommon.scala
integration/spark/src/test/scala/org/apache/carbondata/spark/testsuite/alterTable/TestAlterTableAddColumns.scala