ajitpratap0

GoSQLX

Community ajitpratap0
Updated

High-performance SQL parser, formatter, linter & security scanner for Go - 1.5M+ ops/sec, multi-dialect, zero-copy, race-free

GoSQLX

Parse SQL at the speed of Go

Go VersionReleaseLicensePRs Welcome

WebsiteVS CodeMCPLint Action

TestsGo ReportGoDocStars

๐ŸŒ Try the Playground  ยท  ๐Ÿ“– Read the Docs  ยท  ๐Ÿš€ Get Started  ยท  ๐Ÿ“Š Benchmarks

1.25M+ ops/sec <1ฮผs latency 85% SQL-99 6 dialects 0 race conditions

What is GoSQLX?

GoSQLX is a production-ready SQL parsing SDK for Go. It tokenizes, parses, and generates ASTs from SQL with zero-copy optimizations and intelligent object pooling - handling 1.25M+ operations per second with sub-microsecond latency.

ast, _ := gosqlx.Parse("SELECT u.name, COUNT(*) FROM users u JOIN orders o ON u.id = o.user_id GROUP BY u.name")
// โ†’ Full AST with statements, columns, joins, grouping - ready for analysis, transformation, or formatting

Why GoSQLX?

  • Not an ORM - a parser. You get the AST, you decide what to do with it.
  • Not slow - zero-copy tokenization, sync.Pool recycling, no allocations on hot paths.
  • Not limited - PostgreSQL, MySQL, SQL Server, Oracle, SQLite, Snowflake. CTEs, window functions, MERGE, set operations.
  • Not just a library - CLI, VS Code extension, GitHub Action, MCP server, WASM playground, Python bindings.

Get Started in 60 Seconds

go get github.com/ajitpratap0/GoSQLX
package main

import (
    "fmt"
    "github.com/ajitpratap0/GoSQLX/pkg/gosqlx"
)

func main() {
    // Parse any SQL dialect
    ast, _ := gosqlx.Parse("SELECT * FROM users WHERE active = true")
    fmt.Printf("%d statement(s)\n", len(ast.Statements))

    // Format messy SQL
    clean, _ := gosqlx.Format("select id,name from users where id=1", gosqlx.DefaultFormatOptions())
    fmt.Println(clean)
    // SELECT
    //   id,
    //   name
    // FROM users
    // WHERE id = 1

    // Catch errors before production
    if err := gosqlx.Validate("SELECT * FROM"); err != nil {
        fmt.Println(err) // โ†’ expected table name
    }
}

Install Everywhere

๐Ÿ“ฆ Go Library

go get github.com/ajitpratap0/GoSQLX

๐Ÿ–ฅ๏ธ CLI Tool

go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@latest
gosqlx validate "SELECT * FROM users"
gosqlx format query.sql
gosqlx lint query.sql

๐Ÿ’ป VS Code Extension

code --install-extension ajitpratap0.gosqlx

Bundles the binary - zero setup. Learn more โ†’

๐Ÿค– MCP Server (AI Integration)

claude mcp add --transport http gosqlx \
  https://mcp.gosqlx.dev/mcp

7 SQL tools in Claude, Cursor, or any MCP client. Guide โ†’

Features at a Glance

โšก Parser

Zero-copy tokenizerRecursive descent parserFull AST generationMulti-dialect engine

๐Ÿ›ก๏ธ Analysis

SQL injection scanner10 lint rules (L001โ€“L010)Query complexity scoringMetadata extraction

๐Ÿ”ง Tooling

AST-based formatterQuery transforms APIVS Code extensionGitHub Action

๐ŸŒ Multi-Dialect

PostgreSQL ยท MySQLSQL Server ยท OracleSQLite ยท Snowflake

๐Ÿค– AI-Ready

MCP server (7 tools)Public remote endpointStreamable HTTP

๐Ÿงช Battle-Tested

20K+ concurrent opsZero race conditions~85% SQL-99 compliance

Documentation

Resource Description
๐ŸŒ gosqlx.dev Website with interactive playground
๐Ÿš€ Getting Started Parse your first SQL in 5 minutes
๐Ÿ“– Usage Guide Comprehensive patterns and examples
๐Ÿ“„ API Reference Complete API documentation
๐Ÿ–ฅ๏ธ CLI Guide Command-line tool reference
๐ŸŒ SQL Compatibility Dialect support matrix
๐Ÿค– MCP Guide AI assistant integration
๐Ÿ—๏ธ Architecture System design deep-dive
๐Ÿ“Š Benchmarks Performance data and methodology
๐Ÿ“ Release Notes What's new in each version

Contributing

GoSQLX is built by contributors like you. Whether it's a bug fix, new feature, documentation improvement, or just a typo - every contribution matters.

git clone https://github.com/ajitpratap0/GoSQLX.git && cd GoSQLX
task check    # fmt โ†’ vet โ†’ lint โ†’ test (with race detection)
  1. Fork & branch from main
  2. Write tests - we use TDD and require race-free code
  3. Run task check - must pass before PR
  4. Open a PR - we review within 24 hours

๐Ÿ“‹ Contributing Guide ยท ๐Ÿ“œ Code of Conduct ยท ๐Ÿ›๏ธ Governance

Community

Got questions? Ideas? Found a bug?

License

Apache License 2.0 - see LICENSE for details.

Built with โค๏ธ by the GoSQLX community

gosqlx.dev ยท Playground ยท Docs ยท MCP Server ยท VS Code

If GoSQLX helps your project, consider giving it a โญ

MCP Server ยท Populars

MCP Server ยท New

    ajitpratap0

    GoSQLX

    High-performance SQL parser, formatter, linter & security scanner for Go - 1.5M+ ops/sec, multi-dialect, zero-copy, race-free

    Community ajitpratap0
    smart-mcp-proxy

    MCPProxy โ€“ Smart Proxy for AI Agents

    Supercharge AI Agents, Safely

    Community smart-mcp-proxy
    wowyuarm

    File Ops

    A local file operations skill for AI agents: convert, inspect, archive, and extract text

    Community wowyuarm
    cyanheads

    @cyanheads/mcp-ts-core

    TypeScript template for building Model Context Protocol (MCP) servers. Ships with declarative tools/resources, pluggable auth, multi-backend storage, OpenTelemetry observability, and first-class support for both local and edge (Cloudflare Workers) runtimes.

    Community cyanheads
    bitbonsai

    MCP-Vault

    A lightweight Model Context Protocol (MCP) server for safe Obsidian vault access

    Community bitbonsai