diff --git a/packages/coln-compiler/src/Coln/Backend/IR.hs b/packages/coln-compiler/src/Coln/Backend/IR.hs index afa4d3b9..6c08ab81 100644 --- a/packages/coln-compiler/src/Coln/Backend/IR.hs +++ b/packages/coln-compiler/src/Coln/Backend/IR.hs @@ -98,6 +98,7 @@ aeOptions :: AE.Options aeOptions = AE.defaultOptions { AE.allNullaryToStringTag = False + , AE.tagSingleConstructors = True , AE.constructorTagModifier = \x -> fmap toLower (take 1 x) ++ (drop 1 x) } diff --git a/packages/coln-flir-rs/src/ir/mod.rs b/packages/coln-flir-rs/src/ir/mod.rs index 5a146e15..4988eb97 100644 --- a/packages/coln-flir-rs/src/ir/mod.rs +++ b/packages/coln-flir-rs/src/ir/mod.rs @@ -73,7 +73,7 @@ pub enum ColType { } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(tag = "tag", rename_all = "camelCase")] +#[serde(rename_all = "camelCase")] pub enum Materialization { Recomputed, Memoized, @@ -90,7 +90,9 @@ pub enum IndexMethod { #[serde(tag = "tag", rename_all = "camelCase")] pub enum EntityVariant { Table, - View(Materialization), + View { + materialization: Materialization, + }, Index { method: IndexMethod, columns: Vec, diff --git a/packages/coln-store/src/commit/wire/root.rs b/packages/coln-store/src/commit/wire/root.rs index ca188991..41cb737c 100644 --- a/packages/coln-store/src/commit/wire/root.rs +++ b/packages/coln-store/src/commit/wire/root.rs @@ -175,7 +175,7 @@ fn read_column_entry(data: &[u8], pos: &mut usize) -> Result, variant: &EntityVariant) -> Result<(), CodecError> { match variant { EntityVariant::Table => write_u8(buf, 0), - EntityVariant::View(materialization) => { + EntityVariant::View { materialization } => { write_u8(buf, 1)?; write_materialization(buf, materialization) } @@ -194,7 +194,9 @@ fn write_entity_variant(buf: &mut Vec, variant: &EntityVariant) -> Result<() fn read_entity_variant(data: &[u8], pos: &mut usize) -> Result { match read_u8(data, pos, "entity variant tag")? { 0 => Ok(EntityVariant::Table), - 1 => Ok(EntityVariant::View(read_materialization(data, pos)?)), + 1 => Ok(EntityVariant::View { + materialization: read_materialization(data, pos)?, + }), 2 => { let method = read_index_method(data, pos)?; let column_count = commit_leb128::read_len(data, pos, "index column count")?;