Fully typed SQL query builder for Rust [deprecated]

Related tags

Database deuterium
Overview

What is Deuterium?

Build Status

Deuterium is a fancy SQL builder for Rust. It's designed to provide a DSL to easily build SQL queries in safe and typed way.

Like Rust itself, Deuterium is still in the early stages of development, so don't be surprised if APIs change and things break. If something's not working properly, file an issue or submit a pull request!

# Cargo.toml
[dependencies.deuterium]
git = "https://github.com/deuterium-orm/deuterium"

Examples?

We have a lot! See tests for examples.

Comments
  • Using optional rust-postgres features without specifying them in Cargo.toml

    Using optional rust-postgres features without specifying them in Cargo.toml

    Compilation of deuterium itself currently fails because the rustc-serialize and time features of rust-postgres are not specified in the Cargo.toml, but their postgres::types::ToSql implementation is depended upon.

    Users of deuterium can work around the issue by specifying a dependency on rust-postgres and specifying the features themselves, but it would seem that either deuterium should either specify all of the features of the postgres dependency in its Cargo.toml or there should be equivalent rustc-serialize and time features in deuterium.

    opened by mkovalchik 4
  • Multitude of updates

    Multitude of updates

    So, this is basically a vast set of updates. Feel free to tell me to split it out in some way if you'd like to merge it differently.

    The big item is "make it work with modern Rust", but there's a bunch of other items in there:

    • Update Travis to run against stable/beta/nightly and with(out) Postgres
    • Replace time with chrono and rustc-serialize to serde as the former two are deprecated and the latter are active projects
    • Add a big "deny" block for a bunch of sensible errors, and fix all of them, especially "Debug for everything"

    Thoughts?

    opened by palfrey 3
  • Update for beta

    Update for beta

    Hi, I'd like to try deuterium out but it's not currently building. The rust beta release is about to be released, now would be a good time to fix any build errors.

    opened by gsingh93 2
  • "From" struct clashes with builtins

    In order to get anything sensibly working, I've been doing use deuterium::*;, but that then breaks any code that works with the builtin From trait (e.g. error-chain). This should get renamed to something that doesn't clash with the standard library.

    opened by palfrey 0
  • Feature: documentation

    Feature: documentation

    Hello,

    I am considering using deuterium for my project, but it is difficult to evaluate as there is no documentation. It would be nice if there was documentation to see what features deuterium has.

    Thanks for considering!

    opened by dbkaplun 0
  • How to use placeholders in where clauses?

    How to use placeholders in where clauses?

    Looking at some examples, I can see how to build a query with placeholders, but I don't see how to actually fill in those place holders. It looks like I need to make a new SqlContext that wraps an SqlAdapter, and I can construct new, empty ones, but can I use the values I already supplied in the where clause?

    Unrelated question, does this only work for postgres or should this work for any SQL implementation?

    opened by gsingh93 7
Owner
Stanislav Panferov
Senior Full Stack developer, Tech Lead, Architect. Rust, TypeScript
Stanislav Panferov
Gh-sql - Query GitHub Projects (beta) with SQL

gh-sql: Query GitHub Projects (beta) with SQL Installation gh extension install KOBA789/gh-sql Features SELECT items DELETE items UPDATE item fields

Hidekazu Kobayashi 108 Dec 7, 2022
A safe, extensible ORM and Query Builder for Rust

A safe, extensible ORM and Query Builder for Rust API Documentation: latest release – master branch Homepage Diesel gets rid of the boilerplate for da

Diesel 9.7k Jan 3, 2023
Diesel - A safe, extensible ORM and Query Builder for Rust

A safe, extensible ORM and Query Builder for Rust API Documentation: latest release – master branch Homepage Diesel gets rid of the boilerplate for da

Takayuki Maeda 0 Aug 31, 2020
Diesel - ORM and Query Builder for Rust

A safe, extensible ORM and Query Builder for Rust API Documentation: latest release – master branch Homepage Diesel gets rid of the boilerplate for da

Diesel 9.7k Jan 6, 2023
A query builder that builds and typechecks queries at compile time

typed-qb: a compile-time typed "query builder" typed-qb is a compile-time, typed, query builder. The goal of this crate is to explore the gap between

ferrouille 3 Jan 22, 2022
🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL.

SQLx ?? The Rust SQL Toolkit Install | Usage | Docs Built with ❤️ by The LaunchBadge team SQLx is an async, pure Rust† SQL crate featuring compile-tim

launchbadge 7.6k Dec 31, 2022
SQL validator tool for BigQuery standard SQL.

bqvalid What bqvalid does bqvalid is the SQL validator tool for BigQuery standard SQL. bqvalid fails with error message if there's the expression that

null 10 Dec 25, 2022
Rust library to parse, deparse and normalize SQL queries using the PostgreSQL query parser

This Rust library uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree.

pganalyze 37 Dec 18, 2022
ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-text search.

ReefDB ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-

Sacha Arbonel 75 Jun 12, 2023
Query LDAP and AD with SQL

SQLDAP Ever wanted to query AD or LDAP with SQL like queries ? I'm going to answer this question myself: yes ! Why ? Because I never could remember al

null 9 Nov 15, 2022
An object-relational in-memory cache, supports queries with an SQL-like query language.

qlcache An object-relational in-memory cache, supports queries with an SQL-like query language. Warning This is a rather low-level library, and only p

null 3 Nov 14, 2021
Type-safe SQL query wrappers

fnsql   The fnsql crate provides simple type-safe optional wrappers around SQL queries. Instead of calling type-less .query() and .execute(), you call

Dan Aloni 9 Apr 29, 2022
A Toy Query Engine & SQL interface

Naive Query Engine (Toy for Learning) ?? This is a Query Engine which support SQL interface. And it is only a Toy for learn query engine only. You can

谭巍 45 Dec 21, 2022
Query system statistics with SQL.

pg_stat_sysinfo Collects system statistics. ---- CREATE EXTENSION pg_stat_sysinfo; CREATE EXTENSION ---- SELECT * FROM pg_stat_sysinfo_collect();

PostgresML 12 Jun 14, 2023
Lightweight, Strongly Typed Xata Client written in Rust

xata-rs: Lightweight, Strongly Typed Xata Client xata-rs is a third party Xata client, allowing interaction with Xata's REST API. Adding xata-rs (WIP)

Alvaro Machuca Recalde 4 Jun 12, 2023
RefineDB - A strongly-typed document database that runs on any transactional key-value store.

RefineDB - A strongly-typed document database that runs on any transactional key-value store.

Heyang Zhou 375 Jan 4, 2023
Ratchet is a fast, robust, lightweight and fully asynchronous implementation of RFC6455 (The WebSocket protocol).

Ratchet ?? Ratchet is a fast, robust, lightweight and fully asynchronous implementation of RFC6455 (The WebSocket protocol). Complete with an optional

SwimOS 7 Dec 16, 2022
LIMITS is yet another fully open source, interoperable, decentralised real-time communication protocol!

LIMITS: Limit-IM does not have ITS LIMITS We are undergoing a major refactoring and technology stack adjustment to better accommodate clustered deploy

Limit LAB 14 Feb 4, 2023
TDS 7.2+ (mssql / Microsoft SQL Server) async driver for rust

Tiberius A native Microsoft SQL Server (TDS) client for Rust. Supported SQL Server versions Version Support level Notes 2019 Tested on CI 2017 Tested

Prisma 189 Dec 25, 2022