diff --git a/Cargo.lock b/Cargo.lock index 21c31d26452..715b1cf77c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7264,6 +7264,7 @@ dependencies = [ "spacetimedb-bindings-sys 1.11.2", "spacetimedb-lib 1.11.2", "spacetimedb-primitives 1.11.2", + "spacetimedb-query-builder", "trybuild", ] @@ -8016,6 +8017,13 @@ dependencies = [ "spacetimedb-table", ] +[[package]] +name = "spacetimedb-query-builder" +version = "1.11.2" +dependencies = [ + "spacetimedb-lib 1.11.2", +] + [[package]] name = "spacetimedb-sats" version = "1.6.0" @@ -8129,6 +8137,7 @@ dependencies = [ "spacetimedb-data-structures", "spacetimedb-lib 1.11.2", "spacetimedb-metrics", + "spacetimedb-query-builder", "spacetimedb-sats 1.11.2", "spacetimedb-testing", "thiserror 1.0.69", diff --git a/Cargo.toml b/Cargo.toml index 9c4a4ff5d6c..7ac371e6ae1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,6 +60,7 @@ members = [ "tools/xtask-llm-benchmark", "crates/bindings-typescript/test-app/server", "crates/bindings-typescript/test-react-router-app/server", + "crates/query-builder", ] default-members = ["crates/cli", "crates/standalone", "crates/update"] # cargo feature graph resolver. v3 is default in edition2024 but workspace @@ -138,6 +139,7 @@ spacetimedb-vm = { path = "crates/vm", version = "=1.11.2" } spacetimedb-fs-utils = { path = "crates/fs-utils", version = "=1.11.2" } spacetimedb-snapshot = { path = "crates/snapshot", version = "=1.11.2" } spacetimedb-subscription = { path = "crates/subscription", version = "=1.11.2" } +spacetimedb-query-builder = { path = "crates/query-builder", version = "=1.11.2" } # Prevent `ahash` from pulling in `getrandom` by disabling default features. # Modules use `getrandom02` and we need to prevent an incompatible version diff --git a/crates/bindings/Cargo.toml b/crates/bindings/Cargo.toml index a62684b55da..54c3bd3c74e 100644 --- a/crates/bindings/Cargo.toml +++ b/crates/bindings/Cargo.toml @@ -24,6 +24,7 @@ spacetimedb-bindings-sys.workspace = true spacetimedb-lib.workspace = true spacetimedb-bindings-macro.workspace = true spacetimedb-primitives.workspace = true +spacetimedb-query-builder.workspace = true anyhow.workspace = true bytemuck.workspace = true diff --git a/crates/bindings/src/lib.rs b/crates/bindings/src/lib.rs index a137ca2db11..a536f70ea04 100644 --- a/crates/bindings/src/lib.rs +++ b/crates/bindings/src/lib.rs @@ -20,7 +20,7 @@ pub mod rt; pub mod table; #[doc(hidden)] -pub mod query_builder; +pub use spacetimedb_query_builder as query_builder; #[cfg(feature = "unstable")] pub use client_visibility_filter::Filter; diff --git a/crates/bindings/src/rt.rs b/crates/bindings/src/rt.rs index 7b3350e503d..09f2e5e40eb 100644 --- a/crates/bindings/src/rt.rs +++ b/crates/bindings/src/rt.rs @@ -327,7 +327,7 @@ impl ViewReturn for Option { impl ViewReturn for Query { fn to_writer(self, buf: &mut Vec) -> Result<(), EncodeError> { - bsatn::to_writer(buf, &ViewResultHeader::RawSql(self.sql)) + bsatn::to_writer(buf, &ViewResultHeader::RawSql(self.sql().to_string())) } } diff --git a/crates/bindings/tests/snapshots/deps__spacetimedb_bindings_dependencies.snap b/crates/bindings/tests/snapshots/deps__spacetimedb_bindings_dependencies.snap index 77fcba327cb..a4099798df2 100644 --- a/crates/bindings/tests/snapshots/deps__spacetimedb_bindings_dependencies.snap +++ b/crates/bindings/tests/snapshots/deps__spacetimedb_bindings_dependencies.snap @@ -2,7 +2,7 @@ source: crates/bindings/tests/deps.rs expression: "cargo tree -p spacetimedb -e no-dev --color never --target wasm32-unknown-unknown -f {lib}" --- -total crates: 69 +total crates: 70 spacetimedb ├── anyhow ├── bytemuck @@ -128,4 +128,6 @@ spacetimedb │ │ │ └── syn (*) │ │ └── uuid │ └── thiserror (*) -└── spacetimedb_primitives (*) +├── spacetimedb_primitives (*) +└── spacetimedb_query_builder + └── spacetimedb_lib (*) diff --git a/crates/bindings/tests/ui/views.stderr b/crates/bindings/tests/ui/views.stderr index 60211cbade6..bb460a4f5b1 100644 --- a/crates/bindings/tests/ui/views.stderr +++ b/crates/bindings/tests/ui/views.stderr @@ -396,7 +396,7 @@ error[E0277]: the trait bound `{integer}: RHS` is `u128` implements `RHS` and $N others note: required by a bound in `Col::::eq` - --> src/query_builder/table.rs + --> $WORKSPACE/crates/query-builder/src/table.rs | | pub fn eq>(self, rhs: R) -> BoolExpr { | ^^^^^^^^^ required by this bound in `Col::::eq` @@ -413,7 +413,7 @@ error[E0277]: the trait bound `u32: RHS` is not satisfied but trait `RHS` is implemented for it = help: for that trait implementation, expected `u32`, found `u8` note: required by a bound in `Col::::eq` - --> src/query_builder/table.rs + --> $WORKSPACE/crates/query-builder/src/table.rs | | pub fn eq>(self, rhs: R) -> BoolExpr { | ^^^^^^^^^ required by this bound in `Col::::eq` @@ -429,7 +429,7 @@ error[E0308]: mismatched types = note: expected struct `IxCol` found struct `IxCol` note: method defined here - --> src/query_builder/join.rs + --> $WORKSPACE/crates/query-builder/src/join.rs | | pub fn eq(self, rhs: IxCol) -> IxJoinEq { | ^^ diff --git a/crates/codegen/src/rust.rs b/crates/codegen/src/rust.rs index 4394db26607..082cce7a339 100644 --- a/crates/codegen/src/rust.rs +++ b/crates/codegen/src/rust.rs @@ -2,7 +2,7 @@ use super::code_indenter::{CodeIndenter, Indenter}; use super::util::{collect_case, iter_reducers, print_lines, type_ref_name}; use super::Lang; use crate::util::{ - iter_procedures, iter_table_names_and_types, iter_tables, iter_types, iter_unique_cols, iter_views, + iter_indexes, iter_procedures, iter_table_names_and_types, iter_tables, iter_types, iter_unique_cols, iter_views, print_auto_generated_file_comment, print_auto_generated_version_comment, }; use crate::OutputFile; @@ -66,6 +66,33 @@ impl __sdk::InModule for {type_name} {{ ", ); + // Do not implement query col types for nested types. + // as querying is only supported on top-level table row types. + let name = type_ref_name(module, typ.ty); + let implemented = if let Some(table) = module + .tables() + .find(|t| type_ref_name(module, t.product_type_ref) == name) + { + implement_query_col_types_for_table_struct(module, out, table) + .expect("failed to implement query col types"); + out.newline(); + true + } else { + false + }; + + if !implemented { + if let Some(type_ref) = module + .views() + .map(|v| v.product_type_ref) + .find(|type_ref| type_ref_name(module, *type_ref) == name) + { + implement_query_col_types_for_struct(module, out, type_ref) + .expect("failed to implement query col types"); + out.newline(); + } + } + vec![OutputFile { filename: type_module_name(&typ.name) + ".rs", code: output.into_inner(), @@ -286,6 +313,8 @@ pub(super) fn parse_table_update( ); } + implement_query_table_accessor(table, out, &row_type).expect("failed to implement query table accessor"); + // TODO: expose non-unique indices. OutputFile { @@ -608,6 +637,163 @@ impl {func_name} for super::RemoteProcedures {{ } } +/// Implements `HasCols` for the given `AlgebraicTypeRef` struct type. +fn implement_query_col_types_for_struct( + module: &ModuleDef, + out: &mut impl Write, + type_ref: AlgebraicTypeRef, +) -> fmt::Result { + let struct_name = type_ref_name(module, type_ref); + let cols_struct = struct_name.clone() + "Cols"; + let product_def = module.typespace_for_generate()[type_ref] + .as_product() + .expect("expected product type"); + + writeln!( + out, + " +/// Column accessor struct for the table `{struct_name}`. +/// +/// Provides typed access to columns for query building. +pub struct {cols_struct} {{" + )?; + + for element in &product_def.elements { + let field_name = &element.0; + let field_type = type_name(module, &element.1); + writeln!( + out, + " pub {field_name}: __sdk::__query_builder::Col<{struct_name}, {field_type}>," + )?; + } + + writeln!(out, "}}")?; + + writeln!( + out, + " +impl __sdk::__query_builder::HasCols for {struct_name} {{ + type Cols = {cols_struct}; + fn cols(table_name: &'static str) -> Self::Cols {{ + {cols_struct} {{" + )?; + for element in &product_def.elements { + let field_name = &element.0; + writeln!( + out, + " {field_name}: __sdk::__query_builder::Col::new(table_name, {field_name:?})," + )?; + } + + writeln!( + out, + r#" + }} + }} +}}"# + ) +} + +/// Implements `HasCols` and `HasIxCols` for the given table's row struct type. +fn implement_query_col_types_for_table_struct( + module: &ModuleDef, + out: &mut impl Write, + table: &TableDef, +) -> fmt::Result { + let type_ref = table.product_type_ref; + let struct_name = type_ref_name(module, type_ref); + + implement_query_col_types_for_struct(module, out, type_ref)?; + let cols_ix = struct_name.clone() + "IxCols"; + writeln!( + out, + " +/// Indexed column accessor struct for the table `{struct_name}`. +/// +/// Provides typed access to indexed columns for query building. +pub struct {cols_ix} {{" + )?; + for index in iter_indexes(table) { + let cols = index.algorithm.columns(); + if cols.len() != 1 { + continue; + } + let column = table + .columns + .iter() + .find(|col| col.col_id == cols.as_singleton().expect("singleton column")) + .unwrap(); + let field_name = column.name.deref(); + let field_type = type_name(module, &column.ty_for_generate); + + writeln!( + out, + " pub {field_name}: __sdk::__query_builder::IxCol<{struct_name}, {field_type}>,", + )?; + } + writeln!(out, "}}")?; + + writeln!( + out, + " +impl __sdk::__query_builder::HasIxCols for {struct_name} {{ + type IxCols = {cols_ix}; + fn ix_cols(table_name: &'static str) -> Self::IxCols {{ + {cols_ix} {{" + )?; + for index in iter_indexes(table) { + let cols = index.algorithm.columns(); + if cols.len() != 1 { + continue; + } + let column = table + .columns + .iter() + .find(|col| col.col_id == cols.as_singleton().expect("singleton column")) + .expect("singleton column"); + let field_name = column.name.deref(); + + writeln!( + out, + " {field_name}: __sdk::__query_builder::IxCol::new(table_name, {field_name:?}),", + )?; + } + writeln!( + out, + r#" + }} + }} +}}"# + ) +} + +pub fn implement_query_table_accessor(table: &TableDef, out: &mut impl Write, struct_name: &String) -> fmt::Result { + // NEW: Generate query table accessor trait and implementation + let accessor_method = table.name.clone(); + let query_accessor_trait = accessor_method.to_string() + "QueryTableAccess"; + + writeln!( + out, + " + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `{struct_name}`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait {query_accessor_trait} {{ + #[allow(non_snake_case)] + /// Get a query builder for the table `{struct_name}`. + fn {accessor_method}(&self) -> __sdk::__query_builder::Table<{struct_name}>; + }} + + impl {query_accessor_trait} for __sdk::QueryTableAccessor {{ + fn {accessor_method}(&self) -> __sdk::__query_builder::Table<{struct_name}> {{ + __sdk::__query_builder::Table::new({accessor_method:?}) + }} + }} +" + ) +} + pub fn write_type(module: &ModuleDef, out: &mut W, ty: &AlgebraicTypeUse) -> fmt::Result { match ty { AlgebraicTypeUse::Unit => write!(out, "()")?, @@ -1304,6 +1490,7 @@ type SetReducerFlags = SetReducerFlags; type DbUpdate = DbUpdate; type AppliedDiff<'r> = AppliedDiff<'r>; type SubscriptionHandle = SubscriptionHandle; +type QueryBuilder = __sdk::QueryBuilder; " ); out.delimited_block( diff --git a/crates/codegen/tests/snapshots/codegen__codegen_rust.snap b/crates/codegen/tests/snapshots/codegen__codegen_rust.snap index 3a29743c0d9..c53d06879eb 100644 --- a/crates/codegen/tests/snapshots/codegen__codegen_rust.snap +++ b/crates/codegen/tests/snapshots/codegen__codegen_rust.snap @@ -1,5 +1,6 @@ --- source: crates/codegen/tests/codegen.rs +assertion_line: 37 expression: outfiles --- "add_player_reducer.rs" = ''' @@ -976,6 +977,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `HasSpecialStuff`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait has_special_stuffQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `HasSpecialStuff`. + fn has_special_stuff(&self) -> __sdk::__query_builder::Table; + } + + impl has_special_stuffQueryTableAccess for __sdk::QueryTableAccessor { + fn has_special_stuff(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("has_special_stuff") + } + } + ''' "has_special_stuff_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -1002,6 +1020,41 @@ impl __sdk::InModule for HasSpecialStuff { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `HasSpecialStuff`. +/// +/// Provides typed access to columns for query building. +pub struct HasSpecialStuffCols { + pub identity: __sdk::__query_builder::Col, + pub connection_id: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for HasSpecialStuff { + type Cols = HasSpecialStuffCols; + fn cols(table_name: &'static str) -> Self::Cols { + HasSpecialStuffCols { + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + connection_id: __sdk::__query_builder::Col::new(table_name, "connection_id"), + + } + } +} + +/// Indexed column accessor struct for the table `HasSpecialStuff`. +/// +/// Provides typed access to indexed columns for query building. +pub struct HasSpecialStuffIxCols { +} + +impl __sdk::__query_builder::HasIxCols for HasSpecialStuff { + type IxCols = HasSpecialStuffIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + HasSpecialStuffIxCols { + + } + } +} + ''' "list_over_age_reducer.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -1427,7 +1480,24 @@ pub(super) fn parse_table_update( self.imp.find(col_val) } } - ''' + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `Player`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait logged_out_playerQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Player`. + fn logged_out_player(&self) -> __sdk::__query_builder::Table; + } + + impl logged_out_playerQueryTableAccess for __sdk::QueryTableAccessor { + fn logged_out_player(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("logged_out_player") + } + } + +''' "mod.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. @@ -2474,6 +2544,7 @@ impl __sdk::SpacetimeModule for RemoteModule { type DbUpdate = DbUpdate; type AppliedDiff<'r> = AppliedDiff<'r>; type SubscriptionHandle = SubscriptionHandle; + type QueryBuilder = __sdk::QueryBuilder; fn register_tables(client_cache: &mut __sdk::ClientCache) { has_special_stuff_table::register_table(client_cache); @@ -2592,6 +2663,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `Player`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait my_playerQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Player`. + fn my_player(&self) -> __sdk::__query_builder::Table; + } + + impl my_playerQueryTableAccess for __sdk::QueryTableAccessor { + fn my_player(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("my_player") + } + } + ''' "namespace_test_c_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -2800,7 +2888,24 @@ pub(super) fn parse_table_update( self.imp.find(col_val) } } - ''' + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `Person`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait personQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Person`. + fn person(&self) -> __sdk::__query_builder::Table; + } + + impl personQueryTableAccess for __sdk::QueryTableAccessor { + fn person(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("person") + } + } + +''' "person_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. @@ -2827,6 +2932,47 @@ impl __sdk::InModule for Person { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Person`. +/// +/// Provides typed access to columns for query building. +pub struct PersonCols { + pub id: __sdk::__query_builder::Col, + pub name: __sdk::__query_builder::Col, + pub age: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Person { + type Cols = PersonCols; + fn cols(table_name: &'static str) -> Self::Cols { + PersonCols { + id: __sdk::__query_builder::Col::new(table_name, "id"), + name: __sdk::__query_builder::Col::new(table_name, "name"), + age: __sdk::__query_builder::Col::new(table_name, "age"), + + } + } +} + +/// Indexed column accessor struct for the table `Person`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PersonIxCols { + pub age: __sdk::__query_builder::IxCol, + pub id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for Person { + type IxCols = PersonIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PersonIxCols { + age: __sdk::__query_builder::IxCol::new(table_name, "age"), + id: __sdk::__query_builder::IxCol::new(table_name, "id"), + + } + } +} + ''' "pk_multi_identity_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3006,7 +3152,24 @@ pub(super) fn parse_table_update( self.imp.find(col_val) } } - ''' + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PkMultiIdentity`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait pk_multi_identityQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkMultiIdentity`. + fn pk_multi_identity(&self) -> __sdk::__query_builder::Table; + } + + impl pk_multi_identityQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_multi_identity(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_multi_identity") + } + } + +''' "pk_multi_identity_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. @@ -3032,6 +3195,45 @@ impl __sdk::InModule for PkMultiIdentity { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkMultiIdentity`. +/// +/// Provides typed access to columns for query building. +pub struct PkMultiIdentityCols { + pub id: __sdk::__query_builder::Col, + pub other: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkMultiIdentity { + type Cols = PkMultiIdentityCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkMultiIdentityCols { + id: __sdk::__query_builder::Col::new(table_name, "id"), + other: __sdk::__query_builder::Col::new(table_name, "other"), + + } + } +} + +/// Indexed column accessor struct for the table `PkMultiIdentity`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkMultiIdentityIxCols { + pub id: __sdk::__query_builder::IxCol, + pub other: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkMultiIdentity { + type IxCols = PkMultiIdentityIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkMultiIdentityIxCols { + id: __sdk::__query_builder::IxCol::new(table_name, "id"), + other: __sdk::__query_builder::IxCol::new(table_name, "other"), + + } + } +} + ''' "player_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3242,7 +3444,24 @@ pub(super) fn parse_table_update( self.imp.find(col_val) } } - ''' + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `Player`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait playerQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Player`. + fn player(&self) -> __sdk::__query_builder::Table; + } + + impl playerQueryTableAccess for __sdk::QueryTableAccessor { + fn player(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("player") + } + } + +''' "player_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. @@ -3269,6 +3488,49 @@ impl __sdk::InModule for Player { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Player`. +/// +/// Provides typed access to columns for query building. +pub struct PlayerCols { + pub identity: __sdk::__query_builder::Col, + pub player_id: __sdk::__query_builder::Col, + pub name: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Player { + type Cols = PlayerCols; + fn cols(table_name: &'static str) -> Self::Cols { + PlayerCols { + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + player_id: __sdk::__query_builder::Col::new(table_name, "player_id"), + name: __sdk::__query_builder::Col::new(table_name, "name"), + + } + } +} + +/// Indexed column accessor struct for the table `Player`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PlayerIxCols { + pub identity: __sdk::__query_builder::IxCol, + pub name: __sdk::__query_builder::IxCol, + pub player_id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for Player { + type IxCols = PlayerIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PlayerIxCols { + identity: __sdk::__query_builder::IxCol::new(table_name, "identity"), + name: __sdk::__query_builder::IxCol::new(table_name, "name"), + player_id: __sdk::__query_builder::IxCol::new(table_name, "player_id"), + + } + } +} + ''' "point_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3295,6 +3557,41 @@ impl __sdk::InModule for Point { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Point`. +/// +/// Provides typed access to columns for query building. +pub struct PointCols { + pub x: __sdk::__query_builder::Col, + pub y: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Point { + type Cols = PointCols; + fn cols(table_name: &'static str) -> Self::Cols { + PointCols { + x: __sdk::__query_builder::Col::new(table_name, "x"), + y: __sdk::__query_builder::Col::new(table_name, "y"), + + } + } +} + +/// Indexed column accessor struct for the table `Point`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PointIxCols { +} + +impl __sdk::__query_builder::HasIxCols for Point { + type IxCols = PointIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PointIxCols { + + } + } +} + ''' "points_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3395,6 +3692,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `Point`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait pointsQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Point`. + fn points(&self) -> __sdk::__query_builder::Table; + } + + impl pointsQueryTableAccess for __sdk::QueryTableAccessor { + fn points(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("points") + } + } + ''' "private_table_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3495,6 +3809,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PrivateTable`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait private_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PrivateTable`. + fn private_table(&self) -> __sdk::__query_builder::Table; + } + + impl private_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn private_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("private_table") + } + } + ''' "private_table_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3520,6 +3851,39 @@ impl __sdk::InModule for PrivateTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PrivateTable`. +/// +/// Provides typed access to columns for query building. +pub struct PrivateTableCols { + pub name: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PrivateTable { + type Cols = PrivateTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + PrivateTableCols { + name: __sdk::__query_builder::Col::new(table_name, "name"), + + } + } +} + +/// Indexed column accessor struct for the table `PrivateTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PrivateTableIxCols { +} + +impl __sdk::__query_builder::HasIxCols for PrivateTable { + type IxCols = PrivateTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PrivateTableIxCols { + + } + } +} + ''' "query_private_reducer.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3650,6 +4014,39 @@ impl __sdk::InModule for RemoveTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `RemoveTable`. +/// +/// Provides typed access to columns for query building. +pub struct RemoveTableCols { + pub id: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for RemoveTable { + type Cols = RemoveTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + RemoveTableCols { + id: __sdk::__query_builder::Col::new(table_name, "id"), + + } + } +} + +/// Indexed column accessor struct for the table `RemoveTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct RemoveTableIxCols { +} + +impl __sdk::__query_builder::HasIxCols for RemoveTable { + type IxCols = RemoveTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + RemoveTableIxCols { + + } + } +} + ''' "repeating_test_arg_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -3798,7 +4195,24 @@ pub(super) fn parse_table_update( self.imp.find(col_val) } } - ''' + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `RepeatingTestArg`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait repeating_test_argQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `RepeatingTestArg`. + fn repeating_test_arg(&self) -> __sdk::__query_builder::Table; + } + + impl repeating_test_argQueryTableAccess for __sdk::QueryTableAccessor { + fn repeating_test_arg(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("repeating_test_arg") + } + } + +''' "repeating_test_arg_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. @@ -3825,6 +4239,45 @@ impl __sdk::InModule for RepeatingTestArg { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `RepeatingTestArg`. +/// +/// Provides typed access to columns for query building. +pub struct RepeatingTestArgCols { + pub scheduled_id: __sdk::__query_builder::Col, + pub scheduled_at: __sdk::__query_builder::Col, + pub prev_time: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for RepeatingTestArg { + type Cols = RepeatingTestArgCols; + fn cols(table_name: &'static str) -> Self::Cols { + RepeatingTestArgCols { + scheduled_id: __sdk::__query_builder::Col::new(table_name, "scheduled_id"), + scheduled_at: __sdk::__query_builder::Col::new(table_name, "scheduled_at"), + prev_time: __sdk::__query_builder::Col::new(table_name, "prev_time"), + + } + } +} + +/// Indexed column accessor struct for the table `RepeatingTestArg`. +/// +/// Provides typed access to indexed columns for query building. +pub struct RepeatingTestArgIxCols { + pub scheduled_id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for RepeatingTestArg { + type IxCols = RepeatingTestArgIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + RepeatingTestArgIxCols { + scheduled_id: __sdk::__query_builder::IxCol::new(table_name, "scheduled_id"), + + } + } +} + ''' "repeating_test_reducer.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4254,6 +4707,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `RemoveTable`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait table_to_removeQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `RemoveTable`. + fn table_to_remove(&self) -> __sdk::__query_builder::Table; + } + + impl table_to_removeQueryTableAccess for __sdk::QueryTableAccessor { + fn table_to_remove(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("table_to_remove") + } + } + ''' "test_a_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4354,6 +4824,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `TestA`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait test_aQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `TestA`. + fn test_a(&self) -> __sdk::__query_builder::Table; + } + + impl test_aQueryTableAccess for __sdk::QueryTableAccessor { + fn test_a(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("test_a") + } + } + ''' "test_a_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4381,6 +4868,45 @@ impl __sdk::InModule for TestA { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `TestA`. +/// +/// Provides typed access to columns for query building. +pub struct TestACols { + pub x: __sdk::__query_builder::Col, + pub y: __sdk::__query_builder::Col, + pub z: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for TestA { + type Cols = TestACols; + fn cols(table_name: &'static str) -> Self::Cols { + TestACols { + x: __sdk::__query_builder::Col::new(table_name, "x"), + y: __sdk::__query_builder::Col::new(table_name, "y"), + z: __sdk::__query_builder::Col::new(table_name, "z"), + + } + } +} + +/// Indexed column accessor struct for the table `TestA`. +/// +/// Provides typed access to indexed columns for query building. +pub struct TestAIxCols { + pub x: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for TestA { + type IxCols = TestAIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + TestAIxCols { + x: __sdk::__query_builder::IxCol::new(table_name, "x"), + + } + } +} + ''' "test_b_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4612,6 +5138,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `TestD`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait test_dQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `TestD`. + fn test_d(&self) -> __sdk::__query_builder::Table; + } + + impl test_dQueryTableAccess for __sdk::QueryTableAccessor { + fn test_d(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("test_d") + } + } + ''' "test_d_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4638,6 +5181,39 @@ impl __sdk::InModule for TestD { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `TestD`. +/// +/// Provides typed access to columns for query building. +pub struct TestDCols { + pub test_c: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for TestD { + type Cols = TestDCols; + fn cols(table_name: &'static str) -> Self::Cols { + TestDCols { + test_c: __sdk::__query_builder::Col::new(table_name, "test_c"), + + } + } +} + +/// Indexed column accessor struct for the table `TestD`. +/// +/// Provides typed access to indexed columns for query building. +pub struct TestDIxCols { +} + +impl __sdk::__query_builder::HasIxCols for TestD { + type IxCols = TestDIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + TestDIxCols { + + } + } +} + ''' "test_e_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4786,7 +5362,24 @@ pub(super) fn parse_table_update( self.imp.find(col_val) } } - ''' + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `TestE`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait test_eQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `TestE`. + fn test_e(&self) -> __sdk::__query_builder::Table; + } + + impl test_eQueryTableAccess for __sdk::QueryTableAccessor { + fn test_e(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("test_e") + } + } + +''' "test_e_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. @@ -4812,6 +5405,45 @@ impl __sdk::InModule for TestE { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `TestE`. +/// +/// Provides typed access to columns for query building. +pub struct TestECols { + pub id: __sdk::__query_builder::Col, + pub name: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for TestE { + type Cols = TestECols; + fn cols(table_name: &'static str) -> Self::Cols { + TestECols { + id: __sdk::__query_builder::Col::new(table_name, "id"), + name: __sdk::__query_builder::Col::new(table_name, "name"), + + } + } +} + +/// Indexed column accessor struct for the table `TestE`. +/// +/// Provides typed access to indexed columns for query building. +pub struct TestEIxCols { + pub id: __sdk::__query_builder::IxCol, + pub name: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for TestE { + type IxCols = TestEIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + TestEIxCols { + id: __sdk::__query_builder::IxCol::new(table_name, "id"), + name: __sdk::__query_builder::IxCol::new(table_name, "name"), + + } + } +} + ''' "test_f_table.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4913,6 +5545,23 @@ pub(super) fn parse_table_update( ).with_cause(e).into() }) } + + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `TestFoobar`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait test_fQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `TestFoobar`. + fn test_f(&self) -> __sdk::__query_builder::Table; + } + + impl test_fQueryTableAccess for __sdk::QueryTableAccessor { + fn test_f(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("test_f") + } + } + ''' "test_foobar_type.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE @@ -4939,6 +5588,39 @@ impl __sdk::InModule for TestFoobar { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `TestFoobar`. +/// +/// Provides typed access to columns for query building. +pub struct TestFoobarCols { + pub field: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for TestFoobar { + type Cols = TestFoobarCols; + fn cols(table_name: &'static str) -> Self::Cols { + TestFoobarCols { + field: __sdk::__query_builder::Col::new(table_name, "field"), + + } + } +} + +/// Indexed column accessor struct for the table `TestFoobar`. +/// +/// Provides typed access to indexed columns for query building. +pub struct TestFoobarIxCols { +} + +impl __sdk::__query_builder::HasIxCols for TestFoobar { + type IxCols = TestFoobarIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + TestFoobarIxCols { + + } + } +} + ''' "test_reducer.rs" = ''' // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE diff --git a/crates/lib/src/db/raw_def/v10.rs b/crates/lib/src/db/raw_def/v10.rs new file mode 100644 index 00000000000..05a7777b756 --- /dev/null +++ b/crates/lib/src/db/raw_def/v10.rs @@ -0,0 +1,13 @@ +struct RawModuleDefV10 { + sections: Vec, +} + +enum RawModuleDefV10Section { + Types, + Tables, + Reducers, + Procedures, + Views, + Schedules, + Events, +} diff --git a/crates/query-builder/Cargo.toml b/crates/query-builder/Cargo.toml new file mode 100644 index 00000000000..d6936b732c8 --- /dev/null +++ b/crates/query-builder/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "spacetimedb-query-builder" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license-file = "LICENSE" +description = "Rust query builder for SpacetimeDB" + +[dependencies] +spacetimedb-lib = { workspace = true } + +[lints] +workspace = true diff --git a/crates/query-builder/LICENSE b/crates/query-builder/LICENSE new file mode 120000 index 00000000000..8540cf8a991 --- /dev/null +++ b/crates/query-builder/LICENSE @@ -0,0 +1 @@ +../../licenses/BSL.txt \ No newline at end of file diff --git a/crates/bindings/src/query_builder/expr.rs b/crates/query-builder/src/expr.rs similarity index 98% rename from crates/bindings/src/query_builder/expr.rs rename to crates/query-builder/src/expr.rs index 43f225fcbdd..e1f0fb58bdd 100644 --- a/crates/bindings/src/query_builder/expr.rs +++ b/crates/query-builder/src/expr.rs @@ -3,7 +3,7 @@ use spacetimedb_lib::{ ConnectionId, Identity, Timestamp, }; -use crate::query_builder::{Col, ColumnRef}; +use crate::{Col, ColumnRef}; pub enum Operand { Column(ColumnRef), diff --git a/crates/bindings/src/query_builder/join.rs b/crates/query-builder/src/join.rs similarity index 99% rename from crates/bindings/src/query_builder/join.rs rename to crates/query-builder/src/join.rs index f604f83b71a..3240d93c32a 100644 --- a/crates/bindings/src/query_builder/join.rs +++ b/crates/query-builder/src/join.rs @@ -1,4 +1,4 @@ -use crate::query_builder::TableNameStr; +use crate::TableNameStr; use super::{ expr::{format_expr, BoolExpr}, diff --git a/crates/bindings/src/query_builder.rs b/crates/query-builder/src/lib.rs similarity index 100% rename from crates/bindings/src/query_builder.rs rename to crates/query-builder/src/lib.rs diff --git a/crates/bindings/src/query_builder/table.rs b/crates/query-builder/src/table.rs similarity index 99% rename from crates/bindings/src/query_builder/table.rs rename to crates/query-builder/src/table.rs index a2c5af61a37..b08098a51b3 100644 --- a/crates/bindings/src/query_builder/table.rs +++ b/crates/query-builder/src/table.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use crate::query_builder::Operand; +use crate::Operand; use super::{format_expr, BoolExpr, Query, RHS}; diff --git a/crates/testing/src/modules.rs b/crates/testing/src/modules.rs index 2f12b1d690e..496c3e478e7 100644 --- a/crates/testing/src/modules.rs +++ b/crates/testing/src/modules.rs @@ -113,7 +113,7 @@ impl CompiledModule { mode == CompilationMode::Debug, None, ) - .unwrap(); + .expect("Module compilation failed"); Self { name: name.to_owned(), path, diff --git a/modules/sdk-test-view/src/lib.rs b/modules/sdk-test-view/src/lib.rs index 3c02cbbfff5..10b99a030e1 100644 --- a/modules/sdk-test-view/src/lib.rs +++ b/modules/sdk-test-view/src/lib.rs @@ -2,7 +2,7 @@ use spacetimedb::{ reducer, table, view, AnonymousViewContext, Identity, ReducerContext, SpacetimeType, Table, ViewContext, }; -#[table(name = player)] +#[table(name = player, public)] struct Player { #[primary_key] #[auto_inc] @@ -11,7 +11,7 @@ struct Player { identity: Identity, } -#[table(name = player_level)] +#[table(name = player_level, public)] struct PlayerLevel { #[unique] entity_id: u64, diff --git a/sdks/rust/Cargo.toml b/sdks/rust/Cargo.toml index 6dc26e25d61..4bd913f7bde 100644 --- a/sdks/rust/Cargo.toml +++ b/sdks/rust/Cargo.toml @@ -14,6 +14,7 @@ spacetimedb-sats.workspace = true spacetimedb-lib = { workspace = true, features = ["serde", "metrics_impls"]} spacetimedb-client-api-messages.workspace = true spacetimedb-metrics.workspace = true +spacetimedb-query-builder.workspace = true thiserror.workspace = true anymap.workspace = true diff --git a/sdks/rust/examples/quickstart-chat/Cargo.lock b/sdks/rust/examples/quickstart-chat/Cargo.lock new file mode 100644 index 00000000000..afa17902741 --- /dev/null +++ b/sdks/rust/examples/quickstart-chat/Cargo.lock @@ -0,0 +1,2202 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "anymap" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" + +[[package]] +name = "approx" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "blake3" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "cpufeatures", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" + +[[package]] +name = "bytestring" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "113b4343b5f6617e7ad401ced8de3cc8b012e73a594347c307b90db3e9271289" +dependencies = [ + "bytes", + "serde_core", +] + +[[package]] +name = "cc" +version = "1.2.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "chrono" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link", +] + +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "data-encoding" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" + +[[package]] +name = "decorum" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "281759d3c8a14f5c3f0c49363be56810fcd7f910422f97f2db850c2920fde5cf" +dependencies = [ + "approx", + "num-traits", +] + +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derive_more" +version = "0.99.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "enum-as-inner" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "ethnum" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca81e6b4777c89fd810c25a4be2b1bd93ea034fbe58e6a75216a34c6b82c539b" +dependencies = [ + "serde", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41" + +[[package]] +name = "flate2" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "equivalent", + "rayon", + "serde", + "serde_core", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "humantime" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "iana-time-zone" +version = "0.1.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "js-sys" +version = "0.3.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "native-tls" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "openssl" +version = "0.10.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-sys" +version = "0.9.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prometheus" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "memchr", + "parking_lot", + "protobuf", + "thiserror 1.0.69", +] + +[[package]] +name = "protobuf" +version = "2.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" + +[[package]] +name = "quote" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "rust-quickstart-chat" +version = "0.1.0" +dependencies = [ + "spacetimedb-sdk", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "schannel" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "second-stack" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4904c83c6e51f1b9b08bfa5a86f35a51798e8307186e6f5513852210a219c0bb" + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_with" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.0", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest", + "keccak", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "spacetimedb-bindings-macro" +version = "1.11.1" +dependencies = [ + "heck 0.4.1", + "humantime", + "proc-macro2", + "quote", + "spacetimedb-primitives", + "syn", +] + +[[package]] +name = "spacetimedb-client-api-messages" +version = "1.11.1" +dependencies = [ + "bytes", + "bytestring", + "chrono", + "derive_more", + "enum-as-inner", + "serde", + "serde_json", + "serde_with", + "smallvec", + "spacetimedb-lib", + "spacetimedb-primitives", + "spacetimedb-sats", + "strum", + "thiserror 1.0.69", +] + +[[package]] +name = "spacetimedb-data-structures" +version = "1.11.1" +dependencies = [ + "ahash", + "crossbeam-queue", + "hashbrown 0.16.1", + "nohash-hasher", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "spacetimedb-lib" +version = "1.11.1" +dependencies = [ + "anyhow", + "bitflags", + "blake3", + "chrono", + "derive_more", + "enum-as-inner", + "hex", + "itertools", + "log", + "serde", + "spacetimedb-bindings-macro", + "spacetimedb-metrics", + "spacetimedb-primitives", + "spacetimedb-sats", + "thiserror 1.0.69", +] + +[[package]] +name = "spacetimedb-metrics" +version = "1.11.1" +dependencies = [ + "arrayvec", + "itertools", + "paste", + "prometheus", +] + +[[package]] +name = "spacetimedb-primitives" +version = "1.11.1" +dependencies = [ + "bitflags", + "either", + "enum-as-inner", + "itertools", + "nohash-hasher", +] + +[[package]] +name = "spacetimedb-query-builder" +version = "1.11.1" +dependencies = [ + "spacetimedb-lib", +] + +[[package]] +name = "spacetimedb-sats" +version = "1.11.1" +dependencies = [ + "anyhow", + "arrayvec", + "bitflags", + "bytemuck", + "bytes", + "bytestring", + "chrono", + "decorum", + "derive_more", + "enum-as-inner", + "ethnum", + "hex", + "itertools", + "rand", + "second-stack", + "serde", + "sha3", + "smallvec", + "spacetimedb-bindings-macro", + "spacetimedb-metrics", + "spacetimedb-primitives", + "thiserror 1.0.69", + "uuid", +] + +[[package]] +name = "spacetimedb-sdk" +version = "1.11.1" +dependencies = [ + "anymap", + "base64 0.21.7", + "brotli", + "bytes", + "flate2", + "futures", + "futures-channel", + "home", + "http", + "log", + "once_cell", + "prometheus", + "rand", + "spacetimedb-client-api-messages", + "spacetimedb-data-structures", + "spacetimedb-lib", + "spacetimedb-metrics", + "spacetimedb-query-builder", + "spacetimedb-sats", + "thiserror 1.0.69", + "tokio", + "tokio-tungstenite", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +dependencies = [ + "thiserror-impl 2.0.17", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.3.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" + +[[package]] +name = "time-macros" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokio" +version = "1.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +dependencies = [ + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "489a59b6730eda1b0171fcfda8b121f4bee2b35cba8645ca35c5f7ba3eb736c1" +dependencies = [ + "futures-util", + "log", + "native-tls", + "tokio", + "tokio-native-tls", + "tungstenite", +] + +[[package]] +name = "tungstenite" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d" +dependencies = [ + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "native-tls", + "rand", + "sha1", + "thiserror 2.0.17", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" +dependencies = [ + "getrandom", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac93432f5b761b22864c774aac244fa5c0fd877678a4c37ebf6cf42208f9c9ec" diff --git a/sdks/rust/src/lib.rs b/sdks/rust/src/lib.rs index b79a7111ac1..3d9b3a057a4 100644 --- a/sdks/rust/src/lib.rs +++ b/sdks/rust/src/lib.rs @@ -46,6 +46,7 @@ pub mod __codegen { pub use log; pub use spacetimedb_client_api_messages::websocket as __ws; pub use spacetimedb_lib as __lib; + pub use spacetimedb_query_builder as __query_builder; pub use spacetimedb_sats as __sats; pub use crate::callbacks::{CallbackId, DbCallbacks}; @@ -54,8 +55,8 @@ pub mod __codegen { pub use crate::error::{Error, InternalError, Result}; pub use crate::spacetime_module::{ parse_reducer_args, AbstractEventContext, AppliedDiff, DbConnection, DbUpdate, ErrorContext, EventContext, - InModule, ProcedureEventContext, Reducer, ReducerEventContext, SpacetimeModule, SubscriptionEventContext, - SubscriptionHandle, TableUpdate, + InModule, ProcedureEventContext, QueryBuilder, QueryTableAccessor, Reducer, ReducerEventContext, + SpacetimeModule, SubscriptionEventContext, SubscriptionHandle, TableUpdate, }; pub use crate::subscription::{OnEndedCallback, SubscriptionBuilder, SubscriptionHandleImpl}; pub use crate::{ diff --git a/sdks/rust/src/spacetime_module.rs b/sdks/rust/src/spacetime_module.rs index 7b8e3fba176..c28d79d301c 100644 --- a/sdks/rust/src/spacetime_module.rs +++ b/sdks/rust/src/spacetime_module.rs @@ -23,6 +23,14 @@ pub trait InModule { type Module: SpacetimeModule; } +#[derive(Default)] +pub struct QueryBuilder { + pub from: QueryTableAccessor, +} + +#[derive(Default)] +pub struct QueryTableAccessor; + /// Each module's codegen will define a unit struct which implements this trait, /// with associated type links to various other generated types. pub trait SpacetimeModule: Send + Sync + 'static { @@ -65,6 +73,8 @@ pub trait SpacetimeModule: Send + Sync + 'static { /// Module-specific `SubscriptionHandle` type, representing an ongoing incremental subscription to a query. type SubscriptionHandle: SubscriptionHandle; + type QueryBuilder: Default + Send + 'static; + /// Called when constructing a [`Self::DbConnection`] on the new connection's [`ClientCache`] /// to pre-register tables defined by the module, including their indices. fn register_tables(client_cache: &mut ClientCache); diff --git a/sdks/rust/src/subscription.rs b/sdks/rust/src/subscription.rs index 93bf09b667b..30a9ae52969 100644 --- a/sdks/rust/src/subscription.rs +++ b/sdks/rust/src/subscription.rs @@ -10,6 +10,7 @@ use crate::{ use futures_channel::mpsc; use spacetimedb_client_api_messages::websocket::{self as ws}; use spacetimedb_data_structures::map::HashMap; +use spacetimedb_query_builder::Query; use std::sync::{atomic::AtomicU32, Arc, Mutex}; // TODO: Rewrite for subscription manipulation, once we get that. @@ -256,6 +257,34 @@ impl SubscriptionBuilder { }) .unwrap(); } + + pub fn add_query(self, build: impl Fn(M::QueryBuilder) -> Query) -> TypedSubscriptionBuilder { + let query = build(M::QueryBuilder::default()); + TypedSubscriptionBuilder { + builder: self, + queries: vec![query.sql().to_string()], + } + } +} + +// Wrapper around `SubscriptionBuilder` that tracks typed queries +pub struct TypedSubscriptionBuilder { + builder: SubscriptionBuilder, + queries: Vec, +} + +impl TypedSubscriptionBuilder { + /// Build a query and invoke `subscribe` in order to subscribe to its results. + pub fn add_query(mut self, build: impl Fn(M::QueryBuilder) -> Query) -> Self { + let query = build(M::QueryBuilder::default()); + self.queries.push(query.sql().to_string()); + self + } + + /// Subscribe to the queries that have been built with `add_query`. + pub fn subscribe(self) -> M::SubscriptionHandle { + self.builder.subscribe(self.queries) + } } /// Types which can be converted into a single query. diff --git a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_table.rs b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_table.rs index 16c6c4ec7eb..ff385faa0e0 100644 --- a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_table.rs +++ b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `Connected`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait connectedQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Connected`. + fn connected(&self) -> __sdk::__query_builder::Table; +} + +impl connectedQueryTableAccess for __sdk::QueryTableAccessor { + fn connected(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("connected") + } +} diff --git a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_type.rs b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_type.rs index ba64ced240a..c762b7a6bcc 100644 --- a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_type.rs +++ b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/connected_type.rs @@ -13,3 +13,31 @@ pub struct Connected { impl __sdk::InModule for Connected { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Connected`. +/// +/// Provides typed access to columns for query building. +pub struct ConnectedCols { + pub identity: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Connected { + type Cols = ConnectedCols; + fn cols(table_name: &'static str) -> Self::Cols { + ConnectedCols { + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + } + } +} + +/// Indexed column accessor struct for the table `Connected`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ConnectedIxCols {} + +impl __sdk::__query_builder::HasIxCols for Connected { + type IxCols = ConnectedIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ConnectedIxCols {} + } +} diff --git a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_table.rs b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_table.rs index 7a25db3fe2c..22f765f4214 100644 --- a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_table.rs +++ b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `Disconnected`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait disconnectedQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Disconnected`. + fn disconnected(&self) -> __sdk::__query_builder::Table; +} + +impl disconnectedQueryTableAccess for __sdk::QueryTableAccessor { + fn disconnected(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("disconnected") + } +} diff --git a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_type.rs b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_type.rs index 3dc56adcd14..4349be485a7 100644 --- a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_type.rs +++ b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/disconnected_type.rs @@ -13,3 +13,31 @@ pub struct Disconnected { impl __sdk::InModule for Disconnected { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Disconnected`. +/// +/// Provides typed access to columns for query building. +pub struct DisconnectedCols { + pub identity: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Disconnected { + type Cols = DisconnectedCols; + fn cols(table_name: &'static str) -> Self::Cols { + DisconnectedCols { + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + } + } +} + +/// Indexed column accessor struct for the table `Disconnected`. +/// +/// Provides typed access to indexed columns for query building. +pub struct DisconnectedIxCols {} + +impl __sdk::__query_builder::HasIxCols for Disconnected { + type IxCols = DisconnectedIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + DisconnectedIxCols {} + } +} diff --git a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/mod.rs b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/mod.rs index 542835466fe..5a54035abec 100644 --- a/sdks/rust/tests/connect_disconnect_client/src/module_bindings/mod.rs +++ b/sdks/rust/tests/connect_disconnect_client/src/module_bindings/mod.rs @@ -1,7 +1,7 @@ // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. -// This was generated using spacetimedb cli version 1.11.1 (commit 6898dc4d92500bc72c2f8d9ea7c037f8c6f9fe1d). +// This was generated using spacetimedb cli version 1.11.2 (commit 13a0172567170d9b8c87d2aa71de3246c21acb8c). #![allow(unused, clippy::all)] use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; @@ -848,6 +848,7 @@ impl __sdk::SpacetimeModule for RemoteModule { type DbUpdate = DbUpdate; type AppliedDiff<'r> = AppliedDiff<'r>; type SubscriptionHandle = SubscriptionHandle; + type QueryBuilder = __sdk::QueryBuilder; fn register_tables(client_cache: &mut __sdk::ClientCache) { connected_table::register_table(client_cache); diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/mod.rs b/sdks/rust/tests/procedure-client/src/module_bindings/mod.rs index b6e3051099e..892f78d2899 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/mod.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/mod.rs @@ -1,7 +1,7 @@ // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. -// This was generated using spacetimedb cli version 1.11.1 (commit 6898dc4d92500bc72c2f8d9ea7c037f8c6f9fe1d). +// This was generated using spacetimedb cli version 1.11.2 (commit 13a0172567170d9b8c87d2aa71de3246c21acb8c). #![allow(unused, clippy::all)] use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; @@ -889,6 +889,7 @@ impl __sdk::SpacetimeModule for RemoteModule { type DbUpdate = DbUpdate; type AppliedDiff<'r> = AppliedDiff<'r>; type SubscriptionHandle = SubscriptionHandle; + type QueryBuilder = __sdk::QueryBuilder; fn register_tables(client_cache: &mut __sdk::ClientCache) { my_table_table::register_table(client_cache); diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/my_table_table.rs b/sdks/rust/tests/procedure-client/src/module_bindings/my_table_table.rs index a1b6e28ffb5..9bd91cf5230 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/my_table_table.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/my_table_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `MyTable`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait my_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `MyTable`. + fn my_table(&self) -> __sdk::__query_builder::Table; +} + +impl my_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn my_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("my_table") + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/my_table_type.rs b/sdks/rust/tests/procedure-client/src/module_bindings/my_table_type.rs index 72249bf3798..82cd36470f0 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/my_table_type.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/my_table_type.rs @@ -15,3 +15,31 @@ pub struct MyTable { impl __sdk::InModule for MyTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `MyTable`. +/// +/// Provides typed access to columns for query building. +pub struct MyTableCols { + pub field: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for MyTable { + type Cols = MyTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + MyTableCols { + field: __sdk::__query_builder::Col::new(table_name, "field"), + } + } +} + +/// Indexed column accessor struct for the table `MyTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct MyTableIxCols {} + +impl __sdk::__query_builder::HasIxCols for MyTable { + type IxCols = MyTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + MyTableIxCols {} + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_table.rs b/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_table.rs index 63a0544d408..f34fa8d9d74 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_table.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkUuid`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_uuidQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkUuid`. + fn pk_uuid(&self) -> __sdk::__query_builder::Table; +} + +impl pk_uuidQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_uuid(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_uuid") + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_type.rs b/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_type.rs index ddf330f4291..1012ac4e4d8 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_type.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/pk_uuid_type.rs @@ -14,3 +14,33 @@ pub struct PkUuid { impl __sdk::InModule for PkUuid { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkUuid`. +/// +/// Provides typed access to columns for query building. +pub struct PkUuidCols { + pub u: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkUuid { + type Cols = PkUuidCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkUuidCols { + u: __sdk::__query_builder::Col::new(table_name, "u"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkUuid`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkUuidIxCols {} + +impl __sdk::__query_builder::HasIxCols for PkUuid { + type IxCols = PkUuidIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkUuidIxCols {} + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_table.rs b/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_table.rs index afd9c479d80..9d7f5f5e080 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_table.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ProcInsertsInto`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait proc_inserts_intoQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ProcInsertsInto`. + fn proc_inserts_into(&self) -> __sdk::__query_builder::Table; +} + +impl proc_inserts_intoQueryTableAccess for __sdk::QueryTableAccessor { + fn proc_inserts_into(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("proc_inserts_into") + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_type.rs b/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_type.rs index 20ac4c3ce68..05765b70b28 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_type.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/proc_inserts_into_type.rs @@ -16,3 +16,37 @@ pub struct ProcInsertsInto { impl __sdk::InModule for ProcInsertsInto { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ProcInsertsInto`. +/// +/// Provides typed access to columns for query building. +pub struct ProcInsertsIntoCols { + pub reducer_ts: __sdk::__query_builder::Col, + pub procedure_ts: __sdk::__query_builder::Col, + pub x: __sdk::__query_builder::Col, + pub y: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for ProcInsertsInto { + type Cols = ProcInsertsIntoCols; + fn cols(table_name: &'static str) -> Self::Cols { + ProcInsertsIntoCols { + reducer_ts: __sdk::__query_builder::Col::new(table_name, "reducer_ts"), + procedure_ts: __sdk::__query_builder::Col::new(table_name, "procedure_ts"), + x: __sdk::__query_builder::Col::new(table_name, "x"), + y: __sdk::__query_builder::Col::new(table_name, "y"), + } + } +} + +/// Indexed column accessor struct for the table `ProcInsertsInto`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ProcInsertsIntoIxCols {} + +impl __sdk::__query_builder::HasIxCols for ProcInsertsInto { + type IxCols = ProcInsertsIntoIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ProcInsertsIntoIxCols {} + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_table.rs b/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_table.rs index 671ddcbe020..afea2c721a1 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_table.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_table.rs @@ -140,3 +140,19 @@ impl<'ctx> ScheduledProcTableScheduledIdUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ScheduledProcTable`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait scheduled_proc_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ScheduledProcTable`. + fn scheduled_proc_table(&self) -> __sdk::__query_builder::Table; +} + +impl scheduled_proc_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn scheduled_proc_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("scheduled_proc_table") + } +} diff --git a/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_type.rs b/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_type.rs index ff2c2b12696..18f17e192ab 100644 --- a/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_type.rs +++ b/sdks/rust/tests/procedure-client/src/module_bindings/scheduled_proc_table_type.rs @@ -17,3 +17,43 @@ pub struct ScheduledProcTable { impl __sdk::InModule for ScheduledProcTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ScheduledProcTable`. +/// +/// Provides typed access to columns for query building. +pub struct ScheduledProcTableCols { + pub scheduled_id: __sdk::__query_builder::Col, + pub scheduled_at: __sdk::__query_builder::Col, + pub reducer_ts: __sdk::__query_builder::Col, + pub x: __sdk::__query_builder::Col, + pub y: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for ScheduledProcTable { + type Cols = ScheduledProcTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + ScheduledProcTableCols { + scheduled_id: __sdk::__query_builder::Col::new(table_name, "scheduled_id"), + scheduled_at: __sdk::__query_builder::Col::new(table_name, "scheduled_at"), + reducer_ts: __sdk::__query_builder::Col::new(table_name, "reducer_ts"), + x: __sdk::__query_builder::Col::new(table_name, "x"), + y: __sdk::__query_builder::Col::new(table_name, "y"), + } + } +} + +/// Indexed column accessor struct for the table `ScheduledProcTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ScheduledProcTableIxCols { + pub scheduled_id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for ScheduledProcTable { + type IxCols = ScheduledProcTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ScheduledProcTableIxCols { + scheduled_id: __sdk::__query_builder::IxCol::new(table_name, "scheduled_id"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/b_tree_u_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/b_tree_u_32_type.rs index 31b702493be..4697837f624 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/b_tree_u_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/b_tree_u_32_type.rs @@ -14,3 +14,37 @@ pub struct BTreeU32 { impl __sdk::InModule for BTreeU32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `BTreeU32`. +/// +/// Provides typed access to columns for query building. +pub struct BTreeU32Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for BTreeU32 { + type Cols = BTreeU32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + BTreeU32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `BTreeU32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct BTreeU32IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for BTreeU32 { + type IxCols = BTreeU32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + BTreeU32IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/btree_u_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/btree_u_32_table.rs index 7e13e2cc9e3..54443e10d2a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/btree_u_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/btree_u_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `BTreeU32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait btree_u32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `BTreeU32`. + fn btree_u32(&self) -> __sdk::__query_builder::Table; +} + +impl btree_u32QueryTableAccess for __sdk::QueryTableAccessor { + fn btree_u32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("btree_u32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_table.rs b/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_table.rs index bec832af943..bfa3ea0f0a4 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `IndexedSimpleEnum`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait indexed_simple_enumQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `IndexedSimpleEnum`. + fn indexed_simple_enum(&self) -> __sdk::__query_builder::Table; +} + +impl indexed_simple_enumQueryTableAccess for __sdk::QueryTableAccessor { + fn indexed_simple_enum(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("indexed_simple_enum") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_type.rs b/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_type.rs index cd4229db3b8..36d13c5496a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/indexed_simple_enum_type.rs @@ -15,3 +15,35 @@ pub struct IndexedSimpleEnum { impl __sdk::InModule for IndexedSimpleEnum { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `IndexedSimpleEnum`. +/// +/// Provides typed access to columns for query building. +pub struct IndexedSimpleEnumCols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for IndexedSimpleEnum { + type Cols = IndexedSimpleEnumCols; + fn cols(table_name: &'static str) -> Self::Cols { + IndexedSimpleEnumCols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `IndexedSimpleEnum`. +/// +/// Provides typed access to indexed columns for query building. +pub struct IndexedSimpleEnumIxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for IndexedSimpleEnum { + type IxCols = IndexedSimpleEnumIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + IndexedSimpleEnumIxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_table.rs b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_table.rs index 4fc8c882a96..727d167e592 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `IndexedTable2`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait indexed_table_2QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `IndexedTable2`. + fn indexed_table_2(&self) -> __sdk::__query_builder::Table; +} + +impl indexed_table_2QueryTableAccess for __sdk::QueryTableAccessor { + fn indexed_table_2(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("indexed_table_2") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_type.rs b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_type.rs index 0348866fe87..b9c9a0abb67 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_2_type.rs @@ -14,3 +14,33 @@ pub struct IndexedTable2 { impl __sdk::InModule for IndexedTable2 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `IndexedTable2`. +/// +/// Provides typed access to columns for query building. +pub struct IndexedTable2Cols { + pub player_id: __sdk::__query_builder::Col, + pub player_snazz: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for IndexedTable2 { + type Cols = IndexedTable2Cols; + fn cols(table_name: &'static str) -> Self::Cols { + IndexedTable2Cols { + player_id: __sdk::__query_builder::Col::new(table_name, "player_id"), + player_snazz: __sdk::__query_builder::Col::new(table_name, "player_snazz"), + } + } +} + +/// Indexed column accessor struct for the table `IndexedTable2`. +/// +/// Provides typed access to indexed columns for query building. +pub struct IndexedTable2IxCols {} + +impl __sdk::__query_builder::HasIxCols for IndexedTable2 { + type IxCols = IndexedTable2IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + IndexedTable2IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_table.rs b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_table.rs index 236a6a5cc5c..ab01d94a663 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `IndexedTable`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait indexed_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `IndexedTable`. + fn indexed_table(&self) -> __sdk::__query_builder::Table; +} + +impl indexed_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn indexed_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("indexed_table") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_type.rs b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_type.rs index 219f7260d01..3f889c780dd 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/indexed_table_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/indexed_table_type.rs @@ -13,3 +13,35 @@ pub struct IndexedTable { impl __sdk::InModule for IndexedTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `IndexedTable`. +/// +/// Provides typed access to columns for query building. +pub struct IndexedTableCols { + pub player_id: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for IndexedTable { + type Cols = IndexedTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + IndexedTableCols { + player_id: __sdk::__query_builder::Col::new(table_name, "player_id"), + } + } +} + +/// Indexed column accessor struct for the table `IndexedTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct IndexedTableIxCols { + pub player_id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for IndexedTable { + type IxCols = IndexedTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + IndexedTableIxCols { + player_id: __sdk::__query_builder::IxCol::new(table_name, "player_id"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/large_table_table.rs b/sdks/rust/tests/test-client/src/module_bindings/large_table_table.rs index d8865df079c..0d5839f97de 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/large_table_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/large_table_table.rs @@ -99,3 +99,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `LargeTable`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait large_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `LargeTable`. + fn large_table(&self) -> __sdk::__query_builder::Table; +} + +impl large_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn large_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("large_table") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/large_table_type.rs b/sdks/rust/tests/test-client/src/module_bindings/large_table_type.rs index 521f877fc6d..4fc4378d700 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/large_table_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/large_table_type.rs @@ -41,3 +41,73 @@ pub struct LargeTable { impl __sdk::InModule for LargeTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `LargeTable`. +/// +/// Provides typed access to columns for query building. +pub struct LargeTableCols { + pub a: __sdk::__query_builder::Col, + pub b: __sdk::__query_builder::Col, + pub c: __sdk::__query_builder::Col, + pub d: __sdk::__query_builder::Col, + pub e: __sdk::__query_builder::Col, + pub f: __sdk::__query_builder::Col, + pub g: __sdk::__query_builder::Col, + pub h: __sdk::__query_builder::Col, + pub i: __sdk::__query_builder::Col, + pub j: __sdk::__query_builder::Col, + pub k: __sdk::__query_builder::Col, + pub l: __sdk::__query_builder::Col, + pub m: __sdk::__query_builder::Col, + pub n: __sdk::__query_builder::Col, + pub o: __sdk::__query_builder::Col, + pub p: __sdk::__query_builder::Col, + pub q: __sdk::__query_builder::Col, + pub r: __sdk::__query_builder::Col, + pub s: __sdk::__query_builder::Col, + pub t: __sdk::__query_builder::Col, + pub u: __sdk::__query_builder::Col, + pub v: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for LargeTable { + type Cols = LargeTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + LargeTableCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + b: __sdk::__query_builder::Col::new(table_name, "b"), + c: __sdk::__query_builder::Col::new(table_name, "c"), + d: __sdk::__query_builder::Col::new(table_name, "d"), + e: __sdk::__query_builder::Col::new(table_name, "e"), + f: __sdk::__query_builder::Col::new(table_name, "f"), + g: __sdk::__query_builder::Col::new(table_name, "g"), + h: __sdk::__query_builder::Col::new(table_name, "h"), + i: __sdk::__query_builder::Col::new(table_name, "i"), + j: __sdk::__query_builder::Col::new(table_name, "j"), + k: __sdk::__query_builder::Col::new(table_name, "k"), + l: __sdk::__query_builder::Col::new(table_name, "l"), + m: __sdk::__query_builder::Col::new(table_name, "m"), + n: __sdk::__query_builder::Col::new(table_name, "n"), + o: __sdk::__query_builder::Col::new(table_name, "o"), + p: __sdk::__query_builder::Col::new(table_name, "p"), + q: __sdk::__query_builder::Col::new(table_name, "q"), + r: __sdk::__query_builder::Col::new(table_name, "r"), + s: __sdk::__query_builder::Col::new(table_name, "s"), + t: __sdk::__query_builder::Col::new(table_name, "t"), + u: __sdk::__query_builder::Col::new(table_name, "u"), + v: __sdk::__query_builder::Col::new(table_name, "v"), + } + } +} + +/// Indexed column accessor struct for the table `LargeTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct LargeTableIxCols {} + +impl __sdk::__query_builder::HasIxCols for LargeTable { + type IxCols = LargeTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + LargeTableIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/mod.rs b/sdks/rust/tests/test-client/src/module_bindings/mod.rs index 8197cc80c98..88c57803d23 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/mod.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/mod.rs @@ -1,7 +1,7 @@ // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. -// This was generated using spacetimedb cli version 1.11.2 (commit 5a8d69c6f4239c60057f10f890d1c5bcab091c82). +// This was generated using spacetimedb cli version 1.11.2 (commit 13a0172567170d9b8c87d2aa71de3246c21acb8c). #![allow(unused, clippy::all)] use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; @@ -4689,6 +4689,7 @@ impl __sdk::SpacetimeModule for RemoteModule { type DbUpdate = DbUpdate; type AppliedDiff<'r> = AppliedDiff<'r>; type SubscriptionHandle = SubscriptionHandle; + type QueryBuilder = __sdk::QueryBuilder; fn register_tables(client_cache: &mut __sdk::ClientCache) { btree_u_32_table::register_table(client_cache); diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_bool_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_bool_table.rs index 6972b86d9c6..2a4d17ff8e1 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_bool_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_bool_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneBool`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_boolQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneBool`. + fn one_bool(&self) -> __sdk::__query_builder::Table; +} + +impl one_boolQueryTableAccess for __sdk::QueryTableAccessor { + fn one_bool(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_bool") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_bool_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_bool_type.rs index b4304e4539c..430f9301e6d 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_bool_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_bool_type.rs @@ -13,3 +13,31 @@ pub struct OneBool { impl __sdk::InModule for OneBool { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneBool`. +/// +/// Provides typed access to columns for query building. +pub struct OneBoolCols { + pub b: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneBool { + type Cols = OneBoolCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneBoolCols { + b: __sdk::__query_builder::Col::new(table_name, "b"), + } + } +} + +/// Indexed column accessor struct for the table `OneBool`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneBoolIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneBool { + type IxCols = OneBoolIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneBoolIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_table.rs index 535ff9c2861..1606121373d 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneByteStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_byte_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneByteStruct`. + fn one_byte_struct(&self) -> __sdk::__query_builder::Table; +} + +impl one_byte_structQueryTableAccess for __sdk::QueryTableAccessor { + fn one_byte_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_byte_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_type.rs index f27f0d4b084..351eee787d4 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_byte_struct_type.rs @@ -15,3 +15,31 @@ pub struct OneByteStruct { impl __sdk::InModule for OneByteStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneByteStruct`. +/// +/// Provides typed access to columns for query building. +pub struct OneByteStructCols { + pub s: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneByteStruct { + type Cols = OneByteStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneByteStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OneByteStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneByteStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneByteStruct { + type IxCols = OneByteStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneByteStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_table.rs index 4b6a4c71900..b118528210c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneConnectionId`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_connection_idQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneConnectionId`. + fn one_connection_id(&self) -> __sdk::__query_builder::Table; +} + +impl one_connection_idQueryTableAccess for __sdk::QueryTableAccessor { + fn one_connection_id(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_connection_id") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_type.rs index d1f11dcec88..2be3c7ee2ed 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_connection_id_type.rs @@ -13,3 +13,31 @@ pub struct OneConnectionId { impl __sdk::InModule for OneConnectionId { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneConnectionId`. +/// +/// Provides typed access to columns for query building. +pub struct OneConnectionIdCols { + pub a: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneConnectionId { + type Cols = OneConnectionIdCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneConnectionIdCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + } + } +} + +/// Indexed column accessor struct for the table `OneConnectionId`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneConnectionIdIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneConnectionId { + type IxCols = OneConnectionIdIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneConnectionIdIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_table.rs index 02a1aaf234d..75212b05fc3 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneEnumWithPayload`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_enum_with_payloadQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneEnumWithPayload`. + fn one_enum_with_payload(&self) -> __sdk::__query_builder::Table; +} + +impl one_enum_with_payloadQueryTableAccess for __sdk::QueryTableAccessor { + fn one_enum_with_payload(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_enum_with_payload") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_type.rs index 18bf1168d94..46096c40139 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_enum_with_payload_type.rs @@ -15,3 +15,31 @@ pub struct OneEnumWithPayload { impl __sdk::InModule for OneEnumWithPayload { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneEnumWithPayload`. +/// +/// Provides typed access to columns for query building. +pub struct OneEnumWithPayloadCols { + pub e: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneEnumWithPayload { + type Cols = OneEnumWithPayloadCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneEnumWithPayloadCols { + e: __sdk::__query_builder::Col::new(table_name, "e"), + } + } +} + +/// Indexed column accessor struct for the table `OneEnumWithPayload`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneEnumWithPayloadIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneEnumWithPayload { + type IxCols = OneEnumWithPayloadIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneEnumWithPayloadIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_table.rs index 8e7499c64b9..fbfa0af0558 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_table.rs @@ -96,3 +96,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneEveryPrimitiveStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_every_primitive_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneEveryPrimitiveStruct`. + fn one_every_primitive_struct(&self) -> __sdk::__query_builder::Table; +} + +impl one_every_primitive_structQueryTableAccess for __sdk::QueryTableAccessor { + fn one_every_primitive_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_every_primitive_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_type.rs index 3337c6449bd..1a96a23f4ae 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_every_primitive_struct_type.rs @@ -15,3 +15,31 @@ pub struct OneEveryPrimitiveStruct { impl __sdk::InModule for OneEveryPrimitiveStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneEveryPrimitiveStruct`. +/// +/// Provides typed access to columns for query building. +pub struct OneEveryPrimitiveStructCols { + pub s: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneEveryPrimitiveStruct { + type Cols = OneEveryPrimitiveStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneEveryPrimitiveStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OneEveryPrimitiveStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneEveryPrimitiveStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneEveryPrimitiveStruct { + type IxCols = OneEveryPrimitiveStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneEveryPrimitiveStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_table.rs index 490005ba956..29ade002fc9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneEveryVecStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_every_vec_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneEveryVecStruct`. + fn one_every_vec_struct(&self) -> __sdk::__query_builder::Table; +} + +impl one_every_vec_structQueryTableAccess for __sdk::QueryTableAccessor { + fn one_every_vec_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_every_vec_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_type.rs index ae6c058766f..03a7de83002 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_every_vec_struct_type.rs @@ -15,3 +15,31 @@ pub struct OneEveryVecStruct { impl __sdk::InModule for OneEveryVecStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneEveryVecStruct`. +/// +/// Provides typed access to columns for query building. +pub struct OneEveryVecStructCols { + pub s: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneEveryVecStruct { + type Cols = OneEveryVecStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneEveryVecStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OneEveryVecStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneEveryVecStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneEveryVecStruct { + type IxCols = OneEveryVecStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneEveryVecStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_f_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_f_32_table.rs index 2bbb731d246..c3d2a08f362 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_f_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_f_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneF32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_f32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneF32`. + fn one_f32(&self) -> __sdk::__query_builder::Table; +} + +impl one_f32QueryTableAccess for __sdk::QueryTableAccessor { + fn one_f32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_f32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_f_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_f_32_type.rs index 4085b7539a8..34f2df8c2a5 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_f_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_f_32_type.rs @@ -13,3 +13,31 @@ pub struct OneF32 { impl __sdk::InModule for OneF32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneF32`. +/// +/// Provides typed access to columns for query building. +pub struct OneF32Cols { + pub f: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneF32 { + type Cols = OneF32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneF32Cols { + f: __sdk::__query_builder::Col::new(table_name, "f"), + } + } +} + +/// Indexed column accessor struct for the table `OneF32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneF32IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneF32 { + type IxCols = OneF32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneF32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_f_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_f_64_table.rs index 64330008b06..6a1dbd6f476 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_f_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_f_64_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneF64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_f64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneF64`. + fn one_f64(&self) -> __sdk::__query_builder::Table; +} + +impl one_f64QueryTableAccess for __sdk::QueryTableAccessor { + fn one_f64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_f64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_f_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_f_64_type.rs index 8090fa96d8d..81569d91fd9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_f_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_f_64_type.rs @@ -13,3 +13,31 @@ pub struct OneF64 { impl __sdk::InModule for OneF64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneF64`. +/// +/// Provides typed access to columns for query building. +pub struct OneF64Cols { + pub f: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneF64 { + type Cols = OneF64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneF64Cols { + f: __sdk::__query_builder::Col::new(table_name, "f"), + } + } +} + +/// Indexed column accessor struct for the table `OneF64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneF64IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneF64 { + type IxCols = OneF64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneF64IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_128_table.rs index e143efab254..4f7c46da255 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_128_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneI128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_i128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneI128`. + fn one_i128(&self) -> __sdk::__query_builder::Table; +} + +impl one_i128QueryTableAccess for __sdk::QueryTableAccessor { + fn one_i128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_i128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_128_type.rs index 0bc03df17d8..79f23eaf8d9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_128_type.rs @@ -13,3 +13,31 @@ pub struct OneI128 { impl __sdk::InModule for OneI128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneI128`. +/// +/// Provides typed access to columns for query building. +pub struct OneI128Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneI128 { + type Cols = OneI128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneI128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneI128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneI128IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneI128 { + type IxCols = OneI128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneI128IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_16_table.rs index 36c7ab483ca..a171f573dfd 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_16_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneI16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_i16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneI16`. + fn one_i16(&self) -> __sdk::__query_builder::Table; +} + +impl one_i16QueryTableAccess for __sdk::QueryTableAccessor { + fn one_i16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_i16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_16_type.rs index f7b1d6221bd..bcc3cf72cb5 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_16_type.rs @@ -13,3 +13,31 @@ pub struct OneI16 { impl __sdk::InModule for OneI16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneI16`. +/// +/// Provides typed access to columns for query building. +pub struct OneI16Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneI16 { + type Cols = OneI16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneI16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneI16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneI16IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneI16 { + type IxCols = OneI16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneI16IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_256_table.rs index 4e346a9e65f..40dd03883ea 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_256_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneI256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_i256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneI256`. + fn one_i256(&self) -> __sdk::__query_builder::Table; +} + +impl one_i256QueryTableAccess for __sdk::QueryTableAccessor { + fn one_i256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_i256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_256_type.rs index 3053c5f1b5f..7226d1ba3e8 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_256_type.rs @@ -13,3 +13,31 @@ pub struct OneI256 { impl __sdk::InModule for OneI256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneI256`. +/// +/// Provides typed access to columns for query building. +pub struct OneI256Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneI256 { + type Cols = OneI256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneI256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneI256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneI256IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneI256 { + type IxCols = OneI256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneI256IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_32_table.rs index 64f05adaf5b..38f77b0cbea 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneI32`. + fn one_i32(&self) -> __sdk::__query_builder::Table; +} + +impl one_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn one_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_32_type.rs index 846acf25953..037740e9a37 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_32_type.rs @@ -13,3 +13,31 @@ pub struct OneI32 { impl __sdk::InModule for OneI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneI32`. +/// +/// Provides typed access to columns for query building. +pub struct OneI32Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneI32 { + type Cols = OneI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneI32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneI32IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneI32 { + type IxCols = OneI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneI32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_64_table.rs index e0bee2dd1f5..8fff1851aec 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_64_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneI64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_i64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneI64`. + fn one_i64(&self) -> __sdk::__query_builder::Table; +} + +impl one_i64QueryTableAccess for __sdk::QueryTableAccessor { + fn one_i64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_i64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_64_type.rs index 198e0104782..4a5d7fc4937 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_64_type.rs @@ -13,3 +13,31 @@ pub struct OneI64 { impl __sdk::InModule for OneI64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneI64`. +/// +/// Provides typed access to columns for query building. +pub struct OneI64Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneI64 { + type Cols = OneI64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneI64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneI64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneI64IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneI64 { + type IxCols = OneI64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneI64IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_8_table.rs index f570f57f968..82adcf597d2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_8_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneI8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_i8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneI8`. + fn one_i8(&self) -> __sdk::__query_builder::Table; +} + +impl one_i8QueryTableAccess for __sdk::QueryTableAccessor { + fn one_i8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_i8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_i_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_i_8_type.rs index f5ac5548661..9e5a5e9875e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_i_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_i_8_type.rs @@ -13,3 +13,31 @@ pub struct OneI8 { impl __sdk::InModule for OneI8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneI8`. +/// +/// Provides typed access to columns for query building. +pub struct OneI8Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneI8 { + type Cols = OneI8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneI8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneI8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneI8IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneI8 { + type IxCols = OneI8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneI8IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_identity_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_identity_table.rs index 3babed30686..9b5eefc43c6 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_identity_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_identity_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneIdentity`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_identityQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneIdentity`. + fn one_identity(&self) -> __sdk::__query_builder::Table; +} + +impl one_identityQueryTableAccess for __sdk::QueryTableAccessor { + fn one_identity(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_identity") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_identity_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_identity_type.rs index 0d3b692cf38..cf084da63f6 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_identity_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_identity_type.rs @@ -13,3 +13,31 @@ pub struct OneIdentity { impl __sdk::InModule for OneIdentity { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneIdentity`. +/// +/// Provides typed access to columns for query building. +pub struct OneIdentityCols { + pub i: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneIdentity { + type Cols = OneIdentityCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneIdentityCols { + i: __sdk::__query_builder::Col::new(table_name, "i"), + } + } +} + +/// Indexed column accessor struct for the table `OneIdentity`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneIdentityIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneIdentity { + type IxCols = OneIdentityIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneIdentityIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_table.rs index b9dce099529..e87d69b5dde 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneSimpleEnum`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_simple_enumQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneSimpleEnum`. + fn one_simple_enum(&self) -> __sdk::__query_builder::Table; +} + +impl one_simple_enumQueryTableAccess for __sdk::QueryTableAccessor { + fn one_simple_enum(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_simple_enum") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_type.rs index ba84bf4ca1e..3a9fdec6366 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_simple_enum_type.rs @@ -15,3 +15,31 @@ pub struct OneSimpleEnum { impl __sdk::InModule for OneSimpleEnum { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneSimpleEnum`. +/// +/// Provides typed access to columns for query building. +pub struct OneSimpleEnumCols { + pub e: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneSimpleEnum { + type Cols = OneSimpleEnumCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneSimpleEnumCols { + e: __sdk::__query_builder::Col::new(table_name, "e"), + } + } +} + +/// Indexed column accessor struct for the table `OneSimpleEnum`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneSimpleEnumIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneSimpleEnum { + type IxCols = OneSimpleEnumIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneSimpleEnumIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_string_table.rs index 7575f1d270b..5e111796dab 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_string_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneString`. + fn one_string(&self) -> __sdk::__query_builder::Table; +} + +impl one_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn one_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_string_type.rs index 1b96234bc13..b865038c2ad 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_string_type.rs @@ -13,3 +13,31 @@ pub struct OneString { impl __sdk::InModule for OneString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneString`. +/// +/// Provides typed access to columns for query building. +pub struct OneStringCols { + pub s: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneString { + type Cols = OneStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneStringCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OneString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneStringIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneString { + type IxCols = OneStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneStringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_table.rs index ee8dd4b7e95..1841fcbc11f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneTimestamp`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_timestampQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneTimestamp`. + fn one_timestamp(&self) -> __sdk::__query_builder::Table; +} + +impl one_timestampQueryTableAccess for __sdk::QueryTableAccessor { + fn one_timestamp(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_timestamp") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_type.rs index 0544dcad403..627dc23f012 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_timestamp_type.rs @@ -13,3 +13,31 @@ pub struct OneTimestamp { impl __sdk::InModule for OneTimestamp { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneTimestamp`. +/// +/// Provides typed access to columns for query building. +pub struct OneTimestampCols { + pub t: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneTimestamp { + type Cols = OneTimestampCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneTimestampCols { + t: __sdk::__query_builder::Col::new(table_name, "t"), + } + } +} + +/// Indexed column accessor struct for the table `OneTimestamp`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneTimestampIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneTimestamp { + type IxCols = OneTimestampIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneTimestampIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_128_table.rs index 05db4aad2c4..c777e3e3d10 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_128_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneU128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_u128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneU128`. + fn one_u128(&self) -> __sdk::__query_builder::Table; +} + +impl one_u128QueryTableAccess for __sdk::QueryTableAccessor { + fn one_u128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_u128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_128_type.rs index 51a642f1e33..37a5596dfb7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_128_type.rs @@ -13,3 +13,31 @@ pub struct OneU128 { impl __sdk::InModule for OneU128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneU128`. +/// +/// Provides typed access to columns for query building. +pub struct OneU128Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneU128 { + type Cols = OneU128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneU128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneU128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneU128IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneU128 { + type IxCols = OneU128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneU128IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_16_table.rs index ba718e34d2f..dfb97d9de87 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_16_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneU16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_u16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneU16`. + fn one_u16(&self) -> __sdk::__query_builder::Table; +} + +impl one_u16QueryTableAccess for __sdk::QueryTableAccessor { + fn one_u16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_u16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_16_type.rs index 2dc29323248..14d5ae4ca66 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_16_type.rs @@ -13,3 +13,31 @@ pub struct OneU16 { impl __sdk::InModule for OneU16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneU16`. +/// +/// Provides typed access to columns for query building. +pub struct OneU16Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneU16 { + type Cols = OneU16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneU16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneU16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneU16IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneU16 { + type IxCols = OneU16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneU16IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_256_table.rs index ba834a2c846..6b07d606d87 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_256_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneU256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_u256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneU256`. + fn one_u256(&self) -> __sdk::__query_builder::Table; +} + +impl one_u256QueryTableAccess for __sdk::QueryTableAccessor { + fn one_u256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_u256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_256_type.rs index 802803239df..f46374339c6 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_256_type.rs @@ -13,3 +13,31 @@ pub struct OneU256 { impl __sdk::InModule for OneU256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneU256`. +/// +/// Provides typed access to columns for query building. +pub struct OneU256Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneU256 { + type Cols = OneU256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneU256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneU256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneU256IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneU256 { + type IxCols = OneU256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneU256IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_32_table.rs index ebd257c3358..301b5252e0e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneU32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_u32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneU32`. + fn one_u32(&self) -> __sdk::__query_builder::Table; +} + +impl one_u32QueryTableAccess for __sdk::QueryTableAccessor { + fn one_u32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_u32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_32_type.rs index 2aa764ea923..631a64eba6e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_32_type.rs @@ -13,3 +13,31 @@ pub struct OneU32 { impl __sdk::InModule for OneU32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneU32`. +/// +/// Provides typed access to columns for query building. +pub struct OneU32Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneU32 { + type Cols = OneU32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneU32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneU32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneU32IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneU32 { + type IxCols = OneU32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneU32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_64_table.rs index fd27df9612d..47a4f5e4f84 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_64_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneU64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_u64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneU64`. + fn one_u64(&self) -> __sdk::__query_builder::Table; +} + +impl one_u64QueryTableAccess for __sdk::QueryTableAccessor { + fn one_u64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_u64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_64_type.rs index 240302d5fc6..d28962f0807 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_64_type.rs @@ -13,3 +13,31 @@ pub struct OneU64 { impl __sdk::InModule for OneU64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneU64`. +/// +/// Provides typed access to columns for query building. +pub struct OneU64Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneU64 { + type Cols = OneU64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneU64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneU64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneU64IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneU64 { + type IxCols = OneU64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneU64IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_8_table.rs index ba9b20177f6..89c9b0efc96 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_8_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneU8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_u8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneU8`. + fn one_u8(&self) -> __sdk::__query_builder::Table; +} + +impl one_u8QueryTableAccess for __sdk::QueryTableAccessor { + fn one_u8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_u8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_u_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_u_8_type.rs index 553c63601b2..2f2c371fc58 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_u_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_u_8_type.rs @@ -13,3 +13,31 @@ pub struct OneU8 { impl __sdk::InModule for OneU8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneU8`. +/// +/// Provides typed access to columns for query building. +pub struct OneU8Cols { + pub n: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneU8 { + type Cols = OneU8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OneU8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OneU8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneU8IxCols {} + +impl __sdk::__query_builder::HasIxCols for OneU8 { + type IxCols = OneU8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneU8IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_table.rs index 7db3003a667..36ee31f27b5 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneUnitStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_unit_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneUnitStruct`. + fn one_unit_struct(&self) -> __sdk::__query_builder::Table; +} + +impl one_unit_structQueryTableAccess for __sdk::QueryTableAccessor { + fn one_unit_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_unit_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_type.rs index 33fc5de7b53..ca2a9f6aea8 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_unit_struct_type.rs @@ -15,3 +15,31 @@ pub struct OneUnitStruct { impl __sdk::InModule for OneUnitStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneUnitStruct`. +/// +/// Provides typed access to columns for query building. +pub struct OneUnitStructCols { + pub s: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneUnitStruct { + type Cols = OneUnitStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneUnitStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OneUnitStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneUnitStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneUnitStruct { + type IxCols = OneUnitStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneUnitStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_uuid_table.rs b/sdks/rust/tests/test-client/src/module_bindings/one_uuid_table.rs index 4c9788a7cd8..86cfbc436ac 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_uuid_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_uuid_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OneUuid`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait one_uuidQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OneUuid`. + fn one_uuid(&self) -> __sdk::__query_builder::Table; +} + +impl one_uuidQueryTableAccess for __sdk::QueryTableAccessor { + fn one_uuid(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("one_uuid") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/one_uuid_type.rs b/sdks/rust/tests/test-client/src/module_bindings/one_uuid_type.rs index bdd7083c06d..63ca43baa28 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/one_uuid_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/one_uuid_type.rs @@ -13,3 +13,31 @@ pub struct OneUuid { impl __sdk::InModule for OneUuid { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OneUuid`. +/// +/// Provides typed access to columns for query building. +pub struct OneUuidCols { + pub u: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for OneUuid { + type Cols = OneUuidCols; + fn cols(table_name: &'static str) -> Self::Cols { + OneUuidCols { + u: __sdk::__query_builder::Col::new(table_name, "u"), + } + } +} + +/// Indexed column accessor struct for the table `OneUuid`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OneUuidIxCols {} + +impl __sdk::__query_builder::HasIxCols for OneUuid { + type IxCols = OneUuidIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OneUuidIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_table.rs index 12c2177fc3a..def910c3bab 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_table.rs @@ -96,3 +96,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionEveryPrimitiveStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_every_primitive_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionEveryPrimitiveStruct`. + fn option_every_primitive_struct(&self) -> __sdk::__query_builder::Table; +} + +impl option_every_primitive_structQueryTableAccess for __sdk::QueryTableAccessor { + fn option_every_primitive_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_every_primitive_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_type.rs index f2602b7ff3a..48bcea2ef6c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_every_primitive_struct_type.rs @@ -15,3 +15,31 @@ pub struct OptionEveryPrimitiveStruct { impl __sdk::InModule for OptionEveryPrimitiveStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionEveryPrimitiveStruct`. +/// +/// Provides typed access to columns for query building. +pub struct OptionEveryPrimitiveStructCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for OptionEveryPrimitiveStruct { + type Cols = OptionEveryPrimitiveStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionEveryPrimitiveStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OptionEveryPrimitiveStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionEveryPrimitiveStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionEveryPrimitiveStruct { + type IxCols = OptionEveryPrimitiveStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionEveryPrimitiveStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_i_32_table.rs index a2acef15f4a..c7ee0eb20c8 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_i_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionI32`. + fn option_i32(&self) -> __sdk::__query_builder::Table; +} + +impl option_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn option_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_i_32_type.rs index 7b527007fa7..e037ef3fcae 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_i_32_type.rs @@ -13,3 +13,31 @@ pub struct OptionI32 { impl __sdk::InModule for OptionI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionI32`. +/// +/// Provides typed access to columns for query building. +pub struct OptionI32Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for OptionI32 { + type Cols = OptionI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionI32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `OptionI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionI32IxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionI32 { + type IxCols = OptionI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionI32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_identity_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_identity_table.rs index fb27d479923..ae5ea13473d 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_identity_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_identity_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionIdentity`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_identityQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionIdentity`. + fn option_identity(&self) -> __sdk::__query_builder::Table; +} + +impl option_identityQueryTableAccess for __sdk::QueryTableAccessor { + fn option_identity(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_identity") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_identity_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_identity_type.rs index d36989e47cd..7662160d308 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_identity_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_identity_type.rs @@ -13,3 +13,31 @@ pub struct OptionIdentity { impl __sdk::InModule for OptionIdentity { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionIdentity`. +/// +/// Provides typed access to columns for query building. +pub struct OptionIdentityCols { + pub i: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for OptionIdentity { + type Cols = OptionIdentityCols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionIdentityCols { + i: __sdk::__query_builder::Col::new(table_name, "i"), + } + } +} + +/// Indexed column accessor struct for the table `OptionIdentity`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionIdentityIxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionIdentity { + type IxCols = OptionIdentityIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionIdentityIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_table.rs index 04bd3727e32..741d8c461c9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionSimpleEnum`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_simple_enumQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionSimpleEnum`. + fn option_simple_enum(&self) -> __sdk::__query_builder::Table; +} + +impl option_simple_enumQueryTableAccess for __sdk::QueryTableAccessor { + fn option_simple_enum(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_simple_enum") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_type.rs index 83ec4048b9b..22a0f637cfa 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_simple_enum_type.rs @@ -15,3 +15,31 @@ pub struct OptionSimpleEnum { impl __sdk::InModule for OptionSimpleEnum { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionSimpleEnum`. +/// +/// Provides typed access to columns for query building. +pub struct OptionSimpleEnumCols { + pub e: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for OptionSimpleEnum { + type Cols = OptionSimpleEnumCols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionSimpleEnumCols { + e: __sdk::__query_builder::Col::new(table_name, "e"), + } + } +} + +/// Indexed column accessor struct for the table `OptionSimpleEnum`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionSimpleEnumIxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionSimpleEnum { + type IxCols = OptionSimpleEnumIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionSimpleEnumIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_string_table.rs index be304c8a3e2..9b696baef4c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_string_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionString`. + fn option_string(&self) -> __sdk::__query_builder::Table; +} + +impl option_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn option_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_string_type.rs index 2fd25b96b46..a15c40a4169 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_string_type.rs @@ -13,3 +13,31 @@ pub struct OptionString { impl __sdk::InModule for OptionString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionString`. +/// +/// Provides typed access to columns for query building. +pub struct OptionStringCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for OptionString { + type Cols = OptionStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionStringCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `OptionString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionStringIxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionString { + type IxCols = OptionStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionStringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_uuid_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_uuid_table.rs index d7ba3fa64d5..73f252f9940 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_uuid_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_uuid_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionUuid`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_uuidQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionUuid`. + fn option_uuid(&self) -> __sdk::__query_builder::Table; +} + +impl option_uuidQueryTableAccess for __sdk::QueryTableAccessor { + fn option_uuid(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_uuid") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_uuid_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_uuid_type.rs index 222099f1619..eae9603c07a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_uuid_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_uuid_type.rs @@ -13,3 +13,31 @@ pub struct OptionUuid { impl __sdk::InModule for OptionUuid { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionUuid`. +/// +/// Provides typed access to columns for query building. +pub struct OptionUuidCols { + pub u: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for OptionUuid { + type Cols = OptionUuidCols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionUuidCols { + u: __sdk::__query_builder::Col::new(table_name, "u"), + } + } +} + +/// Indexed column accessor struct for the table `OptionUuid`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionUuidIxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionUuid { + type IxCols = OptionUuidIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionUuidIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_table.rs index add9376f6e8..b8027140c08 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `OptionVecOptionI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait option_vec_option_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `OptionVecOptionI32`. + fn option_vec_option_i32(&self) -> __sdk::__query_builder::Table; +} + +impl option_vec_option_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn option_vec_option_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("option_vec_option_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_type.rs index 3ad61110137..c7ee8b31def 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/option_vec_option_i_32_type.rs @@ -13,3 +13,31 @@ pub struct OptionVecOptionI32 { impl __sdk::InModule for OptionVecOptionI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `OptionVecOptionI32`. +/// +/// Provides typed access to columns for query building. +pub struct OptionVecOptionI32Cols { + pub v: __sdk::__query_builder::Col>>>, +} + +impl __sdk::__query_builder::HasCols for OptionVecOptionI32 { + type Cols = OptionVecOptionI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + OptionVecOptionI32Cols { + v: __sdk::__query_builder::Col::new(table_name, "v"), + } + } +} + +/// Indexed column accessor struct for the table `OptionVecOptionI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct OptionVecOptionI32IxCols {} + +impl __sdk::__query_builder::HasIxCols for OptionVecOptionI32 { + type IxCols = OptionVecOptionI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + OptionVecOptionI32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_bool_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_bool_table.rs index 97e04795c7f..086ffb049f8 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_bool_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_bool_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkBoolBUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkBool`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_boolQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkBool`. + fn pk_bool(&self) -> __sdk::__query_builder::Table; +} + +impl pk_boolQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_bool(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_bool") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_bool_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_bool_type.rs index 8d0f6a3ff17..daee77e680e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_bool_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_bool_type.rs @@ -14,3 +14,37 @@ pub struct PkBool { impl __sdk::InModule for PkBool { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkBool`. +/// +/// Provides typed access to columns for query building. +pub struct PkBoolCols { + pub b: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkBool { + type Cols = PkBoolCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkBoolCols { + b: __sdk::__query_builder::Col::new(table_name, "b"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkBool`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkBoolIxCols { + pub b: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkBool { + type IxCols = PkBoolIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkBoolIxCols { + b: __sdk::__query_builder::IxCol::new(table_name, "b"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_table.rs index eda7bd23ffd..2a9ea6ba2f5 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkConnectionIdAUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkConnectionId`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_connection_idQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkConnectionId`. + fn pk_connection_id(&self) -> __sdk::__query_builder::Table; +} + +impl pk_connection_idQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_connection_id(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_connection_id") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_type.rs index d4a71a4d790..485f6174a1c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_connection_id_type.rs @@ -14,3 +14,37 @@ pub struct PkConnectionId { impl __sdk::InModule for PkConnectionId { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkConnectionId`. +/// +/// Provides typed access to columns for query building. +pub struct PkConnectionIdCols { + pub a: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkConnectionId { + type Cols = PkConnectionIdCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkConnectionIdCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkConnectionId`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkConnectionIdIxCols { + pub a: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkConnectionId { + type IxCols = PkConnectionIdIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkConnectionIdIxCols { + a: __sdk::__query_builder::IxCol::new(table_name, "a"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_table.rs index 8fa5b913577..be18c8823e9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkI128NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkI128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_i128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkI128`. + fn pk_i128(&self) -> __sdk::__query_builder::Table; +} + +impl pk_i128QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_i128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_i128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_type.rs index f6e79663b44..e92583fc9ae 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_128_type.rs @@ -14,3 +14,37 @@ pub struct PkI128 { impl __sdk::InModule for PkI128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkI128`. +/// +/// Provides typed access to columns for query building. +pub struct PkI128Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkI128 { + type Cols = PkI128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkI128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkI128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkI128IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkI128 { + type IxCols = PkI128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkI128IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_table.rs index 0076427ed5e..90f850d46c7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkI16NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkI16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_i16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkI16`. + fn pk_i16(&self) -> __sdk::__query_builder::Table; +} + +impl pk_i16QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_i16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_i16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_type.rs index 9951d2dbf5f..b4f1dd4aae7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_16_type.rs @@ -14,3 +14,37 @@ pub struct PkI16 { impl __sdk::InModule for PkI16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkI16`. +/// +/// Provides typed access to columns for query building. +pub struct PkI16Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkI16 { + type Cols = PkI16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkI16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkI16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkI16IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkI16 { + type IxCols = PkI16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkI16IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_table.rs index 0d9723451b5..ed3ea7d53ab 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkI256NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkI256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_i256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkI256`. + fn pk_i256(&self) -> __sdk::__query_builder::Table; +} + +impl pk_i256QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_i256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_i256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_type.rs index f806ef7bdb9..2efccf4bd1b 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_256_type.rs @@ -14,3 +14,37 @@ pub struct PkI256 { impl __sdk::InModule for PkI256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkI256`. +/// +/// Provides typed access to columns for query building. +pub struct PkI256Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkI256 { + type Cols = PkI256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkI256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkI256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkI256IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkI256 { + type IxCols = PkI256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkI256IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_table.rs index f37dbe4d258..550c6bc45c4 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkI32NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkI32`. + fn pk_i32(&self) -> __sdk::__query_builder::Table; +} + +impl pk_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_type.rs index ddb359c5973..cad072e3967 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_32_type.rs @@ -14,3 +14,37 @@ pub struct PkI32 { impl __sdk::InModule for PkI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkI32`. +/// +/// Provides typed access to columns for query building. +pub struct PkI32Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkI32 { + type Cols = PkI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkI32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkI32IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkI32 { + type IxCols = PkI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkI32IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_table.rs index e69a81cb6fd..17f9177fcbc 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkI64NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkI64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_i64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkI64`. + fn pk_i64(&self) -> __sdk::__query_builder::Table; +} + +impl pk_i64QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_i64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_i64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_type.rs index ca70cd0fdfb..de77151dc75 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_64_type.rs @@ -14,3 +14,37 @@ pub struct PkI64 { impl __sdk::InModule for PkI64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkI64`. +/// +/// Provides typed access to columns for query building. +pub struct PkI64Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkI64 { + type Cols = PkI64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkI64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkI64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkI64IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkI64 { + type IxCols = PkI64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkI64IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_table.rs index 7ff0625f98c..a9ced5196eb 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkI8NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkI8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_i8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkI8`. + fn pk_i8(&self) -> __sdk::__query_builder::Table; +} + +impl pk_i8QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_i8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_i8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_type.rs index bcf6be72672..266a42838ac 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_i_8_type.rs @@ -14,3 +14,37 @@ pub struct PkI8 { impl __sdk::InModule for PkI8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkI8`. +/// +/// Provides typed access to columns for query building. +pub struct PkI8Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkI8 { + type Cols = PkI8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkI8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkI8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkI8IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkI8 { + type IxCols = PkI8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkI8IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_identity_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_identity_table.rs index e7b7da6e9db..4f87fe69eff 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_identity_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_identity_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkIdentityIUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkIdentity`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_identityQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkIdentity`. + fn pk_identity(&self) -> __sdk::__query_builder::Table; +} + +impl pk_identityQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_identity(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_identity") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_identity_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_identity_type.rs index e26a4cad7ba..b3dd11bd37f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_identity_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_identity_type.rs @@ -14,3 +14,37 @@ pub struct PkIdentity { impl __sdk::InModule for PkIdentity { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkIdentity`. +/// +/// Provides typed access to columns for query building. +pub struct PkIdentityCols { + pub i: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkIdentity { + type Cols = PkIdentityCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkIdentityCols { + i: __sdk::__query_builder::Col::new(table_name, "i"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkIdentity`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkIdentityIxCols { + pub i: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkIdentity { + type IxCols = PkIdentityIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkIdentityIxCols { + i: __sdk::__query_builder::IxCol::new(table_name, "i"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_table.rs index 35abc5d6491..5949c1580be 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_table.rs @@ -141,3 +141,19 @@ impl<'ctx> PkSimpleEnumAUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkSimpleEnum`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_simple_enumQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkSimpleEnum`. + fn pk_simple_enum(&self) -> __sdk::__query_builder::Table; +} + +impl pk_simple_enumQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_simple_enum(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_simple_enum") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_type.rs index 117828a1f00..bd8c3a224db 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_simple_enum_type.rs @@ -16,3 +16,37 @@ pub struct PkSimpleEnum { impl __sdk::InModule for PkSimpleEnum { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkSimpleEnum`. +/// +/// Provides typed access to columns for query building. +pub struct PkSimpleEnumCols { + pub a: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkSimpleEnum { + type Cols = PkSimpleEnumCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkSimpleEnumCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkSimpleEnum`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkSimpleEnumIxCols { + pub a: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkSimpleEnum { + type IxCols = PkSimpleEnumIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkSimpleEnumIxCols { + a: __sdk::__query_builder::IxCol::new(table_name, "a"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_string_table.rs index 767bf523eb0..28995da7644 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_string_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkStringSUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkString`. + fn pk_string(&self) -> __sdk::__query_builder::Table; +} + +impl pk_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_string_type.rs index 55c71b310f6..c0b1fd6dbcb 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_string_type.rs @@ -14,3 +14,37 @@ pub struct PkString { impl __sdk::InModule for PkString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkString`. +/// +/// Provides typed access to columns for query building. +pub struct PkStringCols { + pub s: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkString { + type Cols = PkStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkStringCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkStringIxCols { + pub s: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkString { + type IxCols = PkStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkStringIxCols { + s: __sdk::__query_builder::IxCol::new(table_name, "s"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_table.rs index 4fc4ba31252..5e623faf75c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU128NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU128`. + fn pk_u128(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u128QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_type.rs index c29f49ccb89..1dd77a89d92 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_128_type.rs @@ -14,3 +14,37 @@ pub struct PkU128 { impl __sdk::InModule for PkU128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU128`. +/// +/// Provides typed access to columns for query building. +pub struct PkU128Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU128 { + type Cols = PkU128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU128IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU128 { + type IxCols = PkU128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU128IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_table.rs index 8a6da8545a1..d4713b4054a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU16NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU16`. + fn pk_u16(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u16QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_type.rs index 873123b2542..62dfd8240a2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_16_type.rs @@ -14,3 +14,37 @@ pub struct PkU16 { impl __sdk::InModule for PkU16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU16`. +/// +/// Provides typed access to columns for query building. +pub struct PkU16Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU16 { + type Cols = PkU16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU16IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU16 { + type IxCols = PkU16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU16IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_table.rs index ebbfc57e87e..c96fbfd8b64 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU256NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU256`. + fn pk_u256(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u256QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_type.rs index 19ae3a832da..f5c16e98e8d 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_256_type.rs @@ -14,3 +14,37 @@ pub struct PkU256 { impl __sdk::InModule for PkU256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU256`. +/// +/// Provides typed access to columns for query building. +pub struct PkU256Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU256 { + type Cols = PkU256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU256IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU256 { + type IxCols = PkU256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU256IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_table.rs index b32e72dc3ab..3c3e2fbe71e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU32NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU32`. + fn pk_u32(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u32QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_table.rs index 7fd1ad0f72a..b8788f325c9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU32TwoNUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU32Two`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u32_twoQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU32Two`. + fn pk_u32_two(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u32_twoQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u32_two(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u32_two") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_type.rs index 6cf1f2d3577..05845bc1fe2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_two_type.rs @@ -14,3 +14,37 @@ pub struct PkU32Two { impl __sdk::InModule for PkU32Two { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU32Two`. +/// +/// Provides typed access to columns for query building. +pub struct PkU32TwoCols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU32Two { + type Cols = PkU32TwoCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU32TwoCols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU32Two`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU32TwoIxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU32Two { + type IxCols = PkU32TwoIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU32TwoIxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_type.rs index 3fe08421bda..ae7339a90db 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_32_type.rs @@ -14,3 +14,37 @@ pub struct PkU32 { impl __sdk::InModule for PkU32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU32`. +/// +/// Provides typed access to columns for query building. +pub struct PkU32Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU32 { + type Cols = PkU32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU32IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU32 { + type IxCols = PkU32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU32IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_table.rs index 3bc77282a37..694df3cd3d9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU64NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU64`. + fn pk_u64(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u64QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_type.rs index cf108fcddce..bcfe7145e51 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_64_type.rs @@ -14,3 +14,37 @@ pub struct PkU64 { impl __sdk::InModule for PkU64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU64`. +/// +/// Provides typed access to columns for query building. +pub struct PkU64Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU64 { + type Cols = PkU64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU64IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU64 { + type IxCols = PkU64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU64IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_table.rs index 5bc63d1d765..6ae39ac5498 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_table.rs @@ -140,3 +140,19 @@ impl<'ctx> PkU8NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkU8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_u8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkU8`. + fn pk_u8(&self) -> __sdk::__query_builder::Table; +} + +impl pk_u8QueryTableAccess for __sdk::QueryTableAccessor { + fn pk_u8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_u8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_type.rs index 95da001b8e8..17f08e60179 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_u_8_type.rs @@ -14,3 +14,37 @@ pub struct PkU8 { impl __sdk::InModule for PkU8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkU8`. +/// +/// Provides typed access to columns for query building. +pub struct PkU8Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkU8 { + type Cols = PkU8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + PkU8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkU8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkU8IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkU8 { + type IxCols = PkU8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkU8IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_table.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_table.rs index 6ff45a9d5a1..6e20ef77d82 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_table.rs @@ -109,3 +109,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PkUuid`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait pk_uuidQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PkUuid`. + fn pk_uuid(&self) -> __sdk::__query_builder::Table; +} + +impl pk_uuidQueryTableAccess for __sdk::QueryTableAccessor { + fn pk_uuid(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("pk_uuid") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_type.rs b/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_type.rs index 3beaf019b45..b1c622d5da9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/pk_uuid_type.rs @@ -14,3 +14,37 @@ pub struct PkUuid { impl __sdk::InModule for PkUuid { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PkUuid`. +/// +/// Provides typed access to columns for query building. +pub struct PkUuidCols { + pub u: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PkUuid { + type Cols = PkUuidCols; + fn cols(table_name: &'static str) -> Self::Cols { + PkUuidCols { + u: __sdk::__query_builder::Col::new(table_name, "u"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `PkUuid`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PkUuidIxCols { + pub u: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PkUuid { + type IxCols = PkUuidIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PkUuidIxCols { + u: __sdk::__query_builder::IxCol::new(table_name, "u"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_table.rs index 39f27548639..a817038e892 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_table.rs @@ -97,3 +97,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ResultEveryPrimitiveStructString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait result_every_primitive_struct_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ResultEveryPrimitiveStructString`. + fn result_every_primitive_struct_string(&self) -> __sdk::__query_builder::Table; +} + +impl result_every_primitive_struct_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn result_every_primitive_struct_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("result_every_primitive_struct_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_type.rs index 27dd840464a..050a599e3df 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_every_primitive_struct_string_type.rs @@ -15,3 +15,31 @@ pub struct ResultEveryPrimitiveStructString { impl __sdk::InModule for ResultEveryPrimitiveStructString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ResultEveryPrimitiveStructString`. +/// +/// Provides typed access to columns for query building. +pub struct ResultEveryPrimitiveStructStringCols { + pub r: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for ResultEveryPrimitiveStructString { + type Cols = ResultEveryPrimitiveStructStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + ResultEveryPrimitiveStructStringCols { + r: __sdk::__query_builder::Col::new(table_name, "r"), + } + } +} + +/// Indexed column accessor struct for the table `ResultEveryPrimitiveStructString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ResultEveryPrimitiveStructStringIxCols {} + +impl __sdk::__query_builder::HasIxCols for ResultEveryPrimitiveStructString { + type IxCols = ResultEveryPrimitiveStructStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ResultEveryPrimitiveStructStringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_table.rs index b18d8c228a1..466d9e41143 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ResultI32String`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait result_i32_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ResultI32String`. + fn result_i32_string(&self) -> __sdk::__query_builder::Table; +} + +impl result_i32_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn result_i32_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("result_i32_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_type.rs index 8eb0d4c5856..17f2efd216b 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_i_32_string_type.rs @@ -13,3 +13,31 @@ pub struct ResultI32String { impl __sdk::InModule for ResultI32String { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ResultI32String`. +/// +/// Provides typed access to columns for query building. +pub struct ResultI32StringCols { + pub r: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for ResultI32String { + type Cols = ResultI32StringCols; + fn cols(table_name: &'static str) -> Self::Cols { + ResultI32StringCols { + r: __sdk::__query_builder::Col::new(table_name, "r"), + } + } +} + +/// Indexed column accessor struct for the table `ResultI32String`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ResultI32StringIxCols {} + +impl __sdk::__query_builder::HasIxCols for ResultI32String { + type IxCols = ResultI32StringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ResultI32StringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_table.rs index 8a3d9d78b3e..4930ca6f99f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ResultIdentityString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait result_identity_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ResultIdentityString`. + fn result_identity_string(&self) -> __sdk::__query_builder::Table; +} + +impl result_identity_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn result_identity_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("result_identity_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_type.rs index e242fbc4d06..ab7e5cce456 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_identity_string_type.rs @@ -13,3 +13,31 @@ pub struct ResultIdentityString { impl __sdk::InModule for ResultIdentityString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ResultIdentityString`. +/// +/// Provides typed access to columns for query building. +pub struct ResultIdentityStringCols { + pub r: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for ResultIdentityString { + type Cols = ResultIdentityStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + ResultIdentityStringCols { + r: __sdk::__query_builder::Col::new(table_name, "r"), + } + } +} + +/// Indexed column accessor struct for the table `ResultIdentityString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ResultIdentityStringIxCols {} + +impl __sdk::__query_builder::HasIxCols for ResultIdentityString { + type IxCols = ResultIdentityStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ResultIdentityStringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_table.rs index 4c2a65d9f66..afcd6f67ff8 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ResultSimpleEnumI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait result_simple_enum_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ResultSimpleEnumI32`. + fn result_simple_enum_i32(&self) -> __sdk::__query_builder::Table; +} + +impl result_simple_enum_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn result_simple_enum_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("result_simple_enum_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_type.rs index e5a4725035d..da5e7e14a14 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_simple_enum_i_32_type.rs @@ -15,3 +15,31 @@ pub struct ResultSimpleEnumI32 { impl __sdk::InModule for ResultSimpleEnumI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ResultSimpleEnumI32`. +/// +/// Provides typed access to columns for query building. +pub struct ResultSimpleEnumI32Cols { + pub r: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for ResultSimpleEnumI32 { + type Cols = ResultSimpleEnumI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + ResultSimpleEnumI32Cols { + r: __sdk::__query_builder::Col::new(table_name, "r"), + } + } +} + +/// Indexed column accessor struct for the table `ResultSimpleEnumI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ResultSimpleEnumI32IxCols {} + +impl __sdk::__query_builder::HasIxCols for ResultSimpleEnumI32 { + type IxCols = ResultSimpleEnumI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ResultSimpleEnumI32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_table.rs index ea6b2c3c1aa..19108d07775 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ResultStringI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait result_string_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ResultStringI32`. + fn result_string_i32(&self) -> __sdk::__query_builder::Table; +} + +impl result_string_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn result_string_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("result_string_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_type.rs index 463e9a8996b..1e1e92a35be 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_string_i_32_type.rs @@ -13,3 +13,31 @@ pub struct ResultStringI32 { impl __sdk::InModule for ResultStringI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ResultStringI32`. +/// +/// Provides typed access to columns for query building. +pub struct ResultStringI32Cols { + pub r: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for ResultStringI32 { + type Cols = ResultStringI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + ResultStringI32Cols { + r: __sdk::__query_builder::Col::new(table_name, "r"), + } + } +} + +/// Indexed column accessor struct for the table `ResultStringI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ResultStringI32IxCols {} + +impl __sdk::__query_builder::HasIxCols for ResultStringI32 { + type IxCols = ResultStringI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ResultStringI32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_table.rs index 201e7e778d6..d1fa179f58b 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ResultVecI32String`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait result_vec_i32_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ResultVecI32String`. + fn result_vec_i32_string(&self) -> __sdk::__query_builder::Table; +} + +impl result_vec_i32_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn result_vec_i32_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("result_vec_i32_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_type.rs index cc6c0a71b6c..a65bb19af11 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/result_vec_i_32_string_type.rs @@ -13,3 +13,31 @@ pub struct ResultVecI32String { impl __sdk::InModule for ResultVecI32String { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ResultVecI32String`. +/// +/// Provides typed access to columns for query building. +pub struct ResultVecI32StringCols { + pub r: __sdk::__query_builder::Col, String>>, +} + +impl __sdk::__query_builder::HasCols for ResultVecI32String { + type Cols = ResultVecI32StringCols; + fn cols(table_name: &'static str) -> Self::Cols { + ResultVecI32StringCols { + r: __sdk::__query_builder::Col::new(table_name, "r"), + } + } +} + +/// Indexed column accessor struct for the table `ResultVecI32String`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ResultVecI32StringIxCols {} + +impl __sdk::__query_builder::HasIxCols for ResultVecI32String { + type IxCols = ResultVecI32StringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ResultVecI32StringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_table.rs b/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_table.rs index ffda097460e..a736c9b35f4 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_table.rs @@ -140,3 +140,19 @@ impl<'ctx> ScheduledTableScheduledIdUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `ScheduledTable`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait scheduled_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ScheduledTable`. + fn scheduled_table(&self) -> __sdk::__query_builder::Table; +} + +impl scheduled_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn scheduled_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("scheduled_table") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_type.rs b/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_type.rs index 4ec38af5157..45b88ef0a35 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/scheduled_table_type.rs @@ -15,3 +15,39 @@ pub struct ScheduledTable { impl __sdk::InModule for ScheduledTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `ScheduledTable`. +/// +/// Provides typed access to columns for query building. +pub struct ScheduledTableCols { + pub scheduled_id: __sdk::__query_builder::Col, + pub scheduled_at: __sdk::__query_builder::Col, + pub text: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for ScheduledTable { + type Cols = ScheduledTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + ScheduledTableCols { + scheduled_id: __sdk::__query_builder::Col::new(table_name, "scheduled_id"), + scheduled_at: __sdk::__query_builder::Col::new(table_name, "scheduled_at"), + text: __sdk::__query_builder::Col::new(table_name, "text"), + } + } +} + +/// Indexed column accessor struct for the table `ScheduledTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct ScheduledTableIxCols { + pub scheduled_id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for ScheduledTable { + type IxCols = ScheduledTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + ScheduledTableIxCols { + scheduled_id: __sdk::__query_builder::IxCol::new(table_name, "scheduled_id"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_table.rs b/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_table.rs index dbc985c7f76..90995cc3c46 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_table.rs @@ -95,3 +95,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `TableHoldsTable`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait table_holds_tableQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `TableHoldsTable`. + fn table_holds_table(&self) -> __sdk::__query_builder::Table; +} + +impl table_holds_tableQueryTableAccess for __sdk::QueryTableAccessor { + fn table_holds_table(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("table_holds_table") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_type.rs b/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_type.rs index 53072c9300e..f2fcf482df9 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/table_holds_table_type.rs @@ -17,3 +17,33 @@ pub struct TableHoldsTable { impl __sdk::InModule for TableHoldsTable { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `TableHoldsTable`. +/// +/// Provides typed access to columns for query building. +pub struct TableHoldsTableCols { + pub a: __sdk::__query_builder::Col, + pub b: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for TableHoldsTable { + type Cols = TableHoldsTableCols; + fn cols(table_name: &'static str) -> Self::Cols { + TableHoldsTableCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + b: __sdk::__query_builder::Col::new(table_name, "b"), + } + } +} + +/// Indexed column accessor struct for the table `TableHoldsTable`. +/// +/// Provides typed access to indexed columns for query building. +pub struct TableHoldsTableIxCols {} + +impl __sdk::__query_builder::HasIxCols for TableHoldsTable { + type IxCols = TableHoldsTableIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + TableHoldsTableIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_bool_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_bool_table.rs index f94debf2004..48724f06c25 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_bool_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_bool_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueBoolBUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueBool`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_boolQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueBool`. + fn unique_bool(&self) -> __sdk::__query_builder::Table; +} + +impl unique_boolQueryTableAccess for __sdk::QueryTableAccessor { + fn unique_bool(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_bool") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_bool_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_bool_type.rs index 2ad35f7bd48..92652790a32 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_bool_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_bool_type.rs @@ -14,3 +14,37 @@ pub struct UniqueBool { impl __sdk::InModule for UniqueBool { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueBool`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueBoolCols { + pub b: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueBool { + type Cols = UniqueBoolCols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueBoolCols { + b: __sdk::__query_builder::Col::new(table_name, "b"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueBool`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueBoolIxCols { + pub b: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueBool { + type IxCols = UniqueBoolIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueBoolIxCols { + b: __sdk::__query_builder::IxCol::new(table_name, "b"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_table.rs index c75ece52a0d..0d72298b31d 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueConnectionIdAUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueConnectionId`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_connection_idQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueConnectionId`. + fn unique_connection_id(&self) -> __sdk::__query_builder::Table; +} + +impl unique_connection_idQueryTableAccess for __sdk::QueryTableAccessor { + fn unique_connection_id(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_connection_id") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_type.rs index 91f6b6bcfc0..17cff44a1bb 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_connection_id_type.rs @@ -14,3 +14,37 @@ pub struct UniqueConnectionId { impl __sdk::InModule for UniqueConnectionId { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueConnectionId`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueConnectionIdCols { + pub a: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueConnectionId { + type Cols = UniqueConnectionIdCols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueConnectionIdCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueConnectionId`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueConnectionIdIxCols { + pub a: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueConnectionId { + type IxCols = UniqueConnectionIdIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueConnectionIdIxCols { + a: __sdk::__query_builder::IxCol::new(table_name, "a"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_table.rs index 95616b844eb..18df9739eec 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueI128NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueI128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_i128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueI128`. + fn unique_i128(&self) -> __sdk::__query_builder::Table; +} + +impl unique_i128QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_i128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_i128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_type.rs index 8837b684fb7..4d89b720575 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_128_type.rs @@ -14,3 +14,37 @@ pub struct UniqueI128 { impl __sdk::InModule for UniqueI128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueI128`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueI128Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueI128 { + type Cols = UniqueI128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueI128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueI128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueI128IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueI128 { + type IxCols = UniqueI128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueI128IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_table.rs index 2dfaa0cddb7..68a5fb97c40 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueI16NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueI16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_i16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueI16`. + fn unique_i16(&self) -> __sdk::__query_builder::Table; +} + +impl unique_i16QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_i16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_i16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_type.rs index c398a4f6e2a..2743c6b2b45 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_16_type.rs @@ -14,3 +14,37 @@ pub struct UniqueI16 { impl __sdk::InModule for UniqueI16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueI16`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueI16Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueI16 { + type Cols = UniqueI16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueI16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueI16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueI16IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueI16 { + type IxCols = UniqueI16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueI16IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_table.rs index d4c712ccdc8..18683ba6f6c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueI256NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueI256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_i256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueI256`. + fn unique_i256(&self) -> __sdk::__query_builder::Table; +} + +impl unique_i256QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_i256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_i256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_type.rs index a8d657d4df0..6571e72c953 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_256_type.rs @@ -14,3 +14,37 @@ pub struct UniqueI256 { impl __sdk::InModule for UniqueI256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueI256`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueI256Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueI256 { + type Cols = UniqueI256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueI256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueI256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueI256IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueI256 { + type IxCols = UniqueI256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueI256IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_table.rs index 5f3dbc1cf48..07f6947ba4f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueI32NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueI32`. + fn unique_i32(&self) -> __sdk::__query_builder::Table; +} + +impl unique_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_type.rs index a3507a5827c..2bc9b21003e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_32_type.rs @@ -14,3 +14,37 @@ pub struct UniqueI32 { impl __sdk::InModule for UniqueI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueI32`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueI32Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueI32 { + type Cols = UniqueI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueI32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueI32IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueI32 { + type IxCols = UniqueI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueI32IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_table.rs index 3011b393f54..3ed13bf3ee7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueI64NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueI64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_i64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueI64`. + fn unique_i64(&self) -> __sdk::__query_builder::Table; +} + +impl unique_i64QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_i64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_i64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_type.rs index dd301f6eb6a..8d7bc39e42f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_64_type.rs @@ -14,3 +14,37 @@ pub struct UniqueI64 { impl __sdk::InModule for UniqueI64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueI64`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueI64Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueI64 { + type Cols = UniqueI64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueI64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueI64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueI64IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueI64 { + type IxCols = UniqueI64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueI64IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_table.rs index c1ce0b49ce5..03baf0aa672 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueI8NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueI8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_i8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueI8`. + fn unique_i8(&self) -> __sdk::__query_builder::Table; +} + +impl unique_i8QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_i8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_i8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_type.rs index 57ec0ee0c99..fd47d0cd913 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_i_8_type.rs @@ -14,3 +14,37 @@ pub struct UniqueI8 { impl __sdk::InModule for UniqueI8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueI8`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueI8Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueI8 { + type Cols = UniqueI8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueI8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueI8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueI8IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueI8 { + type IxCols = UniqueI8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueI8IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_identity_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_identity_table.rs index 8ddc2b1517a..50a40ba7742 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_identity_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_identity_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueIdentityIUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueIdentity`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_identityQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueIdentity`. + fn unique_identity(&self) -> __sdk::__query_builder::Table; +} + +impl unique_identityQueryTableAccess for __sdk::QueryTableAccessor { + fn unique_identity(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_identity") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_identity_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_identity_type.rs index 64659cd2a3c..0a6e5554f82 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_identity_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_identity_type.rs @@ -14,3 +14,37 @@ pub struct UniqueIdentity { impl __sdk::InModule for UniqueIdentity { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueIdentity`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueIdentityCols { + pub i: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueIdentity { + type Cols = UniqueIdentityCols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueIdentityCols { + i: __sdk::__query_builder::Col::new(table_name, "i"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueIdentity`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueIdentityIxCols { + pub i: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueIdentity { + type IxCols = UniqueIdentityIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueIdentityIxCols { + i: __sdk::__query_builder::IxCol::new(table_name, "i"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_string_table.rs index 0189fcbae34..0958b7688b6 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_string_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueStringSUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueString`. + fn unique_string(&self) -> __sdk::__query_builder::Table; +} + +impl unique_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn unique_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_string_type.rs index 71cd8c34b75..603f60e8b57 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_string_type.rs @@ -14,3 +14,37 @@ pub struct UniqueString { impl __sdk::InModule for UniqueString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueString`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueStringCols { + pub s: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueString { + type Cols = UniqueStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueStringCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueStringIxCols { + pub s: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueString { + type IxCols = UniqueStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueStringIxCols { + s: __sdk::__query_builder::IxCol::new(table_name, "s"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_table.rs index 7054ca44991..4022d6467a7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueU128NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueU128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_u128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueU128`. + fn unique_u128(&self) -> __sdk::__query_builder::Table; +} + +impl unique_u128QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_u128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_u128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_type.rs index e01b72445c4..e75ee09a2a3 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_128_type.rs @@ -14,3 +14,37 @@ pub struct UniqueU128 { impl __sdk::InModule for UniqueU128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueU128`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueU128Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueU128 { + type Cols = UniqueU128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueU128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueU128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueU128IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueU128 { + type IxCols = UniqueU128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueU128IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_table.rs index af7cb30acdb..0f067701c0a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueU16NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueU16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_u16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueU16`. + fn unique_u16(&self) -> __sdk::__query_builder::Table; +} + +impl unique_u16QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_u16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_u16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_type.rs index 5ab0494da97..571fb9ee4c0 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_16_type.rs @@ -14,3 +14,37 @@ pub struct UniqueU16 { impl __sdk::InModule for UniqueU16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueU16`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueU16Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueU16 { + type Cols = UniqueU16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueU16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueU16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueU16IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueU16 { + type IxCols = UniqueU16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueU16IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_table.rs index 0a1993ebf6d..d9a31ce0e84 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueU256NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueU256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_u256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueU256`. + fn unique_u256(&self) -> __sdk::__query_builder::Table; +} + +impl unique_u256QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_u256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_u256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_type.rs index b3d4713253d..2bd9da359cb 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_256_type.rs @@ -14,3 +14,37 @@ pub struct UniqueU256 { impl __sdk::InModule for UniqueU256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueU256`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueU256Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueU256 { + type Cols = UniqueU256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueU256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueU256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueU256IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueU256 { + type IxCols = UniqueU256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueU256IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_table.rs index 7560560b804..01f66575532 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueU32NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueU32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_u32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueU32`. + fn unique_u32(&self) -> __sdk::__query_builder::Table; +} + +impl unique_u32QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_u32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_u32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_type.rs index a907fb1bcf4..9f9d9bd501f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_32_type.rs @@ -14,3 +14,37 @@ pub struct UniqueU32 { impl __sdk::InModule for UniqueU32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueU32`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueU32Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueU32 { + type Cols = UniqueU32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueU32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueU32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueU32IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueU32 { + type IxCols = UniqueU32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueU32IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_table.rs index da4c02b275b..9a27ecbc568 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueU64NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueU64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_u64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueU64`. + fn unique_u64(&self) -> __sdk::__query_builder::Table; +} + +impl unique_u64QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_u64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_u64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_type.rs index 0723daeaa88..e4b29d0f09f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_64_type.rs @@ -14,3 +14,37 @@ pub struct UniqueU64 { impl __sdk::InModule for UniqueU64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueU64`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueU64Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueU64 { + type Cols = UniqueU64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueU64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueU64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueU64IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueU64 { + type IxCols = UniqueU64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueU64IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_table.rs index 6eaac880ae8..ea0ef99df06 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_table.rs @@ -124,3 +124,19 @@ impl<'ctx> UniqueU8NUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueU8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_u8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueU8`. + fn unique_u8(&self) -> __sdk::__query_builder::Table; +} + +impl unique_u8QueryTableAccess for __sdk::QueryTableAccessor { + fn unique_u8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_u8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_type.rs index a4b899bb884..fec9b5736f2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_u_8_type.rs @@ -14,3 +14,37 @@ pub struct UniqueU8 { impl __sdk::InModule for UniqueU8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueU8`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueU8Cols { + pub n: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueU8 { + type Cols = UniqueU8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueU8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueU8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueU8IxCols { + pub n: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueU8 { + type IxCols = UniqueU8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueU8IxCols { + n: __sdk::__query_builder::IxCol::new(table_name, "n"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_table.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_table.rs index d8cd46cd93b..2d80ae1317f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `UniqueUuid`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait unique_uuidQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UniqueUuid`. + fn unique_uuid(&self) -> __sdk::__query_builder::Table; +} + +impl unique_uuidQueryTableAccess for __sdk::QueryTableAccessor { + fn unique_uuid(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("unique_uuid") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_type.rs b/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_type.rs index c7d34736780..25c34119951 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/unique_uuid_type.rs @@ -14,3 +14,37 @@ pub struct UniqueUuid { impl __sdk::InModule for UniqueUuid { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `UniqueUuid`. +/// +/// Provides typed access to columns for query building. +pub struct UniqueUuidCols { + pub u: __sdk::__query_builder::Col, + pub data: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for UniqueUuid { + type Cols = UniqueUuidCols; + fn cols(table_name: &'static str) -> Self::Cols { + UniqueUuidCols { + u: __sdk::__query_builder::Col::new(table_name, "u"), + data: __sdk::__query_builder::Col::new(table_name, "data"), + } + } +} + +/// Indexed column accessor struct for the table `UniqueUuid`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UniqueUuidIxCols { + pub u: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for UniqueUuid { + type IxCols = UniqueUuidIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UniqueUuidIxCols { + u: __sdk::__query_builder::IxCol::new(table_name, "u"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/users_table.rs b/sdks/rust/tests/test-client/src/module_bindings/users_table.rs index 7ea007f823b..12aabe76e80 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/users_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/users_table.rs @@ -140,3 +140,19 @@ impl<'ctx> UsersIdentityUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `Users`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait usersQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Users`. + fn users(&self) -> __sdk::__query_builder::Table; +} + +impl usersQueryTableAccess for __sdk::QueryTableAccessor { + fn users(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("users") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/users_type.rs b/sdks/rust/tests/test-client/src/module_bindings/users_type.rs index 07cf3978845..e9c256c2e28 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/users_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/users_type.rs @@ -14,3 +14,37 @@ pub struct Users { impl __sdk::InModule for Users { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Users`. +/// +/// Provides typed access to columns for query building. +pub struct UsersCols { + pub identity: __sdk::__query_builder::Col, + pub name: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Users { + type Cols = UsersCols; + fn cols(table_name: &'static str) -> Self::Cols { + UsersCols { + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + name: __sdk::__query_builder::Col::new(table_name, "name"), + } + } +} + +/// Indexed column accessor struct for the table `Users`. +/// +/// Provides typed access to indexed columns for query building. +pub struct UsersIxCols { + pub identity: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for Users { + type IxCols = UsersIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + UsersIxCols { + identity: __sdk::__query_builder::IxCol::new(table_name, "identity"), + } + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_bool_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_bool_table.rs index b4713bdf534..130494821bf 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_bool_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_bool_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecBool`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_boolQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecBool`. + fn vec_bool(&self) -> __sdk::__query_builder::Table; +} + +impl vec_boolQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_bool(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_bool") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_bool_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_bool_type.rs index 23760c5a928..85f50be571e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_bool_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_bool_type.rs @@ -13,3 +13,31 @@ pub struct VecBool { impl __sdk::InModule for VecBool { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecBool`. +/// +/// Provides typed access to columns for query building. +pub struct VecBoolCols { + pub b: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecBool { + type Cols = VecBoolCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecBoolCols { + b: __sdk::__query_builder::Col::new(table_name, "b"), + } + } +} + +/// Indexed column accessor struct for the table `VecBool`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecBoolIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecBool { + type IxCols = VecBoolIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecBoolIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_table.rs index 09b9e461292..de84afc8dcd 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecByteStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_byte_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecByteStruct`. + fn vec_byte_struct(&self) -> __sdk::__query_builder::Table; +} + +impl vec_byte_structQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_byte_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_byte_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_type.rs index a06d55e6fe0..df8233ef624 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_byte_struct_type.rs @@ -15,3 +15,31 @@ pub struct VecByteStruct { impl __sdk::InModule for VecByteStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecByteStruct`. +/// +/// Provides typed access to columns for query building. +pub struct VecByteStructCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecByteStruct { + type Cols = VecByteStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecByteStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `VecByteStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecByteStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecByteStruct { + type IxCols = VecByteStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecByteStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_table.rs index 79c6642462d..bd0ac5c05d6 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecConnectionId`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_connection_idQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecConnectionId`. + fn vec_connection_id(&self) -> __sdk::__query_builder::Table; +} + +impl vec_connection_idQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_connection_id(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_connection_id") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_type.rs index b27bed828be..5205f48403e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_connection_id_type.rs @@ -13,3 +13,31 @@ pub struct VecConnectionId { impl __sdk::InModule for VecConnectionId { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecConnectionId`. +/// +/// Provides typed access to columns for query building. +pub struct VecConnectionIdCols { + pub a: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecConnectionId { + type Cols = VecConnectionIdCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecConnectionIdCols { + a: __sdk::__query_builder::Col::new(table_name, "a"), + } + } +} + +/// Indexed column accessor struct for the table `VecConnectionId`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecConnectionIdIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecConnectionId { + type IxCols = VecConnectionIdIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecConnectionIdIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_table.rs index d8b534bc4d8..01f1fc4b217 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecEnumWithPayload`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_enum_with_payloadQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecEnumWithPayload`. + fn vec_enum_with_payload(&self) -> __sdk::__query_builder::Table; +} + +impl vec_enum_with_payloadQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_enum_with_payload(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_enum_with_payload") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_type.rs index 5ad05abf0d3..9f012d949d7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_enum_with_payload_type.rs @@ -15,3 +15,31 @@ pub struct VecEnumWithPayload { impl __sdk::InModule for VecEnumWithPayload { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecEnumWithPayload`. +/// +/// Provides typed access to columns for query building. +pub struct VecEnumWithPayloadCols { + pub e: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecEnumWithPayload { + type Cols = VecEnumWithPayloadCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecEnumWithPayloadCols { + e: __sdk::__query_builder::Col::new(table_name, "e"), + } + } +} + +/// Indexed column accessor struct for the table `VecEnumWithPayload`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecEnumWithPayloadIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecEnumWithPayload { + type IxCols = VecEnumWithPayloadIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecEnumWithPayloadIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_table.rs index ee7904aa4ee..239c167419c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_table.rs @@ -96,3 +96,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecEveryPrimitiveStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_every_primitive_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecEveryPrimitiveStruct`. + fn vec_every_primitive_struct(&self) -> __sdk::__query_builder::Table; +} + +impl vec_every_primitive_structQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_every_primitive_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_every_primitive_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_type.rs index 7a03b493d5f..52f9e17448d 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_every_primitive_struct_type.rs @@ -15,3 +15,31 @@ pub struct VecEveryPrimitiveStruct { impl __sdk::InModule for VecEveryPrimitiveStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecEveryPrimitiveStruct`. +/// +/// Provides typed access to columns for query building. +pub struct VecEveryPrimitiveStructCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecEveryPrimitiveStruct { + type Cols = VecEveryPrimitiveStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecEveryPrimitiveStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `VecEveryPrimitiveStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecEveryPrimitiveStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecEveryPrimitiveStruct { + type IxCols = VecEveryPrimitiveStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecEveryPrimitiveStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_table.rs index 652cec70519..d6358b545c2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecEveryVecStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_every_vec_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecEveryVecStruct`. + fn vec_every_vec_struct(&self) -> __sdk::__query_builder::Table; +} + +impl vec_every_vec_structQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_every_vec_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_every_vec_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_type.rs index 9959ebb7e8c..d28ce4a4307 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_every_vec_struct_type.rs @@ -15,3 +15,31 @@ pub struct VecEveryVecStruct { impl __sdk::InModule for VecEveryVecStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecEveryVecStruct`. +/// +/// Provides typed access to columns for query building. +pub struct VecEveryVecStructCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecEveryVecStruct { + type Cols = VecEveryVecStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecEveryVecStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `VecEveryVecStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecEveryVecStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecEveryVecStruct { + type IxCols = VecEveryVecStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecEveryVecStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_table.rs index 24927059c36..d9835690f2a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecF32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_f32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecF32`. + fn vec_f32(&self) -> __sdk::__query_builder::Table; +} + +impl vec_f32QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_f32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_f32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_type.rs index 05bd0bcee20..6cb53fa07a3 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_f_32_type.rs @@ -13,3 +13,31 @@ pub struct VecF32 { impl __sdk::InModule for VecF32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecF32`. +/// +/// Provides typed access to columns for query building. +pub struct VecF32Cols { + pub f: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecF32 { + type Cols = VecF32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecF32Cols { + f: __sdk::__query_builder::Col::new(table_name, "f"), + } + } +} + +/// Indexed column accessor struct for the table `VecF32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecF32IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecF32 { + type IxCols = VecF32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecF32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_table.rs index a330430172f..4c2c2e70bc7 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecF64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_f64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecF64`. + fn vec_f64(&self) -> __sdk::__query_builder::Table; +} + +impl vec_f64QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_f64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_f64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_type.rs index 2dc3cd347ae..ef8b266dddf 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_f_64_type.rs @@ -13,3 +13,31 @@ pub struct VecF64 { impl __sdk::InModule for VecF64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecF64`. +/// +/// Provides typed access to columns for query building. +pub struct VecF64Cols { + pub f: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecF64 { + type Cols = VecF64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecF64Cols { + f: __sdk::__query_builder::Col::new(table_name, "f"), + } + } +} + +/// Indexed column accessor struct for the table `VecF64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecF64IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecF64 { + type IxCols = VecF64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecF64IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_table.rs index cdbee62d05c..e04485e3f32 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecI128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_i128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecI128`. + fn vec_i128(&self) -> __sdk::__query_builder::Table; +} + +impl vec_i128QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_i128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_i128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_type.rs index 4e62dafb1d9..f54dd3a07e6 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_128_type.rs @@ -13,3 +13,31 @@ pub struct VecI128 { impl __sdk::InModule for VecI128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecI128`. +/// +/// Provides typed access to columns for query building. +pub struct VecI128Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecI128 { + type Cols = VecI128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecI128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecI128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecI128IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecI128 { + type IxCols = VecI128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecI128IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_table.rs index 991aba916a2..bdc714c5c10 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecI16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_i16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecI16`. + fn vec_i16(&self) -> __sdk::__query_builder::Table; +} + +impl vec_i16QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_i16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_i16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_type.rs index 74639aaf7a4..fea9dccb5d3 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_16_type.rs @@ -13,3 +13,31 @@ pub struct VecI16 { impl __sdk::InModule for VecI16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecI16`. +/// +/// Provides typed access to columns for query building. +pub struct VecI16Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecI16 { + type Cols = VecI16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecI16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecI16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecI16IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecI16 { + type IxCols = VecI16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecI16IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_table.rs index 68bd20bccd9..fdf14de549c 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecI256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_i256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecI256`. + fn vec_i256(&self) -> __sdk::__query_builder::Table; +} + +impl vec_i256QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_i256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_i256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_type.rs index 1e0c29b7b2b..aa82923e382 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_256_type.rs @@ -13,3 +13,31 @@ pub struct VecI256 { impl __sdk::InModule for VecI256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecI256`. +/// +/// Provides typed access to columns for query building. +pub struct VecI256Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecI256 { + type Cols = VecI256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecI256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecI256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecI256IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecI256 { + type IxCols = VecI256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecI256IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_table.rs index 4ce6966f973..694231700f1 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecI32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_i32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecI32`. + fn vec_i32(&self) -> __sdk::__query_builder::Table; +} + +impl vec_i32QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_i32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_i32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_type.rs index 3255e6f5d41..0e9e457df20 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_32_type.rs @@ -13,3 +13,31 @@ pub struct VecI32 { impl __sdk::InModule for VecI32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecI32`. +/// +/// Provides typed access to columns for query building. +pub struct VecI32Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecI32 { + type Cols = VecI32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecI32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecI32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecI32IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecI32 { + type IxCols = VecI32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecI32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_table.rs index a878c77f348..b467486ebe4 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecI64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_i64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecI64`. + fn vec_i64(&self) -> __sdk::__query_builder::Table; +} + +impl vec_i64QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_i64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_i64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_type.rs index 0856c190dea..df38c71ab81 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_64_type.rs @@ -13,3 +13,31 @@ pub struct VecI64 { impl __sdk::InModule for VecI64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecI64`. +/// +/// Provides typed access to columns for query building. +pub struct VecI64Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecI64 { + type Cols = VecI64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecI64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecI64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecI64IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecI64 { + type IxCols = VecI64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecI64IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_table.rs index 9d7f38e2ab8..f0bb561efba 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecI8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_i8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecI8`. + fn vec_i8(&self) -> __sdk::__query_builder::Table; +} + +impl vec_i8QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_i8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_i8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_type.rs index 8043af6308e..fd47b9ee861 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_i_8_type.rs @@ -13,3 +13,31 @@ pub struct VecI8 { impl __sdk::InModule for VecI8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecI8`. +/// +/// Provides typed access to columns for query building. +pub struct VecI8Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecI8 { + type Cols = VecI8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecI8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecI8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecI8IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecI8 { + type IxCols = VecI8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecI8IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_identity_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_identity_table.rs index 467d6ec70db..9bfb12cd652 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_identity_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_identity_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecIdentity`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_identityQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecIdentity`. + fn vec_identity(&self) -> __sdk::__query_builder::Table; +} + +impl vec_identityQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_identity(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_identity") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_identity_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_identity_type.rs index a54b61ec8b0..c2bb75f9554 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_identity_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_identity_type.rs @@ -13,3 +13,31 @@ pub struct VecIdentity { impl __sdk::InModule for VecIdentity { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecIdentity`. +/// +/// Provides typed access to columns for query building. +pub struct VecIdentityCols { + pub i: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecIdentity { + type Cols = VecIdentityCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecIdentityCols { + i: __sdk::__query_builder::Col::new(table_name, "i"), + } + } +} + +/// Indexed column accessor struct for the table `VecIdentity`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecIdentityIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecIdentity { + type IxCols = VecIdentityIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecIdentityIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_table.rs index add16379e26..34045c978c2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecSimpleEnum`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_simple_enumQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecSimpleEnum`. + fn vec_simple_enum(&self) -> __sdk::__query_builder::Table; +} + +impl vec_simple_enumQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_simple_enum(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_simple_enum") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_type.rs index ff9a11a52cd..ec1cb92bb5b 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_simple_enum_type.rs @@ -15,3 +15,31 @@ pub struct VecSimpleEnum { impl __sdk::InModule for VecSimpleEnum { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecSimpleEnum`. +/// +/// Provides typed access to columns for query building. +pub struct VecSimpleEnumCols { + pub e: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecSimpleEnum { + type Cols = VecSimpleEnumCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecSimpleEnumCols { + e: __sdk::__query_builder::Col::new(table_name, "e"), + } + } +} + +/// Indexed column accessor struct for the table `VecSimpleEnum`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecSimpleEnumIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecSimpleEnum { + type IxCols = VecSimpleEnumIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecSimpleEnumIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_string_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_string_table.rs index ece4b9b9579..0620c011781 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_string_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_string_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecString`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_stringQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecString`. + fn vec_string(&self) -> __sdk::__query_builder::Table; +} + +impl vec_stringQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_string(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_string") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_string_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_string_type.rs index 24b174619b0..87082641a53 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_string_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_string_type.rs @@ -13,3 +13,31 @@ pub struct VecString { impl __sdk::InModule for VecString { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecString`. +/// +/// Provides typed access to columns for query building. +pub struct VecStringCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecString { + type Cols = VecStringCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecStringCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `VecString`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecStringIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecString { + type IxCols = VecStringIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecStringIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_table.rs index 6a407ffc397..e8a770d145e 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecTimestamp`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_timestampQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecTimestamp`. + fn vec_timestamp(&self) -> __sdk::__query_builder::Table; +} + +impl vec_timestampQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_timestamp(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_timestamp") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_type.rs index 22812ad1d5e..721562993eb 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_timestamp_type.rs @@ -13,3 +13,31 @@ pub struct VecTimestamp { impl __sdk::InModule for VecTimestamp { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecTimestamp`. +/// +/// Provides typed access to columns for query building. +pub struct VecTimestampCols { + pub t: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecTimestamp { + type Cols = VecTimestampCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecTimestampCols { + t: __sdk::__query_builder::Col::new(table_name, "t"), + } + } +} + +/// Indexed column accessor struct for the table `VecTimestamp`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecTimestampIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecTimestamp { + type IxCols = VecTimestampIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecTimestampIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_table.rs index fed8d9b2437..6e7cbfc0d18 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecU128`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_u128QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecU128`. + fn vec_u128(&self) -> __sdk::__query_builder::Table; +} + +impl vec_u128QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_u128(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_u128") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_type.rs index 214b02a9713..fdda362abad 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_128_type.rs @@ -13,3 +13,31 @@ pub struct VecU128 { impl __sdk::InModule for VecU128 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecU128`. +/// +/// Provides typed access to columns for query building. +pub struct VecU128Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecU128 { + type Cols = VecU128Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecU128Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecU128`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecU128IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecU128 { + type IxCols = VecU128IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecU128IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_table.rs index 154441e93d9..cb6a1510f17 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecU16`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_u16QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecU16`. + fn vec_u16(&self) -> __sdk::__query_builder::Table; +} + +impl vec_u16QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_u16(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_u16") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_type.rs index 8508df05708..1ce29594cc3 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_16_type.rs @@ -13,3 +13,31 @@ pub struct VecU16 { impl __sdk::InModule for VecU16 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecU16`. +/// +/// Provides typed access to columns for query building. +pub struct VecU16Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecU16 { + type Cols = VecU16Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecU16Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecU16`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecU16IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecU16 { + type IxCols = VecU16IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecU16IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_table.rs index 837974f5219..110d02b33aa 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecU256`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_u256QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecU256`. + fn vec_u256(&self) -> __sdk::__query_builder::Table; +} + +impl vec_u256QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_u256(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_u256") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_type.rs index 72f1f6aadf3..db1e22d5ded 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_256_type.rs @@ -13,3 +13,31 @@ pub struct VecU256 { impl __sdk::InModule for VecU256 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecU256`. +/// +/// Provides typed access to columns for query building. +pub struct VecU256Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecU256 { + type Cols = VecU256Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecU256Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecU256`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecU256IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecU256 { + type IxCols = VecU256IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecU256IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_table.rs index 2537aa90643..9311714822f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecU32`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_u32QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecU32`. + fn vec_u32(&self) -> __sdk::__query_builder::Table; +} + +impl vec_u32QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_u32(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_u32") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_type.rs index 59f73065e2e..8a81945e8cf 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_32_type.rs @@ -13,3 +13,31 @@ pub struct VecU32 { impl __sdk::InModule for VecU32 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecU32`. +/// +/// Provides typed access to columns for query building. +pub struct VecU32Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecU32 { + type Cols = VecU32Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecU32Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecU32`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecU32IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecU32 { + type IxCols = VecU32IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecU32IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_table.rs index bd669480ee5..11b850ac92f 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecU64`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_u64QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecU64`. + fn vec_u64(&self) -> __sdk::__query_builder::Table; +} + +impl vec_u64QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_u64(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_u64") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_type.rs index e990e244bc1..23283c48b23 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_64_type.rs @@ -13,3 +13,31 @@ pub struct VecU64 { impl __sdk::InModule for VecU64 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecU64`. +/// +/// Provides typed access to columns for query building. +pub struct VecU64Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecU64 { + type Cols = VecU64Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecU64Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecU64`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecU64IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecU64 { + type IxCols = VecU64IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecU64IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_table.rs index b8417d6019f..3a04cd2d82a 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecU8`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_u8QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecU8`. + fn vec_u8(&self) -> __sdk::__query_builder::Table; +} + +impl vec_u8QueryTableAccess for __sdk::QueryTableAccessor { + fn vec_u8(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_u8") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_type.rs index ed3d3056775..0e324f60f30 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_u_8_type.rs @@ -13,3 +13,31 @@ pub struct VecU8 { impl __sdk::InModule for VecU8 { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecU8`. +/// +/// Provides typed access to columns for query building. +pub struct VecU8Cols { + pub n: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecU8 { + type Cols = VecU8Cols; + fn cols(table_name: &'static str) -> Self::Cols { + VecU8Cols { + n: __sdk::__query_builder::Col::new(table_name, "n"), + } + } +} + +/// Indexed column accessor struct for the table `VecU8`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecU8IxCols {} + +impl __sdk::__query_builder::HasIxCols for VecU8 { + type IxCols = VecU8IxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecU8IxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_table.rs index 4311340ddce..7d8ab9e61f2 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_table.rs @@ -94,3 +94,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecUnitStruct`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_unit_structQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecUnitStruct`. + fn vec_unit_struct(&self) -> __sdk::__query_builder::Table; +} + +impl vec_unit_structQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_unit_struct(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_unit_struct") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_type.rs index 81d5a24bfc2..2ee7e98c3cc 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_unit_struct_type.rs @@ -15,3 +15,31 @@ pub struct VecUnitStruct { impl __sdk::InModule for VecUnitStruct { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecUnitStruct`. +/// +/// Provides typed access to columns for query building. +pub struct VecUnitStructCols { + pub s: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecUnitStruct { + type Cols = VecUnitStructCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecUnitStructCols { + s: __sdk::__query_builder::Col::new(table_name, "s"), + } + } +} + +/// Indexed column accessor struct for the table `VecUnitStruct`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecUnitStructIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecUnitStruct { + type IxCols = VecUnitStructIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecUnitStructIxCols {} + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_table.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_table.rs index 4a96bcdc229..c70b4aac6d0 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_table.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `VecUuid`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait vec_uuidQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `VecUuid`. + fn vec_uuid(&self) -> __sdk::__query_builder::Table; +} + +impl vec_uuidQueryTableAccess for __sdk::QueryTableAccessor { + fn vec_uuid(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("vec_uuid") + } +} diff --git a/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_type.rs b/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_type.rs index ff729171f18..163a7b9aaec 100644 --- a/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_type.rs +++ b/sdks/rust/tests/test-client/src/module_bindings/vec_uuid_type.rs @@ -13,3 +13,31 @@ pub struct VecUuid { impl __sdk::InModule for VecUuid { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `VecUuid`. +/// +/// Provides typed access to columns for query building. +pub struct VecUuidCols { + pub u: __sdk::__query_builder::Col>, +} + +impl __sdk::__query_builder::HasCols for VecUuid { + type Cols = VecUuidCols; + fn cols(table_name: &'static str) -> Self::Cols { + VecUuidCols { + u: __sdk::__query_builder::Col::new(table_name, "u"), + } + } +} + +/// Indexed column accessor struct for the table `VecUuid`. +/// +/// Provides typed access to indexed columns for query building. +pub struct VecUuidIxCols {} + +impl __sdk::__query_builder::HasIxCols for VecUuid { + type IxCols = VecUuidIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + VecUuidIxCols {} + } +} diff --git a/sdks/rust/tests/test.rs b/sdks/rust/tests/test.rs index ebc5bffc3be..76a33f0aee4 100644 --- a/sdks/rust/tests/test.rs +++ b/sdks/rust/tests/test.rs @@ -383,6 +383,11 @@ mod view { make_test("view-anonymous-subscribe").run() } + #[test] + fn subscribe_anonymous_view_query_builder() { + make_test("view-anonymous-subscribe-with-query-builder").run() + } + #[test] fn subscribe_non_anonymous_view() { make_test("view-non-anonymous-subscribe").run() @@ -393,6 +398,11 @@ mod view { make_test("view-non-table-return").run() } + #[test] + fn subscribe_view_non_table_query_builder_return() { + make_test("view-non-table-query-builder-return").run() + } + #[test] fn subscription_updates_for_view() { make_test("view-subscription-update").run() diff --git a/sdks/rust/tests/view-client/src/main.rs b/sdks/rust/tests/view-client/src/main.rs index 37d43eeb6eb..0554444da1b 100644 --- a/sdks/rust/tests/view-client/src/main.rs +++ b/sdks/rust/tests/view-client/src/main.rs @@ -37,8 +37,11 @@ fn main() { match &*test { "view-anonymous-subscribe" => exec_anonymous_subscribe(), + "view-anonymous-subscribe-with-query-builder" => exec_anonymous_subscribe_with_query_builder(), "view-non-anonymous-subscribe" => exec_non_anonymous_subscribe(), + "view-non-table-return" => exec_non_table_return(), + "view-non-table-query-builder-return" => exec_non_table_query_builder_return(), "view-subscription-update" => exec_subscription_update(), _ => panic!("Unknown test: {test}"), } @@ -131,6 +134,58 @@ fn exec_anonymous_subscribe() { test_counter.wait_for_all(); } +fn exec_anonymous_subscribe_with_query_builder() { + let test_counter = TestCounter::new(); + let mut insert_0 = Some(test_counter.add_test("insert_0")); + let mut insert_1 = Some(test_counter.add_test("insert_1")); + let mut delete_1 = Some(test_counter.add_test("delete_1")); + connect_then(&test_counter, move |ctx| { + ctx.subscription_builder() + .on_error(|_ctx, error| panic!("Subscription errored: {error:?}")) + .on_applied(move |ctx| { + ctx.db.player().on_insert(move |_, player| { + if player.identity == Identity::from_byte_array([2; 32]) { + return put_result(&mut insert_0, Ok(())); + } + if player.identity == Identity::from_byte_array([4; 32]) { + return put_result(&mut insert_1, Ok(())); + } + unreachable!("Unexpected identity on insert: `{}`", player.identity) + }); + ctx.db.player().on_delete(move |_, player| { + if player.identity == Identity::from_byte_array([4; 32]) { + return put_result(&mut delete_1, Ok(())); + } + unreachable!("Unexpected identity on delete: `{}`", player.identity) + }); + ctx.reducers() + .insert_player(Identity::from_byte_array([1; 32]), 1) + .unwrap(); + ctx.reducers() + .insert_player(Identity::from_byte_array([2; 32]), 0) + .unwrap(); + ctx.reducers() + .insert_player(Identity::from_byte_array([3; 32]), 1) + .unwrap(); + ctx.reducers() + .insert_player(Identity::from_byte_array([4; 32]), 0) + .unwrap(); + ctx.reducers() + .delete_player(Identity::from_byte_array([4; 32])) + .unwrap(); + }) + .add_query(|ctx| { + ctx.from + .player_level() + .filter(|pl| pl.level.eq(0)) + .right_semijoin(ctx.from.player(), |lvl, pl| lvl.entity_id.eq(pl.entity_id)) + .build() + }) + .subscribe(); + }); + test_counter.wait_for_all(); +} + fn exec_non_anonymous_subscribe() { let test_counter = TestCounter::new(); let mut insert = Some(test_counter.add_test("insert")); @@ -189,6 +244,41 @@ fn exec_non_table_return() { test_counter.wait_for_all(); } +fn exec_non_table_query_builder_return() { + let test_counter = TestCounter::new(); + let mut insert = Some(test_counter.add_test("insert")); + let mut delete = Some(test_counter.add_test("delete")); + connect_then(&test_counter, move |ctx| { + ctx.subscription_builder() + .on_error(|_ctx, error| panic!("Subscription errored: {error:?}")) + .on_applied(move |ctx| { + let my_identity = ctx.identity(); + ctx.db.my_player_and_level().on_insert(move |_, player| { + assert_eq!(player.identity, my_identity); + assert_eq!(player.level, 1); + put_result(&mut insert, Ok(())); + }); + ctx.db.my_player_and_level().on_delete(move |_, player| { + assert_eq!(player.identity, my_identity); + assert_eq!(player.level, 1); + put_result(&mut delete, Ok(())); + }); + ctx.reducers() + .insert_player(Identity::from_byte_array([1; 32]), 0) + .unwrap(); + ctx.reducers().insert_player(my_identity, 1).unwrap(); + + ctx.reducers() + .delete_player(Identity::from_byte_array([1; 32])) + .unwrap(); + ctx.reducers().delete_player(my_identity).unwrap(); + }) + .add_query(|q_ctx| q_ctx.from.my_player_and_level().filter(|p| p.level.eq(1)).build()) + .subscribe(); + }); + test_counter.wait_for_all(); +} + fn exec_subscription_update() { let test_counter = TestCounter::new(); diff --git a/sdks/rust/tests/view-client/src/module_bindings/mod.rs b/sdks/rust/tests/view-client/src/module_bindings/mod.rs index 8a36227d57c..40ff3f092bf 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/mod.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/mod.rs @@ -1,7 +1,7 @@ // THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. -// This was generated using spacetimedb cli version 1.11.1 (commit 6898dc4d92500bc72c2f8d9ea7c037f8c6f9fe1d). +// This was generated using spacetimedb cli version 1.11.2 (commit 13a0172567170d9b8c87d2aa71de3246c21acb8c). #![allow(unused, clippy::all)] use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; @@ -902,6 +902,7 @@ impl __sdk::SpacetimeModule for RemoteModule { type DbUpdate = DbUpdate; type AppliedDiff<'r> = AppliedDiff<'r>; type SubscriptionHandle = SubscriptionHandle; + type QueryBuilder = __sdk::QueryBuilder; fn register_tables(client_cache: &mut __sdk::ClientCache) { my_player_table::register_table(client_cache); diff --git a/sdks/rust/tests/view-client/src/module_bindings/my_player_and_level_table.rs b/sdks/rust/tests/view-client/src/module_bindings/my_player_and_level_table.rs index b344dd9eeff..d1d7d269d68 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/my_player_and_level_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/my_player_and_level_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PlayerAndLevel`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait my_player_and_levelQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PlayerAndLevel`. + fn my_player_and_level(&self) -> __sdk::__query_builder::Table; +} + +impl my_player_and_levelQueryTableAccess for __sdk::QueryTableAccessor { + fn my_player_and_level(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("my_player_and_level") + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/my_player_table.rs b/sdks/rust/tests/view-client/src/module_bindings/my_player_table.rs index 50904a7a156..c3d22f97b02 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/my_player_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/my_player_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `Player`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait my_playerQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Player`. + fn my_player(&self) -> __sdk::__query_builder::Table; +} + +impl my_playerQueryTableAccess for __sdk::QueryTableAccessor { + fn my_player(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("my_player") + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/nearby_players_table.rs b/sdks/rust/tests/view-client/src/module_bindings/nearby_players_table.rs index 2c51b73dc91..62d994b1892 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/nearby_players_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/nearby_players_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PlayerLocation`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait nearby_playersQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PlayerLocation`. + fn nearby_players(&self) -> __sdk::__query_builder::Table; +} + +impl nearby_playersQueryTableAccess for __sdk::QueryTableAccessor { + fn nearby_players(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("nearby_players") + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_and_level_type.rs b/sdks/rust/tests/view-client/src/module_bindings/player_and_level_type.rs index 0feaea0053b..42eef617d7b 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_and_level_type.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_and_level_type.rs @@ -15,3 +15,23 @@ pub struct PlayerAndLevel { impl __sdk::InModule for PlayerAndLevel { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PlayerAndLevel`. +/// +/// Provides typed access to columns for query building. +pub struct PlayerAndLevelCols { + pub entity_id: __sdk::__query_builder::Col, + pub identity: __sdk::__query_builder::Col, + pub level: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PlayerAndLevel { + type Cols = PlayerAndLevelCols; + fn cols(table_name: &'static str) -> Self::Cols { + PlayerAndLevelCols { + entity_id: __sdk::__query_builder::Col::new(table_name, "entity_id"), + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + level: __sdk::__query_builder::Col::new(table_name, "level"), + } + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_level_table.rs b/sdks/rust/tests/view-client/src/module_bindings/player_level_table.rs index 0b6ded6e0d5..d1a761b1d08 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_level_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_level_table.rs @@ -124,3 +124,19 @@ impl<'ctx> PlayerLevelEntityIdUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PlayerLevel`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait player_levelQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PlayerLevel`. + fn player_level(&self) -> __sdk::__query_builder::Table; +} + +impl player_levelQueryTableAccess for __sdk::QueryTableAccessor { + fn player_level(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("player_level") + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_level_type.rs b/sdks/rust/tests/view-client/src/module_bindings/player_level_type.rs index 1bb1f7555ee..98b25e6a137 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_level_type.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_level_type.rs @@ -14,3 +14,39 @@ pub struct PlayerLevel { impl __sdk::InModule for PlayerLevel { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PlayerLevel`. +/// +/// Provides typed access to columns for query building. +pub struct PlayerLevelCols { + pub entity_id: __sdk::__query_builder::Col, + pub level: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PlayerLevel { + type Cols = PlayerLevelCols; + fn cols(table_name: &'static str) -> Self::Cols { + PlayerLevelCols { + entity_id: __sdk::__query_builder::Col::new(table_name, "entity_id"), + level: __sdk::__query_builder::Col::new(table_name, "level"), + } + } +} + +/// Indexed column accessor struct for the table `PlayerLevel`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PlayerLevelIxCols { + pub entity_id: __sdk::__query_builder::IxCol, + pub level: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PlayerLevel { + type IxCols = PlayerLevelIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PlayerLevelIxCols { + entity_id: __sdk::__query_builder::IxCol::new(table_name, "entity_id"), + level: __sdk::__query_builder::IxCol::new(table_name, "level"), + } + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_location_table.rs b/sdks/rust/tests/view-client/src/module_bindings/player_location_table.rs index 7d71a1de2e2..97034b47576 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_location_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_location_table.rs @@ -124,3 +124,19 @@ impl<'ctx> PlayerLocationEntityIdUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `PlayerLocation`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait player_locationQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PlayerLocation`. + fn player_location(&self) -> __sdk::__query_builder::Table; +} + +impl player_locationQueryTableAccess for __sdk::QueryTableAccessor { + fn player_location(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("player_location") + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_location_type.rs b/sdks/rust/tests/view-client/src/module_bindings/player_location_type.rs index a36826818ad..a2d29d18188 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_location_type.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_location_type.rs @@ -16,3 +16,43 @@ pub struct PlayerLocation { impl __sdk::InModule for PlayerLocation { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `PlayerLocation`. +/// +/// Provides typed access to columns for query building. +pub struct PlayerLocationCols { + pub entity_id: __sdk::__query_builder::Col, + pub active: __sdk::__query_builder::Col, + pub x: __sdk::__query_builder::Col, + pub y: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for PlayerLocation { + type Cols = PlayerLocationCols; + fn cols(table_name: &'static str) -> Self::Cols { + PlayerLocationCols { + entity_id: __sdk::__query_builder::Col::new(table_name, "entity_id"), + active: __sdk::__query_builder::Col::new(table_name, "active"), + x: __sdk::__query_builder::Col::new(table_name, "x"), + y: __sdk::__query_builder::Col::new(table_name, "y"), + } + } +} + +/// Indexed column accessor struct for the table `PlayerLocation`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PlayerLocationIxCols { + pub active: __sdk::__query_builder::IxCol, + pub entity_id: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for PlayerLocation { + type IxCols = PlayerLocationIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PlayerLocationIxCols { + active: __sdk::__query_builder::IxCol::new(table_name, "active"), + entity_id: __sdk::__query_builder::IxCol::new(table_name, "entity_id"), + } + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_table.rs b/sdks/rust/tests/view-client/src/module_bindings/player_table.rs index f33ba4aa8a7..68046ea4ac4 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_table.rs @@ -171,3 +171,19 @@ impl<'ctx> PlayerIdentityUnique<'ctx> { self.imp.find(col_val) } } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `Player`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait playerQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Player`. + fn player(&self) -> __sdk::__query_builder::Table; +} + +impl playerQueryTableAccess for __sdk::QueryTableAccessor { + fn player(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("player") + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/player_type.rs b/sdks/rust/tests/view-client/src/module_bindings/player_type.rs index 2ab79152871..b99ac46acf3 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/player_type.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/player_type.rs @@ -14,3 +14,39 @@ pub struct Player { impl __sdk::InModule for Player { type Module = super::RemoteModule; } + +/// Column accessor struct for the table `Player`. +/// +/// Provides typed access to columns for query building. +pub struct PlayerCols { + pub entity_id: __sdk::__query_builder::Col, + pub identity: __sdk::__query_builder::Col, +} + +impl __sdk::__query_builder::HasCols for Player { + type Cols = PlayerCols; + fn cols(table_name: &'static str) -> Self::Cols { + PlayerCols { + entity_id: __sdk::__query_builder::Col::new(table_name, "entity_id"), + identity: __sdk::__query_builder::Col::new(table_name, "identity"), + } + } +} + +/// Indexed column accessor struct for the table `Player`. +/// +/// Provides typed access to indexed columns for query building. +pub struct PlayerIxCols { + pub entity_id: __sdk::__query_builder::IxCol, + pub identity: __sdk::__query_builder::IxCol, +} + +impl __sdk::__query_builder::HasIxCols for Player { + type IxCols = PlayerIxCols; + fn ix_cols(table_name: &'static str) -> Self::IxCols { + PlayerIxCols { + entity_id: __sdk::__query_builder::IxCol::new(table_name, "entity_id"), + identity: __sdk::__query_builder::IxCol::new(table_name, "identity"), + } + } +} diff --git a/sdks/rust/tests/view-client/src/module_bindings/players_at_level_0_table.rs b/sdks/rust/tests/view-client/src/module_bindings/players_at_level_0_table.rs index 4fcc4ed3f87..95c528c5f5e 100644 --- a/sdks/rust/tests/view-client/src/module_bindings/players_at_level_0_table.rs +++ b/sdks/rust/tests/view-client/src/module_bindings/players_at_level_0_table.rs @@ -93,3 +93,19 @@ pub(super) fn parse_table_update( .into() }) } + +#[allow(non_camel_case_types)] +/// Extension trait for query builder access to the table `Player`. +/// +/// Implemented for [`__sdk::QueryTableAccessor`]. +pub trait players_at_level_0QueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `Player`. + fn players_at_level_0(&self) -> __sdk::__query_builder::Table; +} + +impl players_at_level_0QueryTableAccess for __sdk::QueryTableAccessor { + fn players_at_level_0(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("players_at_level_0") + } +}