1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! DynamoDB persistence — incubating.
//!
//! Sibling to the AWS list-API surface in `crate::models`. That surface
//! treats `AwsAccount` itself as a `TableSource` and folds operation
//! metadata into the table name. DynamoDB items don't fit that mould:
//! they have a typed `AttributeValue` representation, native key/filter
//! expressions, and full CRUD semantics. So DynamoDB lives here as a
//! standalone persistence — same crate, different `TableSource`.
//!
//! Layout mirrors `vantage-sql`'s per-backend modules: `types/` defines
//! the type system, `condition.rs` the native condition DSL,
//! `operation.rs` the typed operator extension trait, and `impls/`
//! holds the trait implementations.
//!
//! ```no_run
//! # use vantage_aws::AwsAccount;
//! # use vantage_aws::dynamodb::DynamoDB;
//! # async fn run() -> vantage_core::Result<()> {
//! let aws = AwsAccount::from_default()?;
//! let _db = DynamoDB::new(aws);
//! # Ok(()) }
//! ```
pub
pub
pub use DynamoCondition;
pub use DynamoId;
pub use DynamoOperation;
pub use ;
use crateAwsAccount;
/// DynamoDB data source. Cheap to clone — wraps the (already `Arc`-backed)
/// `AwsAccount` for credentials and signing.