Skip to content

fix: preserve composite indexes in generated SQL#373

Merged
debba merged 5 commits into
TabularisDB:mainfrom
snvtac:snvtac/349-composite-index-sql
Jul 2, 2026
Merged

fix: preserve composite indexes in generated SQL#373
debba merged 5 commits into
TabularisDB:mainfrom
snvtac:snvtac/349-composite-index-sql

Conversation

@snvtac

@snvtac snvtac commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

This PR preserves composite indexes when generating table SQL from index metadata.

Changes

  • Added seq_in_index to the frontend Index metadata type.
  • Grouped index metadata rows by index name before rendering CREATE INDEX statements.
  • Ordered grouped columns by seq_in_index, falling back to input order when sequence data is unavailable.
  • Added regression coverage for composite non-unique indexes, composite unique indexes, sequence ordering, and table-level generated SQL output.

Validation

  • pnpm exec vitest run tests/utils/sqlGenerator.test.ts — 64 passed
  • pnpm typecheck
  • pnpm lint — passes with one existing SettingsProvider.tsx hook dependency warning
  • pnpm build — passes with an existing Vite dynamic/static import chunking warning

Closes #349

@kilo-code-bot

kilo-code-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (3 files)
  • src/types/schema.ts
  • src/utils/sqlGenerator.ts
  • tests/utils/sqlGenerator.test.ts

Reviewed by kimi-k2.6-20260420 · Input: 61.9K · Output: 6.2K · Cached: 314.6K

@debba debba requested a review from NewtTheWolf June 30, 2026 08:35
@debba debba merged commit 85f7c5b into TabularisDB:main Jul 2, 2026
1 check passed
@michabbb

michabbb commented Jul 2, 2026

Copy link
Copy Markdown

thanks a lot ! 🙏 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generated SQL splits composite indexes into multiple single-column indexes

3 participants