Skip to content

Commit 0229545

Browse files
Ajit Pratap Singhclaude
authored andcommitted
feat(website): v1.13.0 — ClickHouse dialect, 7 dialects, new blog post
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent cb3180d commit 0229545

8 files changed

Lines changed: 55 additions & 12 deletions

File tree

website/src/app/benchmarks/BenchmarksContent.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ const metrics = [
1111
];
1212

1313
const benchmarks = [
14-
{ name: 'Simple SELECT', query: 'SELECT *', m4: '1.52M ops/sec', baseline: '1.38M ops/sec' },
15-
{ name: 'Complex Query', query: 'Multi-JOIN', m4: '412K ops/sec', baseline: '380K ops/sec' },
16-
{ name: 'Window Function', query: 'ROW_NUMBER OVER', m4: '385K ops/sec', baseline: '350K ops/sec' },
17-
{ name: 'CTE', query: 'WITH RECURSIVE', m4: '340K ops/sec', baseline: '310K ops/sec' },
18-
{ name: 'INSERT', query: 'Multi-row', m4: '890K ops/sec', baseline: '820K ops/sec' },
14+
{ name: 'Simple SELECT', query: 'SELECT *', m4: '1.40M ops/sec', baseline: '1.38M ops/sec' },
15+
{ name: 'Complex Query', query: 'Multi-JOIN', m4: '376K ops/sec', baseline: '380K ops/sec' },
16+
{ name: 'Window Function', query: 'ROW_NUMBER OVER', m4: '848K ops/sec', baseline: '350K ops/sec' },
17+
{ name: 'CTE', query: 'WITH RECURSIVE', m4: '833K ops/sec', baseline: '310K ops/sec' },
18+
{ name: 'INSERT', query: 'Multi-row', m4: '992K ops/sec', baseline: '820K ops/sec' },
1919
];
2020

2121
const methodology = [
22-
'Go 1.23+ on Apple M4 (local) and GitHub Actions runners (CI baseline)',
22+
'Go 1.26+ on Apple Silicon (local) and GitHub Actions runners (CI baseline)',
2323
'Each benchmark runs for a minimum of 1 second with -benchmem',
2424
'Race detector disabled during benchmarks (adds 3\u20135x overhead)',
2525
'Object pooling enabled for all runs (production configuration)',
@@ -53,7 +53,7 @@ export function BenchmarksContent() {
5353
Real-world performance data from the GoSQLX parser, measured on production-grade hardware.
5454
</p>
5555
<p className="mt-3 text-xs text-zinc-500">
56-
Last updated: March 2026 &middot; Based on v1.12.0
56+
Last updated: March 2026 &middot; Based on v1.13.0
5757
</p>
5858
</FadeIn>
5959
</div>

website/src/app/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export const metadata: Metadata = {
1111
template: 'GoSQLX - %s',
1212
},
1313
description:
14-
'High-performance, zero-copy SQL parsing SDK for Go. Thread-safe with multi-dialect support for PostgreSQL, MySQL, SQLite, SQL Server, Oracle, and Snowflake.',
14+
'High-performance, zero-copy SQL parsing SDK for Go. Thread-safe with multi-dialect support for PostgreSQL, MySQL, SQLite, SQL Server, Oracle, Snowflake, and ClickHouse.',
1515
metadataBase: new URL('https://gosqlx.dev'),
1616
alternates: {
1717
canonical: '/',

website/src/app/vscode/VscodeContent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const features = [
2020
},
2121
{
2222
title: 'Multi-dialect',
23-
description: 'Supports PostgreSQL, MySQL, SQLite, SQL Server, Oracle, and Snowflake out of the box.',
23+
description: 'Supports PostgreSQL, MySQL, SQLite, SQL Server, Oracle, Snowflake, and ClickHouse out of the box.',
2424
},
2525
{
2626
title: 'Bundled Binary',

website/src/components/home/Hero.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export function Hero() {
8282
{/* Version badge */}
8383
<FadeIn delay={0}>
8484
<div className="mb-6">
85-
<VersionBadge version="v1.12.0 - Remote MCP Server" />
85+
<VersionBadge version="v1.13.0 - ClickHouse Dialect" />
8686
</div>
8787
</FadeIn>
8888

website/src/components/home/StatsBar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const stats = [
88
{ value: 1380000, suffix: '+', label: 'ops/sec', color: 'text-accent-orange' },
99
{ value: 1, suffix: 'μs', label: 'latency', color: 'text-accent-indigo', prefix: '<' },
1010
{ value: 85, suffix: '%', label: 'SQL-99', color: 'text-accent-green' },
11-
{ value: 6, suffix: '', label: 'Dialects', color: 'text-accent-purple' },
11+
{ value: 7, suffix: '', label: 'Dialects', color: 'text-accent-purple' },
1212
];
1313

1414
export function StatsBar() {

website/src/components/playground/Playground.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const DIALECTS = [
2525
{ value: "sqlite", label: "SQLite" },
2626
{ value: "sqlserver", label: "SQL Server" },
2727
{ value: "oracle", label: "Oracle" },
28+
{ value: "clickhouse", label: "ClickHouse" },
2829
];
2930

3031
type TabId = "ast" | "format" | "lint" | "analyze";
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: "v1.13.0"
3+
date: "2026-03-20"
4+
version: "1.13.0"
5+
---
6+
7+
### Added
8+
- ClickHouse SQL dialect support (`DialectClickHouse = "clickhouse"`) with 30+ keywords
9+
- `PrewhereClause` field on `SelectStatement` AST for ClickHouse PREWHERE optimization
10+
- `Final` field on `TableReference` for ClickHouse MergeTree FINAL modifier
11+
- PREWHERE clause parsing in ClickHouse dialect mode
12+
- FINAL modifier parsing in ClickHouse dialect mode
13+
- GLOBAL IN / GLOBAL NOT IN expression parsing (ClickHouse)
14+
- ClickHouse data types: FixedString, LowCardinality, Nullable, DateTime64, IPv4, IPv6
15+
- MergeTree engine family keywords (MERGETREE, REPLACINGMERGETREE, AGGREGATINGMERGETREE, etc.)
16+
- LSP semantic token provider (`textDocument/semanticTokens/full`) with 6-type legend: keyword, identifier, number, string, operator, comment
17+
- LSP diagnostic debouncing (300ms) — prevents excessive re-parsing on rapid typing
18+
- LSP document cleanup on `textDocument/didClose`
19+
- Glama MCP registry integration with stdio transport support
20+
- Auto-trigger Glama build on GitHub release via CI (`glama-sync.yml`)
21+
- Sentry error monitoring, tracing, and session replay on website
22+
23+
### Changed
24+
- `ParseFromModelTokens` is now the canonical parse entry point (positions always populated)
25+
- Docker base image Go 1.25 → 1.26 to match go.mod requirement
26+
- Next.js 16.1.6 → 16.1.7 (CVE-2026-27979, CVE-2026-27980, CVE-2026-29057)
27+
- Website rebuilt on Next.js 16 App Router with comprehensive a11y, SEO, and performance audit
28+
- Lighthouse Desktop: 100 Performance / 100 Accessibility / 100 SEO (maintained)
29+
- CI: Vercel deployment working-directory bug fixed (doubled path `website/website/`)
30+
31+
### Deprecated
32+
- `parser.Parse([]token.Token)` — use `ParseFromModelTokens` instead
33+
- `ParseFromModelTokensWithPositions` — consolidated into `ParseFromModelTokens`
34+
- `ConversionResult.PositionMapping` — always nil, will be removed in v2
35+
36+
### Fixed
37+
- Production playground WASM 404 (CI working-directory path doubling)
38+
- WASM service worker cache versioning
39+
- Broken `.md` relative links in docs → `/docs/` URL paths
40+
- JSON-LD BreadcrumbList and Article markup on docs pages
41+
- Horizontal overflow at 320–390px viewport
42+
- Keyboard accessibility (tabIndex) on scrollable code blocks

website/src/lib/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export const NAV_LINKS = [
77
];
88

99
export const FEATURES = [
10-
{ icon: 'globe', title: 'Multi-Dialect', description: 'PostgreSQL, MySQL, SQLite, SQL Server, Oracle, Snowflake.', color: 'accent-purple' },
10+
{ icon: 'globe', title: 'Multi-Dialect', description: 'PostgreSQL, MySQL, SQLite, SQL Server, Oracle, Snowflake, ClickHouse.', color: 'accent-purple' },
1111
{ icon: 'lock', title: 'Thread-Safe', description: 'Zero race conditions. 20,000+ concurrent ops tested.', color: 'accent-green' },
1212
{ icon: 'bolt', title: 'Zero-Copy', description: 'Direct byte slice operations. No unnecessary allocations.', color: 'accent-orange' },
1313
{ icon: 'recycle', title: 'Object Pooling', description: 'sync.Pool recycling for ASTs, tokenizers, expressions.', color: 'accent-indigo' },

0 commit comments

Comments
 (0)