This is an automated email from the ASF dual-hosted git repository.

zykkk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 8272232e21 [fix](dbt) fix _MISSING_TYPE object is not callable bug 
(#21577)
8272232e21 is described below

commit 8272232e2161abcd0a5a38a2bf26245df4b5ab30
Author: catpineapple <42031973+catpineap...@users.noreply.github.com>
AuthorDate: Fri Jul 7 10:45:42 2023 +0800

    [fix](dbt) fix _MISSING_TYPE object is not callable bug (#21577)
---
 extension/dbt-doris/dbt/adapters/doris/__version__.py   |  2 +-
 extension/dbt-doris/dbt/adapters/doris/connections.py   | 14 +++++++-------
 extension/dbt-doris/dbt/adapters/doris/impl.py          | 17 +++++++----------
 extension/dbt-doris/dbt/adapters/doris/relation.py      |  6 +++---
 extension/dbt-doris/dbt/include/doris/dbt_project.yml   |  2 +-
 .../dbt/include/doris/macros/adapters/relation.sql      |  6 +++---
 extension/dbt-doris/setup.py                            |  5 ++---
 7 files changed, 24 insertions(+), 28 deletions(-)

diff --git a/extension/dbt-doris/dbt/adapters/doris/__version__.py 
b/extension/dbt-doris/dbt/adapters/doris/__version__.py
index 201fc2407f..182e7d11f2 100644
--- a/extension/dbt-doris/dbt/adapters/doris/__version__.py
+++ b/extension/dbt-doris/dbt/adapters/doris/__version__.py
@@ -22,4 +22,4 @@
 # this 'version' must be set !!!
 # otherwise the adapters will not be found after the 'dbt init xxx' command 
 
-version = "0.2.1"
+version = "0.3.0"
diff --git a/extension/dbt-doris/dbt/adapters/doris/connections.py 
b/extension/dbt-doris/dbt/adapters/doris/connections.py
index bdbd61e843..f19878ba48 100644
--- a/extension/dbt-doris/dbt/adapters/doris/connections.py
+++ b/extension/dbt-doris/dbt/adapters/doris/connections.py
@@ -56,7 +56,7 @@ class DorisCredentials(Credentials):
 
     def __post_init__(self):
         if self.database is not None and self.database != self.schema:
-            raise exceptions.RuntimeException(
+            raise exceptions.DbtRuntimeError(
                 f"    schema: {self.schema} \n"
                 f"    database: {self.database} \n"
                 f"On Doris, database must be omitted or have the same value as"
@@ -102,7 +102,7 @@ class DorisConnectionManager(SQLConnectionManager):
                 connection.handle = None
                 connection.state = 'fail'
 
-                raise dbt.exceptions.FailedToConnectException(str(e))
+                raise exceptions.FailedToConnectError(str(e))
         return connection
 
     @classmethod
@@ -126,18 +126,18 @@ class DorisConnectionManager(SQLConnectionManager):
             rows_affected=num_rows,
         )
 
-    @contextmanager  
-    def exception_handler(self, sql: str) -> ContextManager: 
+    @contextmanager
+    def exception_handler(self, sql: str) -> ContextManager:
         try:
             yield
         except mysql.connector.DatabaseError as e:
             logger.debug(f"Doris database error: {e}, sql: {sql}")
-            raise exceptions.DatabaseException(str(e)) from e
+            raise exceptions.DbtDatabaseError(str(e)) from e
         except Exception as e:
             logger.debug(f"Error running SQL: {sql}")
-            if isinstance(e, exceptions.RuntimeException):
+            if isinstance(e, exceptions.DbtRuntimeError):
                 raise e
-            raise exceptions.RuntimeException(str(e)) from e
+            raise exceptions.DbtRuntimeError(str(e)) from e
 
     @classmethod
     def begin(self):
diff --git a/extension/dbt-doris/dbt/adapters/doris/impl.py 
b/extension/dbt-doris/dbt/adapters/doris/impl.py
index d2c1a866e3..49ae2abb5f 100644
--- a/extension/dbt-doris/dbt/adapters/doris/impl.py
+++ b/extension/dbt-doris/dbt/adapters/doris/impl.py
@@ -91,10 +91,7 @@ class DorisAdapter(SQLAdapter):
         return exists
 
     def get_relation(self, database: Optional[str], schema: str, identifier: 
str):
-        if not self.Relation.include_policy.database:
-            database = None
-
-        return super().get_relation(database, schema, identifier)
+        return super().get_relation(None, schema, identifier)
 
     def drop_schema(self, relation: BaseRelation):
         relations = self.list_relations(
@@ -112,7 +109,7 @@ class DorisAdapter(SQLAdapter):
         relations = []
         for row in results:
             if len(row) != 4:
-                raise dbt.exceptions.RuntimeException(
+                raise dbt.exceptions.DbtRuntimeError(
                     f"Invalid value from 'show table extended ...', "
                     f"got {len(row)} values, expected 4"
                 )
@@ -130,7 +127,7 @@ class DorisAdapter(SQLAdapter):
 
     def get_catalog(self, manifest):
         schema_map = self._get_catalog_schemas(manifest)
-        
+
         with executor(self.config) as tpe:
             futures: List[Future[agate.Table]] = []
             for info, schemas in schema_map.items():
@@ -171,10 +168,10 @@ class DorisAdapter(SQLAdapter):
         return table.where(cls._catalog_filter_schemas(manifest))
 
     def _get_one_catalog(
-        self,
-        information_schema: InformationSchema,
-        schemas: Set[str],
-        manifest: Manifest,
+            self,
+            information_schema: InformationSchema,
+            schemas: Set[str],
+            manifest: Manifest,
     ) -> agate.Table:
         if len(schemas) != 1:
             dbt.exceptions.raise_compiler_error(
diff --git a/extension/dbt-doris/dbt/adapters/doris/relation.py 
b/extension/dbt-doris/dbt/adapters/doris/relation.py
index cfbefa46fc..17956d1e40 100644
--- a/extension/dbt-doris/dbt/adapters/doris/relation.py
+++ b/extension/dbt-doris/dbt/adapters/doris/relation.py
@@ -18,7 +18,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-from dataclasses import dataclass
+from dataclasses import dataclass, field
 
 from dbt.adapters.base.relation import BaseRelation, Policy
 from dbt.exceptions import DbtRuntimeError
@@ -40,8 +40,8 @@ class DorisIncludePolicy(Policy):
 
 @dataclass(frozen=True, eq=False, repr=False)
 class DorisRelation(BaseRelation):
-    quote_policy: DorisQuotePolicy = DorisQuotePolicy()
-    include_policy: DorisIncludePolicy = DorisIncludePolicy()
+    quote_policy: DorisQuotePolicy = field(default_factory=lambda: 
DorisQuotePolicy())
+    include_policy: DorisIncludePolicy = field(default_factory=lambda: 
DorisIncludePolicy())
     quote_character: str = "`"
 
     def __post_init__(self):
diff --git a/extension/dbt-doris/dbt/include/doris/dbt_project.yml 
b/extension/dbt-doris/dbt/include/doris/dbt_project.yml
index 1cd7e916a8..5712a0e267 100644
--- a/extension/dbt-doris/dbt/include/doris/dbt_project.yml
+++ b/extension/dbt-doris/dbt/include/doris/dbt_project.yml
@@ -19,7 +19,7 @@
 # under the License.
 
 name: dbt_doris
-version: 0.2.1
+version: 0.3.0
 config-version: 2
 
 macro-paths: ["macros"]
diff --git a/extension/dbt-doris/dbt/include/doris/macros/adapters/relation.sql 
b/extension/dbt-doris/dbt/include/doris/macros/adapters/relation.sql
index 08e92dc823..a75a9ce069 100644
--- a/extension/dbt-doris/dbt/include/doris/macros/adapters/relation.sql
+++ b/extension/dbt-doris/dbt/include/doris/macros/adapters/relation.sql
@@ -76,17 +76,17 @@
 {%- endmacro %}
 
 {% macro doris__distributed_by(column_names) -%}
-  {% set label = 'DISTRIBUTED BY HASH' %}
   {% set engine = config.get('engine', validator=validation.any[basestring]) %}
   {% set cols = config.get('distributed_by', validator=validation.any[list, 
basestring]) %}
   {% if cols is none and engine in [none,'OLAP'] %}
     {% set cols = column_names %}
   {% endif %}
-  {% if cols is not none %}
+
+  {% if cols %}
       {%- if cols is string -%}
         {%- set cols = [cols] -%}
       {%- endif -%}
-    {{ label }} (
+    DISTRIBUTED BY HASH (
       {% for item in cols %}
         {{ item }}{% if not loop.last %},{% endif %}
       {% endfor %}
diff --git a/extension/dbt-doris/setup.py b/extension/dbt-doris/setup.py
index 8bb5bd97c6..a4f6961005 100644
--- a/extension/dbt-doris/setup.py
+++ b/extension/dbt-doris/setup.py
@@ -22,7 +22,7 @@ from setuptools import find_namespace_packages, setup
 
 package_name = "dbt-doris"
 # make sure this always matches dbt/adapters/{adapter}/__version__.py
-package_version = "0.2.1"
+package_version = "0.3.0"
 dbt_core_version = "1.5.0"
 description = """The doris adapter plugin for dbt """
 
@@ -39,7 +39,6 @@ setup(
     install_requires=[
         "dbt-core~={}".format(dbt_core_version),
         "mysql-connector-python>=8.0.0,<8.1",
-        "urllib3~=1.0",
     ],
-    python_requires=">=3.7",
+    python_requires=">=3.7.2",
 )


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to