Comments (9)
Any help?? Citus is not usable with hasura because of this error
Can we do something about this?
It seems that just compiling Postgres may help, but that is not a option and no one is compiling his own version of postgres
from graphql-engine.
Is there a way to configure hasura to use not json_(..,..,..,,) witha lot of arguments but use maybe json_array not json_object which causes this problem
from graphql-engine.
More context about the issue I also fount heer https://postgrespro.com/list/thread-id/2486891
Basically the same issue
from graphql-engine.
If i use in my databases.yaml
this
kind: postgres
instead of
kind: citus
Then everything works, but I just simply do not know if that is ok and what I lose by doing so
from graphql-engine.
+1 This is supper needed and is a limitation from Hasura
Big companies do not use just postgres since it doesn't make sense in big apps but with some extension like Citus
And if the Hasura Citus adapter implementation has these limitations it is sad for big companies which may try to us eHasura
from graphql-engine.
Can you explain how you trigger this issue? Is it a problem when loading metadata, making a query, using the Console, or something else?
There aren't that many differences between the vanilla PostgreSQL and Citus backends, so I am surprised that switching the "kind" would help, but that does narrow it down a lot.
I would also recommend checking out Hasura DDN, which fixes many of the issues in Hasura GraphQL Engine v2. Most notably in this case, the custom Citus support is strictly limited to introspection, and during queries, both PostgreSQL and Citus are treated identically.
from graphql-engine.
This is a problem when running a simple get query for example to get a row from such a table
If the table has more than 50+ columns the query fails
And yes the citus get query is different that the one used in postgres, in postgres it uses row_to_json and in citus it uses json_build_object methods
An this json_build_object cant take more than 100args this is the postgres limitation, and even if the table has only 50 columns this limitations is still reached since hasura adds there 50+ columns starting with some prefix "root...."
The implementations are different
cc @SamirTalwar
from graphql-engine.
I saw @ammirator-administrator's comments in #10229 pointing to a code location. That code is specific to subscriptions, not queries, and is not specific to Citus; it is the same code for all backends based on PostgreSQL.
Is it possible that in testing, you made a subscription to Citus, but a query to vanilla PostgreSQL? That would explain the discrepancy.
from graphql-engine.
Hey @SamirTalwar
I just gave a example
But the queries in citus also uses json_to_object and the problems are guess in both queries and subscription
Since I do not know any haskel code I just sent a example of where it is used and where also it may be a problem
The problem I have is in Queries, just by runing a graphql query for example get app_config_by_pk (Which is a table with more than 50columns it returns teh error)
This doesn't happen on other tables at all since these have less than 50 columns
from graphql-engine.
Related Issues (20)
- Hasura Admin UI can be very slow when run inside minikube / Kubernetes
- Native query and logical model added using the hasura console (graphql) is not added to metata on disk HOT 1
- setting "hasura.tracecontext" is not allowed
- V3 README steps for running in Docker do not work HOT 1
- Scalar type Text always maps to String which is a GraphQL Scalar
- Support Remote Schema Relationships to Attributes within JSON Fields
- Tracing capabilities from frontend to database, thru Hasura HOT 1
- 🚨 Allow Query Tags for self hosted NON entreprise plans HOT 3
- Citus support
- Azure AD/Entra authentication for passwordless connection to HASURA_GRAPHQL_DATABASE_URL using postgres databases
- Remote Schema Permission Validation is overly strict for enum's with _PLACEHOLDER
- V3 Cli accepts `--api-key` so can use in github actions HOT 2
- Array of UUID's as function input failing to generate valid GraphQL
- Hasura Jupyter Notebook integration fails to create notebook
- Mutations in My SQL fail when sql_require_primary_key = 1 in set in the DB
- Streaming query continues probing database even with all users disconnected
- Query returning duplicate values HOT 7
- Unexpected empty update_many mutation response
- server: API throws error when we use column with custom data type in row level permissions (MSSQL server)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-engine.