steve-chavez
bae5afbad6
feat: allow unknown on the is operator
...
Also make the IS values strict at the Parser level since IS cannot be
parametrized.
2021-11-18 17:01:58 -05:00
Laurence Isla and GitHub
91689e28f0
Remove partitions from the schema cache
...
breaking: Embedding, OpenApi and other features related to the schema cache are no longer allowed on partitions.
2021-11-18 14:12:14 -05:00
3b83f536ca
Correct inner join to use proper aliases ( #1978 )
...
"_" was used for all the internal json_agg aliases. Now an alias
with "_" plus a local table name is used.
Co-authored-by: Cole Arendt <cole.arendt@outlook.com >
2021-10-18 17:34:31 -05:00
steve-chavez
ee56dd5db1
feat: filter top-level resource with embed filter
...
This is enabled by adding `!inner` to the embedded resource
/projects?select=*,clients!inner(*)&clients.id=eq.12
This behaviour can be enabled by default with the config option
db-embed-default-join='inner'
Which saves the need for specifying `!inner` on every request.
If this is enabled, the previous behavior can be restored
per request by specifying `!left` on the embedded resource.
/projects?select=*,clients!left(*)&clients.id=eq.12`
Tested on M20/02M/M2M relationships, views, RPC.
2021-10-04 13:46:32 -05:00
steve-chavez
4a594d5e95
fix: using " and \ as values on the in filter
...
Properly escape the array literal built at the QueryBuilder
stage.
2021-09-13 19:06:30 -05:00
laurenceisla and GitHub
4e4548d702
feat: Include partitioned tables into the schema cache
...
Allows embedding, UPSERT, INSERT with Location response, OPTIONS request and OpenAPI support for partitioned tables
2021-08-13 15:06:56 -05:00
steve-chavez
082da78f4c
fix: disregard internal junction when embedding
...
Added test cases for a lone internal junction and an internal junction
exposed homonym
2021-04-21 10:28:20 -05:00
Wolfgang Walther and GitHub
609c9aead8
Make transaction-rollback=true the default for test-suite ( #1663 )
...
Change test-suite to use db-tx-rollback-all = true by default
2020-12-03 18:54:33 +01:00
steve-chavez
4bd5e6bd82
perf: enable prepared statements for GET
...
- Parametrize filters
- Parametrize LIMIT/OFFSET
- Parametrize JSON path(select=col->$1)
- Single parameter for IN(use ANY)
- Also enable prepared statement for the EXPLAIN
used on the estimated count.
2020-11-23 19:00:50 -05:00
Wolfgang Walther and Steve Chavez
b091586394
Refactor tests: renaming json table to prevent hiding of native json type
2020-11-20 09:24:32 -05:00
Gergely Mészáros and GitHub
3f690ec78f
Removing single column limit from join table M2M mapping detection. ( #1593 )
2020-11-17 18:49:02 -05:00
Wolfgang Walther and GitHub
c524531784
Fix overloaded computed columns on RPC ( #1473 )
...
* fix some typos and spelling
* fix pg_source CTE name should be prefixed with pgrst_
* added tests for overloaded computed columns on patch calls
2020-04-06 14:04:55 -05:00
691bb5640d
Allow multiple schemas to be exposed in one instance ( #1450 )
...
The schema to use can be selected through the headers `Accept-Profile` for GET/HEAD and `Content-Profile` for POST/PATCH/PUT/DELETE.
This is based on the https://www.w3.org/TR/dx-prof-conneg/ttps://www.w3.org/TR/dx-prof-conneg/ spec.
Also increase all memory tests by 1M(otherwise CI fails).
Co-authored-by: Mahmoud Kassem <MKassem@gk-software.com >
Co-authored-by: Mahmoud Kassem <mahmoud_k@mail.com >
2020-03-30 14:04:20 -05:00
Steve Chavez and GitHub
663faa1f82
Allow specifying the constraint name to disambiguate an embedding ( #1430 )
...
Makes previous duck typing regex unnecessary since the FK can be renamed
to a singular name or to any other format.
* Remove embedding with duck typed column names
* Allow embedding by foreign key name
* Add junction disambiguation tests
2020-01-06 09:42:33 -05:00
YUKISHITA Yohsuke and Steve Chavez
99b13fa25f
Upsert with "Prefer: resolution=merge-duplicates" on specified columns ( #1327 ) ( #1432 )
...
Allow query param 'on_conflict=key1,key2,...' to upsert with explicit columns with unique
constraint.
2019-12-29 11:52:58 -05:00
Steve Chávez and GitHub
80f763448f
Fix unique foreign key in view ( #1395 )
2019-10-16 12:45:38 -05:00
steve-chavez
ed2bfc09a6
Allow PATCH/DELETE w/o Prefer when no SELECT privs
...
PATCH/DELETE can now be done without adding Prefer return=minimal when
the user doesn't have SELECT privileges.
* Also fix PATCH wrong HTTP status code
2019-10-08 12:41:39 -05:00
steve-chavez
94f5894d7f
Fix self join resource embedding on PATCH
2019-09-28 13:45:18 -05:00
steve-chavez
673aa25082
Fix #1221 , embedding when having a self join
2019-02-04 10:22:02 -05:00
steve-chavez
6b2778749f
Add ability to quote column names on filters
2018-12-12 12:07:30 -05:00
steve-chavez
36f86827ee
Fix #1008 , Handle columns that contain spaces
2018-12-12 12:07:30 -05:00
Steve Chávez and GitHub
501edc718d
Add db-extra-search-path config ( #1218 )
...
For adding schemas to the search_path, solves issues related to extensions created in the public schema.
2018-12-08 11:39:31 -05:00
steve-chavez
5bfb68b982
Fix #1180 , embedding on views with composite pks
...
Also add CHANGELOG entries for previous fixes.
2018-10-12 09:24:22 -05:00
steve-chavez
b1a8bd2391
Close #709 , add test for embedding a view with CTE
...
Also add test for embedding a view with subselect in FROM clause
2018-07-18 09:43:42 -05:00
steve-chavez
9e3454129f
Add tests for jsonb equality filtering
2018-06-19 11:17:59 -05:00
steve-chavez
30dfadec7b
Add support for getting json by array index
...
* Also support json negative array index
2018-06-19 11:17:59 -05:00
steve-chavez
37e7398a85
Fix UPSERT bug on camelCase PK column
2018-05-31 11:57:42 -05:00
steve-chavez
30cf1d100a
Add foreign tables to OpenAPI output
2018-05-07 10:14:26 -05:00
steve-chavez
32c7e32bdf
Allow embeds alias to be used in filters, fix #821
2018-04-02 11:09:45 -05:00
steve-chavez
062a5581f5
Allow specifying source column in embed, fix #1078
2018-04-02 11:09:45 -05:00
steve-chavez
349a5ae076
Fix Parent Relation when having many views( #1044 )
2018-03-17 07:53:41 -05:00
steve-chavez
ff709a65e5
Add FROM targets aliasing to avoid conflict in embeds
2018-02-21 09:23:08 -05:00
steve-chavez
6675821c64
Allow PUT method: UPSERT of a single row
2018-02-21 07:33:54 -05:00
steve-chavez
85b1dc0eb4
Add UPSERT for POST with Prefer:resoultion=merge/ignore-duplicates
2018-02-21 07:33:54 -05:00
steve-chavez
e1cab584a3
Add test for #996 embed bug when table name = column name
2017-10-09 10:45:17 -05:00
steve-chavez
dff4d766a8
Allow dictionary and plain/phrase in fts
2017-09-08 19:56:00 -05:00
Russell Davies and Joe Nelson
59a320fd44
Add support for range operators ( #938 )
2017-08-20 09:45:27 -05:00
SteveBash and Joe Nelson
b8eb2cd9c1
Add and/or params for complex boolean logic
...
* Add support for and/or params in GET, POST, PATCH and DELETE
* Restrict usage of IN in and/or to be inside parens e.g. in.(1,2,3)
* Allow quoting operators for values that have ',)' chars
inside and/or e.g. eq."(entity,1)"
2017-05-13 16:49:25 -05:00
SteveBash and Joe Nelson
59abecaf5b
Add missing tests for NOT IN accepting empty values and refactor
...
Go back to operators map since the previously defined
Operator constructors added innecesary complexity also
rename Path to EmbedPath
2017-05-13 16:49:25 -05:00
Steve Chávez and Joe Nelson
0a9d9cdded
Fix #701 : allow quoted values for IN operator, refactor and Fix #641 : allow IN filter to have no values ( #854 )
2017-04-11 00:57:44 -05:00
Steve Chávez and Joe Nelson
98438c437f
Proposal for binary output ( #802 )
2017-02-14 20:36:51 -08:00
SteveBash
191601f129
Add ability to order by jsonb keys, fix #644
2016-10-05 14:46:12 -05:00
Joe Nelson
5e3d9442af
Use table defaults for empty object insert
...
Fixes #616
2016-06-02 08:40:24 -07:00
Ruslan Talpa
9e6542680b
Fix include entities from the same parent table using two different foreign keys
2016-05-16 15:36:18 +03:00
Simone Scarduzio
74d76c690f
Adding two test cases for 469
2016-01-24 14:52:14 +00:00
calebmer
3a3d4038cb
Add tests for wierd usecases
2015-12-29 15:24:27 -05:00
Ruslan Talpa
66a34fccdf
Fix errors in tests when setting authenticator to noinherit
2015-12-16 11:44:28 +02:00
Ruslan Talpa
dad41cd3ed
Fix #396 include records with missing parents and remove CTE related to parent relation
2015-12-09 14:21:27 +02:00
Diogo Biazus
0961524e70
Refactors tests to use new fixtures and remove some haskell functions that wont be necessary anymore
2015-12-08 00:44:49 -05:00
Diogo Biazus
c1c44aae05
Adds separate fixture file with data used in specs
2015-12-07 23:59:33 -05:00