Files
Shubham Mishra 8307d7c576 fix: view index (#3596)
# Description of Changes

`call_view` and `call_view_anon` maintains separate `Vec` list for view
inside Module but `ModuleDef` used to have single `Vec`. Hence, Views
index is not same across `ModuleDef` and module itself.

Added a `index` field inside `ViewDef` which stores it index inside
module.

# API and ABI breaking changes
NA

How complicated do you think these changes are? Grade on a scale from 1
to 5,
2, 

there could be some existing code relying on poistion in `Vec` and may
not appear as compiler error


# Testing

Future smoketests should cover this.
2025-11-07 09:54:53 +00:00

54 lines
1.5 KiB
C#
Generated

// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#nullable enable
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace SpacetimeDB.Internal
{
[SpacetimeDB.Type]
[DataContract]
public sealed partial class RawViewDefV9
{
[DataMember(Name = "name")]
public string Name;
[DataMember(Name = "index")]
public uint Index;
[DataMember(Name = "is_public")]
public bool IsPublic;
[DataMember(Name = "is_anonymous")]
public bool IsAnonymous;
[DataMember(Name = "params")]
public List<SpacetimeDB.BSATN.AggregateElement> Params;
[DataMember(Name = "return_type")]
public SpacetimeDB.BSATN.AlgebraicType ReturnType;
public RawViewDefV9(
string Name,
uint Index,
bool IsPublic,
bool IsAnonymous,
List<SpacetimeDB.BSATN.AggregateElement> Params,
SpacetimeDB.BSATN.AlgebraicType ReturnType
)
{
this.Name = Name;
this.Index = Index;
this.IsPublic = IsPublic;
this.IsAnonymous = IsAnonymous;
this.Params = Params;
this.ReturnType = ReturnType;
}
public RawViewDefV9()
{
this.Name = "";
this.Params = new();
this.ReturnType = null!;
}
}
}