* make user tables private by default and define privacy via attribute
* switch to spacetimedb(table(public)) syntax
* accept codegen snap changes
* sdk: use public in define_tables!
* bindings-macro: adjust some doc comments
* sdk-test-connect-disconnect: make Connected/Disconnected public tables
* Make Public Private again
- Refactor `bindings::query::delete_by_field` to require `FilterableValue`
and return `u32` count of deleted rows.
- Add `bindings::query::delete_by_unique_field`
with the previous behavior of `delete_by_field`,
i.e. requiring `UniqueValue` and returning `bool` with `true = deleted`.
This is implemented in terms of `delete_by_field`.
- Macro-generated unique filter funcs call `delete_by_unique_field`
rather than `delete_by_field`.
- The table macro now generates non-unique delete functions
alongside the existing non-unique filter functions
for non-unique fields with primitive types.
- Add uses of `::delete_by_{field}` for both unique and non-unique columns
to the `rust-wasm-test` module.
Note that this PR does not include any host-side changes;
the diff is localized to the `bindings` and `bindings-macro` crates.
Added multi column index usage to the rust-wasm-test module
This also updates integration test.
The number of lines in the output changes as there is 1 additional
line corresponding to the new table.
Prior to this comment, the `#[spacetimedb(index)]` attribute accepted its arguments like:
```rust
\#[spacetimedb(index(btree), name = "NAME", FIELD_NAMES...)]
```
Putting the `NAME` and `FIELD_NAMES` arguments outside of the
inner parens was uninutitive. With this commit, the syntax is changed to:
```rust
\#[spacetimedb(index(btree, name = "NAME", FIELD_NAMES...))]
```
* Initial bootstrap for private tables
* Separate Access (private, public) for kind o table (system, user)
* Validates the access to private tables
* Check auth for drop table