18 dépôts
Tools for embedding conditional logic and variables into SQL queries at runtime.
Distinct from SQL Logic Validators: Distinct from SQL Logic Validators: focuses on the generation and injection of dynamic SQL rather than verifying query correctness.
Explore 18 awesome GitHub repositories matching data & databases · Dynamic SQL Generators. Refine with filters or upvote what's useful.
graphql-engine is an automated GraphQL API engine that transforms database tables and relationships into a queryable GraphQL schema. It functions as a federation gateway and mapper, instantly generating APIs with built-in filtering, pagination, and mutations from existing databases and remote schemas. The project distinguishes itself through a fine-grained access control layer that enforces row-level and field-level permissions. It further provides a real-time data subscription server that converts standard queries into live streams and a system for triggering event-driven webhooks and notifi
Maps GraphQL ASTs and permission filters directly into optimized SQL statements at runtime.
Kysely is a TypeScript SQL query builder that provides a type-safe interface for constructing and executing database queries. It functions as a database layer that ensures schema compliance and prevents runtime errors by using a fluent interface and a programmable way to build complex SQL statements. The project features a type-safe database layer capable of inferring return types and aliases from SQL selections and joins. It also includes a SQL migration manager to track and apply schema changes across different environments to keep database versions synchronized. The toolkit covers relatio
Builds SQL statements at runtime based on variable inputs while maintaining type safety.
dbt-core is a command-line framework for transforming data within a warehouse using modular SQL and version control. It functions as a data transformation engine that enables users to define data structures and business logic through declarative configuration files, which the system then compiles into executable code. By managing complex data dependencies through a directed acyclic graph, it ensures that transformation tasks execute in the correct order while maintaining a manifest-driven state to track lineage and execution history. The project distinguishes itself through an adapter-based d
Embeds conditional statements, loops, and variable references within SQL queries to generate complex, reusable data transformation logic.
PostGraphile is an automated tool that converts a PostgreSQL database schema into a fully functional GraphQL API. It serves as a GraphQL execution engine and schema orchestrator, utilizing database schema introspection to retrieve strongly typed metadata directly from PostgreSQL. The project features a modular system for composing and standardizing GraphQL schemas through plugins, which manage naming conventions and connections. It includes a PostgreSQL query builder that constructs dynamic, SQL-injection-proof queries using tagged template literals. The system employs a declarative query pl
Builds dynamic, SQL-injection-proof database queries using tagged template literals to handle complex data requirements.
Mybatis-PageHelper is a pagination plugin and persistence framework extension for MyBatis. It functions as a physical pagination engine that automatically appends limit and offset clauses to SQL queries to retrieve specific record subsets from a data source. The project optimizes data retrieval by modifying SQL statements at runtime to reduce memory overhead. It implements database pagination and data set windowing to manage the retrieval of paginated data within Java applications. The system utilizes a MyBatis interceptor chain for dynamic SQL rewriting and employs database dialects to ensu
Dynamically rewrites SQL statements to append limit and offset clauses based on pagination parameters.
Datasette is a tool for publishing and sharing SQLite databases as public websites. It functions as a data publishing system that provides searchable interfaces and JSON APIs to expose the contents of SQLite files. The project enables both server-side and client-side execution. It can operate as an API server or as a database browser that runs entirely within a web browser using WebAssembly, allowing for serverless database access. The system supports a variety of deployment strategies, including containerized images for cloud hosting and a local development server for testing. It includes c
Translates user interface interactions into structured SQL queries to fetch and filter database content.
Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
Constructs SQL queries programmatically at runtime using a fluent API instead of static raw strings.
sqlglot is a SQL parser and transpiler that represents queries as abstract syntax trees to enable structural analysis, modification, and semantic transformation. It functions as a dialect translator and query optimizer, converting SQL code between different database engines and simplifying syntax trees through rule-based normalization. The project provides a framework for defining custom SQL dialects by overriding tokenizers, parsers, and generators. It includes a lineage analyzer to track data flow from source tables through complex queries to identify the origin of specific columns. Additi
Provides a Python API for programmatically building and modifying dynamic SQL queries.
Soar is a suite of specialized tools designed for analyzing MySQL performance, advising on indexing, and optimizing SQL syntax. It functions as a performance analyzer, index advisor, and query optimizer to identify bottlenecks and suggest structural improvements for faster execution. The project distinguishes itself through a system for rewriting SQL statements into optimized equivalent versions using custom heuristic rules and patterns. It also features a dedicated index advisor that evaluates query patterns and database metadata to recommend the creation of new indexes. Its broader capabil
Transforms complex SQL queries into optimized equivalent versions using custom heuristic rules.
Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions. The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract
Computes database schemas dynamically by injecting variables into SQL files using templates.
Squirrel is a Go database library and SQL query builder that provides a programmatic interface for constructing and executing SQL statements. It enables the creation of queries using a fluent interface to avoid manual string concatenation. The library functions as a SQL dialect generator, producing queries formatted for specific database engines by adjusting placeholders and syntax to match target requirements. This allows for the generation of SQL compatible with multiple different database environments. Beyond query construction, the project covers the execution of generated statements aga
Generates dynamic SQL statements programmatically to avoid syntax errors and manual concatenation.
This project provides a SQL interface for Elasticsearch, serving as a translator and database layer that allows users to retrieve, filter, and manipulate indices using structured query language. It functions by converting standard SQL statements into the native JSON query language used by the search engine. The system includes a geospatial SQL engine for executing location-based searches and distance calculations. It also features a query debugger used to visualize the translation process from SQL to search engine request bodies to verify the logic and accuracy of data retrieval. The capabil
Programmatically builds search engine request bodies at runtime based on parsed SQL expressions.
jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time validation of SQL syntax and data types. Its core identity is built around a fluent DSL that mirrors SQL structure, a code generator that maps tables, views, and routines to Java objects, and a multi-dialect engine that translates the same DSL into vendor-specific SQL for over 30 databases. The project also includes a SQL parser and transformer for refactoring or dialect conversion, reactive stream integration for non-blocking query execution, and a JDBC proxy diagnostics tool f
Assembles SQL statements programmatically from independent expression objects to compose queries at runtime with type safety.
MyBatis Generator est un outil qui inspecte les tables de base de données pour produire automatiquement des objets modèles, des interfaces de mapper et des fichiers de configuration SQL. Il fonctionne comme un mappeur de schéma de base de données et un générateur d'opérations CRUD, traduisant les colonnes de base de données relationnelle en classes et enregistrements spécifiques au langage. Le projet est un générateur de code extensible qui permet la personnalisation des fichiers de sortie via un mécanisme de plugin. Ce framework permet l'ajout d'une logique métier spécifique ou la modification du processus de génération pour produire des fichiers de sortie sur mesure. Le générateur couvre un large éventail de capacités, notamment l'implémentation de requêtes dynamiques, la création de modèles immuables et l'automatisation des opérations standard de création, lecture, mise à jour et suppression. Il prend en charge le mappage de schéma de base de données avec des clés primaires virtuelles et peut générer du code pour plusieurs langages, y compris Kotlin. Le processus de génération peut être exécuté via des outils en ligne de commande, des appels de fonction directs ou en tant que plugin d'outil de build intégré dans des pipelines d'intégration continue.
Creates complex database filter conditions using functional logic to generate flexible search results without writing static query classes.
Davinci est une plateforme de business intelligence et de visualisation de données utilisée pour construire des tableaux de bord et des rapports interactifs. Elle fonctionne comme un constructeur de tableaux de bord basé sur SQL et un service d'analyse multi-tenant qui se connecte aux bases de données via JDBC et des fichiers CSV pour transformer des données brutes en composants visuels. La plateforme se distingue par son modèle de sécurité granulaire, qui inclut des permissions au niveau des lignes et des colonnes intégrées avec l'authentification LDAP et OAuth2. Elle fournit également un outil de visualisation intégré qui permet d'insérer des graphiques et des tableaux de bord sécurisés et paramétrés dans des applications externes via des URL et des cadres (frames). Le système couvre un large éventail de capacités, y compris la modélisation de données avec des modèles SQL, un moteur de mise en page par glisser-déposer pour les tableaux de bord réactifs, et une grande variété de types de visualisation tels que les diagrammes de Sankey, les graphiques radar et les cartes géographiques. Elle inclut en outre l'automatisation pour la planification de rapports par e-mail et utilise la mise en cache clé-valeur pour optimiser les performances des requêtes.
Generates dynamic SQL by embedding conditional logic and session variables into database templates at runtime.
Ce projet est une version miroir du code source du framework de persistance MyBatis, présentée comme une bibliothèque d'intégration de base de données Java et un framework de mapping SQL. Son objectif principal est de fournir une base de code avec des annotations détaillées en chinois pour faciliter l'étude de l'architecture interne et des patterns de conception du framework. Le dépôt se concentre sur l'analyse du code source Java et l'apprentissage du framework. Il permet aux utilisateurs d'examiner l'implémentation sous-jacente de la bibliothèque pour comprendre comment les composants logiciels complexes sont structurés et exécutés. La fonctionnalité principale couverte inclut le mapping de base de données relationnelle, où les enregistrements de base de données sont convertis en objets d'application. Ceci est réalisé grâce à une combinaison de configuration de mapping basée sur XML et de mapping de requêtes piloté par annotations. Les capacités du framework incluent en outre la génération de SQL dynamique, la gestion des résultats basée sur le cache, et l'utilisation de la réflexion et de proxys dynamiques pour mapper les résultats de base de données vers des objets Java.
Constructs database queries at runtime by evaluating conditional logic and parameters within mapping templates.
FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro
Intercepts and modifies generated SQL strings at runtime to handle custom type conversions.
Ebean est un framework de mappage objet-relationnel Java conçu pour simplifier la persistance des bases de données grâce à la génération automatique de requêtes, la migration de schéma et la gestion des transactions. Il utilise le mappage piloté par les métadonnées et l'amélioration du bytecode pour combler le fossé entre les objets d'application et les tables de base de données relationnelles, fournissant une couche persistante qui gère les interactions de données complexes tout en maintenant la cohérence à travers les limites de l'unité de travail. Le framework se distingue par son accent sur la productivité des développeurs et l'optimisation des performances. Il fournit des constructeurs de requêtes typés qui génèrent du code au moment de la compilation, permettant l'auto-complétion IDE et la validation statique des opérations de base de données. De plus, il inclut une prise en charge intégrée pour les tests basés sur des conteneurs, permettant aux développeurs de gérer des instances de base de données éphémères et d'automatiser l'initialisation du schéma directement au sein de leurs suites de tests. Au-delà du mappage fondamental, le projet offre une suite complète d'outils pour la gestion des données et l'observabilité. Cela inclut l'évolution automatique du schéma, le routage des répliques de lecture pour la gestion des connexions et la mise en cache multi-niveaux pour réduire la charge de la base de données. Il fournit également des capacités de diagnostic telles que la capture du plan d'exécution des requêtes et le traçage distribué pour aider à l'optimisation des performances. La bibliothèque prend en charge les flux de travail de déploiement modernes, y compris la compilation « ahead-of-time » pour les images natives afin d'éliminer la surcharge de réflexion à l'exécution. Elle est distribuée sous forme de bibliothèque Java standard, avec une documentation et des outils disponibles pour soutenir l'intégration dans les processus de construction existants.
Constructs optimized database queries at runtime by inspecting object graphs and applying necessary filters.