@@ -365,6 +365,21 @@ struct PAIMON_EXPORT Options {
365365 // / "partition.legacy-name" - The legacy partition name is using `ToString` for all types. If
366366 // / false, using casting to string for all types. Default value is "true".
367367 static const char PARTITION_GENERATE_LEGACY_NAME [];
368+ // / "map.storage-layout" - Suffix for per-column MAP storage layout configuration.
369+ // / Used as `fields.<column>.map.storage-layout`. Values: "default" (standard KV arrays)
370+ // / or "shared-shredding" (columnar shredding with column reuse). Default is "default".
371+ // / If set "shared-shredding", the column must be of type MAP<STRING, T>. Each column must be
372+ // / configured individually. For example, to enable shared-shredding layout for two columns
373+ // / "metrics" and "tags":
374+ // / fields.metrics.map.storage-layout = shared-shredding
375+ // / fields.tags.map.storage-layout = shared-shredding
376+ static const char MAP_STORAGE_LAYOUT [];
377+ // / "map.shared-shredding.max-columns" - Suffix for per-column upper bound K_max configuration.
378+ // / Used as `fields.<column>.map.shared-shredding.max-columns`. Only effective when
379+ // / map.storage-layout = shared-shredding. Rows with more fields than K_max spill to
380+ // / __overflow. Default value is 256. Each column can have its own max-columns setting.
381+ static const char MAP_SHARED_SHREDDING_MAX_COLUMNS [];
382+
368383 // / "blob-as-descriptor" - Read blob field using blob descriptor rather than blob
369384 // / bytes. Default value is "false".
370385 static const char BLOB_AS_DESCRIPTOR [];
0 commit comments