Commit graph

6 commits

Author SHA1 Message Date
Kacper
c038366783
feat: add TAGS() macro and auto-detection for multi-tag AND queries (#202)
* feat: add TAGS() macro and auto-detection for multi-tag AND queries

Introduces two complementary solutions for the common mistake of filtering
by multiple tags with AND (which always returns zero results):

1. TAGS() macro: explicit opt-in syntax
   WHERE TAGS('#project', '#active')
   → path IN (SELECT path FROM tags WHERE tag = '#project'
              INTERSECT SELECT path FROM tags WHERE tag = '#active')

2. Auto-detection: transparently rewrites the broken pattern
   WHERE tag = '#a' AND tag = '#b'
   → path IN (...INTERSECT...)
   Mixed conditions (AND name = 'test') are preserved correctly.

Both use INTERSECT subqueries which are more flexible than an EXISTS
approach (no hardcoded table reference required).

Adds disableTagAutoDetection setting so advanced users can opt out of
the transparent rewrite and handle the SQL themselves.

Docs updated in query-vault-content.md and faq/understanding-tags.md.

* chore: adding changeset
2026-04-06 12:50:00 +01:00
Kacper
bf085fe896
Migrating SQL Engine to wa-sqlite (#193)
* feat: WIP. Proof of concept of using sqlite-wasm

* chore: few experiments with kysely

* chore: poc of using idb with modern version of sqlite

* feat: reworking project to use wa-sqlite

* feat: making database queries work too

* infra: refactoring database connection and cleaning dependencies

* fix: fixing issue with tests

* chore: adding missing packages

* chore: underlying engine updated to wa-sqlite
2026-03-22 18:01:03 +00:00
Kacper Kula
ce1da3f9ce
Variable editor in SQLSeal Explorer (#185)
* feat: variables editor

* chore: fixing code issue
2025-08-15 14:57:27 +01:00
Kacper Kula
531d486d06
Feat/sql explorer (#174)
* chore: reworking plugin internals into modules

* feat: settings module is now working, added debug module, enabled new api module

* chore: restoring external API

* feat: refactoring project to use proper inversion of control

* feat: plugins can now be loaded in any order

* chore: final file migration, all typescript is in modules now

* chore: fixing dependencies of cellParser

* feat: csv and json views are only registered when they are not colliding with other plugins

* feat: fixed library behaviour on canvas

* feat: added ability to hide columns from csv files

* feat: adding global tables support (wip)

* feat: global tables full implementation

* feat: sqlite databases can now be previewed in explorer

* feat: improved explorer view

* feat: highlighting code in the copy code modal

* chore: fixing typechecks

* chore: adding missing changeset
2025-08-10 10:08:13 +01:00
Kacper Kula
2bfd2060d7
Feat/global tables new (#173)
* chore: reworking plugin internals into modules

* feat: settings module is now working, added debug module, enabled new api module

* chore: restoring external API

* feat: refactoring project to use proper inversion of control

* feat: plugins can now be loaded in any order

* chore: final file migration, all typescript is in modules now

* chore: fixing dependencies of cellParser

* feat: csv and json views are only registered when they are not colliding with other plugins

* feat: fixed library behaviour on canvas

* feat: added ability to hide columns from csv files

* feat: adding global tables support (wip)

* feat: global tables full implementation

* feat: added changeset

* chore: fixing typechecks
2025-08-10 10:01:08 +01:00
Kacper Kula
285684dfc4
Refactoring Project to use proper Inversion of Control (#171)
* chore: reworking plugin internals into modules

* feat: settings module is now working, added debug module, enabled new api module

* chore: restoring external API

* feat: refactoring project to use proper inversion of control

* feat: plugins can now be loaded in any order

* chore: final file migration, all typescript is in modules now

* chore: fixing dependencies of cellParser

* feat: csv and json views are only registered when they are not colliding with other plugins

* feat: fixed library behaviour on canvas
2025-08-10 09:34:54 +01:00