diff --git a/generator/src/dbscheme.rs b/generator/src/dbscheme.rs index b4f03ff7ba0..164622092b0 100644 --- a/generator/src/dbscheme.rs +++ b/generator/src/dbscheme.rs @@ -11,7 +11,7 @@ pub enum Entry { pub struct Table { pub name: String, pub columns: Vec, - pub keysets: Vec>, + pub keysets: Option>, } /// A column in a table. diff --git a/generator/src/main.rs b/generator/src/main.rs index 9393fbaa8d9..d7c28142c23 100644 --- a/generator/src/main.rs +++ b/generator/src/main.rs @@ -107,10 +107,10 @@ fn add_field( ], // In addition to the field being unique, the combination of // parent+index is unique, so add a keyset for them. - keysets: vec![vec![ + keysets: Some(vec![ dbscheme::escape_name(parent_name), "index".to_string(), - ]], + ]), }; entries.push(dbscheme::Entry::Table(field_table)); } else { @@ -159,7 +159,7 @@ fn convert_nodes(nodes: &[NodeInfo]) -> Vec { ql_type: dbscheme::QlColumnType::Custom(dbscheme::escape_name(&name)), ql_type_is_ref: false, }], - keysets: vec![], + keysets: None, }; top_members.push(dbscheme::escape_name(&name)); @@ -232,7 +232,7 @@ fn write_dbscheme(entries: &[dbscheme::Entry]) -> std::io::Result<()> { fn create_location_entry() -> dbscheme::Entry { dbscheme::Entry::Table(dbscheme::Table { name: "location".to_string(), - keysets: Vec::new(), + keysets: None, columns: vec![ dbscheme::Column { unique: true, @@ -283,7 +283,7 @@ fn create_location_entry() -> dbscheme::Entry { fn create_source_location_prefix_entry() -> dbscheme::Entry { dbscheme::Entry::Table(dbscheme::Table { name: "sourceLocationPrefix".to_string(), - keysets: Vec::new(), + keysets: None, columns: vec![dbscheme::Column { unique: false, db_type: dbscheme::DbColumnType::String,