Skip to content

Commit e5ce441

Browse files
Merge remote-tracking branch 'origin/master' into onx2/table-traits
2 parents b170fc0 + c9c7115 commit e5ce441

13 files changed

Lines changed: 497 additions & 73 deletions

File tree

crates/bindings-typescript/case-conversion-test-client/src/module_bindings/person_2_table.ts

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/bindings-typescript/case-conversion-test-client/src/module_bindings/person_at_level_2_table.ts

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/bindings-typescript/case-conversion-test-client/src/module_bindings/player_1_table.ts

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/bindings-typescript/src/lib/type_builders.ts

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,7 +1568,9 @@ class SumBuilderImpl<Variants extends VariantsObj>
15681568
extends TypeBuilder<EnumType<Variants>, VariantsToSumType<Variants>>
15691569
implements
15701570
Defaultable<EnumType<Variants>, VariantsToSumType<Variants>>,
1571-
Nameable<EnumType<Variants>, VariantsToSumType<Variants>>
1571+
Nameable<EnumType<Variants>, VariantsToSumType<Variants>>,
1572+
Indexable<EnumType<Variants>, VariantsToSumType<Variants>>,
1573+
PrimaryKeyable<EnumType<Variants>, VariantsToSumType<Variants>>
15721574
{
15731575
readonly variants: Variants;
15741576
readonly typeName: string | undefined;
@@ -1673,6 +1675,33 @@ class SumBuilderImpl<Variants extends VariantsObj>
16731675
): SumColumnBuilder<Variants, SetField<DefaultMetadata, 'name', Name>> {
16741676
return new SumColumnBuilder(this, set(defaultMetadata, { name }));
16751677
}
1678+
index(): SumColumnBuilder<
1679+
Variants,
1680+
SetField<DefaultMetadata, 'indexType', 'btree'>
1681+
>;
1682+
index<N extends NonNullable<IndexTypes>>(
1683+
algorithm: N
1684+
): SumColumnBuilder<Variants, SetField<DefaultMetadata, 'indexType', N>>;
1685+
index(
1686+
algorithm: IndexTypes = 'btree'
1687+
): SumColumnBuilder<
1688+
Variants,
1689+
SetField<DefaultMetadata, 'indexType', IndexTypes>
1690+
> {
1691+
return new SumColumnBuilder(
1692+
this,
1693+
set(defaultMetadata, { indexType: algorithm })
1694+
);
1695+
}
1696+
primaryKey(): SumColumnBuilder<
1697+
Variants,
1698+
SetField<DefaultMetadata, 'isPrimaryKey', true>
1699+
> {
1700+
return new SumColumnBuilder(
1701+
this,
1702+
set(defaultMetadata, { isPrimaryKey: true })
1703+
);
1704+
}
16761705
}
16771706

16781707
export const SumBuilder: {
@@ -3273,7 +3302,9 @@ export class SumColumnBuilder<
32733302
extends ColumnBuilder<EnumType<Variants>, VariantsToSumType<Variants>, M>
32743303
implements
32753304
Defaultable<EnumType<Variants>, VariantsToSumType<Variants>>,
3276-
Nameable<EnumType<Variants>, VariantsToSumType<Variants>>
3305+
Nameable<EnumType<Variants>, VariantsToSumType<Variants>>,
3306+
Indexable<EnumType<Variants>, VariantsToSumType<Variants>>,
3307+
PrimaryKeyable<EnumType<Variants>, VariantsToSumType<Variants>>
32773308
{
32783309
default(
32793310
value: EnumType<Variants>
@@ -3294,6 +3325,33 @@ export class SumColumnBuilder<
32943325
set(this.columnMetadata, { name })
32953326
);
32963327
}
3328+
index(): SumColumnBuilder<
3329+
Variants,
3330+
SetField<DefaultMetadata, 'indexType', 'btree'>
3331+
>;
3332+
index<N extends NonNullable<IndexTypes>>(
3333+
algorithm: N
3334+
): SumColumnBuilder<Variants, SetField<DefaultMetadata, 'indexType', N>>;
3335+
index(
3336+
algorithm: IndexTypes = 'btree'
3337+
): SumColumnBuilder<
3338+
Variants,
3339+
SetField<DefaultMetadata, 'indexType', IndexTypes>
3340+
> {
3341+
return new SumColumnBuilder(
3342+
this.typeBuilder,
3343+
set(this.columnMetadata, { indexType: algorithm })
3344+
);
3345+
}
3346+
primaryKey(): SumColumnBuilder<
3347+
Variants,
3348+
SetField<DefaultMetadata, 'isPrimaryKey', true>
3349+
> {
3350+
return new SumColumnBuilder(
3351+
this.typeBuilder,
3352+
set(this.columnMetadata, { isPrimaryKey: true })
3353+
);
3354+
}
32973355
}
32983356

32993357
export class SimpleSumColumnBuilder<

crates/bindings/src/http.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::StdbRng;
1313
#[cfg(feature = "unstable")]
1414
use crate::{try_with_tx, with_tx, Timestamp, TxContext};
1515
use bytes::Bytes;
16-
#[cfg(all(feature = "rand", feature = "unstable"))]
16+
#[cfg(all(feature = "rand08", feature = "unstable"))]
1717
use rand08::RngCore;
1818
#[cfg(feature = "unstable")]
1919
use spacetimedb_lib::db::raw_def::v10::MethodOrAny;
@@ -22,10 +22,10 @@ use spacetimedb_lib::http as st_http;
2222
use spacetimedb_lib::http::{character_is_acceptable_for_route_path, ACCEPTABLE_ROUTE_PATH_CHARS_HUMAN_DESCRIPTION};
2323
#[cfg(feature = "unstable")]
2424
use spacetimedb_lib::Identity;
25-
#[cfg(all(feature = "unstable", feature = "rand"))]
25+
#[cfg(all(feature = "unstable", feature = "rand08"))]
2626
use spacetimedb_lib::Uuid;
2727
use spacetimedb_lib::{bsatn, TimeDuration};
28-
#[cfg(all(feature = "unstable", feature = "rand"))]
28+
#[cfg(all(feature = "unstable", feature = "rand08"))]
2929
use std::cell::Cell;
3030
#[cfg(all(feature = "unstable", feature = "rand08"))]
3131
use std::cell::OnceCell;
@@ -72,7 +72,7 @@ pub use spacetimedb_bindings_macro::http_handler as handler;
7272

7373
/// Register a [`Router`](struct@Router) to route HTTP requests to handlers.
7474
///
75-
/// This should annotate a function of no arguments which returns a [`Router`](struct@router).
75+
/// This should annotate a function of no arguments which returns a [`Router`](struct@Router).
7676
///
7777
/// ```no_run
7878
/// # use spacetimedb::http::{handler, router, Request, Response, Body, HandlerContext, Router};
@@ -109,7 +109,7 @@ pub struct HandlerContext {
109109

110110
/// A counter used for generating UUIDv7 values.
111111
/// **Note:** must be 0..=u32::MAX
112-
#[cfg(feature = "rand")]
112+
#[cfg(feature = "rand08")]
113113
pub(crate) counter_uuid: Cell<u32>,
114114
}
115115

@@ -121,7 +121,7 @@ impl HandlerContext {
121121
http: HttpClient {},
122122
#[cfg(feature = "rand08")]
123123
rng: OnceCell::new(),
124-
#[cfg(feature = "rand")]
124+
#[cfg(feature = "rand08")]
125125
counter_uuid: Cell::new(0),
126126
}
127127
}
@@ -148,15 +148,15 @@ impl HandlerContext {
148148
}
149149

150150
/// Create a new random [`Uuid`] `v4` using the built-in RNG.
151-
#[cfg(feature = "rand")]
151+
#[cfg(feature = "rand08")]
152152
pub fn new_uuid_v4(&self) -> anyhow::Result<Uuid> {
153153
let mut bytes = [0u8; 16];
154154
self.rng().try_fill_bytes(&mut bytes)?;
155155
Ok(Uuid::from_random_bytes_v4(bytes))
156156
}
157157

158158
/// Create a new sortable [`Uuid`] `v7` using the built-in RNG, counter and timestamp.
159-
#[cfg(feature = "rand")]
159+
#[cfg(feature = "rand08")]
160160
pub fn new_uuid_v7(&self) -> anyhow::Result<Uuid> {
161161
let mut random_bytes = [0u8; 4];
162162
self.rng().try_fill_bytes(&mut random_bytes)?;

0 commit comments

Comments
 (0)