From c3ae5c86db8706e90199407db5fcac263cecd5f9 Mon Sep 17 00:00:00 2001 From: sinder Date: Wed, 11 Mar 2026 00:52:33 +0800 Subject: [PATCH 1/6] fix generated columns not being discovered --- src/sqlite/def/column.rs | 18 ++++++++++++++++++ src/sqlite/def/table.rs | 18 ++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/sqlite/def/column.rs b/src/sqlite/def/column.rs index b6caaf2..1e1dec7 100644 --- a/src/sqlite/def/column.rs +++ b/src/sqlite/def/column.rs @@ -9,12 +9,23 @@ use std::num::ParseIntError; /// An SQLite column definition #[derive(Debug, PartialEq, Clone)] pub struct ColumnInfo { + /// Column id pub cid: i64, + /// Column name. pub name: String, + /// Declared type pub r#type: ColumnType, + /// Whether a NOT NULL constraint is present. pub not_null: bool, pub default_value: DefaultType, + /// Column is part of the PRIMARY KEY. pub primary_key: bool, + /// Hidden status: + /// `0` - ordinary column + /// `1` - hidden column in a virtual table + /// `2` - generated VIRTUAL column + /// `3` - generated STORED column + pub hidden: i32, } #[cfg(feature = "sqlx-sqlite")] @@ -25,6 +36,7 @@ impl ColumnInfo { let row = row.sqlite(); let col_not_null: i8 = row.get(3); let is_pk: i8 = row.get(5); + let hidden: i32 = row.get(6); let default_value: Option = row.get(4); let default_value = default_value.unwrap_or_default(); Ok(ColumnInfo { @@ -50,8 +62,14 @@ impl ColumnInfo { } }, primary_key: is_pk != 0, + hidden: hidden, }) } + + #[inline] + pub fn is_visible(&self) -> bool { + self.hidden != 1 + } } #[cfg(not(feature = "sqlx-sqlite"))] diff --git a/src/sqlite/def/table.rs b/src/sqlite/def/table.rs index af3bf00..ebef6b1 100644 --- a/src/sqlite/def/table.rs +++ b/src/sqlite/def/table.rs @@ -177,17 +177,19 @@ impl TableDef { Ok(self) } - /// Get a list of all the columns in the table mapped as [ColumnInfo] pub async fn get_column_info(&mut self, conn: &impl Connection) -> DiscoveryResult<&TableDef> { - let mut index_query = String::default(); - index_query.push_str("PRAGMA table_info('"); - index_query.push_str(&self.name); - index_query.push_str("')"); + let mut query = String::with_capacity(64 + self.name.len()); + query.push_str("PRAGMA table_xinfo('"); + query.push_str(&self.name); + query.push_str("')"); - let index_info_rows = conn.query_all_raw(index_query).await?; + let rows = conn.query_all_raw(query).await?; - for info in index_info_rows { - let column = ColumnInfo::to_column_def(info)?; + for row in rows { + let column = ColumnInfo::to_column_def(row)?; + if column.hidden == 1 { + continue; // Skip hidden columns + } self.columns.push(column); } From 8e06fe1434ce4182d1e9eef143b5587c6478ad4e Mon Sep 17 00:00:00 2001 From: sinder Date: Wed, 11 Mar 2026 01:22:44 +0800 Subject: [PATCH 2/6] run clippy, fmt Add .is_hidden() to ColumnInfo --- src/sqlite/def/column.rs | 9 ++++----- src/sqlite/def/table.rs | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/sqlite/def/column.rs b/src/sqlite/def/column.rs index 1e1dec7..ebf738c 100644 --- a/src/sqlite/def/column.rs +++ b/src/sqlite/def/column.rs @@ -25,7 +25,7 @@ pub struct ColumnInfo { /// `1` - hidden column in a virtual table /// `2` - generated VIRTUAL column /// `3` - generated STORED column - pub hidden: i32, + pub hidden: i32, } #[cfg(feature = "sqlx-sqlite")] @@ -36,7 +36,6 @@ impl ColumnInfo { let row = row.sqlite(); let col_not_null: i8 = row.get(3); let is_pk: i8 = row.get(5); - let hidden: i32 = row.get(6); let default_value: Option = row.get(4); let default_value = default_value.unwrap_or_default(); Ok(ColumnInfo { @@ -62,13 +61,13 @@ impl ColumnInfo { } }, primary_key: is_pk != 0, - hidden: hidden, + hidden: row.get(6), }) } #[inline] - pub fn is_visible(&self) -> bool { - self.hidden != 1 + pub fn is_hidden(&self) -> bool { + self.hidden == 1 } } diff --git a/src/sqlite/def/table.rs b/src/sqlite/def/table.rs index ebef6b1..dfd4db1 100644 --- a/src/sqlite/def/table.rs +++ b/src/sqlite/def/table.rs @@ -187,7 +187,7 @@ impl TableDef { for row in rows { let column = ColumnInfo::to_column_def(row)?; - if column.hidden == 1 { + if column.is_hidden() { continue; // Skip hidden columns } self.columns.push(column); From 5866f6c4bf71f6d95ac9a41007f097193d85a4d2 Mon Sep 17 00:00:00 2001 From: sinder Date: Wed, 11 Mar 2026 01:26:25 +0800 Subject: [PATCH 3/6] Move hidden into a separate type --- src/sqlite/def/column.rs | 14 +++++--------- src/sqlite/def/types.rs | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/sqlite/def/column.rs b/src/sqlite/def/column.rs index ebf738c..0a940b9 100644 --- a/src/sqlite/def/column.rs +++ b/src/sqlite/def/column.rs @@ -1,5 +1,5 @@ use super::DefaultType; -use crate::sqlx_types::SqlxRow; +use crate::{sqlite::def::ColumnVisibility, sqlx_types::SqlxRow}; use sea_query::{ Alias, ColumnType, Index, IndexCreateStatement, foreign_key::ForeignKeyAction as SeaQueryForeignKeyAction, @@ -20,12 +20,8 @@ pub struct ColumnInfo { pub default_value: DefaultType, /// Column is part of the PRIMARY KEY. pub primary_key: bool, - /// Hidden status: - /// `0` - ordinary column - /// `1` - hidden column in a virtual table - /// `2` - generated VIRTUAL column - /// `3` - generated STORED column - pub hidden: i32, + /// Hidden status + pub hidden: ColumnVisibility, } #[cfg(feature = "sqlx-sqlite")] @@ -61,13 +57,13 @@ impl ColumnInfo { } }, primary_key: is_pk != 0, - hidden: row.get(6), + hidden: row.get(6).into(), }) } #[inline] pub fn is_hidden(&self) -> bool { - self.hidden == 1 + self.hidden == ColumnVisibility::HiddenVirtual } } diff --git a/src/sqlite/def/types.rs b/src/sqlite/def/types.rs index b902181..8528f81 100644 --- a/src/sqlite/def/types.rs +++ b/src/sqlite/def/types.rs @@ -89,6 +89,29 @@ pub fn parse_type(data_type: String) -> Result { }) } +/// The `hidden` field returned by `PRAGMA table_xinfo`. +#[derive(Debug, PartialEq, Clone)] +pub enum ColumnVisibility { + /// `0` - ordinary column + Visible, + /// `1` - hidden column in a virtual table + HiddenVirtual, + /// `2` - generated VIRTUAL column + GeneratedVirtual, + /// `3` - generated STORED column + GeneratedStored, +} + +impl ColumnVisibility { + pub fn from_hidden(value: i32) -> Self { + match value { + 1 => Self::HiddenVirtual, + 2 => Self::GeneratedVirtual, + 3 => Self::GeneratedStored, + _ => Self::Visible, + } + } + /// The default types for an SQLite `dflt_value` #[derive(Debug, PartialEq, Clone)] pub enum DefaultType { From 0f819ec31b039ba50e92a04e3be99e1870af20de Mon Sep 17 00:00:00 2001 From: sinder Date: Wed, 11 Mar 2026 01:35:44 +0800 Subject: [PATCH 4/6] forgot to run cargo check --- src/sqlite/def/column.rs | 3 ++- src/sqlite/def/types.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sqlite/def/column.rs b/src/sqlite/def/column.rs index 0a940b9..8f7573c 100644 --- a/src/sqlite/def/column.rs +++ b/src/sqlite/def/column.rs @@ -34,6 +34,7 @@ impl ColumnInfo { let is_pk: i8 = row.get(5); let default_value: Option = row.get(4); let default_value = default_value.unwrap_or_default(); + let hidden: i8 = row.get(6); Ok(ColumnInfo { cid: row.get(0), name: row.get(1), @@ -57,7 +58,7 @@ impl ColumnInfo { } }, primary_key: is_pk != 0, - hidden: row.get(6).into(), + hidden: ColumnVisibility::from_hidden(hidden), }) } diff --git a/src/sqlite/def/types.rs b/src/sqlite/def/types.rs index 8528f81..e3729ad 100644 --- a/src/sqlite/def/types.rs +++ b/src/sqlite/def/types.rs @@ -103,7 +103,7 @@ pub enum ColumnVisibility { } impl ColumnVisibility { - pub fn from_hidden(value: i32) -> Self { + pub fn from_hidden(value: i8) -> Self { match value { 1 => Self::HiddenVirtual, 2 => Self::GeneratedVirtual, @@ -111,6 +111,7 @@ impl ColumnVisibility { _ => Self::Visible, } } +} /// The default types for an SQLite `dflt_value` #[derive(Debug, PartialEq, Clone)] From aed14a599f066a3bed09398ae00494a0120a21a9 Mon Sep 17 00:00:00 2001 From: sinder Date: Wed, 11 Mar 2026 02:52:28 +0800 Subject: [PATCH 5/6] Add in_hidden() to `ColumnInfo` without `sqlx-sqlite` feature --- src/sqlite/def/column.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sqlite/def/column.rs b/src/sqlite/def/column.rs index 8f7573c..57f8e66 100644 --- a/src/sqlite/def/column.rs +++ b/src/sqlite/def/column.rs @@ -73,6 +73,11 @@ impl ColumnInfo { pub fn to_column_def(_: SqlxRow) -> Result { unimplemented!() } + + #[inline] + pub fn is_hidden(&self) -> bool { + unimplemented!() + } } /// Maps the index and all columns in the index which is the result of queries From a8361598de87728a36991355837fa734bd8bbc29 Mon Sep 17 00:00:00 2001 From: sinder Date: Wed, 11 Mar 2026 03:23:14 +0800 Subject: [PATCH 6/6] Update test case --- tests/discovery/sqlite/src/main.rs | 89 ++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/tests/discovery/sqlite/src/main.rs b/tests/discovery/sqlite/src/main.rs index dfa566f..cd27a44 100644 --- a/tests/discovery/sqlite/src/main.rs +++ b/tests/discovery/sqlite/src/main.rs @@ -28,6 +28,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -40,6 +41,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -52,6 +54,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -60,6 +63,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: CurrentTimestamp, primary_key: false, + hidden: Visible, }, ], auto_increment: true, @@ -77,6 +81,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -89,6 +94,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -97,6 +103,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -129,6 +136,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -141,6 +149,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -149,6 +158,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -157,6 +167,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -189,6 +200,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -201,6 +213,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -213,6 +226,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -225,6 +239,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 4, @@ -233,6 +248,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 5, @@ -245,6 +261,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 6, @@ -257,6 +274,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 7, @@ -265,6 +283,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -282,6 +301,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -294,6 +314,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -302,6 +323,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -319,6 +341,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -331,6 +354,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -339,6 +363,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -385,6 +410,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -393,6 +419,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -405,6 +432,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -417,6 +445,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 4, @@ -429,6 +458,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 5, @@ -437,6 +467,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 6, @@ -451,6 +482,7 @@ async fn main() -> DiscoveryResult<()> { "Y", ), primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 7, @@ -459,6 +491,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 8, @@ -467,6 +500,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -513,6 +547,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -525,6 +560,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -533,6 +569,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -545,6 +582,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 4, @@ -553,6 +591,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 5, @@ -561,6 +600,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 6, @@ -571,6 +611,7 @@ async fn main() -> DiscoveryResult<()> { 3, ), primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 7, @@ -588,6 +629,7 @@ async fn main() -> DiscoveryResult<()> { 4.99, ), primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 8, @@ -596,6 +638,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 9, @@ -613,6 +656,7 @@ async fn main() -> DiscoveryResult<()> { 19.99, ), primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 10, @@ -627,6 +671,7 @@ async fn main() -> DiscoveryResult<()> { "G", ), primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 11, @@ -639,6 +684,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 12, @@ -647,6 +693,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -693,6 +740,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -701,6 +749,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -709,6 +758,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -755,6 +805,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -763,6 +814,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -771,6 +823,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -788,6 +841,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -800,6 +854,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -808,6 +863,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -854,6 +910,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -862,6 +919,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -870,6 +928,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -878,6 +937,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -924,6 +984,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -936,6 +997,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -948,6 +1010,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -956,6 +1019,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 4, @@ -964,6 +1028,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 5, @@ -976,6 +1041,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 6, @@ -984,6 +1050,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 7, @@ -994,6 +1061,7 @@ async fn main() -> DiscoveryResult<()> { 1, ), primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 8, @@ -1006,6 +1074,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 9, @@ -1018,6 +1087,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 10, @@ -1026,6 +1096,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -1072,6 +1143,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -1080,6 +1152,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -1088,6 +1161,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -1096,6 +1170,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -1156,6 +1231,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -1164,6 +1240,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -1172,6 +1249,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -1180,6 +1258,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 4, @@ -1195,6 +1274,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 5, @@ -1203,6 +1283,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 6, @@ -1211,6 +1292,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false, @@ -1271,6 +1353,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: true, + hidden: Visible, }, ColumnInfo { cid: 1, @@ -1279,6 +1362,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 2, @@ -1287,6 +1371,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 3, @@ -1295,6 +1380,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 4, @@ -1303,6 +1389,7 @@ async fn main() -> DiscoveryResult<()> { not_null: false, default_value: Null, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 5, @@ -1311,6 +1398,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ColumnInfo { cid: 6, @@ -1319,6 +1407,7 @@ async fn main() -> DiscoveryResult<()> { not_null: true, default_value: Unspecified, primary_key: false, + hidden: Visible, }, ], auto_increment: false,