diff --git a/crates/bindings-csharp/Codegen.Tests/fixtures/diag/snapshots/Module#FFI.verified.cs b/crates/bindings-csharp/Codegen.Tests/fixtures/diag/snapshots/Module#FFI.verified.cs index 8b12ae2bba3..e64f2bc5dd1 100644 --- a/crates/bindings-csharp/Codegen.Tests/fixtures/diag/snapshots/Module#FFI.verified.cs +++ b/crates/bindings-csharp/Codegen.Tests/fixtures/diag/snapshots/Module#FFI.verified.cs @@ -295,28 +295,28 @@ public sealed class TestUnexpectedColumnsIndex() { public IEnumerable Filter(int SelfIndexingColumn) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( SelfIndexingColumn ) ); public ulong Delete(int SelfIndexingColumn) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( SelfIndexingColumn ) ); public IEnumerable Filter(Bound SelfIndexingColumn) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( SelfIndexingColumn ) ); public ulong Delete(Bound SelfIndexingColumn) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( SelfIndexingColumn ) ); diff --git a/crates/bindings-csharp/Codegen.Tests/fixtures/server/snapshots/Module#FFI.verified.cs b/crates/bindings-csharp/Codegen.Tests/fixtures/server/snapshots/Module#FFI.verified.cs index 0ed5057507b..a67a99a058a 100644 --- a/crates/bindings-csharp/Codegen.Tests/fixtures/server/snapshots/Module#FFI.verified.cs +++ b/crates/bindings-csharp/Codegen.Tests/fixtures/server/snapshots/Module#FFI.verified.cs @@ -100,27 +100,27 @@ internal sealed class LocationIndex() { public IEnumerable Filter(uint X) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public ulong Delete(uint X) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public IEnumerable Filter(Bound X) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public ulong Delete(Bound X) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public IEnumerable Filter((uint X, uint Y) f) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -130,7 +130,7 @@ public ulong Delete(Bound X) => public ulong Delete((uint X, uint Y) f) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -140,7 +140,7 @@ public ulong Delete((uint X, uint Y) f) => public IEnumerable Filter((uint X, Bound Y) f) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -150,7 +150,7 @@ public ulong Delete((uint X, uint Y) f) => public ulong Delete((uint X, Bound Y) f) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -160,7 +160,7 @@ public ulong Delete((uint X, Bound Y) f) => public IEnumerable Filter((uint X, uint Y, uint Z) f) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -172,7 +172,7 @@ public ulong Delete((uint X, Bound Y) f) => public ulong Delete((uint X, uint Y, uint Z) f) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -186,7 +186,7 @@ public ulong Delete((uint X, uint Y, uint Z) f) => (uint X, uint Y, Bound Z) f ) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -198,7 +198,7 @@ public ulong Delete((uint X, uint Y, uint Z) f) => public ulong Delete((uint X, uint Y, Bound Z) f) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -302,27 +302,27 @@ internal sealed class LocationIndex() { public IEnumerable Filter(uint X) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public ulong Delete(uint X) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public IEnumerable Filter(Bound X) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public ulong Delete(Bound X) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds(X) + new SpacetimeDB.Internal.IndexScanRangeBounds(X) ); public IEnumerable Filter((uint X, uint Y) f) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -332,7 +332,7 @@ public ulong Delete(Bound X) => public ulong Delete((uint X, uint Y) f) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -342,7 +342,7 @@ public ulong Delete((uint X, uint Y) f) => public IEnumerable Filter((uint X, Bound Y) f) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -352,7 +352,7 @@ public ulong Delete((uint X, uint Y) f) => public ulong Delete((uint X, Bound Y) f) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds< + new SpacetimeDB.Internal.IndexScanRangeBounds< uint, SpacetimeDB.BSATN.U32, uint, @@ -368,28 +368,28 @@ internal sealed class FactionIndex() { public IEnumerable Filter(string Faction) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Faction ) ); public ulong Delete(string Faction) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Faction ) ); public IEnumerable Filter(Bound Faction) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Faction ) ); public ulong Delete(Bound Faction) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Faction ) ); @@ -490,28 +490,28 @@ public sealed class NameIndex() { public IEnumerable Filter(string Name) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Name ) ); public ulong Delete(string Name) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Name ) ); public IEnumerable Filter(Bound Name) => DoFilter( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Name ) ); public ulong Delete(Bound Name) => DoDelete( - new SpacetimeDB.Internal.BTreeIndexBounds( + new SpacetimeDB.Internal.IndexScanRangeBounds( Name ) ); diff --git a/crates/bindings-csharp/Codegen/Module.cs b/crates/bindings-csharp/Codegen/Module.cs index 0a4bacba423..f373a87b554 100644 --- a/crates/bindings-csharp/Codegen/Module.cs +++ b/crates/bindings-csharp/Codegen/Module.cs @@ -420,17 +420,17 @@ public IEnumerable GenerateViewFilters(TableView view) yield return $$""" public IEnumerable<{{globalName}}> Filter({{argsScalar}}) => - DoFilter(new SpacetimeDB.Internal.BTreeIndexBounds<{{types}}>({{argName}})); + DoFilter(new SpacetimeDB.Internal.IndexScanRangeBounds<{{types}}>({{argName}})); public ulong Delete({{argsScalar}}) => - DoDelete(new SpacetimeDB.Internal.BTreeIndexBounds<{{types}}>({{argName}})); + DoDelete(new SpacetimeDB.Internal.IndexScanRangeBounds<{{types}}>({{argName}})); public IEnumerable<{{globalName}}> Filter({{argsBounds}}) => - DoFilter(new SpacetimeDB.Internal.BTreeIndexBounds<{{types}}>({{argName}})); + DoFilter(new SpacetimeDB.Internal.IndexScanRangeBounds<{{types}}>({{argName}})); public ulong Delete({{argsBounds}}) => - DoDelete(new SpacetimeDB.Internal.BTreeIndexBounds<{{types}}>({{argName}})); - + DoDelete(new SpacetimeDB.Internal.IndexScanRangeBounds<{{types}}>({{argName}})); + """; } diff --git a/crates/bindings-csharp/Runtime/Internal/Bounds.cs b/crates/bindings-csharp/Runtime/Internal/Bounds.cs index 4de9ac851fc..2c9bd32ded9 100644 --- a/crates/bindings-csharp/Runtime/Internal/Bounds.cs +++ b/crates/bindings-csharp/Runtime/Internal/Bounds.cs @@ -9,7 +9,7 @@ enum BoundVariant : byte Unbounded, } -public interface IBTreeIndexBounds +public interface IIndexScanRangeBounds { ushort PrefixElems { get; } void Prefix(BinaryWriter w); @@ -28,7 +28,7 @@ public readonly struct Bound(T min, T max) public static implicit operator Bound((T min, T max) span) => new(span.min, span.max); } -public readonly struct BTreeIndexBounds(Bound t) : IBTreeIndexBounds +public readonly struct IndexScanRangeBounds(Bound t) : IIndexScanRangeBounds where T : IEquatable where TRW : struct, IReadWrite { @@ -49,7 +49,7 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds((T t, Bound u) b) : IBTreeIndexBounds +public readonly struct IndexScanRangeBounds((T t, Bound u) b) : IIndexScanRangeBounds where U : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -74,8 +74,8 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds((T t, U u, Bound v) b) - : IBTreeIndexBounds +public readonly struct IndexScanRangeBounds((T t, U u, Bound v) b) + : IIndexScanRangeBounds where V : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -102,9 +102,9 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds( +public readonly struct IndexScanRangeBounds( (T t, U u, V v, Bound w) b -) : IBTreeIndexBounds +) : IIndexScanRangeBounds where W : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -133,9 +133,9 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds( +public readonly struct IndexScanRangeBounds( (T t, U u, V v, W w, Bound x) b -) : IBTreeIndexBounds +) : IIndexScanRangeBounds where X : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -166,9 +166,9 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds( +public readonly struct IndexScanRangeBounds( (T t, U u, V v, W w, X x, Bound y) b -) : IBTreeIndexBounds +) : IIndexScanRangeBounds where Y : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -201,9 +201,9 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds( +public readonly struct IndexScanRangeBounds( (T t, U u, V v, W w, X x, Y y, Bound z) b -) : IBTreeIndexBounds +) : IIndexScanRangeBounds where Z : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -238,7 +238,7 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds< +public readonly struct IndexScanRangeBounds< T, TRW, U, @@ -255,7 +255,7 @@ public readonly struct BTreeIndexBounds< ZRW, A, ARW ->((T t, U u, V v, W w, X x, Y y, Z z, Bound a) b) : IBTreeIndexBounds +>((T t, U u, V v, W w, X x, Y y, Z z, Bound a) b) : IIndexScanRangeBounds where A : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -292,7 +292,7 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds< +public readonly struct IndexScanRangeBounds< T, TRW, U, @@ -311,7 +311,7 @@ public readonly struct BTreeIndexBounds< ARW, B, BRW ->((T t, U u, V v, W w, X x, Y y, Z z, A a, Bound b) b) : IBTreeIndexBounds +>((T t, U u, V v, W w, X x, Y y, Z z, A a, Bound b) b) : IIndexScanRangeBounds where B : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite @@ -350,7 +350,7 @@ public void REnd(BinaryWriter w) } } -public readonly struct BTreeIndexBounds< +public readonly struct IndexScanRangeBounds< T, TRW, U, @@ -371,7 +371,7 @@ public readonly struct BTreeIndexBounds< BRW, C, CRW ->((T t, U u, V v, W w, X x, Y y, Z z, A a, B b, Bound c) b) : IBTreeIndexBounds +>((T t, U u, V v, W w, X x, Y y, Z z, A a, B b, Bound c) b) : IIndexScanRangeBounds where C : IEquatable where TRW : struct, IReadWrite where URW : struct, IReadWrite diff --git a/crates/bindings-csharp/Runtime/Internal/IIndex.cs b/crates/bindings-csharp/Runtime/Internal/IIndex.cs index a10d57eabb4..975327364f8 100644 --- a/crates/bindings-csharp/Runtime/Internal/IIndex.cs +++ b/crates/bindings-csharp/Runtime/Internal/IIndex.cs @@ -21,7 +21,7 @@ private static void ToParams( out ReadOnlySpan rstart, out ReadOnlySpan rend ) - where Bounds : IBTreeIndexBounds + where Bounds : IIndexScanRangeBounds { prefixElems = new FFI.ColId(bounds.PrefixElems); @@ -41,10 +41,10 @@ out ReadOnlySpan rend } protected IEnumerable DoFilter(Bounds bounds) - where Bounds : IBTreeIndexBounds => new RawTableIter(indexId, bounds).Parse(); + where Bounds : IIndexScanRangeBounds => new RawTableIter(indexId, bounds).Parse(); protected uint DoDelete(Bounds bounds) - where Bounds : IBTreeIndexBounds + where Bounds : IIndexScanRangeBounds { ToParams(bounds, out var prefixElems, out var prefix, out var rstart, out var rend); FFI.datastore_delete_by_index_scan_range_bsatn( @@ -62,7 +62,7 @@ out var out_ } private class RawTableIter(FFI.IndexId indexId, Bounds bounds) : RawTableIterBase - where Bounds : IBTreeIndexBounds + where Bounds : IIndexScanRangeBounds { protected override void IterStart(out FFI.RowIter handle) { @@ -89,7 +89,7 @@ public abstract class UniqueIndex(Handle table, string name) where T : IEquatable where RW : struct, BSATN.IReadWrite { - private static BTreeIndexBounds ToBounds(T key) => new(key); + private static IndexScanRangeBounds ToBounds(T key) => new(key); protected IEnumerable DoFilter(T key) => DoFilter(ToBounds(key));