Bug description

Follow these steps: 1. Checkout master 2. docker compose up --build 3. Login to http://localhost:8088 using default admin creds 4. + button (top right) > Data > Connect Database 5. Choose Postgresql or any other db 6. Instead of entering detail select "Connect this database with a SQLAlchemy URI string instead" 7. Notice the "Connect" button is not enabled even after entering details

This is probably caused by #33826 which introduced disabling the Connect button unless the form is error free. The validation is not considering the SQLAlchemy URI flow.

Workaround: enter acceptable data in the regular form to enable the Connect button and switch to SQLAlchemy URI after button is enabled. However, this is not feasible for DB connections that don't have such a form and SQLAlchemy URI is the only option.

NOTE: I came across this while trying to integrate OpenSearch as a db in superset. Having done all, superset throws errors during parsing query which has backticks around the schema name. Built a local setup and tried adding logging to sql/parse.py and relevant files to investigate but could never get past the DatabaseModal form. Couldn't help but think adding the custom Dialect for OpenSearch was messing things up. Having found this issue, will now proceed with my investigation.

Image Image superset_app.log superset_docker_compose.log

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.10

Node version

I don't know

Browser

Chrome

Additional context

No response

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.