Commit Graph
48 Commits
Author SHA1 Message Date
Joshen Lim 0ea4f24bb5 Chore/persist auth users search configuration (#39649)
* Perist auth users search configuration

* nit

* Clean up

* Swap more params to use URL state

* Clean up
2025-10-20 12:52:51 +08:00
Charis 67c6ef6745 feat(pgmeta): filter by composite values (#39179)
* feat(pgmeta): filter by composite values

Current behavior:

Only single columns can be used as filters: `where version = 2`

New behavior:

Composite values can be used as filters: `where (id, version) = (1, 2)`

Motivation:

In order to correct an existing bug when fetching table rows, we need to
use cursor pagination on the primary key, but in order to handle
composite primary keys, we need to be able to filter by composite
values.

* refactor(pgmeta): allowlist in-tuple operators
2025-10-16 08:28:27 -04:00
Stojan DimitrovskiandJoshen Lim 0a3f4184a7 feat: optimized users page (#39349)
* feat: optimized users page

* Update UI

* Reinstate footer with count if mode is freeform

* Simplify disabled sort in performance mode

* Clean

* Small fix

* Final fixes

* Shift users SQL query to packages/pg-meta

* Nit unrelated: Clear query params from useLogsUrlState when going to logs tab of a selected user

* Shift user count SQL and get count estimate SQL into packages/pg-meta

* Fix

* Nit

* Nit

* Minor nits

* Refactor UX for searching

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-14 15:02:00 +08:00
Charis 5dbc8d44c0 fix(pgmeta): return pks in order (#39414)
Composite primary keys should be returned in order so we can be sure we
are using the index for efficient querying.
2025-10-10 10:58:52 -04:00
Joshen Lim f370cc6045 Fix query builder wrap table schema name in double quotes (#39067)
* Fix query builder wrap table schema name in double quotes

* Patch

* PATCH

* Fix

* Remove console log

* Clean up

* Simplify
2025-09-30 11:42:50 +08:00
Joshen Lim cf2a372fa5 Fix default order by columsn to exclude json columns (#39028) 2025-09-30 11:16:36 +08:00
Riccardo Busetti e12984c60f feat(replication): Add dialog to clarify replication requirements and limitations (#39032) 2025-09-29 12:09:26 +02:00
Joshen LimandJordi Enric 011f6c3e87 Fix Table Editor not identifying truncated array column values properly (#37683)
* Fix Table Editor not identifying truncated array column values properly

* Add comment

* update tests

* Fix TS issues and shift test file to beside the file its testing

* Fix tests

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-08-06 11:11:14 +07:00
Bobbie Soedirgo f6419a49f4 fix(pg-meta): update reserved words (#37693) 2025-08-05 11:52:56 -02:30
Joshen Lim b80e798ecd Table editor cast column type to text if filtering with like based filter (#37341)
* Table editor cast column type to text if filtering with like based filter

* Update pg-meta tests

* Fix test cases for ~~ in advanced-query.test

* Fix tests in table-row-query.test
2025-07-22 16:32:46 +08:00
Andrew Valleteau 4bd28eecb8 fix(api): set x-pg-application-name for dashboard (#37048)
chore(api): set x-pg-application-name for dashboard
2025-07-21 10:39:46 +02:00
Andrew ValleteauandJoshen Lim 2d0b321ec6 fix(table-editor): handle multi-dimentional array truncation and preview (#36108)
* fix(table-editor): handle multi-dimentional array truncation and preview

* fix(SidePanelEditor): fully load truncated input fields

* Small tweaks

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-05 10:52:47 +08:00
Andrew Valleteau 521979748b fix(studio): use null last order by default (#35794)
* fix(studio): use null last order by default

* chore(tests): update tests
2025-05-21 10:26:40 +02:00
Julien Goux b7057fa9d8 fix: move triggers requests to query route (#35667) 2025-05-20 15:41:43 +08:00
b09440bd47 fix: move table create update delete to query route (#35662)
* fix: move table create update delete to query route

* chore: implement query to fetch a single table

* fix: retrieve table after update

* chore: assign type to update table payload

* chore: use updated table columns for edit

* chore: make executeSql castable with generic (#35685)

* Chore/refactor derivate more types from queries (#35687)

* chore: make executeSql castable with generic

* chore: derivate types from performed queries

- It allows to decouple more the frontend logic and the pg-meta/sql-query logic allowing to reduce the number of cast
and get closer types between what we do fetch and what we expect in our components

* fix: remove existing check

* chore: handle null comment and check

* fix: format check name as identifier

---------

Co-authored-by: avallete <andrew.valleteau@supabase.io>
Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
2025-05-20 10:34:59 +08:00
Han Qiao dc2f1270db fix: move column delete and update to query route (#35497)
* fix: move column create request to query route

* chore: replace table id with fully qualified name

* chore: consolidate default column value tests

* chore: consolidate array column tests

* chore: test setting default value to null

* fix: move column delete and update to query route

* chore: remove unused code
2025-05-15 11:42:29 +08:00
Han QiaoandAndrew Valleteau 80791c01b5 fix: move column create request to query route (#35532)
* fix: move column create request to query route

* chore: replace table id with fully qualified name

* chore: consolidate default column value tests

* chore: consolidate array column tests

* chore: test setting default value to null

* chore: remove unused code

---------

Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
2025-05-14 13:23:31 +08:00
Han Qiao 5601bb3e9c fix: move publication create and update to query route (#35633)
* fix: move publication create and update to query route

* fix: update mutation should use query route
2025-05-14 12:54:58 +08:00
Andrew Valleteau a90d29aef7 chore(docs): fix comment misspell (#35638)
chore: fix comment misspell
2025-05-13 09:39:09 -04:00
Han Qiao ca06acef00 fix: move extension requests to query route (#35583)
* fix: move extension requests to query route

* chore: escape schema name as identifier
2025-05-13 00:31:18 +08:00
Han Qiao e2fddfeeeb fix: move policy requests to query route (#35500) 2025-05-12 23:54:46 +08:00
Andrew Valleteau 71b261932e chore(refacto): throw error instances (#35617)
* chore: throw error instance for pgMetaGuard

* chore: throw error instance for Query utils

* chore: attempt to fix flawkyness
2025-05-12 10:53:15 +02:00
Andrew Valleteau c0bddbba9a fix(table-editor): use CTE optimization for table-editor selection (#35071)
* fix(table-editor): use CTE optimization for table-editor selection

* chore: add comments
2025-04-17 12:47:16 +08:00
Joshen Lim 06091157d9 Table editor filter convert empty string value to null if column is not text based type (#34674) 2025-04-03 15:46:29 +08:00
Andrew Valleteau e36f1715b3 fix(studio): keep json formatting when truncating arrays (#34546) 2025-04-03 09:01:49 +02:00
Andrew Valleteau 23aec2190d fix(studio): update table-query-rows generated sql for truncation (#34237)
* chore(studio): move Query to pgMeta add tests

- Move the Query builder from studio to pgMeta
- Add e2e tests over the generated sql to ensure syntax and runtime
  result over pg database
- fix bug with orde by for table with undefined column

* chore: add table-row-query to pgMeta and tests

* chore: fix query import path

* chore: reduce maxArraySize

* chore: use pg-meta getTableRowsSql implementation in studio

* chore: add truncation on large array fields

* chore: set ES target for lint

* chore: update comment

* chore: reduce test size for CI
2025-03-25 16:51:55 +01:00
Andrew Valleteau eb7efdef7f chore(studio): move Query to pgMeta add tests (#34232)
* chore(studio): move Query to pgMeta add tests

- Move the Query builder from studio to pgMeta
- Add e2e tests over the generated sql to ensure syntax and runtime
  result over pg database
- fix bug with orde by for table with undefined column

* chore: fix query import path

* chore: set ES target for lint

* chore: add github action for pg-meta test package

* chore: add tsconfig to sparse checkout
2025-03-20 19:04:58 +00:00
Andrew Valleteau 791422b2d0 chore(pg-meta): migrate publications (#33732) 2025-03-06 10:34:08 +01:00
Andrew Valleteau 1413671941 chore(pg-meta): migrate extensions (#33702)
* chore(pg-meta): migrate extensions

* chore: use executeQuery for setup
2025-03-05 22:42:27 +01:00
Andrew Valleteau b79da1e59c chore(pg-meta): migrate config (#33698)
* chore(pg-meta): migrate config

Migrate config from: https://github.com/supabase/postgres-meta/blob/master/src/lib/PostgresMetaConfig.ts

* chore: use afterAll cleanup
2025-03-05 20:05:26 +01:00
Andrew Valleteau b5b9f975ba chore(pg-meta): migrate tests for roles (#33679)
* chore(pg-meta): migrate tests for roles

* chore: remove unused export
2025-03-05 19:54:48 +01:00
Andrew Valleteau e823a352a4 chore(pg-meta): migrate columns (#33724)
* chore(pg-meta): migrate columns wip migrate list

* chore(pg-meta): migrate columns

* chore(pg-meta): add test coverage

* chore: export pgcolumn array zod

* chore(pg-meta): migrate foreign-tables (#33703)

* chore(pg-meta): migrate foreign-tables

* chore: re-use columns zod definition

* chore(pg-meta): migrate tables logic and tests (#33758)

* chore(pg-meta): Migrate tables (wip)

* wip list

* chore(pg-meta): migrate tables test and code

* chore(pg-meta): migrate views (#33676)

* chore(pg-meta): migrate views

* fix: add includeColumsn return type conditionality

* chore(pg-meta): migrate materialized-views (#33694)

* chore(pg-meta): migrate materialized-views

* fix: add includeColumsn return type conditionality

* chore(pg-meta): migrate foreign-tables

* chore(pg-meta): Migrate tables (wip)

* chore: change columns

* Update pg-meta-tables.ts

* chore: fix merge
2025-03-05 19:39:03 +01:00
Andrew Valleteau 44e84ceab3 chore(pg-meta): migrate policies (#33680) 2025-03-04 11:46:19 +00:00
Andrew Valleteau 852ca11a8e chore(pg-meta): migrate triggers (#33675) 2025-03-04 11:28:20 +00:00
Andrew Valleteau ffddcab9b8 chore(pg-meta): migrate types sql (#33649) 2025-03-04 12:11:55 +01:00
Andrew Valleteau 585669a06d chore(pg-meta): migrate version (#33648) 2025-03-04 11:40:59 +01:00
Andrew Valleteau 06ef94a858 chore(pg-meta): migrate indexes (#33645)
* chore(pg-meta): migrate indexes

* chore(pg-meta): fix vector to array conversion

* chore: use common naming
2025-03-04 09:42:18 +00:00
Andrew Valleteau 82e72090f2 chore(pg-meta): migrate column-privileges (#33643)
chore(pg-meta): migrate column-privilges
2025-03-04 09:17:19 +00:00
Andrew Valleteau 0106c4b319 chore(pg-meta): port functions tests (#33480)
* chore(pg-meta): port functions tests
2025-02-14 16:11:07 +09:00
Andrew ValleteauandBobbie Soedirgo ff084444f0 chore: add tests pg meta package (#32849)
* chore: add basic tests structure and utils

* chore: add tests to pgMeta package

* chore: remove double default assignation

* chore: update pnpm-lock

* fix(pg-meta): don't convert oid to int8

---------

Co-authored-by: Bobbie Soedirgo <bobbie@soedirgo.dev>
2025-01-31 03:00:37 +00:00
Bobbie Soedirgo f5c0a4c899 fix: only use MAINTAIN for table privileges if PG17+ (#30998)
* chore: use @supabase/pg-meta for table privileges queries

* fix: only use MAINTAIN for table privileges if PG17+

* chore: run prettier
2024-12-08 18:58:29 +01:00
Bobbie Soedirgo 1c49f5b801 fix: functions config quotes (#29541) 2024-09-26 14:57:31 -02:30
Alaister YoungandKevin Grüneberg 70da0f1d1d chore: cleanup packages (#27770)
* chore: cleanup packages

- Avoid circular imports
- Export API-types as types
- pg-format without depending on Node internal Buffer (not browser-compatible)
- Avoid importing from barrel files in ui dir

* chore: avoid barrel file imports in studio (#27771)

* chore: avoid barrel file imports

- Removes some unused imports
- Avoids barrel file import for faster builds + less memory

* add eslint rule

* type fixes

* delete layouts barrel

* delete components/grid barrel file

* delete components/grid/utils barrel file

* delete components/grid/components/common barrel file

* delete components/grid/components/editor barrel file

* delete components/grid/components/formatter barrel file

* delete components/grid/components/grid barrel file

* delete components/grid/components/header/filter barrel file

* remote components/grid/store barrel file

* remove components/interfaces/Auth/Policies barrel file

* delete components/interfaces/Settings/Logs barrel file

* delete components/ui/CodeEditor barrel file

* delete components/ui/Forms barrel file

* delete components/ui/Shimmers barrel file

* delete data/analytics barrel file

* delete hooks barrel file

* cleanup lib/common/fetch barrel file

* final * barral files cleanup

* global react-data-grid styles

* remove console.log

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>

* fix build

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-07-04 14:48:10 +08:00
Alaister Young 8e47d317fa chore: pg-meta functions (#26881)
* start pg-meta functions

* pg meta create function

* pg meta database functions update and delete

* fix ts

* update execute sql error type

* update execute sql error type

* remove duplicate database functions query
2024-06-03 23:21:19 +08:00
Pedro CarlotoandCharis 0116711a8a Update cli.mdx (#22564)
* Update cli.mdx

Added details on how to install the Supabase CLI

* Update apps/docs/content/guides/cli.mdx

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2024-04-23 13:25:47 +00:00
Bobbie Soedirgo 1d58f2a11b chore: use @supabase/pg-meta for role queries (#22821)
* chore: use @supabase/pg-meta for role queries

* chore: prettier

* fix: typo
2024-04-17 16:19:49 +07:00
Bobbie SoedirgoandAlaister Young f327f2b234 chore: use @supabase/pg-meta for schema mutation (#22619)
* chore: use @supabase/pg-meta for schema mutation

* fix schemas query invalidation

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2024-04-17 11:04:21 +07:00
Bobbie Soedirgo 8888bb0023 feat: initial version of @supabase/pg-meta (#22307)
* feat: initial version of @supabase/pg-meta

Unlike supabase/postgres-meta, this will be a pure-JS SQL & Zod schema builder

* chore: typescript 5.4

* fix: typescript errors
2024-04-01 18:07:34 +08:00