question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support for common SQL data analysis tools

See original GitHub issue

Ref #4729

Metabase

Result: “Suspended cursor is not supported” Error at: https://github.com/edgedb/edgedb/blob/60380fd7ae75b0230234315ad897405061ac08f3/edb/server/protocol/pg_ext.pyx#L626-L628

I had to add support for parsing SET statement and resolving it to an empty relation. They are using:

SET extra_float_digits TO 3

I think we are probably save for ignore this specific SET statement.

Reproduce with local instance of edgedb and:

$ docker run -d -p 3000:3000 --name metabase --net=host metabase/metabase

Cluvio

Error: ERROR: suspended cursor is not supported

To reproduce: I used their cloud to connect to my VPS with edgedb development env and a public IP.

Dbt-cloud

Result:

Runtime Error

  dbt was unable to connect to the specified database.

  The database returned the following error:

  

    >Database Error

    unsupported SQL construct: unknown enum: {'TransactionStmt': {'kind': 'TRANS_STMT_BEGIN'}}

  

  Check your database credentials and try again. For more information, visit:

  https://docs.getdbt.com/docs/configure-your-profile

To reproduce: I used their cloud to connect to my VPS with edgedb development env and a public IP.

This means that we need transactions.

Redash

I gave up trying to deploy an instance and connect to plain Postgres.

Tablau

Result:

Can’t connect to PostgreSQL
Detailed Error Message
An error occurred while communicating with PostgreSQL
ERROR: unsupported SQL construct: unknown enum: {'TransactionStmt': {'kind': 'TRANS_STMT_BEGIN'}}

To reproduce: I used their cloud to connect to my VPS with edgedb development env and a public IP.


TODO:

  • process SET and TRANSACTION statements and save them to the context of the client connection
  • Suspended cursor

@fantix I’ll prepare pg-parser for parsing all these statements but I won’t implement the resolver - they should be processed before that and not even hit resolver or be queried in postgres.

I’ll also prepare ResolverOptions which will contain search_path.

Issue Analytics

  • State:open
  • Created 9 months ago
  • Comments:10 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
elpranscommented, Dec 13, 2022

I had to add support for parsing SET statement

We need to add proper tracking of session configuration. Some config options alter the behavior significantly, most importantly the text I/O of data, and we must support that. To properly support this, we must track configuration values set in a session and prefix each query with a set_config(..., is_local := true)

0reactions
elpranscommented, Dec 16, 2022

Let’s ban set_config for now and see what breaks.

Read more comments on GitHub >

github_iconTop Results From Across the Web

The 11 Best Data Visualization Tools for SQL - Chartio
1. Power BI. Microsoft's Power BI is a business intelligence tool that's integrated into the Microsoft ecosystem alongside Excel, Access, SQL ...
Read more >
15 Best SQL Tools, Software & IDE for Database (2022 Update)
Supports popular databases like SQL, NoSQL, Apache Ignite, Apache Drill, Azure, Aurora MySQL, Aurora PostgreSQL, Cassandra, Cockroach, and more ...
Read more >
The 10 Best SQL Analytics Services For QA Teams In 2022
Overviews Of The 10 Best SQL Analytics Tools · Cluvio · Aqua Data Studio · PivotData REST Service · Teradata Vantage Advanced SQL...
Read more >
The 9 Best Data Analytics Tools for Data Analysts in 2023
What are the most popular data analytics tools? Check out this guide covering Excel, Microsoft Power BI, Tableau, KNIME, and more.
Read more >
20 Best SQL Editor Tools of 2022 - FinancesOnline.com
Cross-Database Management. DBeaver supports all major database providers, including MySQL, PostgreSQL, MariaDB, SQLite, SQL Server, and MongoDB.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found