diff --git a/README.md b/README.md
index 961886df64d..b81cae0a1f2 100644
--- a/README.md
+++ b/README.md
@@ -125,7 +125,6 @@ Here are some of the major database solutions that are supported:
-
diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx
index bb204678b5d..62d032ce761 100644
--- a/docs/docs/index.mdx
+++ b/docs/docs/index.mdx
@@ -159,7 +159,6 @@ single source of truth. The README.md retains its own static copy
-
diff --git a/docs/src/data/databases.json b/docs/src/data/databases.json
index 229758e4703..e200d1d68f9 100644
--- a/docs/src/data/databases.json
+++ b/docs/src/data/databases.json
@@ -70,7 +70,6 @@
"Apache Doris",
"Apache Kylin",
"Apache Phoenix",
- "Ascend",
"Azure Data Explorer",
"Azure Synapse",
"ClickHouse",
@@ -168,7 +167,6 @@
"base"
],
"Cloud Data Warehouses": [
- "Ascend",
"Azure Synapse",
"Cloudflare D1",
"Databend",
@@ -180,7 +178,6 @@
"YugabyteDB"
],
"Hosted Open Source": [
- "Ascend",
"Cloudflare D1",
"Databricks",
"Google Sheets",
@@ -1741,87 +1738,6 @@
"supports_catalog": false,
"supports_dynamic_catalog": false
},
- "Ascend": {
- "time_grains": {
- "SECOND": true,
- "FIVE_SECONDS": false,
- "THIRTY_SECONDS": false,
- "MINUTE": true,
- "FIVE_MINUTES": false,
- "TEN_MINUTES": false,
- "FIFTEEN_MINUTES": false,
- "THIRTY_MINUTES": false,
- "HALF_HOUR": false,
- "HOUR": true,
- "SIX_HOURS": false,
- "DAY": true,
- "WEEK": true,
- "WEEK_STARTING_SUNDAY": false,
- "WEEK_STARTING_MONDAY": false,
- "WEEK_ENDING_SATURDAY": false,
- "WEEK_ENDING_SUNDAY": false,
- "MONTH": true,
- "QUARTER": true,
- "QUARTER_YEAR": false,
- "YEAR": true
- },
- "module": "superset.db_engine_specs.ascend",
- "limit_method": 1,
- "limit_clause": true,
- "joins": true,
- "subqueries": true,
- "alias_in_select": true,
- "alias_in_orderby": true,
- "time_groupby_inline": false,
- "alias_to_source_column": false,
- "order_by_not_in_select": true,
- "expressions_in_orderby": false,
- "cte_in_subquery": true,
- "max_column_name": null,
- "sql_comments": true,
- "escaped_colons": true,
- "masked_encrypted_extra": false,
- "column_type_mapping": false,
- "function_names": false,
- "user_impersonation": false,
- "file_upload": true,
- "get_extra_table_metadata": false,
- "dbapi_exception_mapping": false,
- "custom_errors": false,
- "dynamic_schema": false,
- "catalog": false,
- "dynamic_catalog": false,
- "ssh_tunneling": true,
- "query_cancelation": true,
- "get_metrics": false,
- "where_latest_partition": false,
- "expand_data": false,
- "query_cost_estimation": false,
- "sql_validation": false,
- "score": 38,
- "max_score": 201,
- "documentation": {
- "description": "Ascend.io is a data automation platform for building data pipelines.",
- "logo": "ascend.webp",
- "homepage_url": "https://www.ascend.io/",
- "categories": [
- "Cloud Data Warehouses",
- "Analytical Databases",
- "Hosted Open Source"
- ],
- "pypi_packages": ["impyla"],
- "connection_string": "ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true",
- "category": "Other Databases"
- },
- "engine": "ascend",
- "engine_name": "Ascend",
- "engine_aliases": [],
- "default_driver": null,
- "supports_file_upload": true,
- "supports_dynamic_schema": false,
- "supports_catalog": false,
- "supports_dynamic_catalog": false
- },
"Aurora MySQL": {
"time_grains": {
"SECOND": true,
diff --git a/superset-frontend/playwright/generators/docs/screenshot-manifest.yaml b/superset-frontend/playwright/generators/docs/screenshot-manifest.yaml
index f3279dfc958..333e9724090 100644
--- a/superset-frontend/playwright/generators/docs/screenshot-manifest.yaml
+++ b/superset-frontend/playwright/generators/docs/screenshot-manifest.yaml
@@ -573,12 +573,6 @@ images:
alt: Apache Spark SQL
source_file: docs/intro.md
selector: null
- - type: database-logo
- page_url: "https://superset.apache.org/user-docs"
- image_url: docs/static/img/databases/ascend.webp
- alt: Ascend
- source_file: docs/intro.md
- selector: null
- type: database-logo
page_url: "https://superset.apache.org/user-docs"
image_url: docs/static/img/databases/aws.png
@@ -947,13 +941,6 @@ images:
alt: Apache Spark SQL
source_file: docs/index.mdx
selector: null
- - type: database-logo
- page_url: "https://superset.apache.org/user-docs"
- image_url: "https://superset.apache.org/img/databases/ascend.webp"
- output_path: docs/static/img/databases/ascend.webp
- alt: Ascend
- source_file: docs/index.mdx
- selector: null
- type: database-logo
page_url: "https://superset.apache.org/user-docs"
image_url: "https://superset.apache.org/img/databases/aws.png"
diff --git a/superset/db_engine_specs/METADATA_STATUS.md b/superset/db_engine_specs/METADATA_STATUS.md
index 7a206565849..578a9351a40 100644
--- a/superset/db_engine_specs/METADATA_STATUS.md
+++ b/superset/db_engine_specs/METADATA_STATUS.md
@@ -59,7 +59,6 @@ These fields should be in every engine spec's `metadata` attribute:
| Superset meta database | superset.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Apache Drill | drill.py | 51% | connection_string, pypi_packages | default_port |
| Amazon Athena | athena.py | 52% | connection_string, pypi_packages | default_port |
-| Ascend | ascend.py | 60% | ✓ | default_port, homepage_url, logo |
| Ocient | ocient.py | 61% | ✓ | default_port, homepage_url, logo |
| RisingWave | risingwave.py | 61% | ✓ | default_port, homepage_url, logo |
| Arc | arc.py | 62% | ✓ | default_port, homepage_url, logo |
diff --git a/superset/db_engine_specs/README.md b/superset/db_engine_specs/README.md
index b8769cc8afe..4b57b815f0d 100644
--- a/superset/db_engine_specs/README.md
+++ b/superset/db_engine_specs/README.md
@@ -101,7 +101,6 @@ The tables below (generated via `python superset/db_engine_specs/lib.py`) summar
| SQLite | 41 | Supported | Partial | Supported | Supported | Not supported | Not supported |
| Shillelagh | 41 | Supported | Partial | Supported | Supported | Not supported | Not supported |
| KustoKQL | 40 | Supported | Partial | Partial | Partial | Partial | Not supported |
-| Ascend | 38 | Supported | Partial | Supported | Not supported | Partial | Not supported |
| DuckDB | 38 | Supported | Partial | Supported | Not supported | Partial | Not supported |
| IBM Db2 | 38 | Supported | Partial | Supported | Not supported | Partial | Not supported |
| IBM Db2 for i | 38 | Supported | Partial | Supported | Not supported | Partial | Not supported |
@@ -149,7 +148,6 @@ The tables below (generated via `python superset/db_engine_specs/lib.py`) summar
| Apache Pinot | superset.db_engine_specs.pinot | FORCE_LIMIT | True | None |
| Apache Solr | superset.db_engine_specs.solr | FORCE_LIMIT | True | None |
| Apache Spark SQL | superset.db_engine_specs.spark | FORCE_LIMIT | True | 767 |
-| Ascend | superset.db_engine_specs.ascend | FORCE_LIMIT | True | None |
| Aurora MySQL (Data API) | superset.db_engine_specs.aurora | FORCE_LIMIT | True | 64 |
| Aurora PostgreSQL (Data API) | superset.db_engine_specs.aurora | FORCE_LIMIT | True | 63 |
| Azure Synapse | superset.db_engine_specs.mssql | FORCE_LIMIT | True | 128 |
@@ -219,7 +217,6 @@ The tables below (generated via `python superset/db_engine_specs/lib.py`) summar
| Apache Pinot | False | False | False | False | True | True | True | False | False | True | False |
| Apache Solr | False | False | True | True | True | True | True | False | False | True | False |
| Apache Spark SQL | True | True | True | True | True | True | True | False | False | False | False |
-| Ascend | True | True | True | True | True | True | True | False | False | True | False |
| Aurora MySQL (Data API) | True | True | True | True | True | True | True | False | False | True | False |
| Aurora PostgreSQL (Data API) | True | True | True | True | True | True | True | False | False | True | False |
| Azure Synapse | True | True | True | True | False | True | True | False | False | True | False |
@@ -289,7 +286,6 @@ The tables below (generated via `python superset/db_engine_specs/lib.py`) summar
| Apache Pinot | True | True | True | True | True | True | True | True |
| Apache Solr | False | False | False | False | False | False | False | False |
| Apache Spark SQL | True | True | True | True | True | True | True | True |
-| Ascend | True | True | True | True | True | True | True | True |
| Aurora MySQL (Data API) | True | True | True | True | True | True | True | True |
| Aurora PostgreSQL (Data API) | True | True | True | True | True | True | True | True |
| Azure Synapse | True | True | True | True | True | True | True | True |
@@ -359,7 +355,6 @@ The tables below (generated via `python superset/db_engine_specs/lib.py`) summar
| Apache Pinot | False | False | True | True | True | True | False | False | False | False | False | False | False |
| Apache Solr | False | False | False | False | False | False | False | False | False | False | False | False | False |
| Apache Spark SQL | False | False | False | False | False | False | False | False | True | False | True | False | False |
-| Ascend | False | False | False | False | False | False | False | False | False | False | False | False | False |
| Aurora MySQL (Data API) | False | False | False | False | False | False | False | False | False | True | False | False | False |
| Aurora PostgreSQL (Data API) | True | True | True | True | True | True | False | False | False | False | False | False | False |
| Azure Synapse | False | False | True | True | True | True | False | False | True | True | False | False | False |
@@ -432,7 +427,6 @@ Integration with platform features and metadata handling.
| Apache Pinot | False | False | False | True | False | False | False | True | False | False | False | False | False | False |
| Apache Solr | False | False | False | True | False | False | False | True | False | False | False | False | False | False |
| Apache Spark SQL | False | True | True | True | True | True | True | True | True | True | False | True | False | False |
-| Ascend | False | False | False | True | False | False | False | True | False | True | False | False | False | False |
| Aurora MySQL (Data API) | False | True | False | True | True | False | False | True | False | True | False | False | False | False |
| Aurora PostgreSQL (Data API) | False | True | False | True | True | True | True | True | False | True | False | False | False | False |
| Azure Synapse | False | True | False | True | False | False | False | True | False | False | False | False | False | False |
@@ -502,7 +496,6 @@ Integration with platform features and metadata handling.
| Apache Pinot | False | False | False | False |
| Apache Solr | False | False | False | False |
| Apache Spark SQL | True | True | True | False |
-| Ascend | False | False | False | False |
| Aurora MySQL (Data API) | False | False | False | False |
| Aurora PostgreSQL (Data API) | False | False | True | True |
| Azure Synapse | False | False | False | False |
diff --git a/superset/db_engine_specs/ascend.py b/superset/db_engine_specs/ascend.py
deleted file mode 100644
index b695c4336a7..00000000000
--- a/superset/db_engine_specs/ascend.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-from sqlalchemy.dialects import registry
-
-from superset.constants import TimeGrain
-from superset.db_engine_specs.base import DatabaseCategory
-from superset.db_engine_specs.impala import ImpalaEngineSpec
-
-
-class AscendEngineSpec(ImpalaEngineSpec):
- """Engine spec for Ascend.io (Hive2+TLS) using Cloudera's Impala"""
-
- engine = "ascend"
- registry.register("ascend", "impala.sqlalchemy", "ImpalaDialect")
-
- engine_name = "Ascend"
-
- metadata = {
- "description": (
- "Ascend.io is a data automation platform for building data pipelines."
- ),
- "logo": "ascend.webp",
- "homepage_url": "https://www.ascend.io/",
- "categories": [
- DatabaseCategory.CLOUD_DATA_WAREHOUSES,
- DatabaseCategory.ANALYTICAL_DATABASES,
- DatabaseCategory.HOSTED_OPEN_SOURCE,
- ],
- "pypi_packages": ["impyla"],
- "connection_string": (
- "ascend://{username}:{password}@{hostname}:{port}/{database}"
- "?auth_mechanism=PLAIN;use_ssl=true"
- ),
- }
-
- _time_grain_expressions = {
- None: "{col}",
- TimeGrain.SECOND: "DATE_TRUNC('second', {col})",
- TimeGrain.MINUTE: "DATE_TRUNC('minute', {col})",
- TimeGrain.HOUR: "DATE_TRUNC('hour', {col})",
- TimeGrain.DAY: "DATE_TRUNC('day', {col})",
- TimeGrain.WEEK: "DATE_TRUNC('week', {col})",
- TimeGrain.MONTH: "DATE_TRUNC('month', {col})",
- TimeGrain.QUARTER: "DATE_TRUNC('quarter', {col})",
- TimeGrain.YEAR: "DATE_TRUNC('year', {col})",
- }
diff --git a/superset/sql/parse.py b/superset/sql/parse.py
index b90cc55c471..a765e3953b8 100644
--- a/superset/sql/parse.py
+++ b/superset/sql/parse.py
@@ -105,7 +105,6 @@ def _check_script_length(script: str, engine: str | None) -> None:
# mapping between DB engine specs and sqlglot dialects
SQLGLOT_DIALECTS = {
"base": Dialects.DIALECT,
- "ascend": Dialects.HIVE,
"awsathena": Dialects.ATHENA,
"bigquery": Dialects.BIGQUERY,
"datastore": Dialects.BIGQUERY,
diff --git a/tests/integration_tests/db_engine_specs/ascend_tests.py b/tests/integration_tests/db_engine_specs/ascend_tests.py
deleted file mode 100644
index 045cac7d76a..00000000000
--- a/tests/integration_tests/db_engine_specs/ascend_tests.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-from superset.db_engine_specs.ascend import AscendEngineSpec
-from tests.integration_tests.base_tests import SupersetTestCase
-
-
-class TestAscendDbEngineSpec(SupersetTestCase):
- def test_convert_dttm(self):
- dttm = self.get_dttm()
-
- assert (
- AscendEngineSpec.convert_dttm("DATE", dttm) == "CAST('2019-01-02' AS DATE)"
- )
-
- assert (
- AscendEngineSpec.convert_dttm("TIMESTAMP", dttm)
- == "CAST('2019-01-02T03:04:05.678900' AS TIMESTAMP)"
- )
diff --git a/tests/unit_tests/sql/parse_tests.py b/tests/unit_tests/sql/parse_tests.py
index 9749ef12c9b..153850a0dd3 100644
--- a/tests/unit_tests/sql/parse_tests.py
+++ b/tests/unit_tests/sql/parse_tests.py
@@ -1849,7 +1849,6 @@ def test_custom_dialect(app: None) -> None:
@pytest.mark.parametrize(
"engine",
[
- "ascend",
"awsathena",
"base",
"bigquery",