steve-chavez
8618ffa5fc
perf: shortcut for proc with no variadic arg
...
Also refactor how rpc params are converted to json
2020-10-29 18:53:24 -05:00
steve-chavez
2798ced9b9
Fix charset=utf-8 appending to binary output
2020-10-29 18:53:24 -05:00
steve-chavez
04eaeec7fc
refactor: reorder PgVersion(95/96)Spec tests
...
* move json ops tests to JsonOperatorSpec
* move phfts operator tests to QuerySpec and RpcSpec
* add custom spec for pre-request header guc tests
2020-10-29 18:53:24 -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
Robert Vollmert and Steve Chavez
60b64d3e81
Upgrade hspec-wai dependency to 0.10.
2020-03-07 13:04:17 -05:00
steve-chavez
b20e1150a5
Add GUC for accessing the Authorization header
2020-01-21 12:28:05 -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
steve-chavez
9847e60dca
Err embedding when multiple relationships found
...
When having one-to-many relationships like:
person -< message[sender]
person -< message[recipient]
person_detail -< message[sender]
person_detail -< message[recipient]
Where person_detail is a view of person.
This request:
GET "/message?select=*,sender(*)"
Is ambiguous. Both person or person_detail could be embedded.
Until now we have returned the first detected relationship but
now we return a 300 Multiple Choices error with a
descriptive error message asking the user to disambiguate.
This is more helpful for the user and also aids in cases of more
complex relationships.
2019-11-05 12:55:48 -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
ae9e27a0c7
Fix #1348 , go back to converting plus "+" to space
...
Not doing this conflicts with some http clients and proxies.
Use the alternative url-safe character '!' instead for
disambiguating resource embedding.
2019-08-21 10:34:28 -05:00
Dan Amoroso and Steve Chávez
c80c9ef726
Reword error message for BinaryFieldError ( #1372 )
2019-08-08 14:20:06 -05:00
Eduardo Jorge and Steve Chávez
e639c77aa2
Add websearch_to_tsquery support ( #1339 )
2019-07-08 13:25:58 -05:00
Steve Chávez and GitHub
ea7d747107
Accept text/plain and text/html for raw output ( #1330 )
2019-06-21 11:51:54 -05:00
Xavier Francisco and Steve Chávez
28b3d6cafd
Update stylish haskell config; apply all; add CI config ( #1299 )
...
* Update config default; Copy non-defaults
* Update .stylish-haskell config version to match pgrst
* Apply stylish haskell to all files
* CircleCI config
* Remove redundant import.
What is used from Network.HTTP.Types.Headers is also exported by Network.HTTP.Types.
* Grouped imports
* Show un-styled files on CircleCI failure
* Fix styling imports
* Apply adhoc standard correctly
2019-05-23 10:44:34 -05:00
Xavier Francisco and Steve Chávez
1cf54e6575
Small refactor around error responses and more tests ( #1282 )
...
* Fix #880 , Clean and consolidate error responses
* Fix #1285 , Abort on fatal errors
* Add / Detail tests
2019-05-22 09:30:33 -05:00
steve-chavez
3c7738a8c7
Deprecate '.' for disambiguating resource embedding
...
'+' should be used instead.
2019-05-19 13:18:03 -05:00
Vitor Baptista and Steve Chávez
9387e70b66
Fixes #1239 , support resource embedding on materialized views
2019-03-14 16:59:55 -05:00
steve-chavez
1f513f24a5
Fix #1242 , embed a view having a select in a where
2019-03-09 16:03:26 -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-chavez
d78410473e
Add test for embedding on a view with group by
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
dadfe965b9
Do hlint 2.1 hints
2018-11-06 11:54:10 -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
105671e51a
Fix #1129 , view embedding on capitalized table
...
- Now also works on camelCase fk column
2018-07-18 09:43:42 -05:00
steve-chavez
1c6ded16d1
Add improved query for allSynonyms
...
This query works with views with subselects, and it's a lot faster,
on a complex schema the previous query was taking around 8 mins,
this query takes less than half a second(403.072 ms).
Also reorder view embedding tests
2018-07-18 09:43:42 -05:00
steve-chavez
2513c00039
Refactor Field type,move tests to JsonOperatorSpec
2018-06-19 11:17:59 -05:00
steve-chavez
28845e0f43
Fix accepting misspellings in order syntax
2018-05-14 07:34:15 -05:00
steve-chavez
30cf1d100a
Add foreign tables to OpenAPI output
2018-05-07 10:14:26 -05:00
steve-chavez
e9aaf05335
Remove support for non url safe operators
2018-05-02 13:06:44 -05:00
steve-chavez
79a7ce49f2
Remove support for {} embed and "in" op w/o parens
2018-05-02 13:06:44 -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
Duane Johnson and Joe Nelson
a46b6f5020
Pass custom settings to the DB's SESSION ( #1063 )
...
- allows queries to refer to current_setting('app.settings.foo') to retrieve variables
- useful for 12-factor apps (app data can be in environment)
- provides workaround for AWS Relational Database Service (RDS) not
allowing `ALTER DATABASE SET 'app.[KEY]' TO '[VALUE]'` on database.
2018-02-19 12:41:22 -06:00
steve-chavez
85d9feeeab
Add set schema to middleware
...
Fix #828 , breaking change: computed columns now only work if they are on
the config schema.
Fix #835 , tests now not depend on the search_path of the
postgrest_test_authenticator.
2018-01-10 09:50:20 -05:00
Ruslan Talpa and GitHub
effbec234f
Faster queries using json_agg
2017-12-12 15:44:50 +02:00
steve-chavez
fef7d949d9
Fix #411 , remove the need for pk in &select for parent embed
2017-11-30 12:56:18 -05:00
steve-chavez
be630aa680
Change phrase/plain full text search syntax
2017-11-27 11:38:54 -05:00
steve-chavez
188f947437
Maintain backward compatibility on GUC headers feature
...
If pg version >= 9.6 is detected the feature is enabled,
also all of the 9.6 dependent tests are moved to their own spec.
2017-10-18 17:41:55 -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 Chávez and Joe Nelson
cf19ad0369
Allow GET on RPC ( #946 )
2017-09-17 11:16:46 -05:00
steve-chavez
6c2f179b48
Remove isnot and notin operators and refactor
2017-09-08 19:56:00 -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
Ruslan Talpa and GitHub
b03e3fbec7
Ability to embed using a specific relation when there are multiple between tables, fixes #907 ( #918 )
...
* Ability to embed using a specific relation when there are multiple between tables, fixes #907
* fix lint errors
* fix code comments
* add type comments
2017-07-25 19:01:35 +03:00