18 repositorios
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 es una herramienta que inspecciona tablas de bases de datos para producir automáticamente objetos de modelo, interfaces de mapper y archivos de configuración SQL. Funciona como un mapeador de esquemas de base de datos y generador de operaciones CRUD, traduciendo columnas de bases de datos relacionales en clases y registros específicos del lenguaje. El proyecto es un generador de código extensible que permite la personalización de archivos de salida a través de un mecanismo de plugins. Este framework permite la adición de lógica de negocio específica o la modificación del proceso de generación para producir archivos de salida adaptados. El generador cubre una amplia gama de capacidades, incluyendo la implementación de consultas dinámicas, la creación de modelos inmutables y la automatización de operaciones estándar de creación, lectura, actualización y eliminación. Admite el mapeo de esquemas de bases de datos con claves primarias virtuales y puede generar código para múltiples lenguajes, incluido Kotlin. El proceso de generación puede ejecutarse mediante herramientas de línea de comandos, llamadas directas a funciones o como un plugin de herramienta de construcción integrado en pipelines de integración continua.
Creates complex database filter conditions using functional logic to generate flexible search results without writing static query classes.
Davinci es una plataforma de inteligencia de negocios y visualización de datos utilizada para construir dashboards e informes interactivos. Funciona como un constructor de dashboards basado en SQL y un servicio de analítica multi-tenant que se conecta a bases de datos mediante JDBC y archivos CSV para transformar datos crudos en componentes visuales. La plataforma se distingue por su modelo de seguridad granular, que incluye permisos a nivel de fila y columna integrados con autenticación LDAP y OAuth2. También proporciona una herramienta de visualización embebida que permite insertar gráficos y dashboards parametrizados y seguros en aplicaciones externas mediante URLs y frames. El sistema cubre una amplia gama de capacidades, incluyendo modelado de datos con plantillas SQL, un motor de diseño drag-and-drop para dashboards responsivos y una amplia variedad de tipos de visualización como diagramas de Sankey, gráficos de radar y mapas geográficos. Incluye además automatización para programar informes por correo electrónico y utiliza caché de clave-valor para optimizar el rendimiento de las consultas.
Generates dynamic SQL by embedding conditional logic and session variables into database templates at runtime.
Este proyecto es una versión reflejada del código fuente del framework de persistencia MyBatis, presentado como una biblioteca de integración de bases de datos Java y framework de mapeo SQL. Su propósito principal es proporcionar una base de código con anotaciones detalladas en chino para facilitar el estudio de la arquitectura interna y los patrones de diseño del framework. El repositorio se centra en el análisis de código fuente Java y el aprendizaje del framework. Permite a los usuarios examinar la implementación subyacente de la biblioteca para comprender cómo se estructuran y ejecutan los componentes de software complejos. La funcionalidad principal cubierta incluye el mapeo de bases de datos relacionales, donde los registros de la base de datos se convierten en objetos de aplicación. Esto se logra mediante una combinación de configuración de mapeo basada en XML y mapeo de consultas basado en anotaciones. Las capacidades del framework incluyen además la generación dinámica de SQL, gestión de resultados basada en caché y el uso de reflexión y proxies dinámicos para mapear resultados de bases de datos a objetos Java.
Constructs database queries at runtime by evaluating conditional logic and parameters within mapping templates.
FreeSql es un mapeador objeto-relacional (ORM) y capa de acceso a datos para .NET que traduce código orientado a objetos a SQL para múltiples proveedores de bases de datos relacionales. Funciona como un constructor de consultas SQL fluido y sincronizador de esquemas de base de datos, permitiendo a los desarrolladores alinear las estructuras de tablas e índices de la base de datos con las definiciones de clases de entidad. El framework está optimizado específicamente para .NET Native AOT para garantizar huellas de memoria reducidas y tiempos de inicio más rápidos. Incluye un gestor de tráfico de base de datos para distribuir la carga a través de división de lectura-escritura, fragmentación de tablas dinámica y aislamiento de datos basado en inquilinos. Las capacidades amplias incluyen ingesta de datos de alto rendimiento utilizando mecanismos de copia masiva específicos del proveedor, consultas avanzadas con funciones de ventana y CTEs recursivos, y monitoreo basado en AOP para auditar cambios de datos. El sistema también proporciona herramientas de gestión de esquemas para migraciones automatizadas y utilidades de desarrollo para generar clases de entidad a partir de metadatos de base de datos.
Intercepts and modifies generated SQL strings at runtime to handle custom type conversions.
Ebean es un framework de mapeo objeto-relacional de Java diseñado para simplificar la persistencia en bases de datos mediante la generación automatizada de consultas, migración de esquemas y gestión de transacciones. Utiliza mapeo basado en metadatos y mejora de bytecode para cerrar la brecha entre los objetos de la aplicación y las tablas de bases de datos relacionales, proporcionando una capa persistente que maneja interacciones de datos complejas mientras mantiene la consistencia a través de los límites de unidad de trabajo. El framework se distingue por su enfoque en la productividad del desarrollador y la optimización del rendimiento. Proporciona constructores de consultas con seguridad de tipos que generan código en tiempo de compilación, permitiendo el autocompletado del IDE y la validación estática de las operaciones de base de datos. Además, incluye soporte integrado para pruebas basadas en contenedores, permitiendo a los desarrolladores gestionar instancias de base de datos efímeras y automatizar la inicialización de esquemas directamente dentro de sus suites de pruebas. Más allá del mapeo central, el proyecto ofrece una suite integral de herramientas para la gestión de datos y observabilidad. Esto incluye evolución automatizada de esquemas, enrutamiento de réplicas de lectura para la gestión de conexiones y caché multinivel para reducir la carga de la base de datos. También proporciona capacidades de diagnóstico como la captura del plan de ejecución de consultas y el rastreo distribuido para ayudar en el ajuste del rendimiento. La librería admite flujos de trabajo de despliegue modernos, incluyendo compilación ahead-of-time para imágenes nativas para eliminar la sobrecarga de reflexión en tiempo de ejecución. Se distribuye como una librería Java estándar, con documentación y herramientas disponibles para apoyar la integración en los procesos de construcción existentes.
Constructs optimized database queries at runtime by inspecting object graphs and applying necessary filters.