9 repository-uri
Translation of abstract query requests into SQL strings tailored to specific database versions and dialects.
Distinct from SQL Generators: Distinct from SQL Generators: specifically focuses on the translation between abstract requests and vendor-specific dialects for portability.
Explore 9 awesome GitHub repositories matching data & databases · Dialect-Specific SQL Generation. Refine with filters or upvote what's useful.
This project is a SQL database abstraction layer that provides a consistent object-oriented interface for interacting with multiple relational database systems. It includes a driver wrapper to standardize connections and result sets, a fluent query builder for constructing portable SQL statements, and a type mapper for converting database-specific data types into native application types and vice versa. The library enables programmatic schema management through a schema manager that can introspect database metadata, model structures as objects, and generate the SQL required to migrate between
Translates abstract query requests into dialect-specific SQL strings based on the connected database version.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
Translates abstract query operations into specific SQL syntax for MySQL, PostgreSQL, SQLite, Oracle, and SQL Server.
Hibernate ORM este un mapper obiect-relațional pentru Java și o implementare completă a Jakarta Persistence API. Acționează ca un strat de abstractizare pentru baze de date SQL care traduce modelele de obiecte Java în scheme de baze de date relaționale pentru a gestiona persistența și ciclurile de viață ale datelor. Framework-ul se distinge printr-un sistem de izolare a datelor multi-tenant pentru separarea datelor clienților în cadrul unei singure instanțe de bază de date. De asemenea, dispune de un generator de scheme de baze de date care produce și actualizează automat structurile relaționale pe baza mapărilor de entități. Sistemul acoperă domenii vaste, inclusiv gestionarea tranzacțiilor, controlul concurenței prin blocare și urmărirea datelor temporale pentru audit. Oferă instrumente pentru optimizarea interogărilor prin strategii de tip entity-graph și suportă tipuri de date avansate, cum ar fi datele vectoriale și caracterele naționalizate. Proiectul include o suită cuprinzătoare de utilitare de testare pentru stratul de persistență, inclusiv filtrarea dialectelor de baze de date și testarea conformității cu specificațiile.
Translates abstract query trees into vendor-specific SQL strings to support multiple database dialects.
MyBatis Generator este un instrument care inspectează tabelele bazei de date pentru a produce automat obiecte model, interfețe mapper și fișiere de configurare SQL. Funcționează ca un mapper de schemă de bază de date și generator de operațiuni CRUD, traducând coloanele bazei de date relaționale în clase și înregistrări specifice limbajului. Proiectul este un generator de cod extensibil care permite personalizarea fișierelor de ieșire printr-un mecanism de plugin-uri. Acest framework permite adăugarea unei logici de business specifice sau modificarea procesului de generare pentru a produce fișiere de ieșire adaptate. Generatorul acoperă o gamă largă de capabilități, inclusiv implementarea interogărilor dinamice, crearea de modele imuabile și automatizarea operațiunilor standard de creare, citire, actualizare și ștergere. Suportă maparea schemei bazei de date cu chei primare virtuale și poate genera cod pentru mai multe limbaje, inclusiv Kotlin. Procesul de generare poate fi executat prin instrumente CLI, apeluri directe de funcții sau ca un plugin de build tool integrat în pipeline-urile de integrare continuă.
Translates database-specific data types and identity key behaviors into compatible language-specific fields and queries.
Querydsl este un framework pentru construcția de interogări type-safe. Utilizează un API fluent și generarea de cod bazată pe adnotări pentru a crea clase oglindă din modelele de domeniu, permițând validarea la compilare a interogărilor bazei de date și eliminând nevoia de concatenare manuală a șirurilor. Proiectul oferă o sintaxă de interogare unificată care se traduce în dialecte specifice pentru mai multe backend-uri, inclusiv SQL, MongoDB, Lucene și JDO. Suportă capabilități avansate de interogare, cum ar fi expresii tabelare comune, funcții de fereastră, operații geospațiale și subinterogări complexe imbricate. Dincolo de regăsirea datelor, framework-ul acoperă execuția DML type-safe pentru actualizări și ștergeri în masă, precum și maparea rezultatelor în Java Beans, constructori sau tuple. Include suport pentru interogarea colecțiilor în memorie și se integrează cu Spring Framework pentru gestionarea tranzacțiilor și a conexiunilor.
Allows customizing SQL serialization for specific database engines by subclassing the query implementation.
Bun este un ORM (Object Relational Mapper) type-safe pentru Go care prioritizează construcția interogărilor SQL-first și maparea rezultatelor. Funcționează ca un constructor de interogări SQL programabil, un manager de conexiuni la baza de date și un instrument pentru maparea tabelelor bazei de date la structuri Go. Proiectul se distinge printr-un sistem de suport SQL multi-dialect, permițând unui singur codebase să interacționeze cu diferite motoare de baze de date printr-o interfață consistentă. Include un instrument încorporat de observabilitate a bazei de date pentru interceptarea interogărilor, tracing distribuit și logare, precum și un instrument de migrare a schemei pentru versionarea modificărilor structurale. Biblioteca acoperă o gamă largă de operațiuni cu date, inclusiv procesarea în masă, upsert-uri, soft deletes și gestionarea datelor relaționale, cum ar fi asocierile polimorfice. Oferă capabilități pentru analize SQL avansate folosind expresii de tabel comune (CTE) și funcții de fereastră, alături de gestionarea tranzacțiilor atomice și pooling-ul conexiunilor. Gestionarea schemei este suportată printr-o interfață de linie de comandă pentru aplicarea scripturilor de migrare versionate.
Implements translation of abstract query requests into SQL strings tailored to specific database versions and dialects.
ActiveRecord Import este o bibliotecă pentru inserarea seturilor mari de date într-o bază de date folosind ActiveRecord prin interogări unice sau grupate. Funcționează ca un importator de date în masă și instrument de inserare SQL în masă conceput pentru a minimiza overhead-ul interogărilor și a crește performanța de scriere. Proiectul include un motor de upsert pentru a gestiona conflictele de constrângeri unice prin actualizarea înregistrărilor existente sau ignorarea duplicatelor. De asemenea, dispune de un importator de asocieri recursiv care permite inserarea înregistrărilor părinte și a asocierilor copil imbricate într-o singură operațiune. Biblioteca oferă un strat de validare pre-inserare pentru a verifica validitatea înregistrărilor și a raporta eșecurile înainte de a comite datele. Gestionează migrarea datelor la scară largă prin împărțirea seturilor de date în loturi pentru a controla utilizarea memoriei și a evita limitele de dimensiune a pachetelor bazei de date. Instrumentul oferă rezumate ale rezultatelor care conțin numărul de succese și identificatorii înregistrărilor, alături de urmărirea progresului pentru loturile de date.
Generates SQL syntax tailored to specific database dialects for optimized bulk inserts and upserts.
Acest proiect este o bază de cunoștințe personală bazată pe markdown și un jurnal de învățare digital utilizat pentru a stoca notițe și rezumate din cărți și literatură tehnică. Acesta servește drept depozit de rezumate de lectură și bibliotecă de referință tehnică pentru arhivarea ideilor principale și a cunoștințelor din materiale non-ficțiune și profesionale. Colecția funcționează ca o grădină digitală pentru curarea ideilor din cărți, articole și videoclipuri. Se concentrează în mod specific pe distilarea modelelor arhitecturale complexe, a conceptelor tehnice și a principiilor de leadership profesional într-un format căutabil pentru referință pe termen lung. Depozitul organizează, de asemenea, cunoștințele personale prin colectarea de framework-uri de gândire reutilizabile, modele mentale și instrumente de luare a deciziilor profesionale. Include un sistem pentru urmărirea progresului lecturii prin gestionarea listelor de lucrări finalizate și în curs de desfășurare.
Archives insights on translating abstract query requests into portable, dialect-specific SQL strings.
Ktorm este un framework de mapare obiect-relațională (ORM) ușor pentru Kotlin care oferă un limbaj specific domeniului (DSL) SQL „type-safe” și API-uri funcționale de secvență pentru interacțiunea cu baza de date. Permite dezvoltatorilor să definească scheme de baze de date și să mapeze tabelele relaționale la obiecte bazate pe interfețe, asigurându-se că persistența și recuperarea datelor sunt gestionate prin expresii puternic tipizate. Framework-ul se distinge prin utilizarea unei abordări funcționale, de tip colecție, pentru construcția interogărilor, permițând dezvoltatorilor să înlănțuiască operațiuni precum filtrarea, sortarea și agregarea folosind tipare idiomatice de limbaj. Prin utilizarea evaluării leneșe (lazy) a secvențelor, biblioteca asigură că operațiunile bazei de date sunt amânate până când datele sunt accesate explicit, ceea ce optimizează performanța și utilizarea memoriei în timpul recuperării înregistrărilor. Sistemul acoperă o gamă cuprinzătoare de capabilități de gestionare a bazelor de date, inclusiv operațiuni de join automatizate, paginarea rezultatelor și gestionarea ciclului de viață al entităților. Susține definiții complexe de schemă și maparea tipurilor personalizate, oferind instrumente pentru a sincroniza stările obiectelor din memorie cu înregistrările persistente din baza de date, menținând în același timp consistența schemei prin metadate declarative.
Translates abstract query definitions into database-specific SQL syntax at execution time.