Skip to content
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

fix: show all DBs in available endpoint #15534

Merged
merged 1 commit into from
Jul 2, 2021

Conversation

betodealmeida
Copy link
Member

SUMMARY

Some DBs were not showing up in the /available/ endpoint.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

After:

{
  "databases": [
    {
      "available_drivers": [
        "psycopg2"
      ],
      "default_driver": "psycopg2",
      "engine": "postgresql",
      "name": "PostgreSQL",
      "parameters": {
        "properties": {
          "database": {
            "description": "Database name",
            "type": "string"
          },
          "encryption": {
            "description": "Use an encrypted connection to the database",
            "type": "boolean"
          },
          "host": {
            "description": "Hostname or IP address",
            "type": "string"
          },
          "password": {
            "description": "Password",
            "nullable": true,
            "type": "string"
          },
          "port": {
            "description": "Database port",
            "format": "int32",
            "maximum": 65536,
            "minimum": 0,
            "type": "integer"
          },
          "query": {
            "additionalProperties": {},
            "description": "Additional parameters",
            "type": "object"
          },
          "username": {
            "description": "Username",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "database",
          "host",
          "port",
          "username"
        ],
        "type": "object"
      },
      "preferred": true,
      "sqlalchemy_uri_placeholder": "postgresql://user:password@host:port/dbname[?key=value&key=value...]"
    },
    {
      "available_drivers": [],
      "engine": "",
      "name": "PostgreSQL",
      "preferred": true
    },
    {
      "available_drivers": [
        "rest"
      ],
      "engine": "presto",
      "name": "Presto",
      "preferred": true
    },
    {
      "available_drivers": [],
      "engine": "awsathena",
      "name": "Amazon Athena",
      "preferred": false
    },
    {
      "available_drivers": [],
      "default_driver": "psycopg2",
      "engine": "redshift",
      "name": "Amazon Redshift",
      "preferred": false
    },
    {
      "available_drivers": [],
      "default_driver": "sadrill",
      "engine": "drill",
      "name": "Apache Drill",
      "preferred": false
    },
    {
      "available_drivers": [
        "rest"
      ],
      "engine": "druid",
      "name": "Apache Druid",
      "preferred": false
    },
    {
      "available_drivers": [
        "thrift"
      ],
      "engine": "hive",
      "name": "Apache Hive",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "impala",
      "name": "Apache Impala",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "kylin",
      "name": "Apache Kylin",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "pinot",
      "name": "Apache Pinot",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "solr",
      "name": "Apache Solr",
      "preferred": false
    },
    {
      "available_drivers": [
        "thrift"
      ],
      "engine": "hive",
      "name": "Apache Spark SQL",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "ascend",
      "name": "Ascend",
      "preferred": false
    },
    {
      "available_drivers": [
        "pymssql",
        "pyodbc",
        "turbodbc"
      ],
      "default_driver": "pyodbc",
      "engine": "mssql",
      "name": "Azure Synapse",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "clickhouse",
      "name": "ClickHouse",
      "preferred": false
    },
    {
      "available_drivers": [],
      "default_driver": "",
      "engine": "cockroachdb",
      "name": "CockroachDB",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "crate",
      "name": "CrateDB",
      "preferred": false
    },
    {
      "available_drivers": [
        "pyhive",
        "pyodbc"
      ],
      "engine": "databricks",
      "name": "Databricks Hive",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "dremio",
      "name": "Dremio",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "odelasticsearch",
      "name": "ElasticSearch (OpenDistro SQL)",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "elasticsearch",
      "name": "ElasticSearch (SQL API)",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "exa",
      "name": "Exasol",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "firebird",
      "name": "Firebird",
      "preferred": false
    },
    {
      "available_drivers": [
        "bigquery"
      ],
      "default_driver": "bigquery",
      "engine": "bigquery",
      "name": "Google BigQuery",
      "parameters": {
        "properties": {
          "credentials_info": {
            "description": "Contents of BigQuery JSON credentials.",
            "type": "string",
            "x-encrypted-extra": true
          },
          "query": {
            "type": "object"
          }
        },
        "type": "object"
      },
      "preferred": false,
      "sqlalchemy_uri_placeholder": "bigquery://{project_id}"
    },
    {
      "available_drivers": [
        "apsw"
      ],
      "engine": "gsheets",
      "name": "Google Sheets",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "db2",
      "name": "IBM Db2",
      "preferred": false
    },
    {
      "available_drivers": [],
      "default_driver": "nzpy",
      "engine": "netezza",
      "name": "IBM Netezza Performance Server",
      "preferred": false
    },
    {
      "available_drivers": [
        "pymssql",
        "pyodbc",
        "turbodbc"
      ],
      "engine": "mssql",
      "name": "Microsoft SQL Server",
      "preferred": false
    },
    {
      "available_drivers": [
        "mysqlconnector",
        "mysqldb",
        "pyodbc"
      ],
      "default_driver": "mysqldb",
      "engine": "mysql",
      "name": "MySQL",
      "parameters": {
        "properties": {
          "database": {
            "description": "Database name",
            "type": "string"
          },
          "encryption": {
            "description": "Use an encrypted connection to the database",
            "type": "boolean"
          },
          "host": {
            "description": "Hostname or IP address",
            "type": "string"
          },
          "password": {
            "description": "Password",
            "nullable": true,
            "type": "string"
          },
          "port": {
            "description": "Database port",
            "format": "int32",
            "maximum": 65536,
            "minimum": 0,
            "type": "integer"
          },
          "query": {
            "additionalProperties": {},
            "description": "Additional parameters",
            "type": "object"
          },
          "username": {
            "description": "Username",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "database",
          "host",
          "port",
          "username"
        ],
        "type": "object"
      },
      "preferred": false,
      "sqlalchemy_uri_placeholder": "mysql://user:password@host:port/dbname[?key=value&key=value...]"
    },
    {
      "available_drivers": [],
      "engine": "oracle",
      "name": "Oracle",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "hana",
      "name": "SAP HANA",
      "preferred": false
    },
    {
      "available_drivers": [
        "pysqlite"
      ],
      "engine": "sqlite",
      "name": "SQLite",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "snowflake",
      "name": "Snowflake",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "teradata",
      "name": "Teradata",
      "preferred": false
    },
    {
      "available_drivers": [],
      "engine": "trino",
      "name": "Trino",
      "preferred": false
    },
    {
      "available_drivers": [
        "vertica_python"
      ],
      "engine": "vertica",
      "name": "Vertica",
      "preferred": false
    }
  ]
}

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

  • Has associated issue:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

@codecov
Copy link

codecov bot commented Jul 2, 2021

Codecov Report

Merging #15534 (a1a81d1) into master (e5ab9a4) will decrease coverage by 0.24%.
The diff coverage is 71.05%.

❗ Current head a1a81d1 differs from pull request most recent head 8ff872e. Consider uploading reports for the commit 8ff872e to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master   #15534      +/-   ##
==========================================
- Coverage   76.97%   76.72%   -0.25%     
==========================================
  Files         976      976              
  Lines       51260    51283      +23     
  Branches     6900     6901       +1     
==========================================
- Hits        39456    39349     -107     
- Misses      11585    11715     +130     
  Partials      219      219              
Flag Coverage Δ
hive ?
mysql 81.60% <57.69%> (-0.02%) ⬇️
postgres 81.62% <57.69%> (-0.02%) ⬇️
presto ?
python 81.71% <57.69%> (-0.47%) ⬇️
sqlite 81.24% <57.69%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../database/DatabaseModal/DatabaseConnectionForm.tsx 63.09% <ø> (ø)
...s/CRUD/data/database/DatabaseModal/ModalHeader.tsx 91.66% <ø> (ø)
superset/db_engine_specs/__init__.py 50.00% <26.66%> (-4.24%) ⬇️
...end/src/components/Form/LabeledErrorBoundInput.tsx 100.00% <100.00%> (ø)
...rset-frontend/src/components/InfoTooltip/index.tsx 100.00% <100.00%> (ø)
...c/views/CRUD/data/database/DatabaseModal/index.tsx 47.86% <100.00%> (ø)
...c/views/CRUD/data/database/DatabaseModal/styles.ts 82.72% <100.00%> (-3.39%) ⬇️
superset/connectors/sqla/models.py 88.24% <100.00%> (-1.63%) ⬇️
superset/db_engine_specs/drill.py 83.33% <100.00%> (+0.57%) ⬆️
superset/db_engine_specs/hive.py 69.44% <100.00%> (-16.96%) ⬇️
... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e5ab9a4...8ff872e. Read the comment docs.

@betodealmeida betodealmeida merged commit 8f92618 into apache:master Jul 2, 2021
cccs-RyanS pushed a commit to CybercentreCanada/superset that referenced this pull request Dec 17, 2021
QAlexBall pushed a commit to QAlexBall/superset that referenced this pull request Dec 29, 2021
cccs-rc pushed a commit to CybercentreCanada/superset that referenced this pull request Mar 6, 2024
@mistercrunch mistercrunch added 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 1.3.0 labels Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels size/M 🚢 1.3.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants