-
Notifications
You must be signed in to change notification settings - Fork 13.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
superset.exceptions.SupersetErrorsException: [SupersetError(message='questdb error: QuestDbEngineSpec.execute() takes 3 positional arguments but 4 were given', error_type=<SupersetErrorType.GENERIC_DB_ENGINE_ERROR: 'GENERIC_DB_ENGINE_ERROR'>, level=<ErrorLevel.ERROR: 'error'>, extra={'engine_name': 'QuestDB', 'issue_codes': [{'code': 1002, 'message': 'Issue 1002 - The database returned an unexpected error #29979
Comments
Hey @mehrdad2000! I'm here to help you with any issues you're facing. Let's work together to solve this problem! To resolve the error "QuestDbEngineSpec.execute() takes 3 positional arguments but 4 were given" when integrating Superset with QuestDB using Docker, you need to ensure that the The error message indicates that the Here is an example of how you can modify the class QuestDbEngineSpec(BaseEngineSpec):
# Other methods and attributes
@classmethod
def execute(cls, cursor, query, database, **kwargs):
# Method implementation
pass In this example, the Make sure to update the |
where is the QuestDbEngineSpec file? |
The If you don't find it there, you can search the repository for the |
questdb.py not exist in that path! |
You can find the |
solution wrong and there is no file like that. |
So we are also experiencing the same issue, We are experimenting the Superset for our use cases on this process, We are trying to connect to our SQL Server which is connected via LAN, I am able to connect to the Postgresql database which is available along side of the same SQL Server on the destination machine, From :
|
Did you install the driver? |
Yeah we did that step also using |
In our case we have not passed the password properly, the thing is we have to pass the password / all values as URL encoded if at all it has special characters like ` @#$%^&*()!~.,/', ect., Most cases or in our case we have special characters in password. Read More about this Here in the - SQLAlchemy 2.0 Documentation Sample connection string looks like Sample code to encode a URL using python is, import urllib.parse
print(urllib.parse.quote_plus('test@123'))
# which will result
# test%40123
# %40 -means @ Actually the error code Do a sample python program to validate is that connection able to be made to the destination machine. |
Now its resolved, thank you to @kalai-logicsoft |
@mehrdad2000 if you agree, maybe we can close this issue? Would anyone on the thread be able/willing to make a documentation update to help others running into this in the future? I'm happy to help anyone with that dev flow and navigating the PR cycle if needed. |
@rusackas Hi, I will do the required documentation update and related things, please guide me through the steps and what to do. |
I wasn't sure as I neither encountered nor fixt the issue. If it is indeed just URL encoding, you can see that this page has a note for Athena. If this fix applies to other DBs, we should add it in those entries. QuestDB doesn't even have an entry, so that may be useful. If ALL databases are better off with URL encoding, we should look for a more generalized place to add that note. |
Adding extra information for the better understanding of connection string which is used for the backend of Superset. Based on this [Issue](apache#29979) People are finding difficulties in understanding the connection string, The `SQLAlchemy` documentation clearly talks about this URL encoded connection string, but users of superset not required to read / understand the concept of `SQLAlchemy` so adding this extra information may help them.
@rusackas I have added required documentation changes on this PR.
I understand your point, but I'm also unsure where to add this information. Let's discuss it further within the PR itself to gain more clarity. |
Bug description
Hi
try this integrate superset docker version with QuestDB as explain here: https://questdb.io/docs/third-party-tools/superset/
after start docker and add database when i run simple select query got this error:
Here is the error that i've got in superset webui:
Here is the log:
How to reproduce the bug
..
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
The text was updated successfully, but these errors were encountered: