Rakesh Emmadi
3f8a1d9ebf
fix insert permission views are not unique for long role names ( fix #3444 ) ( #3486 )
...
* fix insert permission views are not unique for long role names, fix #3444
* Use GHC notes reference and improve comments
2019-12-09 17:23:06 -06:00
Rakesh Emmadi
cb682e2539
fix updating a column with multiple operators causing postgres query error ( fix #3432 ) ( #3458 )
2019-12-03 14:00:37 -06:00
Anon Ray
490b639981
refactor some internal components ( #3414 )
2019-11-26 17:44:21 +05:30
Vamshi Surabhi
6abe8d7927
allow specifying an upper limit on the query plan cache size ( #3012 )
2019-11-25 11:12:23 -06:00
Rakesh Emmadi
c4c5dd87ac
allow identical fields in custom column names configuration ( fix #3137 ) & improve root fields validation ( #3154 )
...
* allow identical column fields in 'custom_column_names'
* improve validation of custom column names
* improve 'checkForFieldConflicts' & validate custom column names with non column fields
* split `validateTableConfig` into two isolated validation logic
* improve validation of root fields
* improve validating custom root fields and duplicate root fields
* move 'validateCustomRootFields' to 'buildSchemaCache'
2019-11-20 06:40:56 -06:00
Rakesh Emmadi
9b8e6b42d1
functions can access session info via input arg ( close #2322 ) ( #3143 )
2019-11-20 12:17:06 +05:30
Tirumarai Selvan
d2b2a58c0e
add read_only to run_sql metadata api ( #3191 )
2019-11-14 18:20:18 -06:00
Tirumarai Selvan
ffeda35ff7
add few x-forwarded- headers ( close #2572 ) ( #3347 )
2019-11-13 14:25:11 -06:00
Rakesh Emmadi
3888ceb24a
computed fields in export/import metadata, other fixes ( #3211 )
2019-11-07 20:09:48 +05:30
Rakesh Emmadi
37dd0966d0
fix insert with nested returning clause fails alongside text[] column ( fix #3148 & #2520 ) ( #3198 )
2019-11-06 23:14:36 -06:00
Rakesh Emmadi
d8d21c1487
support computed fields returning scalars or set of tables ( close #1387 ) ( #2917 )
2019-10-18 13:59:47 +05:30
Alexis King
e01008413e
Track variable uses within query validation for caching ( fix #3097 ) ( #3135 )
...
This fix is a little ugly, but it’s the only simple solution without a
significant refactoring that restructures the relationship between
GraphQL/Validate and GraphQL/Resolve. The ugliness should go away if we
implement something like #2801 .
2019-10-16 09:33:34 -05:00
Ajeet D'Souza
a66fb42ce2
Make catalog metadata migrations work on all schema versions ( fix #2826 ) ( #2379 )
...
* Separate DB and metadata migrations
* Refactor Migrate.hs to generate list of migrations at compile-time
* Replace ginger with shakespeare to improve performance
* Improve migration log messages
2019-10-11 00:13:57 -05:00
Alexis King
c0d7402e15
Fix two enum table reference bugs ( fix #2820 and #3010 ) ( #3074 )
...
* Include enum types in schema whenever references are visible (fix #2820 )
* Fix RQL parsing for nullable enum table references (fix #3010 )
2019-10-10 21:22:16 -05:00
Rakesh Emmadi
f3b418c631
support where clause in on_conflict of insert mutation ( close #2795 ) ( #3002 )
2019-10-09 05:09:20 -05:00
Vamshi Surabhi
0f143f0ea8
fixes to the subscriptions improvements introduced with #2942 ( #3005 )
...
* fix incorrect references to result variables
* remove docs/code related to 'fallback' backend
2019-10-03 14:35:55 -05:00
Tirumarai Selvan
5893cf47ed
remove conflict_action type ( #2950 )
2019-10-03 15:18:49 +05:30
Alexis King
18e8fbab1b
Parameterize all SQL values when multiplexing subscription queries ( #2942 )
...
Also, add support for explaining subscriptions while we’re at it.
2019-09-30 14:50:57 -05:00
Rakesh Emmadi
9bd5826020
allow customising graphql schema for a table ( close #981 ) ( #2509 )
...
* allow customizing GraphQL root field names, close #981
* document v2 track_table API in reference
* support customising column field names in GraphQL schema
* [docs] add custom column fields doc in API reference
* add tests
* rename 'ColField' to 'ColumnField'
* embed column's graphql field in 'PGColumnInfo'
-> Value constructor of 'PGCol' is not exposed
-> Using 'parseJSON' to construct 'PGCol' in 'FromJSON' instances
* avoid using 'Maybe TableConfig'
* refactors & 'custom_column_fields' -> 'custom_column_names'
* cli-test: add configuration field in metadata export test
* update expected keys in `FromJSON` instance of `TableMeta`
* use `buildSchemaCacheFor` to update configuration in v2 track_table
* remove 'GraphQLName' type and use 'isValidName' exposed from parser lib
* point graphql-parser-hs library git repo to hasura
* support 'set_table_custom_fields' query API & added docs and tests
2019-09-19 10:17:36 +05:30
Alexis King
54e6439579
Change the way we determine whether or not queries are reusable
...
This fixes an issue where queries could incorrectly be considered
reusable if a variable was used in two positions: one where it affected
SQL generation and one where it did not.
2019-09-16 22:00:46 -05:00
Alexis King
264d70644b
Multiplex all subscriptions, grouping them by their resolved SQL query
2019-09-16 22:00:46 -05:00
Ajeet D'Souza
99174cca9b
propagate Postgres table comments to GraphQL schema descriptions ( close #446 ) ( #2397 )
2019-09-16 20:51:11 -05:00
José Lorenzo Rodríguez
5609fba393
Implemented graceful shutdown for websockets ( #2827 )
2019-09-09 15:26:04 -05:00
Victor Ferreira
27d85ca6bb
fix a typo in limit description of schema ( close #2810 ) ( #2811 )
2019-09-05 12:47:01 +05:30
Rakesh Emmadi
f7c99689da
support intersect filters on raster columns ( close #2613 ) ( #2704 )
...
* initial raster support
* _st_intersects_geom -> _st_intersects_geom_nband
* add tests
* update docs
* improve docs
As requested by @marionschleifer
* new type for raster values
Suggested by @lexi-lambda
* replace `SEUnsafe "NULL"` with SENull
2019-08-29 18:37:05 +05:30
Rakesh Emmadi
d9fb0f8780
use named notation for function arguments if any argument is not specified ( fix #2730 ) ( #2777 )
...
* use positional arguments in SQL functions
* only allow omitting set of last arguments in functions
* disallow omitting of a non default argument in functions
2019-08-28 14:27:15 -05:00
Alexis King
00862fcad8
Centralize handling of expected PostgreSQL errors
2019-08-26 00:54:56 -05:00
Alexis King
7fa1452ca0
server: Rename a whole bunch of things
...
* PGTypeSimple → PGTypeScalar
* PGScalarTyped → WithScalarType
* PGColValue → PGScalarValue
* PGColInfo → PGColumnInfo
* PGRawColInfo → PGRawColumnInfo
* mkScalarSessionVar → mkTypedSessionVar
2019-08-26 00:54:56 -05:00
Alexis King
ed26da59a6
Add support for GraphQL enum types via enum table references
...
These changes also add a new type, PGColumnType, between PGColInfo and
PGScalarType, and they process PGRawColumnType values into PGColumnType
values during schema cache generation.
2019-08-26 00:54:56 -05:00
Alexis King
86663f9af7
Rename PGColType to PGScalarType
2019-08-26 00:54:56 -05:00
Alexis King
d1179f7f98
Don’t use Show for converting PGColTypes to SQL
2019-08-26 00:54:56 -05:00
Alexis King
9be6f706e6
Refactor GCtx to split query and mutation root operations
...
This mostly simplifies the RootFlds type to make it clearer what it’s
used for, but it has the convenient side-effect of preventing some
“impossible” cases using the type system.
2019-08-26 00:54:56 -05:00
Tirumarai Selvan
98784212e2
allow configuring timeout for remote schema calls ( close #2501 ) ( #2753 )
2019-08-23 14:27:19 +05:30
Rakesh Emmadi
8ac78fdaec
accept null values in order_by input field ( fix #2754 ) ( #2755 )
2019-08-22 03:14:27 -05:00
Tirumarai Selvan
7009e77c98
get all Set-Cookie headers ( fix #2688 ) ( #2739 )
2019-08-19 22:24:13 -05:00
Tirumarai Selvan
46f2ecaa65
don't send the request to the client on HTTP throw ( #2738 )
2019-08-19 21:18:04 -05:00
Vamshi Surabhi
52bf885f14
refactor schema.hs into multiple modules ( #2661 )
...
Mostly moving around things across modules. No change in
functionality.
2019-08-09 14:49:17 +05:30
Anon Ray
b4a0a03631
log when request body parsing fails ( fix #2555 ) ( #2556 )
2019-08-01 16:21:59 +05:30
Alexis King
8f9a41ff88
Support casting between PostGIS geometry and geography types in where
expressions ( close #1983 ) ( #2495 )
...
* server: Bump dependencies to allow Haddock to run successfully
* Support casting between PostGIS geometry and geography types in filters
2019-07-15 14:22:45 +05:30
Ajeet D'Souza
92c4cff79e
check input for empty strings for metadata api ( close #2302 ) ( #2300 )
2019-07-11 09:00:45 +00:00
Anon Ray
8f1e7dbc8d
breaking: server logging changes ( close #507 , close #2171 ) ( #1835 )
2019-07-11 05:37:06 +00:00
Vamshi Surabhi
f1cf6d0b17
allow session variables in operators which expect array input ( #2475 )
2019-07-10 15:49:58 +05:30
Rakesh Emmadi
9eb38e6c96
cache remote schema's introspection query response ( fix #1679 ) ( #2089 )
2019-07-08 11:21:41 +05:30
Rakesh Emmadi
c3c01beccc
support null and default values for function arguments ( close #2176 , close #2250 ) ( #2282 )
2019-06-04 18:13:28 +05:30
Anon Ray
278f26b073
forward set-cookie headers from remote servers ( fix #1654 ) ( #2305 )
2019-06-04 15:40:28 +05:30
Anon Ray
95a27fba89
fix response for remote schema queries over ws ( fix #2246 ) ( #2248 )
2019-05-29 17:21:09 +05:30
Anon Ray
81bdfafd69
ignore content-type header in auth webhook ( #2197 )
2019-05-16 14:41:15 +05:30
Rakesh Emmadi
0b210cc245
support allow-list for graphql queries ( closes #989 ) ( #2075 )
2019-05-16 11:43:25 +05:30
Rakesh Emmadi
c6f40df6d5
close websocket connection on JWT expiry ( fix #578 ) ( #2156 )
2019-05-14 11:54:46 +05:30
Anon Ray
ee783e142e
fix sending duplicate content-type header to remote schemas ( fix #2159 ) ( #2170 )
2019-05-13 18:17:01 +05:30