9 Repos
Mechanisms for building internal query representations that are only converted to SQL strings upon execution.
Distinct from SQL Generators: Distinct from general SQL Generators: focuses on the runtime lazy compilation of a query object rather than static script generation.
Explore 9 awesome GitHub repositories matching data & databases · Deferred Query Compilation. Refine with filters or upvote what's useful.
Knex is a multi-dialect database client that provides a programmatic SQL query builder, a connection pool manager, and a versioned schema migration tool. It enables programmatic database interaction across multiple SQL engines, including PostgreSQL, MySQL, SQLite3, SQL Server, CockroachDB, and Oracle. The project distinguishes itself through a fluent interface for constructing complex SQL statements and a dedicated framework for database seeding. It utilizes specialized dialects to translate generic query representations into database-specific syntax while maintaining a consistent API across
Constructs internal query objects that are only compiled to raw SQL at the moment of execution.
This project is an educational implementation of a relational database engine written in C. It functions as a SQLite clone, demonstrating the internal mechanics of a database system through a C-based systems project that focuses on manual memory management and file I/O. The engine is distinguished by its use of a bytecode virtual machine, which executes database operations by compiling SQL statements into low-level instructions. It utilizes a B-tree database engine to organize records in a balanced tree structure, ensuring efficient insertion, search, and range scanning. The system covers co
Translates SQL text into a custom bytecode format for execution by a virtual machine.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Implements a custom query language that is compiled into optimized vendor-specific SQL.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Builds database queries by chaining Elixir macros that expand into safe SQL at compile time.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Generates the SQL string for a query without executing it, allowing inspection or reuse.
Roc is a statically typed, functional programming language built around immutable-by-default semantics, exhaustive pattern matching on tag unions, and a type system that combines optional explicit annotations with full compile-time type inference. Its core identity centers on correctness and expressiveness, using tagged unions for error handling with a question-mark operator for early error propagation, and a trailing-bang naming convention that makes side-effect boundaries syntactically visible at every call site. The language distinguishes itself through a platform-based I/O abstraction tha
Ships debug and crash primitives that work inside pure functions for compile-time and runtime diagnostics.
Beancount is a plain-text double-entry accounting system. It enforces zero-sum transactions, organizes accounts into a hierarchical five-type tree, and verifies balances at specific dates using precision-derived tolerances. Transactions are recorded in plain-text files with a strict syntax that supports currency-specific rounding, automatic interpolation of missing amounts, and comprehensive metadata including tags, links, and payee annotations. Beyond core bookkeeping, Beancount offers investment portfolio tracking with lot-based cost basis management, configurable booking strategies (FIFO,
Prefixes queries to display the syntax tree and compiled representation for debugging purposes.
Alembic ist ein Datenbankschema-Versionierungssystem und Migrationstool für SQLAlchemy. Es verwaltet inkrementelle Updates von Datenbankstrukturen mithilfe versionierter Skripte, die sowohl Upgrades als auch Downgrades unterstützen, um Datenbank und Code synchron zu halten. Das System nutzt einen gerichteten azyklischen Graphen für das Migrationsmanagement, was nicht-lineare Versionierung ermöglicht, einschließlich Branching und Merging über mehrere Root-Versionen hinweg. Es enthält ein automatisiertes Schema-Diffing-Tool, das Live-Datenbankschemata mit Metadatenobjekten vergleicht, um programmatisch Migrationsanweisungen zu generieren. Das Tool bietet Funktionen für transaktionale Schema-Evolution, um atomare Updates sicherzustellen und partielle Datenbankkorruption zu verhindern. Zusätzliche Funktionalität umfasst die Übersetzung von Migrationsdirektiven in rohe SQL-Strings für Audits und die Aufrechterhaltung einer skriptbasierten Versionsverfolgung über eine dedizierte Datenbanktabelle.
Translates high-level Python migration directives into raw SQL strings for auditing and manual execution.
linq2db is a type-safe object-relational mapper that translates LINQ expressions into optimized SQL queries for multiple database providers. It functions as a database mapper that links classes to tables and includes a SQL query builder and a command-line schema tool for generating data classes from existing databases. The project provides high-performance bulk data processing for inserting and loading large volumes of records via batch or binary copy methods. It also supports advanced SQL operations, including window functions, common table expressions for recursive hierarchical querying, an
Builds internal query representations as expression trees that are only compiled to SQL upon execution.