{
// Case: set table.super_cf['key']['supercolumn']['column'] = 'value'
OperandDef value = getSimpleExpr(valueNode);
ConstantOperand superColumnKey = new ConstantOperand(getColumn(columnFamilySpec, 0));
ConstantOperand columnKey = new ConstantOperand(getColumn(columnFamilySpec, 1));
plan = new SetUniqueKey(cfMetaData, rowKey, superColumnKey, columnKey, value);
}
else if (dimensionCnt == 1)
{
// Case: set table.super_cf['key']['supercolumn'] = <column_map>;
ColumnMapExpr columnMapExpr = getColumnMapExpr(valueNode);
ConstantOperand superColumnKey = new ConstantOperand(getColumn(columnFamilySpec, 0));
plan = new SetColumnMap(cfMetaData, rowKey, superColumnKey, columnMapExpr);
}
else
{
// Case: set table.super_cf['key'] = <super_column_map>;
logger_.assertLog(dimensionCnt == 0, "invalid dimensionCnt: " + dimensionCnt);
SuperColumnMapExpr superColumnMapExpr = getSuperColumnMapExpr(valueNode);
plan = new SetSuperColumnMap(cfMetaData, rowKey, superColumnMapExpr);
}
}
else // Standard column family
{
if (dimensionCnt == 1)
{
// Case: set table.standard_cf['key']['column'] = 'value'
OperandDef value = getSimpleExpr(valueNode);
ConstantOperand columnKey = new ConstantOperand(getColumn(columnFamilySpec, 0));
plan = new SetUniqueKey(cfMetaData, rowKey, columnKey, value);
}
else
{
// Case: set table.standard_cf['key'] = <column_map>;
logger_.assertLog(dimensionCnt == 0, "invalid dimensionCnt: " + dimensionCnt);