Expand description

Sparkle Cache Postgres

GitHub crates.io docs.rs

Discord cache implementation using PostgresSQL for the Twilight ecosystem

It provides a cache struct that implements Sparkle Cache’s traits and uses SQLx as the backend driver

It also provides access to the cache’s backend, meaning you can use the same database for your custom data

Compile-time verification

To use SQLx’s compile time verification, set the DATABASE_URL environment variable to the URL of your database, for example, DATABASE_URL=postgresql://localhost:5432/sparkle

Stability

This is a new, relatively immature library. It passes Sparkle Cache’s tests, but of course there may be points not covered by them. If there’s a bug directly related to the PostgresSQL implementation, please create an issue

Sparkle Cache’s tests currently don’t cover stickers because of a bug in Twilight

The library casts unsigned integers except for IDs internally, so please don’t use integer-based functions such as SUM or equality/size checks on them in SQL, instead query the data and use Rust equivalents

Features

TLS Backend

  • rustls (Default): Enables the runtime-tokio-rustls feature of SQLx
  • native-tls: Enables the runtime-tokio-native-tls feature of SQLx

Only one of these features can be selected

Structs

The Discord cache