From 469a9aca06037a46bcf607ea70b4305d72ee6dd1 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Tue, 19 Sep 2023 00:04:37 +0100 Subject: [PATCH 01/40] remove dbt.contracts.connection imports from adapter module --- core/dbt/adapters/base/__init__.py | 2 +- core/dbt/adapters/base/connections.py | 2 +- core/dbt/adapters/base/query_headers.py | 2 +- .../{ => adapters}/contracts/connection.py | 23 ++++--- core/dbt/adapters/exceptions.py | 24 +++++++ core/dbt/adapters/factory.py | 2 +- core/dbt/adapters/protocol.py | 2 +- .../relation_configs/config_change.py | 2 +- core/dbt/adapters/sql/connections.py | 2 +- core/dbt/adapters/sql/impl.py | 2 +- core/dbt/adapters/utils.py | 55 ++++++++++++++++ core/dbt/common/constants.py | 1 + core/dbt/common/contracts/connection.py | 0 core/dbt/common/contracts/util.py | 7 ++ core/dbt/{ => common}/dataclass_schema.py | 0 core/dbt/common/exceptions.py | 58 +++++++++++++++++ core/dbt/common/util.py | 9 +++ core/dbt/config/profile.py | 4 +- core/dbt/config/project.py | 4 +- core/dbt/config/renderer.py | 2 +- core/dbt/config/runtime.py | 4 +- core/dbt/config/selectors.py | 2 +- core/dbt/constants.py | 1 + core/dbt/context/configured.py | 2 +- core/dbt/context/manifest.py | 2 +- core/dbt/context/providers.py | 2 +- core/dbt/contracts/files.py | 2 +- core/dbt/contracts/graph/manifest.py | 2 +- core/dbt/contracts/graph/model_config.py | 2 +- core/dbt/contracts/graph/nodes.py | 2 +- core/dbt/contracts/graph/semantic_models.py | 2 +- core/dbt/contracts/graph/unparsed.py | 7 +- core/dbt/contracts/project.py | 4 +- core/dbt/contracts/relation.py | 2 +- core/dbt/contracts/results.py | 2 +- core/dbt/contracts/selection.py | 2 +- core/dbt/contracts/sql.py | 2 +- core/dbt/contracts/util.py | 4 +- core/dbt/exceptions.py | 22 ++----- core/dbt/graph/selector_methods.py | 2 +- core/dbt/graph/selector_spec.py | 2 +- core/dbt/helper_types.py | 2 +- core/dbt/hooks.py | 2 +- core/dbt/logger.py | 2 +- core/dbt/node_types.py | 2 +- core/dbt/parser/base.py | 2 +- core/dbt/parser/manifest.py | 2 +- core/dbt/parser/models.py | 2 +- core/dbt/parser/read_files.py | 2 +- core/dbt/parser/schema_generic_tests.py | 2 +- core/dbt/parser/schema_yaml_readers.py | 2 +- core/dbt/parser/schemas.py | 2 +- core/dbt/parser/snapshots.py | 2 +- core/dbt/plugins/contracts.py | 2 +- core/dbt/semver.py | 2 +- core/dbt/task/clone.py | 2 +- core/dbt/task/freshness.py | 2 +- core/dbt/task/generate.py | 2 +- core/dbt/task/run.py | 2 +- core/dbt/task/test.py | 2 +- core/dbt/utils.py | 65 +------------------ .../dbt/adapters/postgres/connections.py | 2 +- .../postgres/dbt/adapters/postgres/impl.py | 2 +- .../postgres/relation_configs/index.py | 2 +- scripts/collect-dbt-contexts.py | 2 +- tests/functional/configs/test_configs.py | 2 +- .../test_custom_node_colors_configs.py | 2 +- .../functional/configs/test_disabled_model.py | 2 +- .../exposures/test_exposure_configs.py | 2 +- .../functional/metrics/test_metric_configs.py | 2 +- .../functional/sources/test_source_configs.py | 2 +- tests/unit/test_adapter_connection_manager.py | 2 +- tests/unit/test_config.py | 2 +- tests/unit/test_contracts_graph_parsed.py | 2 +- tests/unit/test_contracts_project.py | 2 +- tests/unit/test_deps.py | 2 +- tests/unit/test_helper_types.py | 2 +- tests/unit/test_model_config.py | 2 +- tests/unit/utils.py | 2 +- 79 files changed, 252 insertions(+), 162 deletions(-) rename core/dbt/{ => adapters}/contracts/connection.py (95%) create mode 100644 core/dbt/adapters/exceptions.py create mode 100644 core/dbt/adapters/utils.py create mode 100644 core/dbt/common/constants.py create mode 100644 core/dbt/common/contracts/connection.py create mode 100644 core/dbt/common/contracts/util.py rename core/dbt/{ => common}/dataclass_schema.py (100%) create mode 100644 core/dbt/common/exceptions.py create mode 100644 core/dbt/common/util.py diff --git a/core/dbt/adapters/base/__init__.py b/core/dbt/adapters/base/__init__.py index 07f5303992e..41c253efd87 100644 --- a/core/dbt/adapters/base/__init__.py +++ b/core/dbt/adapters/base/__init__.py @@ -1,7 +1,7 @@ # these are all just exports, #noqa them so flake8 will be happy # TODO: Should we still include this in the `adapters` namespace? -from dbt.contracts.connection import Credentials # noqa: F401 +from dbt.adapters.contracts.connection import Credentials # noqa: F401 from dbt.adapters.base.meta import available # noqa: F401 from dbt.adapters.base.connections import BaseConnectionManager # noqa: F401 from dbt.adapters.base.relation import ( # noqa: F401 diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index 1731924dffb..452e39aadfe 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -24,7 +24,7 @@ import agate import dbt.exceptions -from dbt.contracts.connection import ( +from dbt.adapters.contracts.connection import ( Connection, Identifier, ConnectionState, diff --git a/core/dbt/adapters/base/query_headers.py b/core/dbt/adapters/base/query_headers.py index f1fde8dc027..9e3aa738b2a 100644 --- a/core/dbt/adapters/base/query_headers.py +++ b/core/dbt/adapters/base/query_headers.py @@ -4,7 +4,7 @@ from dbt.clients.jinja import QueryStringGenerator from dbt.context.manifest import generate_query_header_context -from dbt.contracts.connection import AdapterRequiredConfig, QueryComment +from dbt.adapters.contracts.connection import AdapterRequiredConfig, QueryComment from dbt.contracts.graph.nodes import ResultNode from dbt.contracts.graph.manifest import Manifest from dbt.exceptions import DbtRuntimeError diff --git a/core/dbt/contracts/connection.py b/core/dbt/adapters/contracts/connection.py similarity index 95% rename from core/dbt/contracts/connection.py rename to core/dbt/adapters/contracts/connection.py index 692f40f71b7..553c959af57 100644 --- a/core/dbt/contracts/connection.py +++ b/core/dbt/adapters/contracts/connection.py @@ -11,20 +11,27 @@ List, Callable, ) -from dbt.exceptions import DbtInternalError -from dbt.utils import translate_aliases, md5 -from dbt.events.functions import fire_event -from dbt.events.types import NewConnectionOpening -from dbt.events.contextvars import get_node_info from typing_extensions import Protocol, Annotated -from dbt.dataclass_schema import ( + +from mashumaro.jsonschema.annotations import Pattern + +from dbt.adapters.utils import translate_aliases +from dbt.common.exceptions import DbtInternalError +from dbt.common.dataclass_schema import ( dbtClassMixin, StrEnum, ExtensibleDbtClassMixin, ValidatedStringMixin, ) -from dbt.contracts.util import Replaceable -from mashumaro.jsonschema.annotations import Pattern +from dbt.common.contracts.util import Replaceable +from dbt.common.util import md5 + +# TODO: dbt.events dependency +from dbt.events.functions import fire_event +from dbt.events.types import NewConnectionOpening + +# TODO: this is a very bad dependency - shared global state +from dbt.events.contextvars import get_node_info class Identifier(ValidatedStringMixin): diff --git a/core/dbt/adapters/exceptions.py b/core/dbt/adapters/exceptions.py new file mode 100644 index 00000000000..3b4433f6798 --- /dev/null +++ b/core/dbt/adapters/exceptions.py @@ -0,0 +1,24 @@ +from typing import Mapping, Any + +from dbt.exceptions import DbtValidationError + + +class AliasError(DbtValidationError): + pass + + +# core level exceptions +class DuplicateAliasError(AliasError): + def __init__(self, kwargs: Mapping[str, Any], aliases: Mapping[str, str], canonical_key: str): + self.kwargs = kwargs + self.aliases = aliases + self.canonical_key = canonical_key + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + # dupe found: go through the dict so we can have a nice-ish error + key_names = ", ".join( + "{}".format(k) for k in self.kwargs if self.aliases.get(k) == self.canonical_key + ) + msg = f'Got duplicate keys: ({key_names}) all map to "{self.canonical_key}"' + return msg diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index 513336a554d..74c33c49674 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -7,7 +7,7 @@ from dbt.adapters.base.plugin import AdapterPlugin from dbt.adapters.protocol import AdapterConfig, AdapterProtocol, RelationProtocol -from dbt.contracts.connection import AdapterRequiredConfig, Credentials +from dbt.adapters.contracts.connection import AdapterRequiredConfig, Credentials from dbt.events.functions import fire_event from dbt.events.types import AdapterImportError, PluginLoadError, AdapterRegistered from dbt.exceptions import DbtInternalError, DbtRuntimeError diff --git a/core/dbt/adapters/protocol.py b/core/dbt/adapters/protocol.py index 1c58cc78bab..8d8364939d4 100644 --- a/core/dbt/adapters/protocol.py +++ b/core/dbt/adapters/protocol.py @@ -15,7 +15,7 @@ import agate -from dbt.contracts.connection import Connection, AdapterRequiredConfig, AdapterResponse +from dbt.adapters.contracts.connection import Connection, AdapterRequiredConfig, AdapterResponse from dbt.contracts.graph.nodes import ResultNode, ManifestNode from dbt.contracts.graph.model_config import BaseConfig from dbt.contracts.graph.manifest import Manifest diff --git a/core/dbt/adapters/relation_configs/config_change.py b/core/dbt/adapters/relation_configs/config_change.py index ac653fa5210..94f7dd7e9ad 100644 --- a/core/dbt/adapters/relation_configs/config_change.py +++ b/core/dbt/adapters/relation_configs/config_change.py @@ -3,7 +3,7 @@ from typing import Hashable from dbt.adapters.relation_configs.config_base import RelationConfigBase -from dbt.dataclass_schema import StrEnum +from dbt.common.dataclass_schema import StrEnum class RelationConfigChangeAction(StrEnum): diff --git a/core/dbt/adapters/sql/connections.py b/core/dbt/adapters/sql/connections.py index 7347d961d15..be7f2b8192c 100644 --- a/core/dbt/adapters/sql/connections.py +++ b/core/dbt/adapters/sql/connections.py @@ -7,7 +7,7 @@ import dbt.clients.agate_helper import dbt.exceptions from dbt.adapters.base import BaseConnectionManager -from dbt.contracts.connection import Connection, ConnectionState, AdapterResponse +from dbt.adapters.contracts.connection import Connection, ConnectionState, AdapterResponse from dbt.events.functions import fire_event from dbt.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus from dbt.events.contextvars import get_node_info diff --git a/core/dbt/adapters/sql/impl.py b/core/dbt/adapters/sql/impl.py index b74eb02d991..9f5e0b3280e 100644 --- a/core/dbt/adapters/sql/impl.py +++ b/core/dbt/adapters/sql/impl.py @@ -1,7 +1,7 @@ import agate from typing import Any, Optional, Tuple, Type, List -from dbt.contracts.connection import Connection, AdapterResponse +from dbt.adapters.contracts.connection import Connection, AdapterResponse from dbt.exceptions import RelationTypeNullError from dbt.adapters.base import BaseAdapter, available from dbt.adapters.cache import _make_ref_key_dict diff --git a/core/dbt/adapters/utils.py b/core/dbt/adapters/utils.py new file mode 100644 index 00000000000..e46e7c62664 --- /dev/null +++ b/core/dbt/adapters/utils.py @@ -0,0 +1,55 @@ +from typing import Mapping, Sequence, Any, Dict, List +from dbt.adapters.exceptions import DuplicateAliasError + + +class Translator: + def __init__(self, aliases: Mapping[str, str], recursive: bool = False) -> None: + self.aliases = aliases + self.recursive = recursive + + def translate_mapping(self, kwargs: Mapping[str, Any]) -> Dict[str, Any]: + result: Dict[str, Any] = {} + + for key, value in kwargs.items(): + canonical_key = self.aliases.get(key, key) + if canonical_key in result: + raise DuplicateAliasError(kwargs, self.aliases, canonical_key) + result[canonical_key] = self.translate_value(value) + return result + + def translate_sequence(self, value: Sequence[Any]) -> List[Any]: + return [self.translate_value(v) for v in value] + + def translate_value(self, value: Any) -> Any: + if self.recursive: + if isinstance(value, Mapping): + return self.translate_mapping(value) + elif isinstance(value, (list, tuple)): + return self.translate_sequence(value) + return value + + def translate(self, value: Mapping[str, Any]) -> Dict[str, Any]: + try: + return self.translate_mapping(value) + except RuntimeError as exc: + if "maximum recursion depth exceeded" in str(exc): + raise RecursionError("Cycle detected in a value passed to translate!") + raise + + +def translate_aliases( + kwargs: Dict[str, Any], + aliases: Dict[str, str], + recurse: bool = False, +) -> Dict[str, Any]: + """Given a dict of keyword arguments and a dict mapping aliases to their + canonical values, canonicalize the keys in the kwargs dict. + + If recurse is True, perform this operation recursively. + + :returns: A dict containing all the values in kwargs referenced by their + canonical key. + :raises: `AliasError`, if a canonical key is defined more than once. + """ + translator = Translator(aliases, recurse) + return translator.translate(kwargs) diff --git a/core/dbt/common/constants.py b/core/dbt/common/constants.py new file mode 100644 index 00000000000..ca591e05d8d --- /dev/null +++ b/core/dbt/common/constants.py @@ -0,0 +1 @@ +SECRET_ENV_PREFIX = "DBT_ENV_SECRET_" diff --git a/core/dbt/common/contracts/connection.py b/core/dbt/common/contracts/connection.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/common/contracts/util.py b/core/dbt/common/contracts/util.py new file mode 100644 index 00000000000..b115a7b07ce --- /dev/null +++ b/core/dbt/common/contracts/util.py @@ -0,0 +1,7 @@ +import dataclasses + + +# TODO: remove from dbt.contracts.util:: Replaceable + references +class Replaceable: + def replace(self, **kwargs): + return dataclasses.replace(self, **kwargs) diff --git a/core/dbt/dataclass_schema.py b/core/dbt/common/dataclass_schema.py similarity index 100% rename from core/dbt/dataclass_schema.py rename to core/dbt/common/dataclass_schema.py diff --git a/core/dbt/common/exceptions.py b/core/dbt/common/exceptions.py new file mode 100644 index 00000000000..fb36eb75aaf --- /dev/null +++ b/core/dbt/common/exceptions.py @@ -0,0 +1,58 @@ +from typing import List +import os + +from dbt.common.constants import SECRET_ENV_PREFIX + + +def env_secrets() -> List[str]: + return [v for k, v in os.environ.items() if k.startswith(SECRET_ENV_PREFIX) and v.strip()] + + +def scrub_secrets(msg: str, secrets: List[str]) -> str: + scrubbed = str(msg) + + for secret in secrets: + scrubbed = scrubbed.replace(secret, "*****") + + return scrubbed + + +class DbtInternalError(Exception): + def __init__(self, msg: str): + self.stack: List = [] + self.msg = scrub_secrets(msg, env_secrets()) + + @property + def type(self): + return "Internal" + + def process_stack(self): + lines = [] + stack = self.stack + first = True + + if len(stack) > 1: + lines.append("") + + for item in stack: + msg = "called by" + + if first: + msg = "in" + first = False + + lines.append(f"> {msg}") + + return lines + + def __str__(self): + if hasattr(self.msg, "split"): + split_msg = self.msg.split("\n") + else: + split_msg = str(self.msg).split("\n") + + lines = ["{}".format(self.type + " Error")] + split_msg + + lines += self.process_stack() + + return lines[0] + "\n" + "\n".join([" " + line for line in lines[1:]]) diff --git a/core/dbt/common/util.py b/core/dbt/common/util.py new file mode 100644 index 00000000000..a801dbb4114 --- /dev/null +++ b/core/dbt/common/util.py @@ -0,0 +1,9 @@ +import hashlib +import sys + + +def md5(string, charset="utf-8"): + if sys.version_info >= (3, 9): + return hashlib.md5(string.encode(charset), usedforsecurity=False).hexdigest() + else: + return hashlib.md5(string.encode(charset)).hexdigest() diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index acd06e6a8a7..f361f7e9503 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -2,12 +2,12 @@ from typing import Any, Dict, Optional, Tuple import os -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.flags import get_flags from dbt.clients.system import load_file_contents from dbt.clients.yaml_helper import load_yaml_text -from dbt.contracts.connection import Credentials, HasCredentials +from dbt.adapters.contracts.connection import Credentials, HasCredentials from dbt.contracts.project import ProfileConfig, UserConfig from dbt.exceptions import ( CompilationError, diff --git a/core/dbt/config/project.py b/core/dbt/config/project.py index 9405f3e796f..36c6329415a 100644 --- a/core/dbt/config/project.py +++ b/core/dbt/config/project.py @@ -23,7 +23,7 @@ ) from dbt.clients.system import path_exists, load_file_contents from dbt.clients.yaml_helper import load_yaml_text -from dbt.contracts.connection import QueryComment +from dbt.adapters.contracts.connection import QueryComment from dbt.exceptions import ( DbtProjectError, SemverError, @@ -43,7 +43,7 @@ SemverString, ) from dbt.contracts.project import PackageConfig, ProjectPackageMetadata -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from .renderer import DbtProjectYamlRenderer, PackageRenderer from .selectors import ( selector_config_from_data, diff --git a/core/dbt/config/renderer.py b/core/dbt/config/renderer.py index f29433454da..153108eed4a 100644 --- a/core/dbt/config/renderer.py +++ b/core/dbt/config/renderer.py @@ -8,7 +8,7 @@ from dbt.context.target import TargetContext from dbt.context.secret import SecretContext, SECRET_PLACEHOLDER from dbt.context.base import BaseContext -from dbt.contracts.connection import HasCredentials +from dbt.adapters.contracts.connection import HasCredentials from dbt.exceptions import DbtProjectError, CompilationError, RecursionError from dbt.utils import deep_map_render diff --git a/core/dbt/config/runtime.py b/core/dbt/config/runtime.py index ab92be2f128..2f54b9771d7 100644 --- a/core/dbt/config/runtime.py +++ b/core/dbt/config/runtime.py @@ -18,11 +18,11 @@ from dbt.flags import get_flags from dbt.adapters.factory import get_include_paths, get_relation_class_by_name from dbt.config.project import load_raw_project -from dbt.contracts.connection import AdapterRequiredConfig, Credentials, HasCredentials +from dbt.adapters.contracts.connection import AdapterRequiredConfig, Credentials, HasCredentials from dbt.contracts.graph.manifest import ManifestMetadata from dbt.contracts.project import Configuration, UserConfig from dbt.contracts.relation import ComponentName -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.events.functions import warn_or_error from dbt.events.types import UnusedResourceConfigPath from dbt.exceptions import ( diff --git a/core/dbt/config/selectors.py b/core/dbt/config/selectors.py index 63f67c14902..63316c7006a 100644 --- a/core/dbt/config/selectors.py +++ b/core/dbt/config/selectors.py @@ -2,7 +2,7 @@ from copy import deepcopy from typing import Dict, Any, Union from dbt.clients.yaml_helper import yaml, Loader, Dumper, load_yaml_text # noqa: F401 -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from .renderer import BaseRenderer diff --git a/core/dbt/constants.py b/core/dbt/constants.py index 3e485868df2..b97b944fccf 100644 --- a/core/dbt/constants.py +++ b/core/dbt/constants.py @@ -1,3 +1,4 @@ +# TODO: remove SECRET_ENV_PREFIX and import from dbt.common SECRET_ENV_PREFIX = "DBT_ENV_SECRET_" DEFAULT_ENV_PLACEHOLDER = "DBT_DEFAULT_PLACEHOLDER" METADATA_ENV_PREFIX = "DBT_ENV_CUSTOM_ENV_" diff --git a/core/dbt/context/configured.py b/core/dbt/context/configured.py index 08f5bee1143..67a10142ac8 100644 --- a/core/dbt/context/configured.py +++ b/core/dbt/context/configured.py @@ -2,7 +2,7 @@ from typing import Any, Dict, Optional from dbt.constants import SECRET_ENV_PREFIX, DEFAULT_ENV_PLACEHOLDER -from dbt.contracts.connection import AdapterRequiredConfig +from dbt.adapters.contracts.connection import AdapterRequiredConfig from dbt.node_types import NodeType from dbt.utils import MultiDict diff --git a/core/dbt/context/manifest.py b/core/dbt/context/manifest.py index f2492612cc8..76d196374fa 100644 --- a/core/dbt/context/manifest.py +++ b/core/dbt/context/manifest.py @@ -1,7 +1,7 @@ from typing import List from dbt.clients.jinja import MacroStack -from dbt.contracts.connection import AdapterRequiredConfig +from dbt.adapters.contracts.connection import AdapterRequiredConfig from dbt.contracts.graph.manifest import Manifest from dbt.context.macro_resolver import TestMacroNamespace from .base import contextproperty diff --git a/core/dbt/context/providers.py b/core/dbt/context/providers.py index febc21a546f..f6959403ea3 100644 --- a/core/dbt/context/providers.py +++ b/core/dbt/context/providers.py @@ -27,7 +27,7 @@ from dbt.context.macro_resolver import MacroResolver, TestMacroNamespace from dbt.context.macros import MacroNamespaceBuilder, MacroNamespace from dbt.context.manifest import ManifestContext -from dbt.contracts.connection import AdapterResponse +from dbt.adapters.contracts.connection import AdapterResponse from dbt.contracts.graph.manifest import Manifest, Disabled from dbt.contracts.graph.nodes import ( Macro, diff --git a/core/dbt/contracts/files.py b/core/dbt/contracts/files.py index afdae563d49..267b5358416 100644 --- a/core/dbt/contracts/files.py +++ b/core/dbt/contracts/files.py @@ -6,7 +6,7 @@ from typing import List, Optional, Union, Dict, Any from dbt.constants import MAXIMUM_SEED_SIZE -from dbt.dataclass_schema import dbtClassMixin, StrEnum +from dbt.common.dataclass_schema import dbtClassMixin, StrEnum from .util import SourceKey diff --git a/core/dbt/contracts/graph/manifest.py b/core/dbt/contracts/graph/manifest.py index 7f6c16cdca1..a3c31fd86a2 100644 --- a/core/dbt/contracts/graph/manifest.py +++ b/core/dbt/contracts/graph/manifest.py @@ -46,7 +46,7 @@ from dbt.contracts.graph.manifest_upgrade import upgrade_manifest_json from dbt.contracts.files import SourceFile, SchemaSourceFile, FileHash, AnySourceFile from dbt.contracts.util import BaseArtifactMetadata, SourceKey, ArtifactMixin, schema_version -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from dbt.exceptions import ( CompilationError, DuplicateResourceNameError, diff --git a/core/dbt/contracts/graph/model_config.py b/core/dbt/contracts/graph/model_config.py index e827cd80067..b4f91d08161 100644 --- a/core/dbt/contracts/graph/model_config.py +++ b/core/dbt/contracts/graph/model_config.py @@ -4,7 +4,7 @@ from typing import Any, List, Optional, Dict, Union, Type, TypeVar, Callable from typing_extensions import Annotated -from dbt.dataclass_schema import ( +from dbt.common.dataclass_schema import ( dbtClassMixin, ValidationError, StrEnum, diff --git a/core/dbt/contracts/graph/nodes.py b/core/dbt/contracts/graph/nodes.py index e49a7244f3c..17417e410be 100644 --- a/core/dbt/contracts/graph/nodes.py +++ b/core/dbt/contracts/graph/nodes.py @@ -8,7 +8,7 @@ from mashumaro.types import SerializableType from typing import Optional, Union, List, Dict, Any, Sequence, Tuple, Iterator, Literal -from dbt.dataclass_schema import dbtClassMixin, ExtensibleDbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin, ExtensibleDbtClassMixin from dbt.clients.system import write_file from dbt.contracts.files import FileHash diff --git a/core/dbt/contracts/graph/semantic_models.py b/core/dbt/contracts/graph/semantic_models.py index bdcf1effbce..a041fb8d3e5 100644 --- a/core/dbt/contracts/graph/semantic_models.py +++ b/core/dbt/contracts/graph/semantic_models.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from dbt_semantic_interfaces.references import ( DimensionReference, EntityReference, diff --git a/core/dbt/contracts/graph/unparsed.py b/core/dbt/contracts/graph/unparsed.py index aee95e5dfd7..d986b4ad574 100644 --- a/core/dbt/contracts/graph/unparsed.py +++ b/core/dbt/contracts/graph/unparsed.py @@ -18,7 +18,12 @@ import dbt.helper_types # noqa:F401 from dbt.exceptions import CompilationError, ParsingError, DbtInternalError -from dbt.dataclass_schema import dbtClassMixin, StrEnum, ExtensibleDbtClassMixin, ValidationError +from dbt.common.dataclass_schema import ( + dbtClassMixin, + StrEnum, + ExtensibleDbtClassMixin, + ValidationError, +) from dataclasses import dataclass, field from datetime import timedelta diff --git a/core/dbt/contracts/project.py b/core/dbt/contracts/project.py index ec88b5b7167..3e3c11f0e2a 100644 --- a/core/dbt/contracts/project.py +++ b/core/dbt/contracts/project.py @@ -1,7 +1,7 @@ from dbt.contracts.util import Replaceable, Mergeable, list_str, Identifier -from dbt.contracts.connection import QueryComment, UserConfigContract +from dbt.adapters.contracts.connection import QueryComment, UserConfigContract from dbt.helper_types import NoValue -from dbt.dataclass_schema import ( +from dbt.common.dataclass_schema import ( dbtClassMixin, ValidationError, ExtensibleDbtClassMixin, diff --git a/core/dbt/contracts/relation.py b/core/dbt/contracts/relation.py index 52f7a07976f..a3a5e179a4f 100644 --- a/core/dbt/contracts/relation.py +++ b/core/dbt/contracts/relation.py @@ -6,7 +6,7 @@ ) from typing_extensions import Protocol -from dbt.dataclass_schema import dbtClassMixin, StrEnum +from dbt.common.dataclass_schema import dbtClassMixin, StrEnum from dbt.contracts.util import Replaceable from dbt.exceptions import CompilationError, DataclassNotDictError diff --git a/core/dbt/contracts/results.py b/core/dbt/contracts/results.py index 2278e5561a6..15dc96c85d9 100644 --- a/core/dbt/contracts/results.py +++ b/core/dbt/contracts/results.py @@ -16,7 +16,7 @@ from dbt.events.helpers import datetime_to_json_string from dbt.logger import TimingProcessor from dbt.utils import lowercase, cast_to_str, cast_to_int -from dbt.dataclass_schema import dbtClassMixin, StrEnum +from dbt.common.dataclass_schema import dbtClassMixin, StrEnum import agate diff --git a/core/dbt/contracts/selection.py b/core/dbt/contracts/selection.py index 4901cf045cd..f47d299e983 100644 --- a/core/dbt/contracts/selection.py +++ b/core/dbt/contracts/selection.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from typing import List, Dict, Any, Union diff --git a/core/dbt/contracts/sql.py b/core/dbt/contracts/sql.py index b80304d2565..4488e563e7c 100644 --- a/core/dbt/contracts/sql.py +++ b/core/dbt/contracts/sql.py @@ -3,7 +3,7 @@ from datetime import datetime from typing import Optional, List, Any, Dict, Sequence -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from dbt.contracts.graph.nodes import ResultNode from dbt.contracts.results import ( diff --git a/core/dbt/contracts/util.py b/core/dbt/contracts/util.py index e632203c0b1..5c9085d90ab 100644 --- a/core/dbt/contracts/util.py +++ b/core/dbt/contracts/util.py @@ -11,9 +11,9 @@ from dbt.version import __version__ from dbt.events.functions import get_invocation_id, get_metadata_vars -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin -from dbt.dataclass_schema import ( +from dbt.common.dataclass_schema import ( ValidatedStringMixin, ValidationError, ) diff --git a/core/dbt/exceptions.py b/core/dbt/exceptions.py index 9646bf5e72e..335e601a4c8 100644 --- a/core/dbt/exceptions.py +++ b/core/dbt/exceptions.py @@ -1,30 +1,16 @@ import builtins import json -import os import re import io import agate from typing import Any, Dict, List, Mapping, Optional, Union -from dbt.constants import SECRET_ENV_PREFIX -from dbt.dataclass_schema import ValidationError from dbt.node_types import NodeType, AccessType from dbt.ui import line_wrap_message -import dbt.dataclass_schema - - -def env_secrets() -> List[str]: - return [v for k, v in os.environ.items() if k.startswith(SECRET_ENV_PREFIX) and v.strip()] - - -def scrub_secrets(msg: str, secrets: List[str]) -> str: - scrubbed = str(msg) - - for secret in secrets: - scrubbed = scrubbed.replace(secret, "*****") - - return scrubbed +import dbt.common.dataclass_schema +from dbt.common.dataclass_schema import ValidationError +from dbt.common.exceptions import env_secrets, scrub_secrets class MacroReturn(builtins.BaseException): @@ -147,7 +133,7 @@ def validator_error_message(self, exc: builtins.Exception): """Given a dbt.dataclass_schema.ValidationError (which is basically a jsonschema.ValidationError), return the relevant parts as a string """ - if not isinstance(exc, dbt.dataclass_schema.ValidationError): + if not isinstance(exc, dbt.common.dataclass_schema.ValidationError): return str(exc) path = "[%s]" % "][".join(map(repr, exc.relative_path)) return f"at path {path}: {exc.message}" diff --git a/core/dbt/graph/selector_methods.py b/core/dbt/graph/selector_methods.py index 3ce3f0d8b2e..980df39aa65 100644 --- a/core/dbt/graph/selector_methods.py +++ b/core/dbt/graph/selector_methods.py @@ -4,7 +4,7 @@ from pathlib import Path from typing import Set, List, Dict, Iterator, Tuple, Any, Union, Type, Optional, Callable -from dbt.dataclass_schema import StrEnum +from dbt.common.dataclass_schema import StrEnum from .graph import UniqueId diff --git a/core/dbt/graph/selector_spec.py b/core/dbt/graph/selector_spec.py index 31ffc050585..05e85e1eb4a 100644 --- a/core/dbt/graph/selector_spec.py +++ b/core/dbt/graph/selector_spec.py @@ -2,7 +2,7 @@ import re from abc import ABCMeta, abstractmethod from dataclasses import dataclass -from dbt.dataclass_schema import StrEnum, dbtClassMixin +from dbt.common.dataclass_schema import StrEnum, dbtClassMixin from typing import Set, Iterator, List, Optional, Dict, Union, Any, Iterable, Tuple from .graph import UniqueId diff --git a/core/dbt/helper_types.py b/core/dbt/helper_types.py index 545d44a9087..1e3d4783ab0 100644 --- a/core/dbt/helper_types.py +++ b/core/dbt/helper_types.py @@ -7,7 +7,7 @@ from typing import Tuple, AbstractSet, Union from typing import Callable, cast, Generic, Optional, TypeVar, List, NewType -from dbt.dataclass_schema import ( +from dbt.common.dataclass_schema import ( dbtClassMixin, ValidationError, StrEnum, diff --git a/core/dbt/hooks.py b/core/dbt/hooks.py index 816d4b3e7de..a162cff9e37 100644 --- a/core/dbt/hooks.py +++ b/core/dbt/hooks.py @@ -1,4 +1,4 @@ -from dbt.dataclass_schema import StrEnum +from dbt.common.dataclass_schema import StrEnum import json from typing import Union, Dict, Any diff --git a/core/dbt/logger.py b/core/dbt/logger.py index 2ac90984458..103a05f920b 100644 --- a/core/dbt/logger.py +++ b/core/dbt/logger.py @@ -14,7 +14,7 @@ import colorama import logbook from dbt.constants import SECRET_ENV_PREFIX -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin # Colorama is needed for colored logs on Windows because we're using logger.info # intead of print(). If the Windows env doesn't have a TERM var set or it is set to None diff --git a/core/dbt/node_types.py b/core/dbt/node_types.py index f1961db9d08..3ec152dfc98 100644 --- a/core/dbt/node_types.py +++ b/core/dbt/node_types.py @@ -1,6 +1,6 @@ from typing import List -from dbt.dataclass_schema import StrEnum +from dbt.common.dataclass_schema import StrEnum class AccessType(StrEnum): diff --git a/core/dbt/parser/base.py b/core/dbt/parser/base.py index 17e9218e62a..b79c3f155fb 100644 --- a/core/dbt/parser/base.py +++ b/core/dbt/parser/base.py @@ -3,7 +3,7 @@ import os from typing import List, Dict, Any, Generic, Optional, TypeVar -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt import utils from dbt.clients.jinja import MacroGenerator diff --git a/core/dbt/parser/manifest.py b/core/dbt/parser/manifest.py index 01f6ae5c893..bc348674ad1 100644 --- a/core/dbt/parser/manifest.py +++ b/core/dbt/parser/manifest.py @@ -124,7 +124,7 @@ from dbt.parser.sources import SourcePatcher from dbt.version import __version__ -from dbt.dataclass_schema import StrEnum, dbtClassMixin +from dbt.common.dataclass_schema import StrEnum, dbtClassMixin from dbt import plugins from dbt_semantic_interfaces.enum_extension import assert_values_exhausted diff --git a/core/dbt/parser/models.py b/core/dbt/parser/models.py index bff46e41c9f..b94e20a0ff6 100644 --- a/core/dbt/parser/models.py +++ b/core/dbt/parser/models.py @@ -19,7 +19,7 @@ # New for Python models :p import ast -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.exceptions import ( ModelConfigError, ParsingError, diff --git a/core/dbt/parser/read_files.py b/core/dbt/parser/read_files.py index d07c7fb1d48..a20236e2027 100644 --- a/core/dbt/parser/read_files.py +++ b/core/dbt/parser/read_files.py @@ -12,7 +12,7 @@ SchemaSourceFile, ) from dbt.config import Project -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from dbt.parser.schemas import yaml_from_file, schema_file_keys from dbt.exceptions import ParsingError from dbt.parser.search import filesystem_search diff --git a/core/dbt/parser/schema_generic_tests.py b/core/dbt/parser/schema_generic_tests.py index c4994e98a74..499753d5f94 100644 --- a/core/dbt/parser/schema_generic_tests.py +++ b/core/dbt/parser/schema_generic_tests.py @@ -24,7 +24,7 @@ ) from dbt.context.context_config import ContextConfig from dbt.context.configured import generate_schema_yml_context, SchemaYamlVars -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.exceptions import SchemaConfigError, CompilationError, ParsingError, TestConfigError from dbt.contracts.files import FileHash from dbt.utils import md5, get_pseudo_test_path diff --git a/core/dbt/parser/schema_yaml_readers.py b/core/dbt/parser/schema_yaml_readers.py index 0e9eb1cb75f..c177f20114c 100644 --- a/core/dbt/parser/schema_yaml_readers.py +++ b/core/dbt/parser/schema_yaml_readers.py @@ -46,7 +46,7 @@ UnrenderedConfigGenerator, ) from dbt.clients.jinja import get_rendered -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt_semantic_interfaces.type_enums import ( AggregationType, DimensionType, diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py index 7835a8c5471..07e6a2ab198 100644 --- a/core/dbt/parser/schemas.py +++ b/core/dbt/parser/schemas.py @@ -5,7 +5,7 @@ from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, Type, TypeVar from dataclasses import dataclass, field -from dbt.dataclass_schema import ValidationError, dbtClassMixin +from dbt.common.dataclass_schema import ValidationError, dbtClassMixin from dbt.clients.yaml_helper import load_yaml_text from dbt.parser.schema_renderer import SchemaYamlRenderer diff --git a/core/dbt/parser/snapshots.py b/core/dbt/parser/snapshots.py index 72aec4ee976..9352f6f3d4f 100644 --- a/core/dbt/parser/snapshots.py +++ b/core/dbt/parser/snapshots.py @@ -1,7 +1,7 @@ import os from typing import List -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.contracts.graph.nodes import IntermediateSnapshotNode, SnapshotNode from dbt.exceptions import SnapshopConfigError diff --git a/core/dbt/plugins/contracts.py b/core/dbt/plugins/contracts.py index a9db066dfca..b7e756510ea 100644 --- a/core/dbt/plugins/contracts.py +++ b/core/dbt/plugins/contracts.py @@ -3,7 +3,7 @@ # just exports, they need "noqa" so flake8 will not complain. from dbt.contracts.util import ArtifactMixin as PluginArtifact, schema_version # noqa from dbt.contracts.util import BaseArtifactMetadata, AdditionalPropertiesMixin # noqa -from dbt.dataclass_schema import dbtClassMixin, ExtensibleDbtClassMixin # noqa +from dbt.common.dataclass_schema import dbtClassMixin, ExtensibleDbtClassMixin # noqa PluginArtifacts = Dict[str, PluginArtifact] diff --git a/core/dbt/semver.py b/core/dbt/semver.py index a1c6a25b929..e216716a9f0 100644 --- a/core/dbt/semver.py +++ b/core/dbt/semver.py @@ -5,7 +5,7 @@ from dbt.exceptions import VersionsNotCompatibleError import dbt.utils -from dbt.dataclass_schema import dbtClassMixin, StrEnum +from dbt.common.dataclass_schema import dbtClassMixin, StrEnum from typing import Optional diff --git a/core/dbt/task/clone.py b/core/dbt/task/clone.py index 87fb1a78106..efa533b4af5 100644 --- a/core/dbt/task/clone.py +++ b/core/dbt/task/clone.py @@ -5,7 +5,7 @@ from dbt.clients.jinja import MacroGenerator from dbt.context.providers import generate_runtime_model_context from dbt.contracts.results import RunStatus, RunResult -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from dbt.exceptions import DbtInternalError, CompilationError from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType diff --git a/core/dbt/task/freshness.py b/core/dbt/task/freshness.py index bb8a9c31ce3..24ae3532705 100644 --- a/core/dbt/task/freshness.py +++ b/core/dbt/task/freshness.py @@ -26,7 +26,7 @@ from dbt.node_types import NodeType from dbt.adapters.capability import Capability -from dbt.contracts.connection import AdapterResponse +from dbt.adapters.contracts.connection import AdapterResponse from dbt.contracts.graph.nodes import SourceDefinition from dbt.events.base_types import EventLevel from dbt.graph import ResourceTypeSelector diff --git a/core/dbt/task/generate.py b/core/dbt/task/generate.py index 3a3f99cbb81..3b18a27f28c 100644 --- a/core/dbt/task/generate.py +++ b/core/dbt/task/generate.py @@ -4,7 +4,7 @@ from typing import Dict, List, Any, Optional, Tuple, Set import agate -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.clients.system import load_file_contents from .compile import CompileTask diff --git a/core/dbt/task/run.py b/core/dbt/task/run.py index a046c4b22e1..587ee6c89bf 100644 --- a/core/dbt/task/run.py +++ b/core/dbt/task/run.py @@ -3,7 +3,7 @@ import time from typing import List, Dict, Any, Iterable, Set, Tuple, Optional, AbstractSet -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from .compile import CompileRunner, CompileTask diff --git a/core/dbt/task/test.py b/core/dbt/task/test.py index c0af8baa5df..f6ce0854a06 100644 --- a/core/dbt/task/test.py +++ b/core/dbt/task/test.py @@ -3,7 +3,7 @@ from dataclasses import dataclass from dbt.utils import _coerce_decimal from dbt.events.format import pluralize -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin import threading from typing import Dict, Any diff --git a/core/dbt/utils.py b/core/dbt/utils.py index 2386d226aab..5789d426c32 100644 --- a/core/dbt/utils.py +++ b/core/dbt/utils.py @@ -4,25 +4,23 @@ import datetime import decimal import functools -import hashlib import itertools import jinja2 import json import os import requests -import sys from tarfile import ReadError import time from pathlib import PosixPath, WindowsPath from contextlib import contextmanager +from dbt.common.util import md5 from dbt.events.types import RetryExternalCall, RecordRetryException from dbt.exceptions import ( ConnectionError, DbtInternalError, DbtConfigError, - DuplicateAliasError, RecursionError, ) from dbt.helper_types import WarnErrorOptions @@ -44,7 +42,6 @@ Iterable, AbstractSet, Set, - Sequence, ) DECIMALS: Tuple[Type[Any], ...] @@ -258,13 +255,6 @@ def get_pseudo_hook_path(hook_name): return os.path.join(*path_parts) -def md5(string, charset="utf-8"): - if sys.version_info >= (3, 9): - return hashlib.md5(string.encode(charset), usedforsecurity=False).hexdigest() - else: - return hashlib.md5(string.encode(charset)).hexdigest() - - def get_hash(model): return md5(model.unique_id) @@ -366,59 +356,6 @@ def default(self, obj): return str(obj) -class Translator: - def __init__(self, aliases: Mapping[str, str], recursive: bool = False) -> None: - self.aliases = aliases - self.recursive = recursive - - def translate_mapping(self, kwargs: Mapping[str, Any]) -> Dict[str, Any]: - result: Dict[str, Any] = {} - - for key, value in kwargs.items(): - canonical_key = self.aliases.get(key, key) - if canonical_key in result: - raise DuplicateAliasError(kwargs, self.aliases, canonical_key) - result[canonical_key] = self.translate_value(value) - return result - - def translate_sequence(self, value: Sequence[Any]) -> List[Any]: - return [self.translate_value(v) for v in value] - - def translate_value(self, value: Any) -> Any: - if self.recursive: - if isinstance(value, Mapping): - return self.translate_mapping(value) - elif isinstance(value, (list, tuple)): - return self.translate_sequence(value) - return value - - def translate(self, value: Mapping[str, Any]) -> Dict[str, Any]: - try: - return self.translate_mapping(value) - except RuntimeError as exc: - if "maximum recursion depth exceeded" in str(exc): - raise RecursionError("Cycle detected in a value passed to translate!") - raise - - -def translate_aliases( - kwargs: Dict[str, Any], - aliases: Dict[str, str], - recurse: bool = False, -) -> Dict[str, Any]: - """Given a dict of keyword arguments and a dict mapping aliases to their - canonical values, canonicalize the keys in the kwargs dict. - - If recurse is True, perform this operation recursively. - - :returns: A dict containing all the values in kwargs referenced by their - canonical key. - :raises: `AliasError`, if a canonical key is defined more than once. - """ - translator = Translator(aliases, recurse) - return translator.translate(kwargs) - - # Note that this only affects hologram json validation. # It has no effect on mashumaro serialization. # Q: Can this be removed? diff --git a/plugins/postgres/dbt/adapters/postgres/connections.py b/plugins/postgres/dbt/adapters/postgres/connections.py index ac7df536bdb..2c7cc0cf344 100644 --- a/plugins/postgres/dbt/adapters/postgres/connections.py +++ b/plugins/postgres/dbt/adapters/postgres/connections.py @@ -6,7 +6,7 @@ import dbt.exceptions from dbt.adapters.base import Credentials from dbt.adapters.sql import SQLConnectionManager -from dbt.contracts.connection import AdapterResponse +from dbt.adapters.contracts.connection import AdapterResponse from dbt.events import AdapterLogger from dbt.helper_types import Port diff --git a/plugins/postgres/dbt/adapters/postgres/impl.py b/plugins/postgres/dbt/adapters/postgres/impl.py index 3c3cff0bacd..5ce2da12301 100644 --- a/plugins/postgres/dbt/adapters/postgres/impl.py +++ b/plugins/postgres/dbt/adapters/postgres/impl.py @@ -9,7 +9,7 @@ from dbt.adapters.postgres import PostgresConnectionManager from dbt.adapters.postgres.column import PostgresColumn from dbt.adapters.postgres import PostgresRelation -from dbt.dataclass_schema import dbtClassMixin, ValidationError +from dbt.common.dataclass_schema import dbtClassMixin, ValidationError from dbt.contracts.graph.nodes import ConstraintType from dbt.exceptions import ( CrossDbReferenceProhibitedError, diff --git a/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py b/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py index 3a072ea4307..ee9a1c4c061 100644 --- a/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py +++ b/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py @@ -2,7 +2,7 @@ from typing import Set, FrozenSet import agate -from dbt.dataclass_schema import StrEnum +from dbt.common.dataclass_schema import StrEnum from dbt.exceptions import DbtRuntimeError from dbt.adapters.relation_configs import ( RelationConfigBase, diff --git a/scripts/collect-dbt-contexts.py b/scripts/collect-dbt-contexts.py index 035c5ac5183..4f05337e754 100644 --- a/scripts/collect-dbt-contexts.py +++ b/scripts/collect-dbt-contexts.py @@ -4,7 +4,7 @@ import json from dataclasses import dataclass from typing import List, Optional, Iterable, Union, Dict, Any -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from dbt.context.base import BaseContext diff --git a/tests/functional/configs/test_configs.py b/tests/functional/configs/test_configs.py index 69c3d2b1a5f..9dcbea3e108 100644 --- a/tests/functional/configs/test_configs.py +++ b/tests/functional/configs/test_configs.py @@ -1,4 +1,4 @@ -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError import pytest import os diff --git a/tests/functional/configs/test_custom_node_colors_configs.py b/tests/functional/configs/test_custom_node_colors_configs.py index 2eb3c53fa9c..1c5b9af6b9c 100644 --- a/tests/functional/configs/test_custom_node_colors_configs.py +++ b/tests/functional/configs/test_custom_node_colors_configs.py @@ -2,7 +2,7 @@ from dbt.tests.util import run_dbt, get_manifest -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError CUSTOM_NODE_COLOR_MODEL_LEVEL = "red" CUSTOM_NODE_COLOR_SCHEMA_LEVEL = "blue" diff --git a/tests/functional/configs/test_disabled_model.py b/tests/functional/configs/test_disabled_model.py index 82f1e71d1c2..aa24c0c2e41 100644 --- a/tests/functional/configs/test_disabled_model.py +++ b/tests/functional/configs/test_disabled_model.py @@ -1,5 +1,5 @@ import pytest -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.tests.util import run_dbt, get_manifest from dbt.exceptions import CompilationError, ParsingError diff --git a/tests/functional/exposures/test_exposure_configs.py b/tests/functional/exposures/test_exposure_configs.py index f15c98a85fd..3f2f4984d74 100644 --- a/tests/functional/exposures/test_exposure_configs.py +++ b/tests/functional/exposures/test_exposure_configs.py @@ -1,5 +1,5 @@ import pytest -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.contracts.graph.model_config import ExposureConfig diff --git a/tests/functional/metrics/test_metric_configs.py b/tests/functional/metrics/test_metric_configs.py index f654b24ceed..3477d2eaf09 100644 --- a/tests/functional/metrics/test_metric_configs.py +++ b/tests/functional/metrics/test_metric_configs.py @@ -1,5 +1,5 @@ import pytest -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.contracts.graph.model_config import MetricConfig from dbt.exceptions import CompilationError, ParsingError from dbt.tests.util import run_dbt, update_config_file, get_manifest diff --git a/tests/functional/sources/test_source_configs.py b/tests/functional/sources/test_source_configs.py index 09ddfddd0fa..72ab36adcdd 100644 --- a/tests/functional/sources/test_source_configs.py +++ b/tests/functional/sources/test_source_configs.py @@ -1,5 +1,5 @@ import pytest -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.contracts.graph.model_config import SourceConfig diff --git a/tests/unit/test_adapter_connection_manager.py b/tests/unit/test_adapter_connection_manager.py index b270f6a5d19..3ec31fe79eb 100644 --- a/tests/unit/test_adapter_connection_manager.py +++ b/tests/unit/test_adapter_connection_manager.py @@ -6,7 +6,7 @@ import psycopg2 -from dbt.contracts.connection import Connection +from dbt.adapters.contracts.connection import Connection from dbt.adapters.base import BaseConnectionManager from dbt.adapters.postgres import PostgresCredentials, PostgresConnectionManager from dbt.events import AdapterLogger diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index 2ebe5766986..99dc672b608 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -18,7 +18,7 @@ from dbt import flags from dbt.adapters.factory import load_plugin from dbt.adapters.postgres import PostgresCredentials -from dbt.contracts.connection import QueryComment, DEFAULT_QUERY_COMMENT +from dbt.adapters.contracts.connection import QueryComment, DEFAULT_QUERY_COMMENT from dbt.contracts.project import PackageConfig, LocalPackage, GitPackage from dbt.node_types import NodeType from dbt.semver import VersionSpecifier diff --git a/tests/unit/test_contracts_graph_parsed.py b/tests/unit/test_contracts_graph_parsed.py index 5628847a3e4..663c4e4450b 100644 --- a/tests/unit/test_contracts_graph_parsed.py +++ b/tests/unit/test_contracts_graph_parsed.py @@ -52,7 +52,7 @@ from dbt import flags from argparse import Namespace -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt_semantic_interfaces.type_enums import MetricType from .utils import ( ContractTestCase, diff --git a/tests/unit/test_contracts_project.py b/tests/unit/test_contracts_project.py index 01f07c8d4e4..35b8ee75484 100644 --- a/tests/unit/test_contracts_project.py +++ b/tests/unit/test_contracts_project.py @@ -1,6 +1,6 @@ from .utils import ContractTestCase -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.contracts.project import Project diff --git a/tests/unit/test_deps.py b/tests/unit/test_deps.py index aaa55b04c50..4870fac72e6 100644 --- a/tests/unit/test_deps.py +++ b/tests/unit/test_deps.py @@ -21,7 +21,7 @@ from dbt.semver import VersionSpecifier from dbt.version import get_installed_version -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError class TestLocalPackage(unittest.TestCase): diff --git a/tests/unit/test_helper_types.py b/tests/unit/test_helper_types.py index f0aa077b46e..c2931c7efa9 100644 --- a/tests/unit/test_helper_types.py +++ b/tests/unit/test_helper_types.py @@ -1,7 +1,7 @@ import pytest from dbt.helper_types import IncludeExclude, WarnErrorOptions -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError class TestIncludeExclude: diff --git a/tests/unit/test_model_config.py b/tests/unit/test_model_config.py index 24ef8afcdb6..c4687bbb323 100644 --- a/tests/unit/test_model_config.py +++ b/tests/unit/test_model_config.py @@ -1,5 +1,5 @@ from dataclasses import dataclass, field -from dbt.dataclass_schema import dbtClassMixin +from dbt.common.dataclass_schema import dbtClassMixin from typing import List, Dict from dbt.contracts.graph.model_config import MergeBehavior, ShowBehavior, CompareBehavior diff --git a/tests/unit/utils.py b/tests/unit/utils.py index 0f5c12ebbfd..f38c0f5cabe 100644 --- a/tests/unit/utils.py +++ b/tests/unit/utils.py @@ -10,7 +10,7 @@ import agate import pytest -from dbt.dataclass_schema import ValidationError +from dbt.common.dataclass_schema import ValidationError from dbt.config.project import PartialProject From c1411486164af997c1ef2da87bb54fc263c708c1 Mon Sep 17 00:00:00 2001 From: colin-rogers-dbt <111200756+colin-rogers-dbt@users.noreply.github.com> Date: Thu, 21 Sep 2023 16:48:41 -0700 Subject: [PATCH 02/40] Move events to common (#8676) * Move events to common * More Type Annotations (#8536) * Extend use of type annotations in the events module. * Add return type of None to more __init__ definitions. * Still more type annotations adding -> None to __init__ * Tweak per review * Allow adapters to include python package logging in dbt logs (#8643) * add set_package_log_level functionality * set package handler * set package handler * add logging about stting up logging * test event log handler * add event log handler * add event log level * rename package and add unit tests * revert logfile config change * cleanup and add code comments * add changie * swap function for dict * add additional unit tests * fix unit test * update README and protos * fix formatting * update precommit --------- Co-authored-by: Peter Webb --- .../unreleased/Features-20230915-123733.yaml | 6 + .../Under the Hood-20230831-164435.yaml | 6 + .pre-commit-config.yaml | 2 +- Makefile | 2 +- core/dbt/adapters/base/connections.py | 8 +- core/dbt/adapters/base/impl.py | 4 +- core/dbt/adapters/cache.py | 4 +- core/dbt/adapters/contracts/connection.py | 8 +- core/dbt/adapters/factory.py | 4 +- core/dbt/adapters/sql/connections.py | 6 +- core/dbt/adapters/sql/impl.py | 4 +- core/dbt/cli/main.py | 2 +- core/dbt/cli/requires.py | 16 +- core/dbt/clients/git.py | 4 +- core/dbt/clients/registry.py | 4 +- core/dbt/clients/system.py | 4 +- core/dbt/common/__init__.py | 0 core/dbt/common/contracts/__init__.py | 0 core/dbt/{ => common}/events/README.md | 4 +- core/dbt/{ => common}/events/__init__.py | 0 .../{ => common}/events/adapter_endpoint.py | 9 +- core/dbt/{ => common}/events/base_types.py | 12 +- core/dbt/{ => common}/events/contextvars.py | 0 core/dbt/{ => common}/events/event_handler.py | 6 +- core/dbt/{ => common}/events/eventmgr.py | 4 +- core/dbt/{ => common}/events/format.py | 0 core/dbt/{ => common}/events/functions.py | 8 +- core/dbt/{ => common}/events/helpers.py | 0 core/dbt/{ => common}/events/logger.py | 6 +- core/dbt/{ => common}/events/types.proto | 0 core/dbt/{ => common}/events/types.py | 8 +- core/dbt/common/events/types_pb2.py | 938 ++++++++++++++++++ core/dbt/compilation.py | 8 +- core/dbt/config/profile.py | 4 +- core/dbt/config/runtime.py | 4 +- core/dbt/config/utils.py | 4 +- core/dbt/context/base.py | 6 +- core/dbt/context/exceptions_jinja.py | 4 +- core/dbt/context/providers.py | 2 +- core/dbt/contracts/graph/manifest.py | 6 +- core/dbt/contracts/graph/nodes.py | 6 +- core/dbt/contracts/graph/semantic_manifest.py | 6 +- core/dbt/contracts/results.py | 8 +- core/dbt/contracts/state.py | 4 +- core/dbt/contracts/util.py | 2 +- core/dbt/deprecations.py | 4 +- core/dbt/deps/base.py | 4 +- core/dbt/deps/git.py | 4 +- core/dbt/deps/local.py | 4 +- core/dbt/flags.py | 2 +- core/dbt/graph/selector.py | 4 +- core/dbt/graph/selector_methods.py | 2 +- core/dbt/helper_types.py | 2 +- core/dbt/internal_deprecations.py | 4 +- core/dbt/parser/manifest.py | 6 +- core/dbt/parser/models.py | 6 +- core/dbt/parser/partial.py | 6 +- core/dbt/parser/read_files.py | 4 +- core/dbt/parser/schemas.py | 4 +- core/dbt/parser/sources.py | 4 +- core/dbt/task/base.py | 6 +- core/dbt/task/clean.py | 4 +- core/dbt/task/compile.py | 6 +- core/dbt/task/debug.py | 6 +- core/dbt/task/deps.py | 5 +- core/dbt/task/freshness.py | 6 +- core/dbt/task/generate.py | 4 +- core/dbt/task/init.py | 4 +- core/dbt/task/list.py | 6 +- core/dbt/task/printer.py | 6 +- core/dbt/task/run.py | 6 +- core/dbt/task/run_operation.py | 4 +- core/dbt/task/runnable.py | 6 +- core/dbt/task/seed.py | 6 +- core/dbt/task/show.py | 6 +- core/dbt/task/snapshot.py | 6 +- core/dbt/task/sql.py | 4 +- core/dbt/task/test.py | 6 +- core/dbt/tests/fixtures/project.py | 2 +- core/dbt/tests/util.py | 6 +- core/dbt/tracking.py | 4 +- core/dbt/utils.py | 59 +- .../dbt/adapters/postgres/connections.py | 2 +- tests/functional/assertions/test_runner.py | 2 +- tests/functional/logging/test_logging.py | 4 +- .../test_semantic_model_parsing.py | 2 +- tests/unit/test_adapter_connection_manager.py | 2 +- tests/unit/test_context.py | 2 +- tests/unit/test_event_handler.py | 6 +- tests/unit/test_events.py | 12 +- tests/unit/test_functions.py | 6 +- tests/unit/test_graph.py | 2 +- tests/unit/test_manifest.py | 12 +- tests/unit/test_proto_events.py | 8 +- 94 files changed, 1226 insertions(+), 205 deletions(-) create mode 100644 .changes/unreleased/Features-20230915-123733.yaml create mode 100644 .changes/unreleased/Under the Hood-20230831-164435.yaml create mode 100644 core/dbt/common/__init__.py create mode 100644 core/dbt/common/contracts/__init__.py rename core/dbt/{ => common}/events/README.md (96%) rename core/dbt/{ => common}/events/__init__.py (100%) rename core/dbt/{ => common}/events/adapter_endpoint.py (89%) rename core/dbt/{ => common}/events/base_types.py (93%) rename core/dbt/{ => common}/events/contextvars.py (100%) rename core/dbt/{ => common}/events/event_handler.py (89%) rename core/dbt/{ => common}/events/eventmgr.py (91%) rename core/dbt/{ => common}/events/format.py (100%) rename core/dbt/{ => common}/events/functions.py (97%) rename core/dbt/{ => common}/events/helpers.py (100%) rename core/dbt/{ => common}/events/logger.py (96%) rename core/dbt/{ => common}/events/types.proto (100%) rename core/dbt/{ => common}/events/types.py (99%) create mode 100644 core/dbt/common/events/types_pb2.py diff --git a/.changes/unreleased/Features-20230915-123733.yaml b/.changes/unreleased/Features-20230915-123733.yaml new file mode 100644 index 00000000000..146ad8ef89a --- /dev/null +++ b/.changes/unreleased/Features-20230915-123733.yaml @@ -0,0 +1,6 @@ +kind: Features +body: 'Allow adapters to include package logs in dbt standard logging ' +time: 2023-09-15T12:37:33.862862-07:00 +custom: + Author: colin-rogers-dbt + Issue: "7859" diff --git a/.changes/unreleased/Under the Hood-20230831-164435.yaml b/.changes/unreleased/Under the Hood-20230831-164435.yaml new file mode 100644 index 00000000000..efa8a42cece --- /dev/null +++ b/.changes/unreleased/Under the Hood-20230831-164435.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Added more type annotations. +time: 2023-08-31T16:44:35.737954-04:00 +custom: + Author: peterallenwebb + Issue: "8537" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b41cac4ae5b..c2b82ed5395 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ # Configuration for pre-commit hooks (see https://pre-commit.com/). # Eventually the hooks described here will be run as tests before merging each PR. -exclude: ^(core/dbt/docs/build/|core/dbt/events/types_pb2.py) +exclude: ^(core/dbt/docs/build/|core/dbt/common/events/types_pb2.py) # Force all unspecified python hooks to run python 3.8 default_language_version: diff --git a/Makefile b/Makefile index 9c276902194..59fe1d82029 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ dev: dev_req ## Installs dbt-* packages in develop mode along with development d .PHONY: proto_types proto_types: ## generates google protobuf python file from types.proto - protoc -I=./core/dbt/events --python_out=./core/dbt/events ./core/dbt/events/types.proto + protoc -I=./core/dbt/common/events --python_out=./core/dbt/common/events ./core/dbt/common/events/types.proto .PHONY: mypy mypy: .env ## Runs mypy against staged changes for static type checking. diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index 452e39aadfe..6780fc1de6a 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -36,9 +36,9 @@ from dbt.adapters.base.query_headers import ( MacroQueryStringSetter, ) -from dbt.events import AdapterLogger -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events import AdapterLogger +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( NewConnection, ConnectionReused, ConnectionLeftOpenInCleanup, @@ -48,7 +48,7 @@ Rollback, RollbackFailed, ) -from dbt.events.contextvars import get_node_info +from dbt.common.events.contextvars import get_node_info from dbt import flags from dbt.utils import cast_to_str diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 9c8a1c2dcd5..4f72248fafe 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -55,8 +55,8 @@ from dbt.clients.jinja import MacroGenerator from dbt.contracts.graph.manifest import Manifest, MacroManifest from dbt.contracts.graph.nodes import ResultNode -from dbt.events.functions import fire_event, warn_or_error -from dbt.events.types import ( +from dbt.common.events.functions import fire_event, warn_or_error +from dbt.common.events.types import ( CacheMiss, ListRelations, CodeExecution, diff --git a/core/dbt/adapters/cache.py b/core/dbt/adapters/cache.py index c5559729678..4e8336dd21e 100644 --- a/core/dbt/adapters/cache.py +++ b/core/dbt/adapters/cache.py @@ -14,8 +14,8 @@ ReferencedLinkNotCachedError, TruncatedModelNameCausedCollisionError, ) -from dbt.events.functions import fire_event, fire_event_if -from dbt.events.types import CacheAction, CacheDumpGraph +from dbt.common.events.functions import fire_event, fire_event_if +from dbt.common.events.types import CacheAction, CacheDumpGraph from dbt.flags import get_flags from dbt.utils import lowercase diff --git a/core/dbt/adapters/contracts/connection.py b/core/dbt/adapters/contracts/connection.py index 553c959af57..b2070f5d6be 100644 --- a/core/dbt/adapters/contracts/connection.py +++ b/core/dbt/adapters/contracts/connection.py @@ -26,12 +26,12 @@ from dbt.common.contracts.util import Replaceable from dbt.common.util import md5 -# TODO: dbt.events dependency -from dbt.events.functions import fire_event -from dbt.events.types import NewConnectionOpening +# TODO: dbt.common.events dependency +from dbt.common.events.functions import fire_event +from dbt.common.events.types import NewConnectionOpening # TODO: this is a very bad dependency - shared global state -from dbt.events.contextvars import get_node_info +from dbt.common.events.contextvars import get_node_info class Identifier(ValidatedStringMixin): diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index 74c33c49674..370239a38ff 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -8,8 +8,8 @@ from dbt.adapters.base.plugin import AdapterPlugin from dbt.adapters.protocol import AdapterConfig, AdapterProtocol, RelationProtocol from dbt.adapters.contracts.connection import AdapterRequiredConfig, Credentials -from dbt.events.functions import fire_event -from dbt.events.types import AdapterImportError, PluginLoadError, AdapterRegistered +from dbt.common.events.functions import fire_event +from dbt.common.events.types import AdapterImportError, PluginLoadError, AdapterRegistered from dbt.exceptions import DbtInternalError, DbtRuntimeError from dbt.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME diff --git a/core/dbt/adapters/sql/connections.py b/core/dbt/adapters/sql/connections.py index be7f2b8192c..c3836c85dd2 100644 --- a/core/dbt/adapters/sql/connections.py +++ b/core/dbt/adapters/sql/connections.py @@ -8,9 +8,9 @@ import dbt.exceptions from dbt.adapters.base import BaseConnectionManager from dbt.adapters.contracts.connection import Connection, ConnectionState, AdapterResponse -from dbt.events.functions import fire_event -from dbt.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus -from dbt.events.contextvars import get_node_info +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus +from dbt.common.events.contextvars import get_node_info from dbt.utils import cast_to_str diff --git a/core/dbt/adapters/sql/impl.py b/core/dbt/adapters/sql/impl.py index 9f5e0b3280e..e43e3f41d02 100644 --- a/core/dbt/adapters/sql/impl.py +++ b/core/dbt/adapters/sql/impl.py @@ -6,8 +6,8 @@ from dbt.adapters.base import BaseAdapter, available from dbt.adapters.cache import _make_ref_key_dict from dbt.adapters.sql import SQLConnectionManager -from dbt.events.functions import fire_event -from dbt.events.types import ColTypeChange, SchemaCreation, SchemaDrop +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ColTypeChange, SchemaCreation, SchemaDrop from dbt.adapters.base.relation import BaseRelation diff --git a/core/dbt/cli/main.py b/core/dbt/cli/main.py index 5b62f7f1448..0573131cd4a 100644 --- a/core/dbt/cli/main.py +++ b/core/dbt/cli/main.py @@ -21,7 +21,7 @@ CatalogArtifact, RunExecutionResult, ) -from dbt.events.base_types import EventMsg +from dbt.common.events.base_types import EventMsg from dbt.task.build import BuildTask from dbt.task.clean import CleanTask from dbt.task.clone import CloneTask diff --git a/core/dbt/cli/requires.py b/core/dbt/cli/requires.py index b8e359b8a17..3c74fffe368 100644 --- a/core/dbt/cli/requires.py +++ b/core/dbt/cli/requires.py @@ -9,17 +9,23 @@ from dbt.cli.flags import Flags from dbt.config import RuntimeConfig from dbt.config.runtime import load_project, load_profile, UnsetProfile -from dbt.events.base_types import EventLevel -from dbt.events.functions import fire_event, LOG_VERSION, set_invocation_id, setup_event_logger -from dbt.events.types import ( + +from dbt.common.events.base_types import EventLevel +from dbt.common.events.functions import ( + fire_event, + LOG_VERSION, + set_invocation_id, + setup_event_logger, +) +from dbt.common.events.types import ( CommandCompleted, MainReportVersion, MainReportArgs, MainTrackingUserState, ResourceReport, ) -from dbt.events.helpers import get_json_string_utcnow -from dbt.events.types import MainEncounteredError, MainStackTrace +from dbt.common.events.helpers import get_json_string_utcnow +from dbt.common.events.types import MainEncounteredError, MainStackTrace from dbt.exceptions import Exception as DbtException, DbtProjectError, FailFastError from dbt.parser.manifest import ManifestLoader, write_manifest from dbt.profiler import profiler diff --git a/core/dbt/clients/git.py b/core/dbt/clients/git.py index d6cb3f3870c..57f7138b731 100644 --- a/core/dbt/clients/git.py +++ b/core/dbt/clients/git.py @@ -2,8 +2,8 @@ import os.path from dbt.clients.system import run_cmd, rmdir -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( GitSparseCheckoutSubdirectory, GitProgressCheckoutRevision, GitProgressUpdatingExistingDependency, diff --git a/core/dbt/clients/registry.py b/core/dbt/clients/registry.py index 92b32a7257c..7c4ee271f6a 100644 --- a/core/dbt/clients/registry.py +++ b/core/dbt/clients/registry.py @@ -1,8 +1,8 @@ import functools from typing import Any, Dict, List import requests -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( RegistryProgressGETRequest, RegistryProgressGETResponse, RegistryIndexProgressGETRequest, diff --git a/core/dbt/clients/system.py b/core/dbt/clients/system.py index 66c59354b4f..a2d972cff99 100644 --- a/core/dbt/clients/system.py +++ b/core/dbt/clients/system.py @@ -15,8 +15,8 @@ import dbt.exceptions import requests -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( SystemCouldNotWrite, SystemExecutingCmd, SystemStdOut, diff --git a/core/dbt/common/__init__.py b/core/dbt/common/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/common/contracts/__init__.py b/core/dbt/common/contracts/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/events/README.md b/core/dbt/common/events/README.md similarity index 96% rename from core/dbt/events/README.md rename to core/dbt/common/events/README.md index 34a056bbcf3..7249c95f749 100644 --- a/core/dbt/events/README.md +++ b/core/dbt/common/events/README.md @@ -43,7 +43,7 @@ from dbt.logger import GLOBAL_LOGGER as logger Simply change it to these two lines with your adapter's database name, and all your existing call sites will now use the new system for v1.0: ```python -from dbt.events import AdapterLogger +from dbt.common.events import AdapterLogger logger = AdapterLogger("") # e.g. AdapterLogger("Snowflake") ``` @@ -52,4 +52,4 @@ logger = AdapterLogger("") After adding a new message in `types.proto`, either: - In the repository root directory: `make proto_types` -- In the `core/dbt/events` directory: `protoc -I=. --python_out=. types.proto` +- In the `core/dbt/common/events` directory: `protoc -I=. --python_out=. types.proto` diff --git a/core/dbt/events/__init__.py b/core/dbt/common/events/__init__.py similarity index 100% rename from core/dbt/events/__init__.py rename to core/dbt/common/events/__init__.py diff --git a/core/dbt/events/adapter_endpoint.py b/core/dbt/common/events/adapter_endpoint.py similarity index 89% rename from core/dbt/events/adapter_endpoint.py rename to core/dbt/common/events/adapter_endpoint.py index 938af608b72..e200a3540db 100644 --- a/core/dbt/events/adapter_endpoint.py +++ b/core/dbt/common/events/adapter_endpoint.py @@ -1,9 +1,10 @@ import traceback from dataclasses import dataclass -from dbt.events.functions import fire_event, EVENT_MANAGER -from dbt.events.contextvars import get_node_info -from dbt.events.event_handler import set_package_logging -from dbt.events.types import ( + +from dbt.common.events.event_handler import set_package_logging +from dbt.common.events.functions import fire_event, EVENT_MANAGER +from dbt.common.events.contextvars import get_node_info +from dbt.common.events.types import ( AdapterEventDebug, AdapterEventInfo, AdapterEventWarning, diff --git a/core/dbt/events/base_types.py b/core/dbt/common/events/base_types.py similarity index 93% rename from core/dbt/events/base_types.py rename to core/dbt/common/events/base_types.py index 80594cf2dd1..d666406b781 100644 --- a/core/dbt/events/base_types.py +++ b/core/dbt/common/events/base_types.py @@ -1,11 +1,11 @@ from enum import Enum import os import threading -from dbt.events import types_pb2 +from dbt.common.events import types_pb2 import sys from google.protobuf.json_format import ParseDict, MessageToDict, MessageToJson from google.protobuf.message import Message -from dbt.events.helpers import get_json_string_utcnow +from dbt.common.events.helpers import get_json_string_utcnow from typing import Optional if sys.version_info >= (3, 8): @@ -21,13 +21,13 @@ def get_global_metadata_vars() -> dict: - from dbt.events.functions import get_metadata_vars + from dbt.common.events.functions import get_metadata_vars return get_metadata_vars() def get_invocation_id() -> str: - from dbt.events.functions import get_invocation_id + from dbt.common.events.functions import get_invocation_id return get_invocation_id() @@ -72,8 +72,8 @@ def __init__(self, *args, **kwargs) -> None: self.pb_msg = ParseDict(kwargs, msg_cls()) except Exception: # Imports need to be here to avoid circular imports - from dbt.events.types import Note - from dbt.events.functions import fire_event + from dbt.common.events.types import Note + from dbt.common.events.functions import fire_event error_msg = f"[{class_name}]: Unable to parse dict {kwargs}" # If we're testing throw an error so that we notice failures diff --git a/core/dbt/events/contextvars.py b/core/dbt/common/events/contextvars.py similarity index 100% rename from core/dbt/events/contextvars.py rename to core/dbt/common/events/contextvars.py diff --git a/core/dbt/events/event_handler.py b/core/dbt/common/events/event_handler.py similarity index 89% rename from core/dbt/events/event_handler.py rename to core/dbt/common/events/event_handler.py index 4a1731a6f58..afa771e87cb 100644 --- a/core/dbt/events/event_handler.py +++ b/core/dbt/common/events/event_handler.py @@ -1,10 +1,10 @@ import logging from typing import Union -from dbt.events.base_types import EventLevel -from dbt.events.types import Note +from dbt.common.events.base_types import EventLevel +from dbt.common.events.types import Note +from dbt.common.events.eventmgr import IEventManager -from dbt.events.eventmgr import IEventManager _log_level_to_event_level_map = { logging.DEBUG: EventLevel.DEBUG, diff --git a/core/dbt/events/eventmgr.py b/core/dbt/common/events/eventmgr.py similarity index 91% rename from core/dbt/events/eventmgr.py rename to core/dbt/common/events/eventmgr.py index 47fd58704fe..a8459264e73 100644 --- a/core/dbt/events/eventmgr.py +++ b/core/dbt/common/events/eventmgr.py @@ -3,8 +3,8 @@ from typing import Callable, List, Optional, Protocol, Tuple from uuid import uuid4 -from dbt.events.base_types import BaseEvent, EventLevel, msg_from_base_event, EventMsg -from dbt.events.logger import LoggerConfig, _Logger, _TextLogger, _JsonLogger, LineFormat +from dbt.common.events.base_types import BaseEvent, EventLevel, msg_from_base_event, EventMsg +from dbt.common.events.logger import LoggerConfig, _Logger, _TextLogger, _JsonLogger, LineFormat class EventManager: diff --git a/core/dbt/events/format.py b/core/dbt/common/events/format.py similarity index 100% rename from core/dbt/events/format.py rename to core/dbt/common/events/format.py diff --git a/core/dbt/events/functions.py b/core/dbt/common/events/functions.py similarity index 97% rename from core/dbt/events/functions.py rename to core/dbt/common/events/functions.py index bfb1fda5a39..d6a70128d22 100644 --- a/core/dbt/events/functions.py +++ b/core/dbt/common/events/functions.py @@ -1,9 +1,9 @@ from dbt.constants import METADATA_ENV_PREFIX -from dbt.events.base_types import BaseEvent, EventLevel, EventMsg -from dbt.events.eventmgr import EventManager, IEventManager -from dbt.events.logger import LoggerConfig, NoFilter, LineFormat +from dbt.common.events.base_types import BaseEvent, EventLevel, EventMsg +from dbt.common.events.eventmgr import EventManager, IEventManager +from dbt.common.events.logger import LoggerConfig, NoFilter, LineFormat from dbt.exceptions import scrub_secrets, env_secrets -from dbt.events.types import Note +from dbt.common.events.types import Note from dbt.flags import get_flags, ENABLE_LEGACY_LOGGER from dbt.logger import GLOBAL_LOGGER, make_log_dir_if_missing from functools import partial diff --git a/core/dbt/events/helpers.py b/core/dbt/common/events/helpers.py similarity index 100% rename from core/dbt/events/helpers.py rename to core/dbt/common/events/helpers.py diff --git a/core/dbt/events/logger.py b/core/dbt/common/events/logger.py similarity index 96% rename from core/dbt/events/logger.py rename to core/dbt/common/events/logger.py index 4d88e717ffe..fa15c78dcd0 100644 --- a/core/dbt/events/logger.py +++ b/core/dbt/common/events/logger.py @@ -10,8 +10,8 @@ from colorama import Style import dbt.utils -from dbt.events.base_types import EventLevel, EventMsg -from dbt.events.format import timestamp_to_datetime_string +from dbt.common.events.base_types import EventLevel, EventMsg +from dbt.common.events.format import timestamp_to_datetime_string # A Filter is a function which takes a BaseEvent and returns True if the event # should be logged, False otherwise. @@ -172,7 +172,7 @@ def _get_thread_name(self) -> str: class _JsonLogger(_Logger): def create_line(self, msg: EventMsg) -> str: - from dbt.events.functions import msg_to_dict + from dbt.common.events.functions import msg_to_dict msg_dict = msg_to_dict(msg) raw_log_line = json.dumps(msg_dict, sort_keys=True, cls=dbt.utils.ForgivingJSONEncoder) diff --git a/core/dbt/events/types.proto b/core/dbt/common/events/types.proto similarity index 100% rename from core/dbt/events/types.proto rename to core/dbt/common/events/types.proto diff --git a/core/dbt/events/types.py b/core/dbt/common/events/types.py similarity index 99% rename from core/dbt/events/types.py rename to core/dbt/common/events/types.py index 123fd3d2596..e9db8b3c457 100644 --- a/core/dbt/events/types.py +++ b/core/dbt/common/events/types.py @@ -1,7 +1,7 @@ import json from dbt.constants import MAXIMUM_SEED_SIZE_NAME, PIN_PACKAGE_URL -from dbt.events.base_types import ( +from dbt.common.events.base_types import ( DynamicLevel, DebugLevel, InfoLevel, @@ -9,7 +9,11 @@ ErrorLevel, EventLevel, ) -from dbt.events.format import format_fancy_output_line, pluralize, timestamp_to_datetime_string +from dbt.common.events.format import ( + format_fancy_output_line, + pluralize, + timestamp_to_datetime_string, +) from dbt.node_types import NodeType from dbt.ui import line_wrap_message, warning_tag, red, green, yellow diff --git a/core/dbt/common/events/types_pb2.py b/core/dbt/common/events/types_pb2.py new file mode 100644 index 00000000000..1f7b2f3f585 --- /dev/null +++ b/core/dbt/common/events/types_pb2.py @@ -0,0 +1,938 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: types.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"\\\n\nColumnType\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x1c\n\x14previous_column_type\x18\x02 \x01(\t\x12\x1b\n\x13\x63urrent_column_type\x18\x03 \x01(\t\"Y\n\x10\x43olumnConstraint\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x03 \x01(\t\"T\n\x0fModelConstraint\x12\x17\n\x0f\x63onstraint_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x02 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x03 \x03(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation\"\x1f\n\x1dPackageInstallPathDeprecation\"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation\"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation\"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed\"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t\"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation\"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation\"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed\"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation\"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x86\x01\n\"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t\"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"\x8a\x03\n\x19UnversionedBreakingChange\x12\x18\n\x10\x62reaking_changes\x18\x01 \x03(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0fmodel_file_path\x18\x03 \x01(\t\x12\"\n\x1a\x63ontract_enforced_disabled\x18\x04 \x01(\x08\x12\x17\n\x0f\x63olumns_removed\x18\x05 \x03(\t\x12\x34\n\x13\x63olumn_type_changes\x18\x06 \x03(\x0b\x32\x17.proto_types.ColumnType\x12I\n\"enforced_column_constraint_removed\x18\x07 \x03(\x0b\x32\x1d.proto_types.ColumnConstraint\x12G\n!enforced_model_constraint_removed\x18\x08 \x03(\x0b\x32\x1c.proto_types.ModelConstraint\x12\x1f\n\x17materialization_changed\x18\t \x03(\t\"z\n\x1cUnversionedBreakingChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.UnversionedBreakingChange\"*\n\x14WarnStateTargetEqual\x12\x12\n\nstate_path\x18\x01 \x01(\t\"p\n\x17WarnStateTargetEqualMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.WarnStateTargetEqual\"%\n\x16\x46reshnessConfigProblem\x12\x0b\n\x03msg\x18\x01 \x01(\t\"t\n\x19\x46reshnessConfigProblemMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessConfigProblem\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\")\n\x10\x44\x65psLockUpdating\x12\x15\n\rlock_filepath\x18\x01 \x01(\t\"h\n\x13\x44\x65psLockUpdatingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.DepsLockUpdating\"R\n\x0e\x44\x65psAddPackage\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x11packages_filepath\x18\x03 \x01(\t\"d\n\x11\x44\x65psAddPackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DepsAddPackage\"\xa7\x01\n\x19\x44\x65psFoundDuplicatePackage\x12S\n\x0fremoved_package\x18\x01 \x03(\x0b\x32:.proto_types.DepsFoundDuplicatePackage.RemovedPackageEntry\x1a\x35\n\x13RemovedPackageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"z\n\x1c\x44\x65psFoundDuplicatePackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.DepsFoundDuplicatePackage\"$\n\x12\x44\x65psVersionMissing\x12\x0e\n\x06source\x18\x01 \x01(\t\"l\n\x15\x44\x65psVersionMissingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.DepsVersionMissing\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Note\"\xec\x01\n\x0eResourceReport\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ommand_success\x18\x03 \x01(\x08\x12\x1f\n\x17\x63ommand_wall_clock_time\x18\x04 \x01(\x02\x12\x19\n\x11process_user_time\x18\x05 \x01(\x02\x12\x1b\n\x13process_kernel_time\x18\x06 \x01(\x02\x12\x1b\n\x13process_mem_max_rss\x18\x07 \x01(\x03\x12\x19\n\x11process_in_blocks\x18\x08 \x01(\x03\x12\x1a\n\x12process_out_blocks\x18\t \x01(\x03\"d\n\x11ResourceReportMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ResourceReportb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _EVENTINFO_EXTRAENTRY._options = None + _EVENTINFO_EXTRAENTRY._serialized_options = b'8\001' + _MAINREPORTARGS_ARGSENTRY._options = None + _MAINREPORTARGS_ARGSENTRY._serialized_options = b'8\001' + _CACHEDUMPGRAPH_DUMPENTRY._options = None + _CACHEDUMPGRAPH_DUMPENTRY._serialized_options = b'8\001' + _PARTIALPARSINGERROR_EXCINFOENTRY._options = None + _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_options = b'8\001' + _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._options = None + _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_options = b'8\001' + _LOGSNAPSHOTRESULT_CFGENTRY._options = None + _LOGSNAPSHOTRESULT_CFGENTRY._serialized_options = b'8\001' + _STATSLINE_STATSENTRY._options = None + _STATSLINE_STATSENTRY._serialized_options = b'8\001' + _globals['_EVENTINFO']._serialized_start=92 + _globals['_EVENTINFO']._serialized_end=365 + _globals['_EVENTINFO_EXTRAENTRY']._serialized_start=321 + _globals['_EVENTINFO_EXTRAENTRY']._serialized_end=365 + _globals['_TIMINGINFOMSG']._serialized_start=367 + _globals['_TIMINGINFOMSG']._serialized_end=494 + _globals['_NODERELATION']._serialized_start=496 + _globals['_NODERELATION']._serialized_end=582 + _globals['_NODEINFO']._serialized_start=585 + _globals['_NODEINFO']._serialized_end=858 + _globals['_RUNRESULTMSG']._serialized_start=861 + _globals['_RUNRESULTMSG']._serialized_end=1070 + _globals['_REFERENCEKEYMSG']._serialized_start=1072 + _globals['_REFERENCEKEYMSG']._serialized_end=1143 + _globals['_COLUMNTYPE']._serialized_start=1145 + _globals['_COLUMNTYPE']._serialized_end=1237 + _globals['_COLUMNCONSTRAINT']._serialized_start=1239 + _globals['_COLUMNCONSTRAINT']._serialized_end=1328 + _globals['_MODELCONSTRAINT']._serialized_start=1330 + _globals['_MODELCONSTRAINT']._serialized_end=1414 + _globals['_GENERICMESSAGE']._serialized_start=1416 + _globals['_GENERICMESSAGE']._serialized_end=1470 + _globals['_MAINREPORTVERSION']._serialized_start=1472 + _globals['_MAINREPORTVERSION']._serialized_end=1529 + _globals['_MAINREPORTVERSIONMSG']._serialized_start=1531 + _globals['_MAINREPORTVERSIONMSG']._serialized_end=1637 + _globals['_MAINREPORTARGS']._serialized_start=1639 + _globals['_MAINREPORTARGS']._serialized_end=1753 + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_start=1710 + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_end=1753 + _globals['_MAINREPORTARGSMSG']._serialized_start=1755 + _globals['_MAINREPORTARGSMSG']._serialized_end=1855 + _globals['_MAINTRACKINGUSERSTATE']._serialized_start=1857 + _globals['_MAINTRACKINGUSERSTATE']._serialized_end=1900 + _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_start=1902 + _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_end=2016 + _globals['_MERGEDFROMSTATE']._serialized_start=2018 + _globals['_MERGEDFROMSTATE']._serialized_end=2071 + _globals['_MERGEDFROMSTATEMSG']._serialized_start=2073 + _globals['_MERGEDFROMSTATEMSG']._serialized_end=2175 + _globals['_MISSINGPROFILETARGET']._serialized_start=2177 + _globals['_MISSINGPROFILETARGET']._serialized_end=2242 + _globals['_MISSINGPROFILETARGETMSG']._serialized_start=2244 + _globals['_MISSINGPROFILETARGETMSG']._serialized_end=2356 + _globals['_INVALIDOPTIONYAML']._serialized_start=2358 + _globals['_INVALIDOPTIONYAML']._serialized_end=2398 + _globals['_INVALIDOPTIONYAMLMSG']._serialized_start=2400 + _globals['_INVALIDOPTIONYAMLMSG']._serialized_end=2506 + _globals['_LOGDBTPROJECTERROR']._serialized_start=2508 + _globals['_LOGDBTPROJECTERROR']._serialized_end=2541 + _globals['_LOGDBTPROJECTERRORMSG']._serialized_start=2543 + _globals['_LOGDBTPROJECTERRORMSG']._serialized_end=2651 + _globals['_LOGDBTPROFILEERROR']._serialized_start=2653 + _globals['_LOGDBTPROFILEERROR']._serialized_end=2704 + _globals['_LOGDBTPROFILEERRORMSG']._serialized_start=2706 + _globals['_LOGDBTPROFILEERRORMSG']._serialized_end=2814 + _globals['_STARTERPROJECTPATH']._serialized_start=2816 + _globals['_STARTERPROJECTPATH']._serialized_end=2849 + _globals['_STARTERPROJECTPATHMSG']._serialized_start=2851 + _globals['_STARTERPROJECTPATHMSG']._serialized_end=2959 + _globals['_CONFIGFOLDERDIRECTORY']._serialized_start=2961 + _globals['_CONFIGFOLDERDIRECTORY']._serialized_end=2997 + _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_start=2999 + _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_end=3113 + _globals['_NOSAMPLEPROFILEFOUND']._serialized_start=3115 + _globals['_NOSAMPLEPROFILEFOUND']._serialized_end=3154 + _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_start=3156 + _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_end=3268 + _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_start=3270 + _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_end=3324 + _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_start=3326 + _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_end=3446 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_start=3448 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_end=3514 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_start=3517 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_end=3661 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_start=3663 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_end=3730 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_start=3733 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_end=3879 + _globals['_SETTINGUPPROFILE']._serialized_start=3881 + _globals['_SETTINGUPPROFILE']._serialized_end=3899 + _globals['_SETTINGUPPROFILEMSG']._serialized_start=3901 + _globals['_SETTINGUPPROFILEMSG']._serialized_end=4005 + _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_start=4007 + _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_end=4035 + _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_start=4037 + _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_end=4161 + _globals['_PROJECTNAMEALREADYEXISTS']._serialized_start=4163 + _globals['_PROJECTNAMEALREADYEXISTS']._serialized_end=4203 + _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_start=4205 + _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_end=4325 + _globals['_PROJECTCREATED']._serialized_start=4327 + _globals['_PROJECTCREATED']._serialized_end=4402 + _globals['_PROJECTCREATEDMSG']._serialized_start=4404 + _globals['_PROJECTCREATEDMSG']._serialized_end=4504 + _globals['_PACKAGEREDIRECTDEPRECATION']._serialized_start=4506 + _globals['_PACKAGEREDIRECTDEPRECATION']._serialized_end=4570 + _globals['_PACKAGEREDIRECTDEPRECATIONMSG']._serialized_start=4572 + _globals['_PACKAGEREDIRECTDEPRECATIONMSG']._serialized_end=4696 + _globals['_PACKAGEINSTALLPATHDEPRECATION']._serialized_start=4698 + _globals['_PACKAGEINSTALLPATHDEPRECATION']._serialized_end=4729 + _globals['_PACKAGEINSTALLPATHDEPRECATIONMSG']._serialized_start=4732 + _globals['_PACKAGEINSTALLPATHDEPRECATIONMSG']._serialized_end=4862 + _globals['_CONFIGSOURCEPATHDEPRECATION']._serialized_start=4864 + _globals['_CONFIGSOURCEPATHDEPRECATION']._serialized_end=4936 + _globals['_CONFIGSOURCEPATHDEPRECATIONMSG']._serialized_start=4938 + _globals['_CONFIGSOURCEPATHDEPRECATIONMSG']._serialized_end=5064 + _globals['_CONFIGDATAPATHDEPRECATION']._serialized_start=5066 + _globals['_CONFIGDATAPATHDEPRECATION']._serialized_end=5136 + _globals['_CONFIGDATAPATHDEPRECATIONMSG']._serialized_start=5138 + _globals['_CONFIGDATAPATHDEPRECATIONMSG']._serialized_end=5260 + _globals['_ADAPTERDEPRECATIONWARNING']._serialized_start=5262 + _globals['_ADAPTERDEPRECATIONWARNING']._serialized_end=5325 + _globals['_ADAPTERDEPRECATIONWARNINGMSG']._serialized_start=5327 + _globals['_ADAPTERDEPRECATIONWARNINGMSG']._serialized_end=5449 + _globals['_METRICATTRIBUTESRENAMED']._serialized_start=5451 + _globals['_METRICATTRIBUTESRENAMED']._serialized_end=5497 + _globals['_METRICATTRIBUTESRENAMEDMSG']._serialized_start=5499 + _globals['_METRICATTRIBUTESRENAMEDMSG']._serialized_end=5617 + _globals['_EXPOSURENAMEDEPRECATION']._serialized_start=5619 + _globals['_EXPOSURENAMEDEPRECATION']._serialized_end=5662 + _globals['_EXPOSURENAMEDEPRECATIONMSG']._serialized_start=5664 + _globals['_EXPOSURENAMEDEPRECATIONMSG']._serialized_end=5782 + _globals['_INTERNALDEPRECATION']._serialized_start=5784 + _globals['_INTERNALDEPRECATION']._serialized_end=5878 + _globals['_INTERNALDEPRECATIONMSG']._serialized_start=5880 + _globals['_INTERNALDEPRECATIONMSG']._serialized_end=5990 + _globals['_ENVIRONMENTVARIABLERENAMED']._serialized_start=5992 + _globals['_ENVIRONMENTVARIABLERENAMED']._serialized_end=6056 + _globals['_ENVIRONMENTVARIABLERENAMEDMSG']._serialized_start=6058 + _globals['_ENVIRONMENTVARIABLERENAMEDMSG']._serialized_end=6182 + _globals['_CONFIGLOGPATHDEPRECATION']._serialized_start=6184 + _globals['_CONFIGLOGPATHDEPRECATION']._serialized_end=6235 + _globals['_CONFIGLOGPATHDEPRECATIONMSG']._serialized_start=6237 + _globals['_CONFIGLOGPATHDEPRECATIONMSG']._serialized_end=6357 + _globals['_CONFIGTARGETPATHDEPRECATION']._serialized_start=6359 + _globals['_CONFIGTARGETPATHDEPRECATION']._serialized_end=6413 + _globals['_CONFIGTARGETPATHDEPRECATIONMSG']._serialized_start=6415 + _globals['_CONFIGTARGETPATHDEPRECATIONMSG']._serialized_end=6541 + _globals['_COLLECTFRESHNESSRETURNSIGNATURE']._serialized_start=6543 + _globals['_COLLECTFRESHNESSRETURNSIGNATURE']._serialized_end=6576 + _globals['_COLLECTFRESHNESSRETURNSIGNATUREMSG']._serialized_start=6579 + _globals['_COLLECTFRESHNESSRETURNSIGNATUREMSG']._serialized_end=6713 + _globals['_ADAPTEREVENTDEBUG']._serialized_start=6716 + _globals['_ADAPTEREVENTDEBUG']._serialized_end=6851 + _globals['_ADAPTEREVENTDEBUGMSG']._serialized_start=6853 + _globals['_ADAPTEREVENTDEBUGMSG']._serialized_end=6959 + _globals['_ADAPTEREVENTINFO']._serialized_start=6962 + _globals['_ADAPTEREVENTINFO']._serialized_end=7096 + _globals['_ADAPTEREVENTINFOMSG']._serialized_start=7098 + _globals['_ADAPTEREVENTINFOMSG']._serialized_end=7202 + _globals['_ADAPTEREVENTWARNING']._serialized_start=7205 + _globals['_ADAPTEREVENTWARNING']._serialized_end=7342 + _globals['_ADAPTEREVENTWARNINGMSG']._serialized_start=7344 + _globals['_ADAPTEREVENTWARNINGMSG']._serialized_end=7454 + _globals['_ADAPTEREVENTERROR']._serialized_start=7457 + _globals['_ADAPTEREVENTERROR']._serialized_end=7610 + _globals['_ADAPTEREVENTERRORMSG']._serialized_start=7612 + _globals['_ADAPTEREVENTERRORMSG']._serialized_end=7718 + _globals['_NEWCONNECTION']._serialized_start=7720 + _globals['_NEWCONNECTION']._serialized_end=7815 + _globals['_NEWCONNECTIONMSG']._serialized_start=7817 + _globals['_NEWCONNECTIONMSG']._serialized_end=7915 + _globals['_CONNECTIONREUSED']._serialized_start=7917 + _globals['_CONNECTIONREUSED']._serialized_end=7978 + _globals['_CONNECTIONREUSEDMSG']._serialized_start=7980 + _globals['_CONNECTIONREUSEDMSG']._serialized_end=8084 + _globals['_CONNECTIONLEFTOPENINCLEANUP']._serialized_start=8086 + _globals['_CONNECTIONLEFTOPENINCLEANUP']._serialized_end=8134 + _globals['_CONNECTIONLEFTOPENINCLEANUPMSG']._serialized_start=8136 + _globals['_CONNECTIONLEFTOPENINCLEANUPMSG']._serialized_end=8262 + _globals['_CONNECTIONCLOSEDINCLEANUP']._serialized_start=8264 + _globals['_CONNECTIONCLOSEDINCLEANUP']._serialized_end=8310 + _globals['_CONNECTIONCLOSEDINCLEANUPMSG']._serialized_start=8312 + _globals['_CONNECTIONCLOSEDINCLEANUPMSG']._serialized_end=8434 + _globals['_ROLLBACKFAILED']._serialized_start=8436 + _globals['_ROLLBACKFAILED']._serialized_end=8531 + _globals['_ROLLBACKFAILEDMSG']._serialized_start=8533 + _globals['_ROLLBACKFAILEDMSG']._serialized_end=8633 + _globals['_CONNECTIONCLOSED']._serialized_start=8635 + _globals['_CONNECTIONCLOSED']._serialized_end=8714 + _globals['_CONNECTIONCLOSEDMSG']._serialized_start=8716 + _globals['_CONNECTIONCLOSEDMSG']._serialized_end=8820 + _globals['_CONNECTIONLEFTOPEN']._serialized_start=8822 + _globals['_CONNECTIONLEFTOPEN']._serialized_end=8903 + _globals['_CONNECTIONLEFTOPENMSG']._serialized_start=8905 + _globals['_CONNECTIONLEFTOPENMSG']._serialized_end=9013 + _globals['_ROLLBACK']._serialized_start=9015 + _globals['_ROLLBACK']._serialized_end=9086 + _globals['_ROLLBACKMSG']._serialized_start=9088 + _globals['_ROLLBACKMSG']._serialized_end=9176 + _globals['_CACHEMISS']._serialized_start=9178 + _globals['_CACHEMISS']._serialized_end=9242 + _globals['_CACHEMISSMSG']._serialized_start=9244 + _globals['_CACHEMISSMSG']._serialized_end=9334 + _globals['_LISTRELATIONS']._serialized_start=9336 + _globals['_LISTRELATIONS']._serialized_end=9434 + _globals['_LISTRELATIONSMSG']._serialized_start=9436 + _globals['_LISTRELATIONSMSG']._serialized_end=9534 + _globals['_CONNECTIONUSED']._serialized_start=9536 + _globals['_CONNECTIONUSED']._serialized_end=9632 + _globals['_CONNECTIONUSEDMSG']._serialized_start=9634 + _globals['_CONNECTIONUSEDMSG']._serialized_end=9734 + _globals['_SQLQUERY']._serialized_start=9736 + _globals['_SQLQUERY']._serialized_end=9820 + _globals['_SQLQUERYMSG']._serialized_start=9822 + _globals['_SQLQUERYMSG']._serialized_end=9910 + _globals['_SQLQUERYSTATUS']._serialized_start=9912 + _globals['_SQLQUERYSTATUS']._serialized_end=10003 + _globals['_SQLQUERYSTATUSMSG']._serialized_start=10005 + _globals['_SQLQUERYSTATUSMSG']._serialized_end=10105 + _globals['_SQLCOMMIT']._serialized_start=10107 + _globals['_SQLCOMMIT']._serialized_end=10179 + _globals['_SQLCOMMITMSG']._serialized_start=10181 + _globals['_SQLCOMMITMSG']._serialized_end=10271 + _globals['_COLTYPECHANGE']._serialized_start=10273 + _globals['_COLTYPECHANGE']._serialized_end=10370 + _globals['_COLTYPECHANGEMSG']._serialized_start=10372 + _globals['_COLTYPECHANGEMSG']._serialized_end=10470 + _globals['_SCHEMACREATION']._serialized_start=10472 + _globals['_SCHEMACREATION']._serialized_end=10536 + _globals['_SCHEMACREATIONMSG']._serialized_start=10538 + _globals['_SCHEMACREATIONMSG']._serialized_end=10638 + _globals['_SCHEMADROP']._serialized_start=10640 + _globals['_SCHEMADROP']._serialized_end=10700 + _globals['_SCHEMADROPMSG']._serialized_start=10702 + _globals['_SCHEMADROPMSG']._serialized_end=10794 + _globals['_CACHEACTION']._serialized_start=10797 + _globals['_CACHEACTION']._serialized_end=11019 + _globals['_CACHEACTIONMSG']._serialized_start=11021 + _globals['_CACHEACTIONMSG']._serialized_end=11115 + _globals['_CACHEDUMPGRAPH']._serialized_start=11118 + _globals['_CACHEDUMPGRAPH']._serialized_end=11270 + _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_start=11227 + _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_end=11270 + _globals['_CACHEDUMPGRAPHMSG']._serialized_start=11272 + _globals['_CACHEDUMPGRAPHMSG']._serialized_end=11372 + _globals['_ADAPTERREGISTERED']._serialized_start=11374 + _globals['_ADAPTERREGISTERED']._serialized_end=11440 + _globals['_ADAPTERREGISTEREDMSG']._serialized_start=11442 + _globals['_ADAPTERREGISTEREDMSG']._serialized_end=11548 + _globals['_ADAPTERIMPORTERROR']._serialized_start=11550 + _globals['_ADAPTERIMPORTERROR']._serialized_end=11583 + _globals['_ADAPTERIMPORTERRORMSG']._serialized_start=11585 + _globals['_ADAPTERIMPORTERRORMSG']._serialized_end=11693 + _globals['_PLUGINLOADERROR']._serialized_start=11695 + _globals['_PLUGINLOADERROR']._serialized_end=11730 + _globals['_PLUGINLOADERRORMSG']._serialized_start=11732 + _globals['_PLUGINLOADERRORMSG']._serialized_end=11834 + _globals['_NEWCONNECTIONOPENING']._serialized_start=11836 + _globals['_NEWCONNECTIONOPENING']._serialized_end=11926 + _globals['_NEWCONNECTIONOPENINGMSG']._serialized_start=11928 + _globals['_NEWCONNECTIONOPENINGMSG']._serialized_end=12040 + _globals['_CODEEXECUTION']._serialized_start=12042 + _globals['_CODEEXECUTION']._serialized_end=12098 + _globals['_CODEEXECUTIONMSG']._serialized_start=12100 + _globals['_CODEEXECUTIONMSG']._serialized_end=12198 + _globals['_CODEEXECUTIONSTATUS']._serialized_start=12200 + _globals['_CODEEXECUTIONSTATUS']._serialized_end=12254 + _globals['_CODEEXECUTIONSTATUSMSG']._serialized_start=12256 + _globals['_CODEEXECUTIONSTATUSMSG']._serialized_end=12366 + _globals['_CATALOGGENERATIONERROR']._serialized_start=12368 + _globals['_CATALOGGENERATIONERROR']._serialized_end=12405 + _globals['_CATALOGGENERATIONERRORMSG']._serialized_start=12407 + _globals['_CATALOGGENERATIONERRORMSG']._serialized_end=12523 + _globals['_WRITECATALOGFAILURE']._serialized_start=12525 + _globals['_WRITECATALOGFAILURE']._serialized_end=12570 + _globals['_WRITECATALOGFAILUREMSG']._serialized_start=12572 + _globals['_WRITECATALOGFAILUREMSG']._serialized_end=12682 + _globals['_CATALOGWRITTEN']._serialized_start=12684 + _globals['_CATALOGWRITTEN']._serialized_end=12714 + _globals['_CATALOGWRITTENMSG']._serialized_start=12716 + _globals['_CATALOGWRITTENMSG']._serialized_end=12816 + _globals['_CANNOTGENERATEDOCS']._serialized_start=12818 + _globals['_CANNOTGENERATEDOCS']._serialized_end=12838 + _globals['_CANNOTGENERATEDOCSMSG']._serialized_start=12840 + _globals['_CANNOTGENERATEDOCSMSG']._serialized_end=12948 + _globals['_BUILDINGCATALOG']._serialized_start=12950 + _globals['_BUILDINGCATALOG']._serialized_end=12967 + _globals['_BUILDINGCATALOGMSG']._serialized_start=12969 + _globals['_BUILDINGCATALOGMSG']._serialized_end=13071 + _globals['_DATABASEERRORRUNNINGHOOK']._serialized_start=13073 + _globals['_DATABASEERRORRUNNINGHOOK']._serialized_end=13118 + _globals['_DATABASEERRORRUNNINGHOOKMSG']._serialized_start=13120 + _globals['_DATABASEERRORRUNNINGHOOKMSG']._serialized_end=13240 + _globals['_HOOKSRUNNING']._serialized_start=13242 + _globals['_HOOKSRUNNING']._serialized_end=13294 + _globals['_HOOKSRUNNINGMSG']._serialized_start=13296 + _globals['_HOOKSRUNNINGMSG']._serialized_end=13392 + _globals['_FINISHEDRUNNINGSTATS']._serialized_start=13394 + _globals['_FINISHEDRUNNINGSTATS']._serialized_end=13478 + _globals['_FINISHEDRUNNINGSTATSMSG']._serialized_start=13480 + _globals['_FINISHEDRUNNINGSTATSMSG']._serialized_end=13592 + _globals['_CONSTRAINTNOTENFORCED']._serialized_start=13594 + _globals['_CONSTRAINTNOTENFORCED']._serialized_end=13654 + _globals['_CONSTRAINTNOTENFORCEDMSG']._serialized_start=13656 + _globals['_CONSTRAINTNOTENFORCEDMSG']._serialized_end=13770 + _globals['_CONSTRAINTNOTSUPPORTED']._serialized_start=13772 + _globals['_CONSTRAINTNOTSUPPORTED']._serialized_end=13833 + _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_start=13835 + _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_end=13951 + _globals['_INPUTFILEDIFFERROR']._serialized_start=13953 + _globals['_INPUTFILEDIFFERROR']._serialized_end=14008 + _globals['_INPUTFILEDIFFERRORMSG']._serialized_start=14010 + _globals['_INPUTFILEDIFFERRORMSG']._serialized_end=14118 + _globals['_INVALIDVALUEFORFIELD']._serialized_start=14120 + _globals['_INVALIDVALUEFORFIELD']._serialized_end=14183 + _globals['_INVALIDVALUEFORFIELDMSG']._serialized_start=14185 + _globals['_INVALIDVALUEFORFIELDMSG']._serialized_end=14297 + _globals['_VALIDATIONWARNING']._serialized_start=14299 + _globals['_VALIDATIONWARNING']._serialized_end=14380 + _globals['_VALIDATIONWARNINGMSG']._serialized_start=14382 + _globals['_VALIDATIONWARNINGMSG']._serialized_end=14488 + _globals['_PARSEPERFINFOPATH']._serialized_start=14490 + _globals['_PARSEPERFINFOPATH']._serialized_end=14523 + _globals['_PARSEPERFINFOPATHMSG']._serialized_start=14525 + _globals['_PARSEPERFINFOPATHMSG']._serialized_end=14631 + _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_start=14633 + _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_end=14682 + _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_start=14685 + _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_end=14823 + _globals['_PARTIALPARSINGERROR']._serialized_start=14826 + _globals['_PARTIALPARSINGERROR']._serialized_end=14960 + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_start=14914 + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_end=14960 + _globals['_PARTIALPARSINGERRORMSG']._serialized_start=14962 + _globals['_PARTIALPARSINGERRORMSG']._serialized_end=15072 + _globals['_PARTIALPARSINGSKIPPARSING']._serialized_start=15074 + _globals['_PARTIALPARSINGSKIPPARSING']._serialized_end=15101 + _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_start=15103 + _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_end=15225 + _globals['_UNABLETOPARTIALPARSE']._serialized_start=15227 + _globals['_UNABLETOPARTIALPARSE']._serialized_end=15265 + _globals['_UNABLETOPARTIALPARSEMSG']._serialized_start=15267 + _globals['_UNABLETOPARTIALPARSEMSG']._serialized_end=15379 + _globals['_STATECHECKVARSHASH']._serialized_start=15381 + _globals['_STATECHECKVARSHASH']._serialized_end=15483 + _globals['_STATECHECKVARSHASHMSG']._serialized_start=15485 + _globals['_STATECHECKVARSHASHMSG']._serialized_end=15593 + _globals['_PARTIALPARSINGNOTENABLED']._serialized_start=15595 + _globals['_PARTIALPARSINGNOTENABLED']._serialized_end=15621 + _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_start=15623 + _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_end=15743 + _globals['_PARSEDFILELOADFAILED']._serialized_start=15745 + _globals['_PARSEDFILELOADFAILED']._serialized_end=15812 + _globals['_PARSEDFILELOADFAILEDMSG']._serialized_start=15814 + _globals['_PARSEDFILELOADFAILEDMSG']._serialized_end=15926 + _globals['_PARTIALPARSINGENABLED']._serialized_start=15928 + _globals['_PARTIALPARSINGENABLED']._serialized_end=16000 + _globals['_PARTIALPARSINGENABLEDMSG']._serialized_start=16002 + _globals['_PARTIALPARSINGENABLEDMSG']._serialized_end=16116 + _globals['_PARTIALPARSINGFILE']._serialized_start=16118 + _globals['_PARTIALPARSINGFILE']._serialized_end=16174 + _globals['_PARTIALPARSINGFILEMSG']._serialized_start=16176 + _globals['_PARTIALPARSINGFILEMSG']._serialized_end=16284 + _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_start=16287 + _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_end=16462 + _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_start=16465 + _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_end=16599 + _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_start=16601 + _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_end=16656 + _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_start=16658 + _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_end=16778 + _globals['_SEEDINCREASED']._serialized_start=16780 + _globals['_SEEDINCREASED']._serialized_end=16831 + _globals['_SEEDINCREASEDMSG']._serialized_start=16833 + _globals['_SEEDINCREASEDMSG']._serialized_end=16931 + _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_start=16933 + _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_end=16995 + _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_start=16997 + _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_end=17117 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_start=17119 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_end=17187 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_start=17190 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_end=17322 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_start=17324 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_end=17416 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_start=17419 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_end=17553 + _globals['_UNUSEDTABLES']._serialized_start=17555 + _globals['_UNUSEDTABLES']._serialized_end=17592 + _globals['_UNUSEDTABLESMSG']._serialized_start=17594 + _globals['_UNUSEDTABLESMSG']._serialized_end=17690 + _globals['_WRONGRESOURCESCHEMAFILE']._serialized_start=17693 + _globals['_WRONGRESOURCESCHEMAFILE']._serialized_end=17828 + _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_start=17830 + _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_end=17948 + _globals['_NONODEFORYAMLKEY']._serialized_start=17950 + _globals['_NONODEFORYAMLKEY']._serialized_end=18025 + _globals['_NONODEFORYAMLKEYMSG']._serialized_start=18027 + _globals['_NONODEFORYAMLKEYMSG']._serialized_end=18131 + _globals['_MACRONOTFOUNDFORPATCH']._serialized_start=18133 + _globals['_MACRONOTFOUNDFORPATCH']._serialized_end=18176 + _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_start=18178 + _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_end=18292 + _globals['_NODENOTFOUNDORDISABLED']._serialized_start=18295 + _globals['_NODENOTFOUNDORDISABLED']._serialized_end=18479 + _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_start=18481 + _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_end=18597 + _globals['_JINJALOGWARNING']._serialized_start=18599 + _globals['_JINJALOGWARNING']._serialized_end=18671 + _globals['_JINJALOGWARNINGMSG']._serialized_start=18673 + _globals['_JINJALOGWARNINGMSG']._serialized_end=18775 + _globals['_JINJALOGINFO']._serialized_start=18777 + _globals['_JINJALOGINFO']._serialized_end=18846 + _globals['_JINJALOGINFOMSG']._serialized_start=18848 + _globals['_JINJALOGINFOMSG']._serialized_end=18944 + _globals['_JINJALOGDEBUG']._serialized_start=18946 + _globals['_JINJALOGDEBUG']._serialized_end=19016 + _globals['_JINJALOGDEBUGMSG']._serialized_start=19018 + _globals['_JINJALOGDEBUGMSG']._serialized_end=19116 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_start=19119 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_end=19293 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_start=19296 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_end=19428 + _globals['_DEPRECATEDMODEL']._serialized_start=19430 + _globals['_DEPRECATEDMODEL']._serialized_end=19516 + _globals['_DEPRECATEDMODELMSG']._serialized_start=19518 + _globals['_DEPRECATEDMODELMSG']._serialized_end=19620 + _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_start=19623 + _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_end=19821 + _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_start=19824 + _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_end=19952 + _globals['_DEPRECATEDREFERENCE']._serialized_start=19955 + _globals['_DEPRECATEDREFERENCE']._serialized_end=20144 + _globals['_DEPRECATEDREFERENCEMSG']._serialized_start=20146 + _globals['_DEPRECATEDREFERENCEMSG']._serialized_end=20256 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_start=20258 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_end=20318 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_start=20321 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_end=20465 + _globals['_PARSEINLINENODEERROR']._serialized_start=20467 + _globals['_PARSEINLINENODEERROR']._serialized_end=20544 + _globals['_PARSEINLINENODEERRORMSG']._serialized_start=20546 + _globals['_PARSEINLINENODEERRORMSG']._serialized_end=20658 + _globals['_SEMANTICVALIDATIONFAILURE']._serialized_start=20660 + _globals['_SEMANTICVALIDATIONFAILURE']._serialized_end=20700 + _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_start=20702 + _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_end=20824 + _globals['_UNVERSIONEDBREAKINGCHANGE']._serialized_start=20827 + _globals['_UNVERSIONEDBREAKINGCHANGE']._serialized_end=21221 + _globals['_UNVERSIONEDBREAKINGCHANGEMSG']._serialized_start=21223 + _globals['_UNVERSIONEDBREAKINGCHANGEMSG']._serialized_end=21345 + _globals['_WARNSTATETARGETEQUAL']._serialized_start=21347 + _globals['_WARNSTATETARGETEQUAL']._serialized_end=21389 + _globals['_WARNSTATETARGETEQUALMSG']._serialized_start=21391 + _globals['_WARNSTATETARGETEQUALMSG']._serialized_end=21503 + _globals['_FRESHNESSCONFIGPROBLEM']._serialized_start=21505 + _globals['_FRESHNESSCONFIGPROBLEM']._serialized_end=21542 + _globals['_FRESHNESSCONFIGPROBLEMMSG']._serialized_start=21544 + _globals['_FRESHNESSCONFIGPROBLEMMSG']._serialized_end=21660 + _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_start=21662 + _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_end=21709 + _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_start=21712 + _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_end=21842 + _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_start=21844 + _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_end=21891 + _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_start=21893 + _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_end=22019 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_start=22021 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_end=22073 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_start=22076 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_end=22222 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_start=22224 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_end=22270 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_start=22273 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_end=22407 + _globals['_GITNOTHINGTODO']._serialized_start=22409 + _globals['_GITNOTHINGTODO']._serialized_end=22438 + _globals['_GITNOTHINGTODOMSG']._serialized_start=22440 + _globals['_GITNOTHINGTODOMSG']._serialized_end=22540 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_start=22542 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_end=22611 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_start=22614 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_end=22748 + _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_start=22750 + _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_end=22792 + _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_start=22794 + _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_end=22912 + _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_start=22914 + _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_end=22955 + _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_start=22957 + _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_end=23081 + _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_start=23083 + _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_end=23144 + _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_start=23146 + _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_end=23272 + _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_start=23274 + _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_end=23369 + _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_start=23372 + _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_end=23502 + _globals['_DEPSNOPACKAGESFOUND']._serialized_start=23504 + _globals['_DEPSNOPACKAGESFOUND']._serialized_end=23525 + _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_start=23527 + _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_end=23637 + _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_start=23639 + _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_end=23686 + _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_start=23688 + _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_end=23806 + _globals['_DEPSINSTALLINFO']._serialized_start=23808 + _globals['_DEPSINSTALLINFO']._serialized_end=23847 + _globals['_DEPSINSTALLINFOMSG']._serialized_start=23849 + _globals['_DEPSINSTALLINFOMSG']._serialized_end=23951 + _globals['_DEPSUPDATEAVAILABLE']._serialized_start=23953 + _globals['_DEPSUPDATEAVAILABLE']._serialized_end=23998 + _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_start=24000 + _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_end=24110 + _globals['_DEPSUPTODATE']._serialized_start=24112 + _globals['_DEPSUPTODATE']._serialized_end=24126 + _globals['_DEPSUPTODATEMSG']._serialized_start=24128 + _globals['_DEPSUPTODATEMSG']._serialized_end=24224 + _globals['_DEPSLISTSUBDIRECTORY']._serialized_start=24226 + _globals['_DEPSLISTSUBDIRECTORY']._serialized_end=24270 + _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_start=24272 + _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_end=24384 + _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_start=24386 + _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_end=24432 + _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_start=24434 + _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_end=24558 + _globals['_RETRYEXTERNALCALL']._serialized_start=24560 + _globals['_RETRYEXTERNALCALL']._serialized_end=24609 + _globals['_RETRYEXTERNALCALLMSG']._serialized_start=24611 + _globals['_RETRYEXTERNALCALLMSG']._serialized_end=24717 + _globals['_RECORDRETRYEXCEPTION']._serialized_start=24719 + _globals['_RECORDRETRYEXCEPTION']._serialized_end=24754 + _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_start=24756 + _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_end=24868 + _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_start=24870 + _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_end=24916 + _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_start=24919 + _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_end=25053 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_start=25055 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_end=25121 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_start=25124 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_end=25260 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_start=25262 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_end=25312 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_start=25315 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_end=25447 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_start=25449 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_end=25499 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_start=25502 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_end=25634 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_start=25636 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_end=25689 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_start=25692 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_end=25830 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_start=25832 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_end=25883 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_start=25886 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_end=26020 + _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_start=26022 + _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_end=26062 + _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_start=26064 + _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_end=26184 + _globals['_DEPSUNPINNED']._serialized_start=26186 + _globals['_DEPSUNPINNED']._serialized_end=26231 + _globals['_DEPSUNPINNEDMSG']._serialized_start=26233 + _globals['_DEPSUNPINNEDMSG']._serialized_end=26329 + _globals['_NONODESFORSELECTIONCRITERIA']._serialized_start=26331 + _globals['_NONODESFORSELECTIONCRITERIA']._serialized_end=26378 + _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_start=26380 + _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_end=26506 + _globals['_DEPSLOCKUPDATING']._serialized_start=26508 + _globals['_DEPSLOCKUPDATING']._serialized_end=26549 + _globals['_DEPSLOCKUPDATINGMSG']._serialized_start=26551 + _globals['_DEPSLOCKUPDATINGMSG']._serialized_end=26655 + _globals['_DEPSADDPACKAGE']._serialized_start=26657 + _globals['_DEPSADDPACKAGE']._serialized_end=26739 + _globals['_DEPSADDPACKAGEMSG']._serialized_start=26741 + _globals['_DEPSADDPACKAGEMSG']._serialized_end=26841 + _globals['_DEPSFOUNDDUPLICATEPACKAGE']._serialized_start=26844 + _globals['_DEPSFOUNDDUPLICATEPACKAGE']._serialized_end=27011 + _globals['_DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY']._serialized_start=26958 + _globals['_DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY']._serialized_end=27011 + _globals['_DEPSFOUNDDUPLICATEPACKAGEMSG']._serialized_start=27013 + _globals['_DEPSFOUNDDUPLICATEPACKAGEMSG']._serialized_end=27135 + _globals['_DEPSVERSIONMISSING']._serialized_start=27137 + _globals['_DEPSVERSIONMISSING']._serialized_end=27173 + _globals['_DEPSVERSIONMISSINGMSG']._serialized_start=27175 + _globals['_DEPSVERSIONMISSINGMSG']._serialized_end=27283 + _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_start=27285 + _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_end=27327 + _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_start=27329 + _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_end=27455 + _globals['_COMPILECOMPLETE']._serialized_start=27457 + _globals['_COMPILECOMPLETE']._serialized_end=27474 + _globals['_COMPILECOMPLETEMSG']._serialized_start=27476 + _globals['_COMPILECOMPLETEMSG']._serialized_end=27578 + _globals['_FRESHNESSCHECKCOMPLETE']._serialized_start=27580 + _globals['_FRESHNESSCHECKCOMPLETE']._serialized_end=27604 + _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_start=27606 + _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_end=27722 + _globals['_SEEDHEADER']._serialized_start=27724 + _globals['_SEEDHEADER']._serialized_end=27752 + _globals['_SEEDHEADERMSG']._serialized_start=27754 + _globals['_SEEDHEADERMSG']._serialized_end=27846 + _globals['_SQLRUNNEREXCEPTION']._serialized_start=27848 + _globals['_SQLRUNNEREXCEPTION']._serialized_end=27899 + _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_start=27901 + _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_end=28009 + _globals['_LOGTESTRESULT']._serialized_start=28012 + _globals['_LOGTESTRESULT']._serialized_end=28180 + _globals['_LOGTESTRESULTMSG']._serialized_start=28182 + _globals['_LOGTESTRESULTMSG']._serialized_end=28280 + _globals['_LOGSTARTLINE']._serialized_start=28282 + _globals['_LOGSTARTLINE']._serialized_end=28389 + _globals['_LOGSTARTLINEMSG']._serialized_start=28391 + _globals['_LOGSTARTLINEMSG']._serialized_end=28487 + _globals['_LOGMODELRESULT']._serialized_start=28490 + _globals['_LOGMODELRESULT']._serialized_end=28639 + _globals['_LOGMODELRESULTMSG']._serialized_start=28641 + _globals['_LOGMODELRESULTMSG']._serialized_end=28741 + _globals['_LOGSNAPSHOTRESULT']._serialized_start=28744 + _globals['_LOGSNAPSHOTRESULT']._serialized_end=29018 + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_start=28976 + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_end=29018 + _globals['_LOGSNAPSHOTRESULTMSG']._serialized_start=29020 + _globals['_LOGSNAPSHOTRESULTMSG']._serialized_end=29126 + _globals['_LOGSEEDRESULT']._serialized_start=29129 + _globals['_LOGSEEDRESULT']._serialized_end=29314 + _globals['_LOGSEEDRESULTMSG']._serialized_start=29316 + _globals['_LOGSEEDRESULTMSG']._serialized_end=29414 + _globals['_LOGFRESHNESSRESULT']._serialized_start=29417 + _globals['_LOGFRESHNESSRESULT']._serialized_end=29590 + _globals['_LOGFRESHNESSRESULTMSG']._serialized_start=29592 + _globals['_LOGFRESHNESSRESULTMSG']._serialized_end=29700 + _globals['_LOGCANCELLINE']._serialized_start=29702 + _globals['_LOGCANCELLINE']._serialized_end=29736 + _globals['_LOGCANCELLINEMSG']._serialized_start=29738 + _globals['_LOGCANCELLINEMSG']._serialized_end=29836 + _globals['_DEFAULTSELECTOR']._serialized_start=29838 + _globals['_DEFAULTSELECTOR']._serialized_end=29869 + _globals['_DEFAULTSELECTORMSG']._serialized_start=29871 + _globals['_DEFAULTSELECTORMSG']._serialized_end=29973 + _globals['_NODESTART']._serialized_start=29975 + _globals['_NODESTART']._serialized_end=30028 + _globals['_NODESTARTMSG']._serialized_start=30030 + _globals['_NODESTARTMSG']._serialized_end=30120 + _globals['_NODEFINISHED']._serialized_start=30122 + _globals['_NODEFINISHED']._serialized_end=30225 + _globals['_NODEFINISHEDMSG']._serialized_start=30227 + _globals['_NODEFINISHEDMSG']._serialized_end=30323 + _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_start=30325 + _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_end=30368 + _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_start=30370 + _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_end=30496 + _globals['_CONCURRENCYLINE']._serialized_start=30498 + _globals['_CONCURRENCYLINE']._serialized_end=30577 + _globals['_CONCURRENCYLINEMSG']._serialized_start=30579 + _globals['_CONCURRENCYLINEMSG']._serialized_end=30681 + _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_start=30683 + _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_end=30752 + _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_start=30754 + _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_end=30876 + _globals['_NODECOMPILING']._serialized_start=30878 + _globals['_NODECOMPILING']._serialized_end=30935 + _globals['_NODECOMPILINGMSG']._serialized_start=30937 + _globals['_NODECOMPILINGMSG']._serialized_end=31035 + _globals['_NODEEXECUTING']._serialized_start=31037 + _globals['_NODEEXECUTING']._serialized_end=31094 + _globals['_NODEEXECUTINGMSG']._serialized_start=31096 + _globals['_NODEEXECUTINGMSG']._serialized_end=31194 + _globals['_LOGHOOKSTARTLINE']._serialized_start=31196 + _globals['_LOGHOOKSTARTLINE']._serialized_end=31305 + _globals['_LOGHOOKSTARTLINEMSG']._serialized_start=31307 + _globals['_LOGHOOKSTARTLINEMSG']._serialized_end=31411 + _globals['_LOGHOOKENDLINE']._serialized_start=31414 + _globals['_LOGHOOKENDLINE']._serialized_end=31561 + _globals['_LOGHOOKENDLINEMSG']._serialized_start=31563 + _globals['_LOGHOOKENDLINEMSG']._serialized_end=31663 + _globals['_SKIPPINGDETAILS']._serialized_start=31666 + _globals['_SKIPPINGDETAILS']._serialized_end=31813 + _globals['_SKIPPINGDETAILSMSG']._serialized_start=31815 + _globals['_SKIPPINGDETAILSMSG']._serialized_end=31917 + _globals['_NOTHINGTODO']._serialized_start=31919 + _globals['_NOTHINGTODO']._serialized_end=31932 + _globals['_NOTHINGTODOMSG']._serialized_start=31934 + _globals['_NOTHINGTODOMSG']._serialized_end=32028 + _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_start=32030 + _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_end=32074 + _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_start=32077 + _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_end=32207 + _globals['_ENDRUNRESULT']._serialized_start=32210 + _globals['_ENDRUNRESULT']._serialized_end=32357 + _globals['_ENDRUNRESULTMSG']._serialized_start=32359 + _globals['_ENDRUNRESULTMSG']._serialized_end=32455 + _globals['_NONODESSELECTED']._serialized_start=32457 + _globals['_NONODESSELECTED']._serialized_end=32474 + _globals['_NONODESSELECTEDMSG']._serialized_start=32476 + _globals['_NONODESSELECTEDMSG']._serialized_end=32578 + _globals['_COMMANDCOMPLETED']._serialized_start=32580 + _globals['_COMMANDCOMPLETED']._serialized_end=32699 + _globals['_COMMANDCOMPLETEDMSG']._serialized_start=32701 + _globals['_COMMANDCOMPLETEDMSG']._serialized_end=32805 + _globals['_SHOWNODE']._serialized_start=32807 + _globals['_SHOWNODE']._serialized_end=32914 + _globals['_SHOWNODEMSG']._serialized_start=32916 + _globals['_SHOWNODEMSG']._serialized_end=33004 + _globals['_COMPILEDNODE']._serialized_start=33006 + _globals['_COMPILEDNODE']._serialized_end=33118 + _globals['_COMPILEDNODEMSG']._serialized_start=33120 + _globals['_COMPILEDNODEMSG']._serialized_end=33216 + _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_start=33218 + _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_end=33316 + _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_start=33318 + _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_end=33436 + _globals['_INTERNALERRORONRUN']._serialized_start=33438 + _globals['_INTERNALERRORONRUN']._serialized_end=33491 + _globals['_INTERNALERRORONRUNMSG']._serialized_start=33493 + _globals['_INTERNALERRORONRUNMSG']._serialized_end=33601 + _globals['_GENERICEXCEPTIONONRUN']._serialized_start=33603 + _globals['_GENERICEXCEPTIONONRUN']._serialized_end=33678 + _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_start=33680 + _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_end=33794 + _globals['_NODECONNECTIONRELEASEERROR']._serialized_start=33796 + _globals['_NODECONNECTIONRELEASEERROR']._serialized_end=33874 + _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_start=33876 + _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_end=34000 + _globals['_FOUNDSTATS']._serialized_start=34002 + _globals['_FOUNDSTATS']._serialized_end=34033 + _globals['_FOUNDSTATSMSG']._serialized_start=34035 + _globals['_FOUNDSTATSMSG']._serialized_end=34127 + _globals['_MAINKEYBOARDINTERRUPT']._serialized_start=34129 + _globals['_MAINKEYBOARDINTERRUPT']._serialized_end=34152 + _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_start=34154 + _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_end=34268 + _globals['_MAINENCOUNTEREDERROR']._serialized_start=34270 + _globals['_MAINENCOUNTEREDERROR']._serialized_end=34305 + _globals['_MAINENCOUNTEREDERRORMSG']._serialized_start=34307 + _globals['_MAINENCOUNTEREDERRORMSG']._serialized_end=34419 + _globals['_MAINSTACKTRACE']._serialized_start=34421 + _globals['_MAINSTACKTRACE']._serialized_end=34458 + _globals['_MAINSTACKTRACEMSG']._serialized_start=34460 + _globals['_MAINSTACKTRACEMSG']._serialized_end=34560 + _globals['_SYSTEMCOULDNOTWRITE']._serialized_start=34562 + _globals['_SYSTEMCOULDNOTWRITE']._serialized_end=34626 + _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_start=34628 + _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_end=34738 + _globals['_SYSTEMEXECUTINGCMD']._serialized_start=34740 + _globals['_SYSTEMEXECUTINGCMD']._serialized_end=34773 + _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_start=34775 + _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_end=34883 + _globals['_SYSTEMSTDOUT']._serialized_start=34885 + _globals['_SYSTEMSTDOUT']._serialized_end=34913 + _globals['_SYSTEMSTDOUTMSG']._serialized_start=34915 + _globals['_SYSTEMSTDOUTMSG']._serialized_end=35011 + _globals['_SYSTEMSTDERR']._serialized_start=35013 + _globals['_SYSTEMSTDERR']._serialized_end=35041 + _globals['_SYSTEMSTDERRMSG']._serialized_start=35043 + _globals['_SYSTEMSTDERRMSG']._serialized_end=35139 + _globals['_SYSTEMREPORTRETURNCODE']._serialized_start=35141 + _globals['_SYSTEMREPORTRETURNCODE']._serialized_end=35185 + _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_start=35187 + _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_end=35303 + _globals['_TIMINGINFOCOLLECTED']._serialized_start=35305 + _globals['_TIMINGINFOCOLLECTED']._serialized_end=35417 + _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_start=35419 + _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_end=35529 + _globals['_LOGDEBUGSTACKTRACE']._serialized_start=35531 + _globals['_LOGDEBUGSTACKTRACE']._serialized_end=35569 + _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_start=35571 + _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_end=35679 + _globals['_CHECKCLEANPATH']._serialized_start=35681 + _globals['_CHECKCLEANPATH']._serialized_end=35711 + _globals['_CHECKCLEANPATHMSG']._serialized_start=35713 + _globals['_CHECKCLEANPATHMSG']._serialized_end=35813 + _globals['_CONFIRMCLEANPATH']._serialized_start=35815 + _globals['_CONFIRMCLEANPATH']._serialized_end=35847 + _globals['_CONFIRMCLEANPATHMSG']._serialized_start=35849 + _globals['_CONFIRMCLEANPATHMSG']._serialized_end=35953 + _globals['_PROTECTEDCLEANPATH']._serialized_start=35955 + _globals['_PROTECTEDCLEANPATH']._serialized_end=35989 + _globals['_PROTECTEDCLEANPATHMSG']._serialized_start=35991 + _globals['_PROTECTEDCLEANPATHMSG']._serialized_end=36099 + _globals['_FINISHEDCLEANPATHS']._serialized_start=36101 + _globals['_FINISHEDCLEANPATHS']._serialized_end=36121 + _globals['_FINISHEDCLEANPATHSMSG']._serialized_start=36123 + _globals['_FINISHEDCLEANPATHSMSG']._serialized_end=36231 + _globals['_OPENCOMMAND']._serialized_start=36233 + _globals['_OPENCOMMAND']._serialized_end=36286 + _globals['_OPENCOMMANDMSG']._serialized_start=36288 + _globals['_OPENCOMMANDMSG']._serialized_end=36382 + _globals['_FORMATTING']._serialized_start=36384 + _globals['_FORMATTING']._serialized_end=36409 + _globals['_FORMATTINGMSG']._serialized_start=36411 + _globals['_FORMATTINGMSG']._serialized_end=36503 + _globals['_SERVINGDOCSPORT']._serialized_start=36505 + _globals['_SERVINGDOCSPORT']._serialized_end=36553 + _globals['_SERVINGDOCSPORTMSG']._serialized_start=36555 + _globals['_SERVINGDOCSPORTMSG']._serialized_end=36657 + _globals['_SERVINGDOCSACCESSINFO']._serialized_start=36659 + _globals['_SERVINGDOCSACCESSINFO']._serialized_end=36696 + _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_start=36698 + _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_end=36812 + _globals['_SERVINGDOCSEXITINFO']._serialized_start=36814 + _globals['_SERVINGDOCSEXITINFO']._serialized_end=36835 + _globals['_SERVINGDOCSEXITINFOMSG']._serialized_start=36837 + _globals['_SERVINGDOCSEXITINFOMSG']._serialized_end=36947 + _globals['_RUNRESULTWARNING']._serialized_start=36949 + _globals['_RUNRESULTWARNING']._serialized_end=37023 + _globals['_RUNRESULTWARNINGMSG']._serialized_start=37025 + _globals['_RUNRESULTWARNINGMSG']._serialized_end=37129 + _globals['_RUNRESULTFAILURE']._serialized_start=37131 + _globals['_RUNRESULTFAILURE']._serialized_end=37205 + _globals['_RUNRESULTFAILUREMSG']._serialized_start=37207 + _globals['_RUNRESULTFAILUREMSG']._serialized_end=37311 + _globals['_STATSLINE']._serialized_start=37313 + _globals['_STATSLINE']._serialized_end=37420 + _globals['_STATSLINE_STATSENTRY']._serialized_start=37376 + _globals['_STATSLINE_STATSENTRY']._serialized_end=37420 + _globals['_STATSLINEMSG']._serialized_start=37422 + _globals['_STATSLINEMSG']._serialized_end=37512 + _globals['_RUNRESULTERROR']._serialized_start=37514 + _globals['_RUNRESULTERROR']._serialized_end=37543 + _globals['_RUNRESULTERRORMSG']._serialized_start=37545 + _globals['_RUNRESULTERRORMSG']._serialized_end=37645 + _globals['_RUNRESULTERRORNOMESSAGE']._serialized_start=37647 + _globals['_RUNRESULTERRORNOMESSAGE']._serialized_end=37688 + _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_start=37690 + _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_end=37808 + _globals['_SQLCOMPILEDPATH']._serialized_start=37810 + _globals['_SQLCOMPILEDPATH']._serialized_end=37841 + _globals['_SQLCOMPILEDPATHMSG']._serialized_start=37843 + _globals['_SQLCOMPILEDPATHMSG']._serialized_end=37945 + _globals['_CHECKNODETESTFAILURE']._serialized_start=37947 + _globals['_CHECKNODETESTFAILURE']._serialized_end=37992 + _globals['_CHECKNODETESTFAILUREMSG']._serialized_start=37994 + _globals['_CHECKNODETESTFAILUREMSG']._serialized_end=38106 + _globals['_ENDOFRUNSUMMARY']._serialized_start=38108 + _globals['_ENDOFRUNSUMMARY']._serialized_end=38195 + _globals['_ENDOFRUNSUMMARYMSG']._serialized_start=38197 + _globals['_ENDOFRUNSUMMARYMSG']._serialized_end=38299 + _globals['_LOGSKIPBECAUSEERROR']._serialized_start=38301 + _globals['_LOGSKIPBECAUSEERROR']._serialized_end=38386 + _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_start=38388 + _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_end=38498 + _globals['_ENSUREGITINSTALLED']._serialized_start=38500 + _globals['_ENSUREGITINSTALLED']._serialized_end=38520 + _globals['_ENSUREGITINSTALLEDMSG']._serialized_start=38522 + _globals['_ENSUREGITINSTALLEDMSG']._serialized_end=38630 + _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_start=38632 + _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_end=38658 + _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_start=38660 + _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_end=38780 + _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_start=38782 + _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_end=38807 + _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_start=38809 + _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_end=38927 + _globals['_DISABLETRACKING']._serialized_start=38929 + _globals['_DISABLETRACKING']._serialized_end=38946 + _globals['_DISABLETRACKINGMSG']._serialized_start=38948 + _globals['_DISABLETRACKINGMSG']._serialized_end=39050 + _globals['_SENDINGEVENT']._serialized_start=39052 + _globals['_SENDINGEVENT']._serialized_end=39082 + _globals['_SENDINGEVENTMSG']._serialized_start=39084 + _globals['_SENDINGEVENTMSG']._serialized_end=39180 + _globals['_SENDEVENTFAILURE']._serialized_start=39182 + _globals['_SENDEVENTFAILURE']._serialized_end=39200 + _globals['_SENDEVENTFAILUREMSG']._serialized_start=39202 + _globals['_SENDEVENTFAILUREMSG']._serialized_end=39306 + _globals['_FLUSHEVENTS']._serialized_start=39308 + _globals['_FLUSHEVENTS']._serialized_end=39321 + _globals['_FLUSHEVENTSMSG']._serialized_start=39323 + _globals['_FLUSHEVENTSMSG']._serialized_end=39417 + _globals['_FLUSHEVENTSFAILURE']._serialized_start=39419 + _globals['_FLUSHEVENTSFAILURE']._serialized_end=39439 + _globals['_FLUSHEVENTSFAILUREMSG']._serialized_start=39441 + _globals['_FLUSHEVENTSFAILUREMSG']._serialized_end=39549 + _globals['_TRACKINGINITIALIZEFAILURE']._serialized_start=39551 + _globals['_TRACKINGINITIALIZEFAILURE']._serialized_end=39596 + _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_start=39598 + _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_end=39720 + _globals['_RUNRESULTWARNINGMESSAGE']._serialized_start=39722 + _globals['_RUNRESULTWARNINGMESSAGE']._serialized_end=39760 + _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_start=39762 + _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_end=39880 + _globals['_DEBUGCMDOUT']._serialized_start=39882 + _globals['_DEBUGCMDOUT']._serialized_end=39908 + _globals['_DEBUGCMDOUTMSG']._serialized_start=39910 + _globals['_DEBUGCMDOUTMSG']._serialized_end=40004 + _globals['_DEBUGCMDRESULT']._serialized_start=40006 + _globals['_DEBUGCMDRESULT']._serialized_end=40035 + _globals['_DEBUGCMDRESULTMSG']._serialized_start=40037 + _globals['_DEBUGCMDRESULTMSG']._serialized_end=40137 + _globals['_LISTCMDOUT']._serialized_start=40139 + _globals['_LISTCMDOUT']._serialized_end=40164 + _globals['_LISTCMDOUTMSG']._serialized_start=40166 + _globals['_LISTCMDOUTMSG']._serialized_end=40258 + _globals['_NOTE']._serialized_start=40260 + _globals['_NOTE']._serialized_end=40279 + _globals['_NOTEMSG']._serialized_start=40281 + _globals['_NOTEMSG']._serialized_end=40361 + _globals['_RESOURCEREPORT']._serialized_start=40364 + _globals['_RESOURCEREPORT']._serialized_end=40600 + _globals['_RESOURCEREPORTMSG']._serialized_start=40602 + _globals['_RESOURCEREPORTMSG']._serialized_end=40702 +# @@protoc_insertion_point(module_scope) diff --git a/core/dbt/compilation.py b/core/dbt/compilation.py index f48caa809be..61be74fcd9d 100644 --- a/core/dbt/compilation.py +++ b/core/dbt/compilation.py @@ -28,11 +28,11 @@ DbtRuntimeError, ) from dbt.graph import Graph -from dbt.events.functions import fire_event, get_invocation_id -from dbt.events.types import FoundStats, Note, WritingInjectedSQLForNode -from dbt.events.contextvars import get_node_info +from dbt.common.events.functions import fire_event, get_invocation_id +from dbt.common.events.types import FoundStats, Note, WritingInjectedSQLForNode +from dbt.common.events.contextvars import get_node_info from dbt.node_types import NodeType, ModelLanguage -from dbt.events.format import pluralize +from dbt.common.events.format import pluralize import dbt.tracking import dbt.task.list as list_task import sqlparse diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index f361f7e9503..80d2850e69c 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -17,8 +17,8 @@ DbtRuntimeError, ProfileConfigError, ) -from dbt.events.types import MissingProfileTarget -from dbt.events.functions import fire_event +from dbt.common.events.types import MissingProfileTarget +from dbt.common.events.functions import fire_event from dbt.utils import coerce_dict_str from .renderer import ProfileRenderer diff --git a/core/dbt/config/runtime.py b/core/dbt/config/runtime.py index 2f54b9771d7..5c88b447b26 100644 --- a/core/dbt/config/runtime.py +++ b/core/dbt/config/runtime.py @@ -23,8 +23,8 @@ from dbt.contracts.project import Configuration, UserConfig from dbt.contracts.relation import ComponentName from dbt.common.dataclass_schema import ValidationError -from dbt.events.functions import warn_or_error -from dbt.events.types import UnusedResourceConfigPath +from dbt.common.events.functions import warn_or_error +from dbt.common.events.types import UnusedResourceConfigPath from dbt.exceptions import ( ConfigContractBrokenError, DbtProjectError, diff --git a/core/dbt/config/utils.py b/core/dbt/config/utils.py index 18951665c53..31f18ba0477 100644 --- a/core/dbt/config/utils.py +++ b/core/dbt/config/utils.py @@ -2,8 +2,8 @@ from dbt.clients import yaml_helper -from dbt.events.functions import fire_event -from dbt.events.types import InvalidOptionYAML +from dbt.common.events.functions import fire_event +from dbt.common.events.types import InvalidOptionYAML from dbt.exceptions import DbtValidationError, OptionNotYamlDictError diff --git a/core/dbt/context/base.py b/core/dbt/context/base.py index 25373787e86..58c675c00fc 100644 --- a/core/dbt/context/base.py +++ b/core/dbt/context/base.py @@ -21,9 +21,9 @@ SetStrictWrongTypeError, ZipStrictWrongTypeError, ) -from dbt.events.functions import fire_event, get_invocation_id -from dbt.events.types import JinjaLogInfo, JinjaLogDebug -from dbt.events.contextvars import get_node_info +from dbt.common.events.functions import fire_event, get_invocation_id +from dbt.common.events.types import JinjaLogInfo, JinjaLogDebug +from dbt.common.events.contextvars import get_node_info from dbt.version import __version__ as dbt_version # These modules are added to the context. Consider alternative diff --git a/core/dbt/context/exceptions_jinja.py b/core/dbt/context/exceptions_jinja.py index 951a611c7cd..0e113c305f4 100644 --- a/core/dbt/context/exceptions_jinja.py +++ b/core/dbt/context/exceptions_jinja.py @@ -1,8 +1,8 @@ import functools from typing import NoReturn -from dbt.events.functions import warn_or_error -from dbt.events.types import JinjaLogWarning +from dbt.common.events.functions import warn_or_error +from dbt.common.events.types import JinjaLogWarning from dbt.exceptions import ( DbtRuntimeError, diff --git a/core/dbt/context/providers.py b/core/dbt/context/providers.py index f6959403ea3..b3e0f67e3df 100644 --- a/core/dbt/context/providers.py +++ b/core/dbt/context/providers.py @@ -42,7 +42,7 @@ ) from dbt.contracts.graph.metrics import MetricReference, ResolvedMetricReference from dbt.contracts.graph.unparsed import NodeVersion -from dbt.events.functions import get_metadata_vars +from dbt.common.events.functions import get_metadata_vars from dbt.exceptions import ( CompilationError, ConflictingConfigKeysError, diff --git a/core/dbt/contracts/graph/manifest.py b/core/dbt/contracts/graph/manifest.py index a3c31fd86a2..05446e9cbed 100644 --- a/core/dbt/contracts/graph/manifest.py +++ b/core/dbt/contracts/graph/manifest.py @@ -55,9 +55,9 @@ AmbiguousResourceNameRefError, ) from dbt.helper_types import PathSet -from dbt.events.functions import fire_event -from dbt.events.types import MergedFromState, UnpinnedRefNewVersionAvailable -from dbt.events.contextvars import get_node_info +from dbt.common.events.functions import fire_event +from dbt.common.events.types import MergedFromState, UnpinnedRefNewVersionAvailable +from dbt.common.events.contextvars import get_node_info from dbt.node_types import NodeType, AccessType from dbt.flags import get_flags, MP_CONTEXT from dbt import tracking diff --git a/core/dbt/contracts/graph/nodes.py b/core/dbt/contracts/graph/nodes.py index 17417e410be..c72901a49ab 100644 --- a/core/dbt/contracts/graph/nodes.py +++ b/core/dbt/contracts/graph/nodes.py @@ -37,16 +37,16 @@ ) from dbt.contracts.graph.node_args import ModelNodeArgs from dbt.contracts.util import Replaceable, AdditionalPropertiesMixin -from dbt.events.functions import warn_or_error +from dbt.common.events.functions import warn_or_error from dbt.exceptions import ParsingError, ContractBreakingChangeError -from dbt.events.types import ( +from dbt.common.events.types import ( SeedIncreased, SeedExceedsLimitSamePath, SeedExceedsLimitAndPathChanged, SeedExceedsLimitChecksumChanged, UnversionedBreakingChange, ) -from dbt.events.contextvars import set_log_contextvars +from dbt.common.events.contextvars import set_log_contextvars from dbt.flags import get_flags from dbt.node_types import ModelLanguage, NodeType, AccessType from dbt_semantic_interfaces.call_parameter_sets import FilterCallParameterSets diff --git a/core/dbt/contracts/graph/semantic_manifest.py b/core/dbt/contracts/graph/semantic_manifest.py index 30b691afd8a..4c9dc17f14e 100644 --- a/core/dbt/contracts/graph/semantic_manifest.py +++ b/core/dbt/contracts/graph/semantic_manifest.py @@ -14,9 +14,9 @@ ) from dbt.clients.system import write_file -from dbt.events.base_types import EventLevel -from dbt.events.functions import fire_event -from dbt.events.types import SemanticValidationFailure +from dbt.common.events.base_types import EventLevel +from dbt.common.events.functions import fire_event +from dbt.common.events.types import SemanticValidationFailure from dbt.exceptions import ParsingError diff --git a/core/dbt/contracts/results.py b/core/dbt/contracts/results.py index 15dc96c85d9..43807e4f30f 100644 --- a/core/dbt/contracts/results.py +++ b/core/dbt/contracts/results.py @@ -10,10 +10,10 @@ schema_version, ) from dbt.exceptions import DbtInternalError -from dbt.events.functions import fire_event -from dbt.events.types import TimingInfoCollected -from dbt.events.contextvars import get_node_info -from dbt.events.helpers import datetime_to_json_string +from dbt.common.events.functions import fire_event +from dbt.common.events.types import TimingInfoCollected +from dbt.common.events.contextvars import get_node_info +from dbt.common.events.helpers import datetime_to_json_string from dbt.logger import TimingProcessor from dbt.utils import lowercase, cast_to_str, cast_to_int from dbt.common.dataclass_schema import dbtClassMixin, StrEnum diff --git a/core/dbt/contracts/state.py b/core/dbt/contracts/state.py index 6627505e5a9..e0b12be9a9f 100644 --- a/core/dbt/contracts/state.py +++ b/core/dbt/contracts/state.py @@ -4,8 +4,8 @@ from dbt.contracts.graph.manifest import WritableManifest from dbt.contracts.results import FreshnessExecutionResultArtifact from dbt.contracts.results import RunResultsArtifact -from dbt.events.functions import fire_event -from dbt.events.types import WarnStateTargetEqual +from dbt.common.events.functions import fire_event +from dbt.common.events.types import WarnStateTargetEqual from dbt.exceptions import IncompatibleSchemaError diff --git a/core/dbt/contracts/util.py b/core/dbt/contracts/util.py index 5c9085d90ab..75274620021 100644 --- a/core/dbt/contracts/util.py +++ b/core/dbt/contracts/util.py @@ -10,7 +10,7 @@ ) from dbt.version import __version__ -from dbt.events.functions import get_invocation_id, get_metadata_vars +from dbt.common.events.functions import get_invocation_id, get_metadata_vars from dbt.common.dataclass_schema import dbtClassMixin from dbt.common.dataclass_schema import ( diff --git a/core/dbt/deprecations.py b/core/dbt/deprecations.py index d69b166043d..5f140f485c9 100644 --- a/core/dbt/deprecations.py +++ b/core/dbt/deprecations.py @@ -23,7 +23,7 @@ def track_deprecation_warn(self) -> None: @property def event(self) -> abc.ABCMeta: if self._event is not None: - module_path = dbt.events.types + module_path = dbt.common.events.types class_name = self._event try: @@ -36,7 +36,7 @@ def event(self) -> abc.ABCMeta: def show(self, *args, **kwargs) -> None: if self.name not in active_deprecations: event = self.event(**kwargs) - dbt.events.functions.warn_or_error(event) + dbt.common.events.functions.warn_or_error(event) self.track_deprecation_warn() active_deprecations.add(self.name) diff --git a/core/dbt/deps/base.py b/core/dbt/deps/base.py index f72878422aa..e406ed7a77c 100644 --- a/core/dbt/deps/base.py +++ b/core/dbt/deps/base.py @@ -8,8 +8,8 @@ from dbt.clients import system from dbt.contracts.project import ProjectPackageMetadata -from dbt.events.functions import fire_event -from dbt.events.types import DepsSetDownloadDirectory +from dbt.common.events.functions import fire_event +from dbt.common.events.types import DepsSetDownloadDirectory from dbt.utils import _connection_exception_retry as connection_exception_retry DOWNLOADS_PATH = None diff --git a/core/dbt/deps/git.py b/core/dbt/deps/git.py index cc3fa1af6a2..10411e879e2 100644 --- a/core/dbt/deps/git.py +++ b/core/dbt/deps/git.py @@ -10,8 +10,8 @@ ) from dbt.deps.base import PinnedPackage, UnpinnedPackage, get_downloads_path from dbt.exceptions import ExecutableError, MultipleVersionGitDepsError -from dbt.events.functions import fire_event, warn_or_error -from dbt.events.types import EnsureGitInstalled, DepsUnpinned +from dbt.common.events.functions import fire_event, warn_or_error +from dbt.common.events.types import EnsureGitInstalled, DepsUnpinned from dbt.utils import md5 diff --git a/core/dbt/deps/local.py b/core/dbt/deps/local.py index 18c9af01de3..e35bb8b364f 100644 --- a/core/dbt/deps/local.py +++ b/core/dbt/deps/local.py @@ -6,8 +6,8 @@ ProjectPackageMetadata, LocalPackage, ) -from dbt.events.functions import fire_event -from dbt.events.types import DepsCreatingLocalSymlink, DepsSymlinkNotAvailable +from dbt.common.events.functions import fire_event +from dbt.common.events.types import DepsCreatingLocalSymlink, DepsSymlinkNotAvailable from dbt.config.project import PartialProject, Project from dbt.config.renderer import PackageRenderer diff --git a/core/dbt/flags.py b/core/dbt/flags.py index 891d510f2e1..029116c637c 100644 --- a/core/dbt/flags.py +++ b/core/dbt/flags.py @@ -24,7 +24,7 @@ def env_set_truthy(key: str) -> Optional[str]: MP_CONTEXT = get_context() -# this roughly follows the patten of EVENT_MANAGER in dbt/events/functions.py +# this roughly follows the patten of EVENT_MANAGER in dbt/common/events/functions.py # During de-globlization, we'll need to handle both similarly # Match USE_COLORS default with default in dbt.cli.params.use_colors for use in --version GLOBAL_FLAGS = Namespace(USE_COLORS=True) # type: ignore diff --git a/core/dbt/graph/selector.py b/core/dbt/graph/selector.py index da07a86529d..20e43779129 100644 --- a/core/dbt/graph/selector.py +++ b/core/dbt/graph/selector.py @@ -5,8 +5,8 @@ from .selector_methods import MethodManager from .selector_spec import SelectionCriteria, SelectionSpec, IndirectSelection -from dbt.events.functions import fire_event, warn_or_error -from dbt.events.types import SelectorReportInvalidSelector, NoNodesForSelectionCriteria +from dbt.common.events.functions import fire_event, warn_or_error +from dbt.common.events.types import SelectorReportInvalidSelector, NoNodesForSelectionCriteria from dbt.node_types import NodeType from dbt.exceptions import ( DbtInternalError, diff --git a/core/dbt/graph/selector_methods.py b/core/dbt/graph/selector_methods.py index 980df39aa65..8295f71751e 100644 --- a/core/dbt/graph/selector_methods.py +++ b/core/dbt/graph/selector_methods.py @@ -28,7 +28,7 @@ DbtRuntimeError, ) from dbt.node_types import NodeType -from dbt.events.contextvars import get_project_root +from dbt.common.events.contextvars import get_project_root SELECTOR_GLOB = "*" diff --git a/core/dbt/helper_types.py b/core/dbt/helper_types.py index 1e3d4783ab0..854188e7c1b 100644 --- a/core/dbt/helper_types.py +++ b/core/dbt/helper_types.py @@ -12,7 +12,7 @@ ValidationError, StrEnum, ) -import dbt.events.types as dbt_event_types +import dbt.common.events.types as dbt_event_types Port = NewType("Port", int) diff --git a/core/dbt/internal_deprecations.py b/core/dbt/internal_deprecations.py index fbc435026b6..98212017e57 100644 --- a/core/dbt/internal_deprecations.py +++ b/core/dbt/internal_deprecations.py @@ -1,8 +1,8 @@ import functools from typing import Optional -from dbt.events.functions import warn_or_error -from dbt.events.types import InternalDeprecation +from dbt.common.events.functions import warn_or_error +from dbt.common.events.types import InternalDeprecation def deprecated(suggested_action: str, version: str, reason: Optional[str]): diff --git a/core/dbt/parser/manifest.py b/core/dbt/parser/manifest.py index bc348674ad1..b5d98fdfafc 100644 --- a/core/dbt/parser/manifest.py +++ b/core/dbt/parser/manifest.py @@ -20,7 +20,7 @@ import time from dbt.contracts.graph.semantic_manifest import SemanticManifest -from dbt.events.base_types import EventLevel +from dbt.common.events.base_types import EventLevel import json import pprint import msgpack @@ -41,8 +41,8 @@ SEMANTIC_MANIFEST_FILE_NAME, ) from dbt.helper_types import PathSet -from dbt.events.functions import fire_event, get_invocation_id, warn_or_error -from dbt.events.types import ( +from dbt.common.events.functions import fire_event, get_invocation_id, warn_or_error +from dbt.common.events.types import ( PartialParsingErrorProcessingFile, PartialParsingError, ParsePerfInfoPath, diff --git a/core/dbt/parser/models.py b/core/dbt/parser/models.py index b94e20a0ff6..60fe83f7b65 100644 --- a/core/dbt/parser/models.py +++ b/core/dbt/parser/models.py @@ -1,9 +1,9 @@ from copy import deepcopy from dbt.context.context_config import ContextConfig from dbt.contracts.graph.nodes import ModelNode, RefArgs -from dbt.events.base_types import EventLevel -from dbt.events.types import Note -from dbt.events.functions import fire_event_if_test +from dbt.common.events.base_types import EventLevel +from dbt.common.events.types import Note +from dbt.common.events.functions import fire_event_if_test from dbt.flags import get_flags from dbt.node_types import NodeType, ModelLanguage from dbt.parser.base import SimpleSQLParser diff --git a/core/dbt/parser/partial.py b/core/dbt/parser/partial.py index 7fcfe48f87d..4ee964a154d 100644 --- a/core/dbt/parser/partial.py +++ b/core/dbt/parser/partial.py @@ -8,9 +8,9 @@ parse_file_type_to_parser, SchemaSourceFile, ) -from dbt.events.functions import fire_event -from dbt.events.base_types import EventLevel -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.base_types import EventLevel +from dbt.common.events.types import ( PartialParsingEnabled, PartialParsingFile, ) diff --git a/core/dbt/parser/read_files.py b/core/dbt/parser/read_files.py index a20236e2027..14bd80f3523 100644 --- a/core/dbt/parser/read_files.py +++ b/core/dbt/parser/read_files.py @@ -17,8 +17,8 @@ from dbt.exceptions import ParsingError from dbt.parser.search import filesystem_search from typing import Optional, Dict, List, Mapping, MutableMapping -from dbt.events.types import InputFileDiffError -from dbt.events.functions import fire_event +from dbt.common.events.types import InputFileDiffError +from dbt.common.events.functions import fire_event from typing import Protocol diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py index 07e6a2ab198..c92e4392039 100644 --- a/core/dbt/parser/schemas.py +++ b/core/dbt/parser/schemas.py @@ -44,8 +44,8 @@ YamlParseListError, InvalidAccessTypeError, ) -from dbt.events.functions import warn_or_error -from dbt.events.types import ( +from dbt.common.events.functions import warn_or_error +from dbt.common.events.types import ( MacroNotFoundForPatch, NoNodeForYamlKey, ValidationWarning, diff --git a/core/dbt/parser/sources.py b/core/dbt/parser/sources.py index 72a9aa842f1..531cf5d942c 100644 --- a/core/dbt/parser/sources.py +++ b/core/dbt/parser/sources.py @@ -26,9 +26,9 @@ UnparsedColumn, Time, ) +from dbt.common.events.functions import warn_or_error, fire_event +from dbt.common.events.types import UnusedTables, FreshnessConfigProblem -from dbt.events.functions import warn_or_error, fire_event -from dbt.events.types import UnusedTables, FreshnessConfigProblem from dbt.exceptions import DbtInternalError from dbt.node_types import NodeType diff --git a/core/dbt/task/base.py b/core/dbt/task/base.py index a4c9b526008..fc3bd61893b 100644 --- a/core/dbt/task/base.py +++ b/core/dbt/task/base.py @@ -23,9 +23,9 @@ RunningStatus, TimingInfo, ) -from dbt.events.contextvars import get_node_info -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.contextvars import get_node_info +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( LogDbtProjectError, LogDbtProfileError, CatchableExceptionOnRun, diff --git a/core/dbt/task/clean.py b/core/dbt/task/clean.py index 18b64e0b091..c54d7c5544c 100644 --- a/core/dbt/task/clean.py +++ b/core/dbt/task/clean.py @@ -2,8 +2,8 @@ from shutil import rmtree from dbt import deprecations -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( CheckCleanPath, ConfirmCleanPath, FinishedCleanPaths, diff --git a/core/dbt/task/compile.py b/core/dbt/task/compile.py index ba505e1a6ec..002400a4d71 100644 --- a/core/dbt/task/compile.py +++ b/core/dbt/task/compile.py @@ -3,9 +3,9 @@ from dbt.contracts.graph.manifest import WritableManifest from dbt.contracts.results import RunStatus, RunResult -from dbt.events.base_types import EventLevel -from dbt.events.functions import fire_event -from dbt.events.types import CompiledNode, Note, ParseInlineNodeError +from dbt.common.events.base_types import EventLevel +from dbt.common.events.functions import fire_event +from dbt.common.events.types import CompiledNode, Note, ParseInlineNodeError from dbt.exceptions import ( CompilationError, DbtInternalError, diff --git a/core/dbt/task/debug.py b/core/dbt/task/debug.py index e19bf99d547..971ebbc3e18 100644 --- a/core/dbt/task/debug.py +++ b/core/dbt/task/debug.py @@ -9,8 +9,8 @@ from pathlib import Path from typing import Optional, Dict, Any, List, Tuple -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( OpenCommand, DebugCmdOut, DebugCmdResult, @@ -24,7 +24,7 @@ from dbt.clients.yaml_helper import load_yaml_text from dbt.links import ProfileConfigDocs from dbt.ui import green, red -from dbt.events.format import pluralize +from dbt.common.events.format import pluralize from dbt.version import get_installed_version from dbt.task.base import BaseTask, get_nearest_project_dir diff --git a/core/dbt/task/deps.py b/core/dbt/task/deps.py index 1433c9a48ca..17193c45a41 100644 --- a/core/dbt/task/deps.py +++ b/core/dbt/task/deps.py @@ -15,8 +15,9 @@ from dbt.deps.registry import RegistryPinnedPackage from dbt.contracts.project import Package -from dbt.events.functions import fire_event -from dbt.events.types import ( + +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( DepsAddPackage, DepsFoundDuplicatePackage, DepsInstallInfo, diff --git a/core/dbt/task/freshness.py b/core/dbt/task/freshness.py index 24ae3532705..291e918a0f9 100644 --- a/core/dbt/task/freshness.py +++ b/core/dbt/task/freshness.py @@ -16,8 +16,8 @@ FreshnessStatus, ) from dbt.exceptions import DbtRuntimeError, DbtInternalError -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( FreshnessCheckComplete, LogStartLine, LogFreshnessResult, @@ -28,7 +28,7 @@ from dbt.adapters.capability import Capability from dbt.adapters.contracts.connection import AdapterResponse from dbt.contracts.graph.nodes import SourceDefinition -from dbt.events.base_types import EventLevel +from dbt.common.events.base_types import EventLevel from dbt.graph import ResourceTypeSelector RESULT_FILE_NAME = "sources.json" diff --git a/core/dbt/task/generate.py b/core/dbt/task/generate.py index 3b18a27f28c..076f1c68764 100644 --- a/core/dbt/task/generate.py +++ b/core/dbt/task/generate.py @@ -28,8 +28,8 @@ from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType from dbt.include.global_project import DOCS_INDEX_FILE_PATH -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( WriteCatalogFailure, CatalogWritten, CannotGenerateDocs, diff --git a/core/dbt/task/init.py b/core/dbt/task/init.py index 39d18b8dcb2..5a41b3f122d 100644 --- a/core/dbt/task/init.py +++ b/core/dbt/task/init.py @@ -18,8 +18,8 @@ from dbt.contracts.util import Identifier as ProjectName -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( StarterProjectPath, ConfigFolderDirectory, NoSampleProfileFound, diff --git a/core/dbt/task/list.py b/core/dbt/task/list.py index 3b9448aeb9d..29b4fd8dd4a 100644 --- a/core/dbt/task/list.py +++ b/core/dbt/task/list.py @@ -6,16 +6,16 @@ from dbt.task.runnable import GraphRunnableTask from dbt.task.test import TestSelector from dbt.node_types import NodeType -from dbt.events.functions import ( +from dbt.common.events.functions import ( fire_event, warn_or_error, ) -from dbt.events.types import ( +from dbt.common.events.types import ( NoNodesSelected, ListCmdOut, ) from dbt.exceptions import DbtRuntimeError, DbtInternalError -from dbt.events.contextvars import task_contextvars +from dbt.common.events.contextvars import task_contextvars class ListTask(GraphRunnableTask): diff --git a/core/dbt/task/printer.py b/core/dbt/task/printer.py index 94a76675ba7..9a5c67b5a0d 100644 --- a/core/dbt/task/printer.py +++ b/core/dbt/task/printer.py @@ -3,8 +3,8 @@ DbtStatusMessage, TextOnly, ) -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( Formatting, RunResultWarning, RunResultWarningMessage, @@ -18,7 +18,7 @@ ) from dbt.tracking import InvocationProcessor -from dbt.events.format import pluralize +from dbt.common.events.format import pluralize from dbt.contracts.results import NodeStatus from dbt.node_types import NodeType diff --git a/core/dbt/task/run.py b/core/dbt/task/run.py index 587ee6c89bf..246a39c3b08 100644 --- a/core/dbt/task/run.py +++ b/core/dbt/task/run.py @@ -27,8 +27,8 @@ DbtRuntimeError, DbtValidationError, ) -from dbt.events.functions import fire_event, get_invocation_id -from dbt.events.types import ( +from dbt.common.events.functions import fire_event, get_invocation_id +from dbt.common.events.types import ( DatabaseErrorRunningHook, Formatting, HooksRunning, @@ -38,7 +38,7 @@ LogHookEndLine, LogHookStartLine, ) -from dbt.events.base_types import EventLevel +from dbt.common.events.base_types import EventLevel from dbt.logger import ( TextOnly, HookMetadata, diff --git a/core/dbt/task/run_operation.py b/core/dbt/task/run_operation.py index 15f0e9c65cf..db2d103aa90 100644 --- a/core/dbt/task/run_operation.py +++ b/core/dbt/task/run_operation.py @@ -10,8 +10,8 @@ from dbt.contracts.files import FileHash from dbt.contracts.graph.nodes import HookNode from dbt.contracts.results import RunResultsArtifact, RunResult, RunStatus, TimingInfo -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( RunningOperationCaughtError, RunningOperationUncaughtError, LogDebugStackTrace, diff --git a/core/dbt/task/runnable.py b/core/dbt/task/runnable.py index 561b97bdef4..d17818635b0 100644 --- a/core/dbt/task/runnable.py +++ b/core/dbt/task/runnable.py @@ -23,9 +23,9 @@ BaseResult, ) from dbt.contracts.state import PreviousState -from dbt.events.contextvars import log_contextvars, task_contextvars -from dbt.events.functions import fire_event, warn_or_error -from dbt.events.types import ( +from dbt.common.events.contextvars import log_contextvars, task_contextvars +from dbt.common.events.functions import fire_event, warn_or_error +from dbt.common.events.types import ( Formatting, LogCancelLine, DefaultSelector, diff --git a/core/dbt/task/seed.py b/core/dbt/task/seed.py index 9ec1df3b81f..02907af7746 100644 --- a/core/dbt/task/seed.py +++ b/core/dbt/task/seed.py @@ -9,14 +9,14 @@ from dbt.exceptions import DbtInternalError from dbt.graph import ResourceTypeSelector from dbt.logger import TextOnly -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( SeedHeader, Formatting, LogSeedResult, LogStartLine, ) -from dbt.events.base_types import EventLevel +from dbt.common.events.base_types import EventLevel from dbt.node_types import NodeType from dbt.contracts.results import NodeStatus diff --git a/core/dbt/task/show.py b/core/dbt/task/show.py index 2e7e51b9201..630c2d7235a 100644 --- a/core/dbt/task/show.py +++ b/core/dbt/task/show.py @@ -5,9 +5,9 @@ from dbt.context.providers import generate_runtime_model_context from dbt.contracts.graph.nodes import SeedNode from dbt.contracts.results import RunResult, RunStatus -from dbt.events.base_types import EventLevel -from dbt.events.functions import fire_event -from dbt.events.types import ShowNode, Note +from dbt.common.events.base_types import EventLevel +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ShowNode, Note from dbt.exceptions import DbtRuntimeError from dbt.task.compile import CompileTask, CompileRunner from dbt.task.seed import SeedRunner diff --git a/core/dbt/task/snapshot.py b/core/dbt/task/snapshot.py index 258531d20ce..8a3bd4cf330 100644 --- a/core/dbt/task/snapshot.py +++ b/core/dbt/task/snapshot.py @@ -1,9 +1,9 @@ from .run import ModelRunner, RunTask from dbt.exceptions import DbtInternalError -from dbt.events.functions import fire_event -from dbt.events.base_types import EventLevel -from dbt.events.types import LogSnapshotResult +from dbt.common.events.functions import fire_event +from dbt.common.events.base_types import EventLevel +from dbt.common.events.types import LogSnapshotResult from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType from dbt.contracts.results import NodeStatus diff --git a/core/dbt/task/sql.py b/core/dbt/task/sql.py index 2e84f94a4e8..c0f82e3e748 100644 --- a/core/dbt/task/sql.py +++ b/core/dbt/task/sql.py @@ -10,8 +10,8 @@ RemoteRunResult, ResultTable, ) -from dbt.events.functions import fire_event -from dbt.events.types import SQLRunnerException +from dbt.common.events.functions import fire_event +from dbt.common.events.types import SQLRunnerException from dbt.task.compile import CompileRunner diff --git a/core/dbt/task/test.py b/core/dbt/task/test.py index f6ce0854a06..13d67afaa0b 100644 --- a/core/dbt/task/test.py +++ b/core/dbt/task/test.py @@ -2,7 +2,7 @@ from dataclasses import dataclass from dbt.utils import _coerce_decimal -from dbt.events.format import pluralize +from dbt.common.events.format import pluralize from dbt.common.dataclass_schema import dbtClassMixin import threading from typing import Dict, Any @@ -17,8 +17,8 @@ from dbt.contracts.results import TestStatus, PrimitiveDict, RunResult from dbt.context.providers import generate_runtime_model_context from dbt.clients.jinja import MacroGenerator -from dbt.events.functions import fire_event -from dbt.events.types import ( +from dbt.common.events.functions import fire_event +from dbt.common.events.types import ( LogTestResult, LogStartLine, ) diff --git a/core/dbt/tests/fixtures/project.py b/core/dbt/tests/fixtures/project.py index 1b7ef899bd0..c3511e7c671 100644 --- a/core/dbt/tests/fixtures/project.py +++ b/core/dbt/tests/fixtures/project.py @@ -10,7 +10,7 @@ import dbt.flags as flags from dbt.config.runtime import RuntimeConfig from dbt.adapters.factory import get_adapter, register_adapter, reset_adapters, get_adapter_by_type -from dbt.events.functions import setup_event_logger, cleanup_event_logger +from dbt.common.events.functions import setup_event_logger, cleanup_event_logger from dbt.tests.util import ( write_file, run_sql_with_adapter, diff --git a/core/dbt/tests/util.py b/core/dbt/tests/util.py index 21a23b58010..02c98bbfdad 100644 --- a/core/dbt/tests/util.py +++ b/core/dbt/tests/util.py @@ -12,14 +12,14 @@ from dbt.cli.main import dbtRunner from dbt.logger import log_manager from dbt.contracts.graph.manifest import Manifest -from dbt.events.functions import ( +from dbt.common.events.functions import ( fire_event, capture_stdout_logs, stop_capture_stdout_logs, reset_metadata_vars, ) -from dbt.events.base_types import EventLevel -from dbt.events.types import Note +from dbt.common.events.base_types import EventLevel +from dbt.common.events.types import Note from dbt.adapters.base.relation import BaseRelation # ============================================================================= diff --git a/core/dbt/tracking.py b/core/dbt/tracking.py index 88022c93f0f..120f1dc0d18 100644 --- a/core/dbt/tracking.py +++ b/core/dbt/tracking.py @@ -14,8 +14,8 @@ from dbt import version as dbt_version from dbt.clients.yaml_helper import safe_load, yaml # noqa:F401 -from dbt.events.functions import fire_event, get_invocation_id -from dbt.events.types import ( +from dbt.common.events.functions import fire_event, get_invocation_id +from dbt.common.events.types import ( DisableTracking, FlushEvents, FlushEventsFailure, diff --git a/core/dbt/utils.py b/core/dbt/utils.py index 5789d426c32..beb93b3d656 100644 --- a/core/dbt/utils.py +++ b/core/dbt/utils.py @@ -16,12 +16,13 @@ from contextlib import contextmanager from dbt.common.util import md5 -from dbt.events.types import RetryExternalCall, RecordRetryException +from dbt.common.events.types import RetryExternalCall, RecordRetryException from dbt.exceptions import ( ConnectionError, DbtInternalError, DbtConfigError, RecursionError, + DuplicateAliasError, ) from dbt.helper_types import WarnErrorOptions from dbt import flags @@ -42,6 +43,7 @@ Iterable, AbstractSet, Set, + Sequence, ) DECIMALS: Tuple[Type[Any], ...] @@ -356,6 +358,59 @@ def default(self, obj): return str(obj) +class Translator: + def __init__(self, aliases: Mapping[str, str], recursive: bool = False) -> None: + self.aliases = aliases + self.recursive = recursive + + def translate_mapping(self, kwargs: Mapping[str, Any]) -> Dict[str, Any]: + result: Dict[str, Any] = {} + + for key, value in kwargs.items(): + canonical_key = self.aliases.get(key, key) + if canonical_key in result: + raise DuplicateAliasError(kwargs, self.aliases, canonical_key) + result[canonical_key] = self.translate_value(value) + return result + + def translate_sequence(self, value: Sequence[Any]) -> List[Any]: + return [self.translate_value(v) for v in value] + + def translate_value(self, value: Any) -> Any: + if self.recursive: + if isinstance(value, Mapping): + return self.translate_mapping(value) + elif isinstance(value, (list, tuple)): + return self.translate_sequence(value) + return value + + def translate(self, value: Mapping[str, Any]) -> Dict[str, Any]: + try: + return self.translate_mapping(value) + except RuntimeError as exc: + if "maximum recursion depth exceeded" in str(exc): + raise RecursionError("Cycle detected in a value passed to translate!") + raise + + +def translate_aliases( + kwargs: Dict[str, Any], + aliases: Dict[str, str], + recurse: bool = False, +) -> Dict[str, Any]: + """Given a dict of keyword arguments and a dict mapping aliases to their + canonical values, canonicalize the keys in the kwargs dict. + + If recurse is True, perform this operation recursively. + + :returns: A dict containing all the values in kwargs referenced by their + canonical key. + :raises: `AliasError`, if a canonical key is defined more than once. + """ + translator = Translator(aliases, recurse) + return translator.translate(kwargs) + + # Note that this only affects hologram json validation. # It has no effect on mashumaro serialization. # Q: Can this be removed? @@ -549,7 +604,7 @@ def _connection_exception_retry(fn, max_attempts: int, attempt: int = 0): ) as exc: if attempt <= max_attempts - 1: # This import needs to be inline to avoid circular dependency - from dbt.events.functions import fire_event + from dbt.common.events.functions import fire_event fire_event(RecordRetryException(exc=str(exc))) fire_event(RetryExternalCall(attempt=attempt, max=max_attempts)) diff --git a/plugins/postgres/dbt/adapters/postgres/connections.py b/plugins/postgres/dbt/adapters/postgres/connections.py index 2c7cc0cf344..c8178e54485 100644 --- a/plugins/postgres/dbt/adapters/postgres/connections.py +++ b/plugins/postgres/dbt/adapters/postgres/connections.py @@ -7,7 +7,7 @@ from dbt.adapters.base import Credentials from dbt.adapters.sql import SQLConnectionManager from dbt.adapters.contracts.connection import AdapterResponse -from dbt.events import AdapterLogger +from dbt.common.events import AdapterLogger from dbt.helper_types import Port from dataclasses import dataclass diff --git a/tests/functional/assertions/test_runner.py b/tests/functional/assertions/test_runner.py index f65a7619631..6566a1e2d60 100644 --- a/tests/functional/assertions/test_runner.py +++ b/tests/functional/assertions/test_runner.py @@ -3,7 +3,7 @@ from dbt.cli.main import dbtRunner, dbtRunnerResult from dbt.contracts.graph.manifest import Manifest -from dbt.events.base_types import EventMsg +from dbt.common.events.base_types import EventMsg from dbt.tests.util import get_run_results diff --git a/tests/functional/logging/test_logging.py b/tests/functional/logging/test_logging.py index 20adcc9fbf0..0d256fa6d67 100644 --- a/tests/functional/logging/test_logging.py +++ b/tests/functional/logging/test_logging.py @@ -2,8 +2,8 @@ from dbt.tests.util import run_dbt, get_manifest, read_file import json import os -from dbt.events.functions import fire_event -from dbt.events.types import InvalidOptionYAML +from dbt.common.events.functions import fire_event +from dbt.common.events.types import InvalidOptionYAML my_model_sql = """ diff --git a/tests/functional/semantic_models/test_semantic_model_parsing.py b/tests/functional/semantic_models/test_semantic_model_parsing.py index 048e9844b83..cc1289f120c 100644 --- a/tests/functional/semantic_models/test_semantic_model_parsing.py +++ b/tests/functional/semantic_models/test_semantic_model_parsing.py @@ -5,7 +5,7 @@ from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity from dbt.contracts.graph.manifest import Manifest -from dbt.events.base_types import BaseEvent +from dbt.common.events.base_types import BaseEvent from dbt.tests.util import write_file from tests.functional.assertions.test_runner import dbtTestRunner diff --git a/tests/unit/test_adapter_connection_manager.py b/tests/unit/test_adapter_connection_manager.py index 3ec31fe79eb..961ffe9f831 100644 --- a/tests/unit/test_adapter_connection_manager.py +++ b/tests/unit/test_adapter_connection_manager.py @@ -9,7 +9,7 @@ from dbt.adapters.contracts.connection import Connection from dbt.adapters.base import BaseConnectionManager from dbt.adapters.postgres import PostgresCredentials, PostgresConnectionManager -from dbt.events import AdapterLogger +from dbt.common.events import AdapterLogger class BaseConnectionManagerTest(unittest.TestCase): diff --git a/tests/unit/test_context.py b/tests/unit/test_context.py index b51e8e76de5..e73d35855b8 100644 --- a/tests/unit/test_context.py +++ b/tests/unit/test_context.py @@ -18,7 +18,7 @@ from dbt.config.project import VarProvider from dbt.context import base, providers, docs, manifest, macros from dbt.contracts.files import FileHash -from dbt.events.functions import reset_metadata_vars +from dbt.common.events.functions import reset_metadata_vars from dbt.node_types import NodeType import dbt.exceptions from .utils import ( diff --git a/tests/unit/test_event_handler.py b/tests/unit/test_event_handler.py index 905b23f5a11..c0e4d3e95c9 100644 --- a/tests/unit/test_event_handler.py +++ b/tests/unit/test_event_handler.py @@ -1,8 +1,8 @@ import logging -from dbt.events.base_types import EventLevel -from dbt.events.event_handler import DbtEventLoggingHandler, set_package_logging -from dbt.events.eventmgr import TestEventManager +from dbt.common.events.base_types import EventLevel +from dbt.common.events.event_handler import DbtEventLoggingHandler, set_package_logging +from dbt.common.events.eventmgr import TestEventManager def test_event_logging_handler_emits_records_correctly(): diff --git a/tests/unit/test_events.py b/tests/unit/test_events.py index 8a2b240d8e3..81b46e46f62 100644 --- a/tests/unit/test_events.py +++ b/tests/unit/test_events.py @@ -6,8 +6,8 @@ import pytest from dbt.contracts.results import TimingInfo, RunResult, RunStatus -from dbt.events import AdapterLogger, types -from dbt.events.base_types import ( +from dbt.common.events import AdapterLogger, types +from dbt.common.events.base_types import ( BaseEvent, DebugLevel, DynamicLevel, @@ -17,10 +17,10 @@ WarnLevel, msg_from_base_event, ) -from dbt.events.eventmgr import TestEventManager, EventManager -from dbt.events.functions import msg_to_dict, msg_to_json, ctx_set_event_manager -from dbt.events.helpers import get_json_string_utcnow -from dbt.events.types import RunResultError +from dbt.common.events.eventmgr import TestEventManager, EventManager +from dbt.common.events.functions import msg_to_dict, msg_to_json, ctx_set_event_manager +from dbt.common.events.helpers import get_json_string_utcnow +from dbt.common.events.types import RunResultError from dbt.flags import set_from_args from dbt.task.printer import print_run_result_error diff --git a/tests/unit/test_functions.py b/tests/unit/test_functions.py index 80af497e074..2128e41fc05 100644 --- a/tests/unit/test_functions.py +++ b/tests/unit/test_functions.py @@ -2,8 +2,8 @@ import pytest import dbt.flags as flags -from dbt.events.functions import msg_to_dict, warn_or_error, setup_event_logger -from dbt.events.types import InfoLevel, NoNodesForSelectionCriteria +from dbt.common.events.functions import msg_to_dict, warn_or_error, setup_event_logger +from dbt.common.events.types import InfoLevel, NoNodesForSelectionCriteria from dbt.exceptions import EventCompilationError @@ -62,7 +62,7 @@ def __init__(self): def test_setup_event_logger_specify_max_bytes(mocker): - patched_file_handler = mocker.patch("dbt.events.logger.RotatingFileHandler") + patched_file_handler = mocker.patch("dbt.common.events.logger.RotatingFileHandler") args = Namespace(log_file_max_bytes=1234567) flags.set_from_args(args, {}) setup_event_logger(flags.get_flags()) diff --git a/tests/unit/test_graph.py b/tests/unit/test_graph.py index 48011cd2553..51ea6ee4317 100644 --- a/tests/unit/test_graph.py +++ b/tests/unit/test_graph.py @@ -18,7 +18,7 @@ from dbt.contracts.files import SourceFile, FileHash, FilePath from dbt.contracts.graph.manifest import MacroManifest, ManifestStateCheck from dbt.graph import NodeSelector, parse_difference -from dbt.events.functions import setup_event_logger +from dbt.common.events.functions import setup_event_logger try: from queue import Empty diff --git a/tests/unit/test_manifest.py b/tests/unit/test_manifest.py index 25623cf7dd9..22af78e5623 100644 --- a/tests/unit/test_manifest.py +++ b/tests/unit/test_manifest.py @@ -36,7 +36,7 @@ Owner, MaturityType, ) -from dbt.events.functions import reset_metadata_vars +from dbt.common.events.functions import reset_metadata_vars from dbt.exceptions import AmbiguousResourceNameRefError from dbt.flags import set_from_args from dbt.node_types import NodeType @@ -375,7 +375,7 @@ def test_no_nodes(self): saved_queries={}, ) - invocation_id = dbt.events.functions.EVENT_MANAGER.invocation_id + invocation_id = dbt.common.events.functions.EVENT_MANAGER.invocation_id self.assertEqual( manifest.writable_manifest().to_dict(omit_none=True), { @@ -512,7 +512,9 @@ def test_build_flat_graph(self): @mock.patch.object(tracking, "active_user") def test_metadata(self, mock_user): mock_user.id = "cfc9500f-dc7f-4c83-9ea7-2c581c1b38cf" - dbt.events.functions.EVENT_MANAGER.invocation_id = "01234567-0123-0123-0123-0123456789ab" + dbt.common.events.functions.EVENT_MANAGER.invocation_id = ( + "01234567-0123-0123-0123-0123456789ab" + ) set_from_args(Namespace(SEND_ANONYMOUS_USAGE_STATS=False), None) now = datetime.utcnow() self.assertEqual( @@ -535,7 +537,9 @@ def test_metadata(self, mock_user): @freezegun.freeze_time("2018-02-14T09:15:13Z") def test_no_nodes_with_metadata(self, mock_user): mock_user.id = "cfc9500f-dc7f-4c83-9ea7-2c581c1b38cf" - dbt.events.functions.EVENT_MANAGER.invocation_id = "01234567-0123-0123-0123-0123456789ab" + dbt.common.events.functions.EVENT_MANAGER.invocation_id = ( + "01234567-0123-0123-0123-0123456789ab" + ) set_from_args(Namespace(SEND_ANONYMOUS_USAGE_STATS=False), None) metadata = ManifestMetadata( project_id="098f6bcd4621d373cade4e832627b4f6", diff --git a/tests/unit/test_proto_events.py b/tests/unit/test_proto_events.py index e8524e11740..0b8967e7444 100644 --- a/tests/unit/test_proto_events.py +++ b/tests/unit/test_proto_events.py @@ -1,4 +1,4 @@ -from dbt.events.types import ( +from dbt.common.events.types import ( MainReportVersion, MainReportArgs, RollbackFailed, @@ -7,9 +7,9 @@ LogStartLine, LogTestResult, ) -from dbt.events.functions import msg_to_dict, msg_to_json, LOG_VERSION, reset_metadata_vars -from dbt.events import types_pb2 -from dbt.events.base_types import msg_from_base_event, EventLevel +from dbt.common.events.functions import msg_to_dict, msg_to_json, LOG_VERSION, reset_metadata_vars +from dbt.common.events import types_pb2 +from dbt.common.events.base_types import msg_from_base_event, EventLevel from dbt.version import installed from google.protobuf.json_format import MessageToDict from dbt.flags import set_from_args From a89642a6f98409c5cb580e70a45a90134388b683 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Wed, 25 Oct 2023 15:04:17 -0400 Subject: [PATCH 03/40] fix import --- tests/functional/events/events.py | 2 +- tests/functional/saved_queries/test_saved_query_parsing.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/functional/events/events.py b/tests/functional/events/events.py index aba787b03f7..dd9b512a98c 100644 --- a/tests/functional/events/events.py +++ b/tests/functional/events/events.py @@ -1,7 +1,7 @@ import os from dbt.cli.main import dbtRunner -from dbt.events.base_types import EventLevel +from dbt.common.events.base_types import EventLevel def test_performance_report(project): diff --git a/tests/functional/saved_queries/test_saved_query_parsing.py b/tests/functional/saved_queries/test_saved_query_parsing.py index 51975e9970b..ce3011ad45a 100644 --- a/tests/functional/saved_queries/test_saved_query_parsing.py +++ b/tests/functional/saved_queries/test_saved_query_parsing.py @@ -3,7 +3,7 @@ import pytest from dbt.contracts.graph.manifest import Manifest -from dbt.events.base_types import BaseEvent +from dbt.common.events.base_types import BaseEvent from dbt.tests.util import write_file from tests.functional.assertions.test_runner import dbtTestRunner from tests.functional.saved_queries.fixtures import saved_queries_yml, saved_query_description From dbd02e54c26f806d7ccc724e5708a00efc95253c Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Wed, 25 Oct 2023 15:46:41 -0400 Subject: [PATCH 04/40] move types_pb2.py from events to common/events --- core/dbt/common/events/types_pb2.py | 1803 +++++++++++++-------------- core/dbt/events/types_pb2.py | 937 -------------- 2 files changed, 901 insertions(+), 1839 deletions(-) delete mode 100644 core/dbt/events/types_pb2.py diff --git a/core/dbt/common/events/types_pb2.py b/core/dbt/common/events/types_pb2.py index 1f7b2f3f585..54cf5819b63 100644 --- a/core/dbt/common/events/types_pb2.py +++ b/core/dbt/common/events/types_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: types.proto """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,9 +17,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"\\\n\nColumnType\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x1c\n\x14previous_column_type\x18\x02 \x01(\t\x12\x1b\n\x13\x63urrent_column_type\x18\x03 \x01(\t\"Y\n\x10\x43olumnConstraint\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x03 \x01(\t\"T\n\x0fModelConstraint\x12\x17\n\x0f\x63onstraint_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x02 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x03 \x03(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation\"\x1f\n\x1dPackageInstallPathDeprecation\"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation\"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation\"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed\"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t\"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation\"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation\"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed\"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation\"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x86\x01\n\"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t\"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"\x8a\x03\n\x19UnversionedBreakingChange\x12\x18\n\x10\x62reaking_changes\x18\x01 \x03(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0fmodel_file_path\x18\x03 \x01(\t\x12\"\n\x1a\x63ontract_enforced_disabled\x18\x04 \x01(\x08\x12\x17\n\x0f\x63olumns_removed\x18\x05 \x03(\t\x12\x34\n\x13\x63olumn_type_changes\x18\x06 \x03(\x0b\x32\x17.proto_types.ColumnType\x12I\n\"enforced_column_constraint_removed\x18\x07 \x03(\x0b\x32\x1d.proto_types.ColumnConstraint\x12G\n!enforced_model_constraint_removed\x18\x08 \x03(\x0b\x32\x1c.proto_types.ModelConstraint\x12\x1f\n\x17materialization_changed\x18\t \x03(\t\"z\n\x1cUnversionedBreakingChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.UnversionedBreakingChange\"*\n\x14WarnStateTargetEqual\x12\x12\n\nstate_path\x18\x01 \x01(\t\"p\n\x17WarnStateTargetEqualMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.WarnStateTargetEqual\"%\n\x16\x46reshnessConfigProblem\x12\x0b\n\x03msg\x18\x01 \x01(\t\"t\n\x19\x46reshnessConfigProblemMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessConfigProblem\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\")\n\x10\x44\x65psLockUpdating\x12\x15\n\rlock_filepath\x18\x01 \x01(\t\"h\n\x13\x44\x65psLockUpdatingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.DepsLockUpdating\"R\n\x0e\x44\x65psAddPackage\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x11packages_filepath\x18\x03 \x01(\t\"d\n\x11\x44\x65psAddPackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DepsAddPackage\"\xa7\x01\n\x19\x44\x65psFoundDuplicatePackage\x12S\n\x0fremoved_package\x18\x01 \x03(\x0b\x32:.proto_types.DepsFoundDuplicatePackage.RemovedPackageEntry\x1a\x35\n\x13RemovedPackageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"z\n\x1c\x44\x65psFoundDuplicatePackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.DepsFoundDuplicatePackage\"$\n\x12\x44\x65psVersionMissing\x12\x0e\n\x06source\x18\x01 \x01(\t\"l\n\x15\x44\x65psVersionMissingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.DepsVersionMissing\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Note\"\xec\x01\n\x0eResourceReport\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ommand_success\x18\x03 \x01(\x08\x12\x1f\n\x17\x63ommand_wall_clock_time\x18\x04 \x01(\x02\x12\x19\n\x11process_user_time\x18\x05 \x01(\x02\x12\x1b\n\x13process_kernel_time\x18\x06 \x01(\x02\x12\x1b\n\x13process_mem_max_rss\x18\x07 \x01(\x03\x12\x19\n\x11process_in_blocks\x18\x08 \x01(\x03\x12\x1a\n\x12process_out_blocks\x18\t \x01(\x03\"d\n\x11ResourceReportMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ResourceReportb\x06proto3') -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', _globals) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -37,902 +36,902 @@ _LOGSNAPSHOTRESULT_CFGENTRY._serialized_options = b'8\001' _STATSLINE_STATSENTRY._options = None _STATSLINE_STATSENTRY._serialized_options = b'8\001' - _globals['_EVENTINFO']._serialized_start=92 - _globals['_EVENTINFO']._serialized_end=365 - _globals['_EVENTINFO_EXTRAENTRY']._serialized_start=321 - _globals['_EVENTINFO_EXTRAENTRY']._serialized_end=365 - _globals['_TIMINGINFOMSG']._serialized_start=367 - _globals['_TIMINGINFOMSG']._serialized_end=494 - _globals['_NODERELATION']._serialized_start=496 - _globals['_NODERELATION']._serialized_end=582 - _globals['_NODEINFO']._serialized_start=585 - _globals['_NODEINFO']._serialized_end=858 - _globals['_RUNRESULTMSG']._serialized_start=861 - _globals['_RUNRESULTMSG']._serialized_end=1070 - _globals['_REFERENCEKEYMSG']._serialized_start=1072 - _globals['_REFERENCEKEYMSG']._serialized_end=1143 - _globals['_COLUMNTYPE']._serialized_start=1145 - _globals['_COLUMNTYPE']._serialized_end=1237 - _globals['_COLUMNCONSTRAINT']._serialized_start=1239 - _globals['_COLUMNCONSTRAINT']._serialized_end=1328 - _globals['_MODELCONSTRAINT']._serialized_start=1330 - _globals['_MODELCONSTRAINT']._serialized_end=1414 - _globals['_GENERICMESSAGE']._serialized_start=1416 - _globals['_GENERICMESSAGE']._serialized_end=1470 - _globals['_MAINREPORTVERSION']._serialized_start=1472 - _globals['_MAINREPORTVERSION']._serialized_end=1529 - _globals['_MAINREPORTVERSIONMSG']._serialized_start=1531 - _globals['_MAINREPORTVERSIONMSG']._serialized_end=1637 - _globals['_MAINREPORTARGS']._serialized_start=1639 - _globals['_MAINREPORTARGS']._serialized_end=1753 - _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_start=1710 - _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_end=1753 - _globals['_MAINREPORTARGSMSG']._serialized_start=1755 - _globals['_MAINREPORTARGSMSG']._serialized_end=1855 - _globals['_MAINTRACKINGUSERSTATE']._serialized_start=1857 - _globals['_MAINTRACKINGUSERSTATE']._serialized_end=1900 - _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_start=1902 - _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_end=2016 - _globals['_MERGEDFROMSTATE']._serialized_start=2018 - _globals['_MERGEDFROMSTATE']._serialized_end=2071 - _globals['_MERGEDFROMSTATEMSG']._serialized_start=2073 - _globals['_MERGEDFROMSTATEMSG']._serialized_end=2175 - _globals['_MISSINGPROFILETARGET']._serialized_start=2177 - _globals['_MISSINGPROFILETARGET']._serialized_end=2242 - _globals['_MISSINGPROFILETARGETMSG']._serialized_start=2244 - _globals['_MISSINGPROFILETARGETMSG']._serialized_end=2356 - _globals['_INVALIDOPTIONYAML']._serialized_start=2358 - _globals['_INVALIDOPTIONYAML']._serialized_end=2398 - _globals['_INVALIDOPTIONYAMLMSG']._serialized_start=2400 - _globals['_INVALIDOPTIONYAMLMSG']._serialized_end=2506 - _globals['_LOGDBTPROJECTERROR']._serialized_start=2508 - _globals['_LOGDBTPROJECTERROR']._serialized_end=2541 - _globals['_LOGDBTPROJECTERRORMSG']._serialized_start=2543 - _globals['_LOGDBTPROJECTERRORMSG']._serialized_end=2651 - _globals['_LOGDBTPROFILEERROR']._serialized_start=2653 - _globals['_LOGDBTPROFILEERROR']._serialized_end=2704 - _globals['_LOGDBTPROFILEERRORMSG']._serialized_start=2706 - _globals['_LOGDBTPROFILEERRORMSG']._serialized_end=2814 - _globals['_STARTERPROJECTPATH']._serialized_start=2816 - _globals['_STARTERPROJECTPATH']._serialized_end=2849 - _globals['_STARTERPROJECTPATHMSG']._serialized_start=2851 - _globals['_STARTERPROJECTPATHMSG']._serialized_end=2959 - _globals['_CONFIGFOLDERDIRECTORY']._serialized_start=2961 - _globals['_CONFIGFOLDERDIRECTORY']._serialized_end=2997 - _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_start=2999 - _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_end=3113 - _globals['_NOSAMPLEPROFILEFOUND']._serialized_start=3115 - _globals['_NOSAMPLEPROFILEFOUND']._serialized_end=3154 - _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_start=3156 - _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_end=3268 - _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_start=3270 - _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_end=3324 - _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_start=3326 - _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_end=3446 - _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_start=3448 - _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_end=3514 - _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_start=3517 - _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_end=3661 - _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_start=3663 - _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_end=3730 - _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_start=3733 - _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_end=3879 - _globals['_SETTINGUPPROFILE']._serialized_start=3881 - _globals['_SETTINGUPPROFILE']._serialized_end=3899 - _globals['_SETTINGUPPROFILEMSG']._serialized_start=3901 - _globals['_SETTINGUPPROFILEMSG']._serialized_end=4005 - _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_start=4007 - _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_end=4035 - _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_start=4037 - _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_end=4161 - _globals['_PROJECTNAMEALREADYEXISTS']._serialized_start=4163 - _globals['_PROJECTNAMEALREADYEXISTS']._serialized_end=4203 - _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_start=4205 - _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_end=4325 - _globals['_PROJECTCREATED']._serialized_start=4327 - _globals['_PROJECTCREATED']._serialized_end=4402 - _globals['_PROJECTCREATEDMSG']._serialized_start=4404 - _globals['_PROJECTCREATEDMSG']._serialized_end=4504 - _globals['_PACKAGEREDIRECTDEPRECATION']._serialized_start=4506 - _globals['_PACKAGEREDIRECTDEPRECATION']._serialized_end=4570 - _globals['_PACKAGEREDIRECTDEPRECATIONMSG']._serialized_start=4572 - _globals['_PACKAGEREDIRECTDEPRECATIONMSG']._serialized_end=4696 - _globals['_PACKAGEINSTALLPATHDEPRECATION']._serialized_start=4698 - _globals['_PACKAGEINSTALLPATHDEPRECATION']._serialized_end=4729 - _globals['_PACKAGEINSTALLPATHDEPRECATIONMSG']._serialized_start=4732 - _globals['_PACKAGEINSTALLPATHDEPRECATIONMSG']._serialized_end=4862 - _globals['_CONFIGSOURCEPATHDEPRECATION']._serialized_start=4864 - _globals['_CONFIGSOURCEPATHDEPRECATION']._serialized_end=4936 - _globals['_CONFIGSOURCEPATHDEPRECATIONMSG']._serialized_start=4938 - _globals['_CONFIGSOURCEPATHDEPRECATIONMSG']._serialized_end=5064 - _globals['_CONFIGDATAPATHDEPRECATION']._serialized_start=5066 - _globals['_CONFIGDATAPATHDEPRECATION']._serialized_end=5136 - _globals['_CONFIGDATAPATHDEPRECATIONMSG']._serialized_start=5138 - _globals['_CONFIGDATAPATHDEPRECATIONMSG']._serialized_end=5260 - _globals['_ADAPTERDEPRECATIONWARNING']._serialized_start=5262 - _globals['_ADAPTERDEPRECATIONWARNING']._serialized_end=5325 - _globals['_ADAPTERDEPRECATIONWARNINGMSG']._serialized_start=5327 - _globals['_ADAPTERDEPRECATIONWARNINGMSG']._serialized_end=5449 - _globals['_METRICATTRIBUTESRENAMED']._serialized_start=5451 - _globals['_METRICATTRIBUTESRENAMED']._serialized_end=5497 - _globals['_METRICATTRIBUTESRENAMEDMSG']._serialized_start=5499 - _globals['_METRICATTRIBUTESRENAMEDMSG']._serialized_end=5617 - _globals['_EXPOSURENAMEDEPRECATION']._serialized_start=5619 - _globals['_EXPOSURENAMEDEPRECATION']._serialized_end=5662 - _globals['_EXPOSURENAMEDEPRECATIONMSG']._serialized_start=5664 - _globals['_EXPOSURENAMEDEPRECATIONMSG']._serialized_end=5782 - _globals['_INTERNALDEPRECATION']._serialized_start=5784 - _globals['_INTERNALDEPRECATION']._serialized_end=5878 - _globals['_INTERNALDEPRECATIONMSG']._serialized_start=5880 - _globals['_INTERNALDEPRECATIONMSG']._serialized_end=5990 - _globals['_ENVIRONMENTVARIABLERENAMED']._serialized_start=5992 - _globals['_ENVIRONMENTVARIABLERENAMED']._serialized_end=6056 - _globals['_ENVIRONMENTVARIABLERENAMEDMSG']._serialized_start=6058 - _globals['_ENVIRONMENTVARIABLERENAMEDMSG']._serialized_end=6182 - _globals['_CONFIGLOGPATHDEPRECATION']._serialized_start=6184 - _globals['_CONFIGLOGPATHDEPRECATION']._serialized_end=6235 - _globals['_CONFIGLOGPATHDEPRECATIONMSG']._serialized_start=6237 - _globals['_CONFIGLOGPATHDEPRECATIONMSG']._serialized_end=6357 - _globals['_CONFIGTARGETPATHDEPRECATION']._serialized_start=6359 - _globals['_CONFIGTARGETPATHDEPRECATION']._serialized_end=6413 - _globals['_CONFIGTARGETPATHDEPRECATIONMSG']._serialized_start=6415 - _globals['_CONFIGTARGETPATHDEPRECATIONMSG']._serialized_end=6541 - _globals['_COLLECTFRESHNESSRETURNSIGNATURE']._serialized_start=6543 - _globals['_COLLECTFRESHNESSRETURNSIGNATURE']._serialized_end=6576 - _globals['_COLLECTFRESHNESSRETURNSIGNATUREMSG']._serialized_start=6579 - _globals['_COLLECTFRESHNESSRETURNSIGNATUREMSG']._serialized_end=6713 - _globals['_ADAPTEREVENTDEBUG']._serialized_start=6716 - _globals['_ADAPTEREVENTDEBUG']._serialized_end=6851 - _globals['_ADAPTEREVENTDEBUGMSG']._serialized_start=6853 - _globals['_ADAPTEREVENTDEBUGMSG']._serialized_end=6959 - _globals['_ADAPTEREVENTINFO']._serialized_start=6962 - _globals['_ADAPTEREVENTINFO']._serialized_end=7096 - _globals['_ADAPTEREVENTINFOMSG']._serialized_start=7098 - _globals['_ADAPTEREVENTINFOMSG']._serialized_end=7202 - _globals['_ADAPTEREVENTWARNING']._serialized_start=7205 - _globals['_ADAPTEREVENTWARNING']._serialized_end=7342 - _globals['_ADAPTEREVENTWARNINGMSG']._serialized_start=7344 - _globals['_ADAPTEREVENTWARNINGMSG']._serialized_end=7454 - _globals['_ADAPTEREVENTERROR']._serialized_start=7457 - _globals['_ADAPTEREVENTERROR']._serialized_end=7610 - _globals['_ADAPTEREVENTERRORMSG']._serialized_start=7612 - _globals['_ADAPTEREVENTERRORMSG']._serialized_end=7718 - _globals['_NEWCONNECTION']._serialized_start=7720 - _globals['_NEWCONNECTION']._serialized_end=7815 - _globals['_NEWCONNECTIONMSG']._serialized_start=7817 - _globals['_NEWCONNECTIONMSG']._serialized_end=7915 - _globals['_CONNECTIONREUSED']._serialized_start=7917 - _globals['_CONNECTIONREUSED']._serialized_end=7978 - _globals['_CONNECTIONREUSEDMSG']._serialized_start=7980 - _globals['_CONNECTIONREUSEDMSG']._serialized_end=8084 - _globals['_CONNECTIONLEFTOPENINCLEANUP']._serialized_start=8086 - _globals['_CONNECTIONLEFTOPENINCLEANUP']._serialized_end=8134 - _globals['_CONNECTIONLEFTOPENINCLEANUPMSG']._serialized_start=8136 - _globals['_CONNECTIONLEFTOPENINCLEANUPMSG']._serialized_end=8262 - _globals['_CONNECTIONCLOSEDINCLEANUP']._serialized_start=8264 - _globals['_CONNECTIONCLOSEDINCLEANUP']._serialized_end=8310 - _globals['_CONNECTIONCLOSEDINCLEANUPMSG']._serialized_start=8312 - _globals['_CONNECTIONCLOSEDINCLEANUPMSG']._serialized_end=8434 - _globals['_ROLLBACKFAILED']._serialized_start=8436 - _globals['_ROLLBACKFAILED']._serialized_end=8531 - _globals['_ROLLBACKFAILEDMSG']._serialized_start=8533 - _globals['_ROLLBACKFAILEDMSG']._serialized_end=8633 - _globals['_CONNECTIONCLOSED']._serialized_start=8635 - _globals['_CONNECTIONCLOSED']._serialized_end=8714 - _globals['_CONNECTIONCLOSEDMSG']._serialized_start=8716 - _globals['_CONNECTIONCLOSEDMSG']._serialized_end=8820 - _globals['_CONNECTIONLEFTOPEN']._serialized_start=8822 - _globals['_CONNECTIONLEFTOPEN']._serialized_end=8903 - _globals['_CONNECTIONLEFTOPENMSG']._serialized_start=8905 - _globals['_CONNECTIONLEFTOPENMSG']._serialized_end=9013 - _globals['_ROLLBACK']._serialized_start=9015 - _globals['_ROLLBACK']._serialized_end=9086 - _globals['_ROLLBACKMSG']._serialized_start=9088 - _globals['_ROLLBACKMSG']._serialized_end=9176 - _globals['_CACHEMISS']._serialized_start=9178 - _globals['_CACHEMISS']._serialized_end=9242 - _globals['_CACHEMISSMSG']._serialized_start=9244 - _globals['_CACHEMISSMSG']._serialized_end=9334 - _globals['_LISTRELATIONS']._serialized_start=9336 - _globals['_LISTRELATIONS']._serialized_end=9434 - _globals['_LISTRELATIONSMSG']._serialized_start=9436 - _globals['_LISTRELATIONSMSG']._serialized_end=9534 - _globals['_CONNECTIONUSED']._serialized_start=9536 - _globals['_CONNECTIONUSED']._serialized_end=9632 - _globals['_CONNECTIONUSEDMSG']._serialized_start=9634 - _globals['_CONNECTIONUSEDMSG']._serialized_end=9734 - _globals['_SQLQUERY']._serialized_start=9736 - _globals['_SQLQUERY']._serialized_end=9820 - _globals['_SQLQUERYMSG']._serialized_start=9822 - _globals['_SQLQUERYMSG']._serialized_end=9910 - _globals['_SQLQUERYSTATUS']._serialized_start=9912 - _globals['_SQLQUERYSTATUS']._serialized_end=10003 - _globals['_SQLQUERYSTATUSMSG']._serialized_start=10005 - _globals['_SQLQUERYSTATUSMSG']._serialized_end=10105 - _globals['_SQLCOMMIT']._serialized_start=10107 - _globals['_SQLCOMMIT']._serialized_end=10179 - _globals['_SQLCOMMITMSG']._serialized_start=10181 - _globals['_SQLCOMMITMSG']._serialized_end=10271 - _globals['_COLTYPECHANGE']._serialized_start=10273 - _globals['_COLTYPECHANGE']._serialized_end=10370 - _globals['_COLTYPECHANGEMSG']._serialized_start=10372 - _globals['_COLTYPECHANGEMSG']._serialized_end=10470 - _globals['_SCHEMACREATION']._serialized_start=10472 - _globals['_SCHEMACREATION']._serialized_end=10536 - _globals['_SCHEMACREATIONMSG']._serialized_start=10538 - _globals['_SCHEMACREATIONMSG']._serialized_end=10638 - _globals['_SCHEMADROP']._serialized_start=10640 - _globals['_SCHEMADROP']._serialized_end=10700 - _globals['_SCHEMADROPMSG']._serialized_start=10702 - _globals['_SCHEMADROPMSG']._serialized_end=10794 - _globals['_CACHEACTION']._serialized_start=10797 - _globals['_CACHEACTION']._serialized_end=11019 - _globals['_CACHEACTIONMSG']._serialized_start=11021 - _globals['_CACHEACTIONMSG']._serialized_end=11115 - _globals['_CACHEDUMPGRAPH']._serialized_start=11118 - _globals['_CACHEDUMPGRAPH']._serialized_end=11270 - _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_start=11227 - _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_end=11270 - _globals['_CACHEDUMPGRAPHMSG']._serialized_start=11272 - _globals['_CACHEDUMPGRAPHMSG']._serialized_end=11372 - _globals['_ADAPTERREGISTERED']._serialized_start=11374 - _globals['_ADAPTERREGISTERED']._serialized_end=11440 - _globals['_ADAPTERREGISTEREDMSG']._serialized_start=11442 - _globals['_ADAPTERREGISTEREDMSG']._serialized_end=11548 - _globals['_ADAPTERIMPORTERROR']._serialized_start=11550 - _globals['_ADAPTERIMPORTERROR']._serialized_end=11583 - _globals['_ADAPTERIMPORTERRORMSG']._serialized_start=11585 - _globals['_ADAPTERIMPORTERRORMSG']._serialized_end=11693 - _globals['_PLUGINLOADERROR']._serialized_start=11695 - _globals['_PLUGINLOADERROR']._serialized_end=11730 - _globals['_PLUGINLOADERRORMSG']._serialized_start=11732 - _globals['_PLUGINLOADERRORMSG']._serialized_end=11834 - _globals['_NEWCONNECTIONOPENING']._serialized_start=11836 - _globals['_NEWCONNECTIONOPENING']._serialized_end=11926 - _globals['_NEWCONNECTIONOPENINGMSG']._serialized_start=11928 - _globals['_NEWCONNECTIONOPENINGMSG']._serialized_end=12040 - _globals['_CODEEXECUTION']._serialized_start=12042 - _globals['_CODEEXECUTION']._serialized_end=12098 - _globals['_CODEEXECUTIONMSG']._serialized_start=12100 - _globals['_CODEEXECUTIONMSG']._serialized_end=12198 - _globals['_CODEEXECUTIONSTATUS']._serialized_start=12200 - _globals['_CODEEXECUTIONSTATUS']._serialized_end=12254 - _globals['_CODEEXECUTIONSTATUSMSG']._serialized_start=12256 - _globals['_CODEEXECUTIONSTATUSMSG']._serialized_end=12366 - _globals['_CATALOGGENERATIONERROR']._serialized_start=12368 - _globals['_CATALOGGENERATIONERROR']._serialized_end=12405 - _globals['_CATALOGGENERATIONERRORMSG']._serialized_start=12407 - _globals['_CATALOGGENERATIONERRORMSG']._serialized_end=12523 - _globals['_WRITECATALOGFAILURE']._serialized_start=12525 - _globals['_WRITECATALOGFAILURE']._serialized_end=12570 - _globals['_WRITECATALOGFAILUREMSG']._serialized_start=12572 - _globals['_WRITECATALOGFAILUREMSG']._serialized_end=12682 - _globals['_CATALOGWRITTEN']._serialized_start=12684 - _globals['_CATALOGWRITTEN']._serialized_end=12714 - _globals['_CATALOGWRITTENMSG']._serialized_start=12716 - _globals['_CATALOGWRITTENMSG']._serialized_end=12816 - _globals['_CANNOTGENERATEDOCS']._serialized_start=12818 - _globals['_CANNOTGENERATEDOCS']._serialized_end=12838 - _globals['_CANNOTGENERATEDOCSMSG']._serialized_start=12840 - _globals['_CANNOTGENERATEDOCSMSG']._serialized_end=12948 - _globals['_BUILDINGCATALOG']._serialized_start=12950 - _globals['_BUILDINGCATALOG']._serialized_end=12967 - _globals['_BUILDINGCATALOGMSG']._serialized_start=12969 - _globals['_BUILDINGCATALOGMSG']._serialized_end=13071 - _globals['_DATABASEERRORRUNNINGHOOK']._serialized_start=13073 - _globals['_DATABASEERRORRUNNINGHOOK']._serialized_end=13118 - _globals['_DATABASEERRORRUNNINGHOOKMSG']._serialized_start=13120 - _globals['_DATABASEERRORRUNNINGHOOKMSG']._serialized_end=13240 - _globals['_HOOKSRUNNING']._serialized_start=13242 - _globals['_HOOKSRUNNING']._serialized_end=13294 - _globals['_HOOKSRUNNINGMSG']._serialized_start=13296 - _globals['_HOOKSRUNNINGMSG']._serialized_end=13392 - _globals['_FINISHEDRUNNINGSTATS']._serialized_start=13394 - _globals['_FINISHEDRUNNINGSTATS']._serialized_end=13478 - _globals['_FINISHEDRUNNINGSTATSMSG']._serialized_start=13480 - _globals['_FINISHEDRUNNINGSTATSMSG']._serialized_end=13592 - _globals['_CONSTRAINTNOTENFORCED']._serialized_start=13594 - _globals['_CONSTRAINTNOTENFORCED']._serialized_end=13654 - _globals['_CONSTRAINTNOTENFORCEDMSG']._serialized_start=13656 - _globals['_CONSTRAINTNOTENFORCEDMSG']._serialized_end=13770 - _globals['_CONSTRAINTNOTSUPPORTED']._serialized_start=13772 - _globals['_CONSTRAINTNOTSUPPORTED']._serialized_end=13833 - _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_start=13835 - _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_end=13951 - _globals['_INPUTFILEDIFFERROR']._serialized_start=13953 - _globals['_INPUTFILEDIFFERROR']._serialized_end=14008 - _globals['_INPUTFILEDIFFERRORMSG']._serialized_start=14010 - _globals['_INPUTFILEDIFFERRORMSG']._serialized_end=14118 - _globals['_INVALIDVALUEFORFIELD']._serialized_start=14120 - _globals['_INVALIDVALUEFORFIELD']._serialized_end=14183 - _globals['_INVALIDVALUEFORFIELDMSG']._serialized_start=14185 - _globals['_INVALIDVALUEFORFIELDMSG']._serialized_end=14297 - _globals['_VALIDATIONWARNING']._serialized_start=14299 - _globals['_VALIDATIONWARNING']._serialized_end=14380 - _globals['_VALIDATIONWARNINGMSG']._serialized_start=14382 - _globals['_VALIDATIONWARNINGMSG']._serialized_end=14488 - _globals['_PARSEPERFINFOPATH']._serialized_start=14490 - _globals['_PARSEPERFINFOPATH']._serialized_end=14523 - _globals['_PARSEPERFINFOPATHMSG']._serialized_start=14525 - _globals['_PARSEPERFINFOPATHMSG']._serialized_end=14631 - _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_start=14633 - _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_end=14682 - _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_start=14685 - _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_end=14823 - _globals['_PARTIALPARSINGERROR']._serialized_start=14826 - _globals['_PARTIALPARSINGERROR']._serialized_end=14960 - _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_start=14914 - _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_end=14960 - _globals['_PARTIALPARSINGERRORMSG']._serialized_start=14962 - _globals['_PARTIALPARSINGERRORMSG']._serialized_end=15072 - _globals['_PARTIALPARSINGSKIPPARSING']._serialized_start=15074 - _globals['_PARTIALPARSINGSKIPPARSING']._serialized_end=15101 - _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_start=15103 - _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_end=15225 - _globals['_UNABLETOPARTIALPARSE']._serialized_start=15227 - _globals['_UNABLETOPARTIALPARSE']._serialized_end=15265 - _globals['_UNABLETOPARTIALPARSEMSG']._serialized_start=15267 - _globals['_UNABLETOPARTIALPARSEMSG']._serialized_end=15379 - _globals['_STATECHECKVARSHASH']._serialized_start=15381 - _globals['_STATECHECKVARSHASH']._serialized_end=15483 - _globals['_STATECHECKVARSHASHMSG']._serialized_start=15485 - _globals['_STATECHECKVARSHASHMSG']._serialized_end=15593 - _globals['_PARTIALPARSINGNOTENABLED']._serialized_start=15595 - _globals['_PARTIALPARSINGNOTENABLED']._serialized_end=15621 - _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_start=15623 - _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_end=15743 - _globals['_PARSEDFILELOADFAILED']._serialized_start=15745 - _globals['_PARSEDFILELOADFAILED']._serialized_end=15812 - _globals['_PARSEDFILELOADFAILEDMSG']._serialized_start=15814 - _globals['_PARSEDFILELOADFAILEDMSG']._serialized_end=15926 - _globals['_PARTIALPARSINGENABLED']._serialized_start=15928 - _globals['_PARTIALPARSINGENABLED']._serialized_end=16000 - _globals['_PARTIALPARSINGENABLEDMSG']._serialized_start=16002 - _globals['_PARTIALPARSINGENABLEDMSG']._serialized_end=16116 - _globals['_PARTIALPARSINGFILE']._serialized_start=16118 - _globals['_PARTIALPARSINGFILE']._serialized_end=16174 - _globals['_PARTIALPARSINGFILEMSG']._serialized_start=16176 - _globals['_PARTIALPARSINGFILEMSG']._serialized_end=16284 - _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_start=16287 - _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_end=16462 - _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_start=16465 - _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_end=16599 - _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_start=16601 - _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_end=16656 - _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_start=16658 - _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_end=16778 - _globals['_SEEDINCREASED']._serialized_start=16780 - _globals['_SEEDINCREASED']._serialized_end=16831 - _globals['_SEEDINCREASEDMSG']._serialized_start=16833 - _globals['_SEEDINCREASEDMSG']._serialized_end=16931 - _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_start=16933 - _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_end=16995 - _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_start=16997 - _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_end=17117 - _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_start=17119 - _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_end=17187 - _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_start=17190 - _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_end=17322 - _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_start=17324 - _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_end=17416 - _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_start=17419 - _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_end=17553 - _globals['_UNUSEDTABLES']._serialized_start=17555 - _globals['_UNUSEDTABLES']._serialized_end=17592 - _globals['_UNUSEDTABLESMSG']._serialized_start=17594 - _globals['_UNUSEDTABLESMSG']._serialized_end=17690 - _globals['_WRONGRESOURCESCHEMAFILE']._serialized_start=17693 - _globals['_WRONGRESOURCESCHEMAFILE']._serialized_end=17828 - _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_start=17830 - _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_end=17948 - _globals['_NONODEFORYAMLKEY']._serialized_start=17950 - _globals['_NONODEFORYAMLKEY']._serialized_end=18025 - _globals['_NONODEFORYAMLKEYMSG']._serialized_start=18027 - _globals['_NONODEFORYAMLKEYMSG']._serialized_end=18131 - _globals['_MACRONOTFOUNDFORPATCH']._serialized_start=18133 - _globals['_MACRONOTFOUNDFORPATCH']._serialized_end=18176 - _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_start=18178 - _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_end=18292 - _globals['_NODENOTFOUNDORDISABLED']._serialized_start=18295 - _globals['_NODENOTFOUNDORDISABLED']._serialized_end=18479 - _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_start=18481 - _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_end=18597 - _globals['_JINJALOGWARNING']._serialized_start=18599 - _globals['_JINJALOGWARNING']._serialized_end=18671 - _globals['_JINJALOGWARNINGMSG']._serialized_start=18673 - _globals['_JINJALOGWARNINGMSG']._serialized_end=18775 - _globals['_JINJALOGINFO']._serialized_start=18777 - _globals['_JINJALOGINFO']._serialized_end=18846 - _globals['_JINJALOGINFOMSG']._serialized_start=18848 - _globals['_JINJALOGINFOMSG']._serialized_end=18944 - _globals['_JINJALOGDEBUG']._serialized_start=18946 - _globals['_JINJALOGDEBUG']._serialized_end=19016 - _globals['_JINJALOGDEBUGMSG']._serialized_start=19018 - _globals['_JINJALOGDEBUGMSG']._serialized_end=19116 - _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_start=19119 - _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_end=19293 - _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_start=19296 - _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_end=19428 - _globals['_DEPRECATEDMODEL']._serialized_start=19430 - _globals['_DEPRECATEDMODEL']._serialized_end=19516 - _globals['_DEPRECATEDMODELMSG']._serialized_start=19518 - _globals['_DEPRECATEDMODELMSG']._serialized_end=19620 - _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_start=19623 - _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_end=19821 - _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_start=19824 - _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_end=19952 - _globals['_DEPRECATEDREFERENCE']._serialized_start=19955 - _globals['_DEPRECATEDREFERENCE']._serialized_end=20144 - _globals['_DEPRECATEDREFERENCEMSG']._serialized_start=20146 - _globals['_DEPRECATEDREFERENCEMSG']._serialized_end=20256 - _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_start=20258 - _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_end=20318 - _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_start=20321 - _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_end=20465 - _globals['_PARSEINLINENODEERROR']._serialized_start=20467 - _globals['_PARSEINLINENODEERROR']._serialized_end=20544 - _globals['_PARSEINLINENODEERRORMSG']._serialized_start=20546 - _globals['_PARSEINLINENODEERRORMSG']._serialized_end=20658 - _globals['_SEMANTICVALIDATIONFAILURE']._serialized_start=20660 - _globals['_SEMANTICVALIDATIONFAILURE']._serialized_end=20700 - _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_start=20702 - _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_end=20824 - _globals['_UNVERSIONEDBREAKINGCHANGE']._serialized_start=20827 - _globals['_UNVERSIONEDBREAKINGCHANGE']._serialized_end=21221 - _globals['_UNVERSIONEDBREAKINGCHANGEMSG']._serialized_start=21223 - _globals['_UNVERSIONEDBREAKINGCHANGEMSG']._serialized_end=21345 - _globals['_WARNSTATETARGETEQUAL']._serialized_start=21347 - _globals['_WARNSTATETARGETEQUAL']._serialized_end=21389 - _globals['_WARNSTATETARGETEQUALMSG']._serialized_start=21391 - _globals['_WARNSTATETARGETEQUALMSG']._serialized_end=21503 - _globals['_FRESHNESSCONFIGPROBLEM']._serialized_start=21505 - _globals['_FRESHNESSCONFIGPROBLEM']._serialized_end=21542 - _globals['_FRESHNESSCONFIGPROBLEMMSG']._serialized_start=21544 - _globals['_FRESHNESSCONFIGPROBLEMMSG']._serialized_end=21660 - _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_start=21662 - _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_end=21709 - _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_start=21712 - _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_end=21842 - _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_start=21844 - _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_end=21891 - _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_start=21893 - _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_end=22019 - _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_start=22021 - _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_end=22073 - _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_start=22076 - _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_end=22222 - _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_start=22224 - _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_end=22270 - _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_start=22273 - _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_end=22407 - _globals['_GITNOTHINGTODO']._serialized_start=22409 - _globals['_GITNOTHINGTODO']._serialized_end=22438 - _globals['_GITNOTHINGTODOMSG']._serialized_start=22440 - _globals['_GITNOTHINGTODOMSG']._serialized_end=22540 - _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_start=22542 - _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_end=22611 - _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_start=22614 - _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_end=22748 - _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_start=22750 - _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_end=22792 - _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_start=22794 - _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_end=22912 - _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_start=22914 - _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_end=22955 - _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_start=22957 - _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_end=23081 - _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_start=23083 - _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_end=23144 - _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_start=23146 - _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_end=23272 - _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_start=23274 - _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_end=23369 - _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_start=23372 - _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_end=23502 - _globals['_DEPSNOPACKAGESFOUND']._serialized_start=23504 - _globals['_DEPSNOPACKAGESFOUND']._serialized_end=23525 - _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_start=23527 - _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_end=23637 - _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_start=23639 - _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_end=23686 - _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_start=23688 - _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_end=23806 - _globals['_DEPSINSTALLINFO']._serialized_start=23808 - _globals['_DEPSINSTALLINFO']._serialized_end=23847 - _globals['_DEPSINSTALLINFOMSG']._serialized_start=23849 - _globals['_DEPSINSTALLINFOMSG']._serialized_end=23951 - _globals['_DEPSUPDATEAVAILABLE']._serialized_start=23953 - _globals['_DEPSUPDATEAVAILABLE']._serialized_end=23998 - _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_start=24000 - _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_end=24110 - _globals['_DEPSUPTODATE']._serialized_start=24112 - _globals['_DEPSUPTODATE']._serialized_end=24126 - _globals['_DEPSUPTODATEMSG']._serialized_start=24128 - _globals['_DEPSUPTODATEMSG']._serialized_end=24224 - _globals['_DEPSLISTSUBDIRECTORY']._serialized_start=24226 - _globals['_DEPSLISTSUBDIRECTORY']._serialized_end=24270 - _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_start=24272 - _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_end=24384 - _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_start=24386 - _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_end=24432 - _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_start=24434 - _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_end=24558 - _globals['_RETRYEXTERNALCALL']._serialized_start=24560 - _globals['_RETRYEXTERNALCALL']._serialized_end=24609 - _globals['_RETRYEXTERNALCALLMSG']._serialized_start=24611 - _globals['_RETRYEXTERNALCALLMSG']._serialized_end=24717 - _globals['_RECORDRETRYEXCEPTION']._serialized_start=24719 - _globals['_RECORDRETRYEXCEPTION']._serialized_end=24754 - _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_start=24756 - _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_end=24868 - _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_start=24870 - _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_end=24916 - _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_start=24919 - _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_end=25053 - _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_start=25055 - _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_end=25121 - _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_start=25124 - _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_end=25260 - _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_start=25262 - _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_end=25312 - _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_start=25315 - _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_end=25447 - _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_start=25449 - _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_end=25499 - _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_start=25502 - _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_end=25634 - _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_start=25636 - _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_end=25689 - _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_start=25692 - _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_end=25830 - _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_start=25832 - _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_end=25883 - _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_start=25886 - _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_end=26020 - _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_start=26022 - _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_end=26062 - _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_start=26064 - _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_end=26184 - _globals['_DEPSUNPINNED']._serialized_start=26186 - _globals['_DEPSUNPINNED']._serialized_end=26231 - _globals['_DEPSUNPINNEDMSG']._serialized_start=26233 - _globals['_DEPSUNPINNEDMSG']._serialized_end=26329 - _globals['_NONODESFORSELECTIONCRITERIA']._serialized_start=26331 - _globals['_NONODESFORSELECTIONCRITERIA']._serialized_end=26378 - _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_start=26380 - _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_end=26506 - _globals['_DEPSLOCKUPDATING']._serialized_start=26508 - _globals['_DEPSLOCKUPDATING']._serialized_end=26549 - _globals['_DEPSLOCKUPDATINGMSG']._serialized_start=26551 - _globals['_DEPSLOCKUPDATINGMSG']._serialized_end=26655 - _globals['_DEPSADDPACKAGE']._serialized_start=26657 - _globals['_DEPSADDPACKAGE']._serialized_end=26739 - _globals['_DEPSADDPACKAGEMSG']._serialized_start=26741 - _globals['_DEPSADDPACKAGEMSG']._serialized_end=26841 - _globals['_DEPSFOUNDDUPLICATEPACKAGE']._serialized_start=26844 - _globals['_DEPSFOUNDDUPLICATEPACKAGE']._serialized_end=27011 - _globals['_DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY']._serialized_start=26958 - _globals['_DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY']._serialized_end=27011 - _globals['_DEPSFOUNDDUPLICATEPACKAGEMSG']._serialized_start=27013 - _globals['_DEPSFOUNDDUPLICATEPACKAGEMSG']._serialized_end=27135 - _globals['_DEPSVERSIONMISSING']._serialized_start=27137 - _globals['_DEPSVERSIONMISSING']._serialized_end=27173 - _globals['_DEPSVERSIONMISSINGMSG']._serialized_start=27175 - _globals['_DEPSVERSIONMISSINGMSG']._serialized_end=27283 - _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_start=27285 - _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_end=27327 - _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_start=27329 - _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_end=27455 - _globals['_COMPILECOMPLETE']._serialized_start=27457 - _globals['_COMPILECOMPLETE']._serialized_end=27474 - _globals['_COMPILECOMPLETEMSG']._serialized_start=27476 - _globals['_COMPILECOMPLETEMSG']._serialized_end=27578 - _globals['_FRESHNESSCHECKCOMPLETE']._serialized_start=27580 - _globals['_FRESHNESSCHECKCOMPLETE']._serialized_end=27604 - _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_start=27606 - _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_end=27722 - _globals['_SEEDHEADER']._serialized_start=27724 - _globals['_SEEDHEADER']._serialized_end=27752 - _globals['_SEEDHEADERMSG']._serialized_start=27754 - _globals['_SEEDHEADERMSG']._serialized_end=27846 - _globals['_SQLRUNNEREXCEPTION']._serialized_start=27848 - _globals['_SQLRUNNEREXCEPTION']._serialized_end=27899 - _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_start=27901 - _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_end=28009 - _globals['_LOGTESTRESULT']._serialized_start=28012 - _globals['_LOGTESTRESULT']._serialized_end=28180 - _globals['_LOGTESTRESULTMSG']._serialized_start=28182 - _globals['_LOGTESTRESULTMSG']._serialized_end=28280 - _globals['_LOGSTARTLINE']._serialized_start=28282 - _globals['_LOGSTARTLINE']._serialized_end=28389 - _globals['_LOGSTARTLINEMSG']._serialized_start=28391 - _globals['_LOGSTARTLINEMSG']._serialized_end=28487 - _globals['_LOGMODELRESULT']._serialized_start=28490 - _globals['_LOGMODELRESULT']._serialized_end=28639 - _globals['_LOGMODELRESULTMSG']._serialized_start=28641 - _globals['_LOGMODELRESULTMSG']._serialized_end=28741 - _globals['_LOGSNAPSHOTRESULT']._serialized_start=28744 - _globals['_LOGSNAPSHOTRESULT']._serialized_end=29018 - _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_start=28976 - _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_end=29018 - _globals['_LOGSNAPSHOTRESULTMSG']._serialized_start=29020 - _globals['_LOGSNAPSHOTRESULTMSG']._serialized_end=29126 - _globals['_LOGSEEDRESULT']._serialized_start=29129 - _globals['_LOGSEEDRESULT']._serialized_end=29314 - _globals['_LOGSEEDRESULTMSG']._serialized_start=29316 - _globals['_LOGSEEDRESULTMSG']._serialized_end=29414 - _globals['_LOGFRESHNESSRESULT']._serialized_start=29417 - _globals['_LOGFRESHNESSRESULT']._serialized_end=29590 - _globals['_LOGFRESHNESSRESULTMSG']._serialized_start=29592 - _globals['_LOGFRESHNESSRESULTMSG']._serialized_end=29700 - _globals['_LOGCANCELLINE']._serialized_start=29702 - _globals['_LOGCANCELLINE']._serialized_end=29736 - _globals['_LOGCANCELLINEMSG']._serialized_start=29738 - _globals['_LOGCANCELLINEMSG']._serialized_end=29836 - _globals['_DEFAULTSELECTOR']._serialized_start=29838 - _globals['_DEFAULTSELECTOR']._serialized_end=29869 - _globals['_DEFAULTSELECTORMSG']._serialized_start=29871 - _globals['_DEFAULTSELECTORMSG']._serialized_end=29973 - _globals['_NODESTART']._serialized_start=29975 - _globals['_NODESTART']._serialized_end=30028 - _globals['_NODESTARTMSG']._serialized_start=30030 - _globals['_NODESTARTMSG']._serialized_end=30120 - _globals['_NODEFINISHED']._serialized_start=30122 - _globals['_NODEFINISHED']._serialized_end=30225 - _globals['_NODEFINISHEDMSG']._serialized_start=30227 - _globals['_NODEFINISHEDMSG']._serialized_end=30323 - _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_start=30325 - _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_end=30368 - _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_start=30370 - _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_end=30496 - _globals['_CONCURRENCYLINE']._serialized_start=30498 - _globals['_CONCURRENCYLINE']._serialized_end=30577 - _globals['_CONCURRENCYLINEMSG']._serialized_start=30579 - _globals['_CONCURRENCYLINEMSG']._serialized_end=30681 - _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_start=30683 - _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_end=30752 - _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_start=30754 - _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_end=30876 - _globals['_NODECOMPILING']._serialized_start=30878 - _globals['_NODECOMPILING']._serialized_end=30935 - _globals['_NODECOMPILINGMSG']._serialized_start=30937 - _globals['_NODECOMPILINGMSG']._serialized_end=31035 - _globals['_NODEEXECUTING']._serialized_start=31037 - _globals['_NODEEXECUTING']._serialized_end=31094 - _globals['_NODEEXECUTINGMSG']._serialized_start=31096 - _globals['_NODEEXECUTINGMSG']._serialized_end=31194 - _globals['_LOGHOOKSTARTLINE']._serialized_start=31196 - _globals['_LOGHOOKSTARTLINE']._serialized_end=31305 - _globals['_LOGHOOKSTARTLINEMSG']._serialized_start=31307 - _globals['_LOGHOOKSTARTLINEMSG']._serialized_end=31411 - _globals['_LOGHOOKENDLINE']._serialized_start=31414 - _globals['_LOGHOOKENDLINE']._serialized_end=31561 - _globals['_LOGHOOKENDLINEMSG']._serialized_start=31563 - _globals['_LOGHOOKENDLINEMSG']._serialized_end=31663 - _globals['_SKIPPINGDETAILS']._serialized_start=31666 - _globals['_SKIPPINGDETAILS']._serialized_end=31813 - _globals['_SKIPPINGDETAILSMSG']._serialized_start=31815 - _globals['_SKIPPINGDETAILSMSG']._serialized_end=31917 - _globals['_NOTHINGTODO']._serialized_start=31919 - _globals['_NOTHINGTODO']._serialized_end=31932 - _globals['_NOTHINGTODOMSG']._serialized_start=31934 - _globals['_NOTHINGTODOMSG']._serialized_end=32028 - _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_start=32030 - _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_end=32074 - _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_start=32077 - _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_end=32207 - _globals['_ENDRUNRESULT']._serialized_start=32210 - _globals['_ENDRUNRESULT']._serialized_end=32357 - _globals['_ENDRUNRESULTMSG']._serialized_start=32359 - _globals['_ENDRUNRESULTMSG']._serialized_end=32455 - _globals['_NONODESSELECTED']._serialized_start=32457 - _globals['_NONODESSELECTED']._serialized_end=32474 - _globals['_NONODESSELECTEDMSG']._serialized_start=32476 - _globals['_NONODESSELECTEDMSG']._serialized_end=32578 - _globals['_COMMANDCOMPLETED']._serialized_start=32580 - _globals['_COMMANDCOMPLETED']._serialized_end=32699 - _globals['_COMMANDCOMPLETEDMSG']._serialized_start=32701 - _globals['_COMMANDCOMPLETEDMSG']._serialized_end=32805 - _globals['_SHOWNODE']._serialized_start=32807 - _globals['_SHOWNODE']._serialized_end=32914 - _globals['_SHOWNODEMSG']._serialized_start=32916 - _globals['_SHOWNODEMSG']._serialized_end=33004 - _globals['_COMPILEDNODE']._serialized_start=33006 - _globals['_COMPILEDNODE']._serialized_end=33118 - _globals['_COMPILEDNODEMSG']._serialized_start=33120 - _globals['_COMPILEDNODEMSG']._serialized_end=33216 - _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_start=33218 - _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_end=33316 - _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_start=33318 - _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_end=33436 - _globals['_INTERNALERRORONRUN']._serialized_start=33438 - _globals['_INTERNALERRORONRUN']._serialized_end=33491 - _globals['_INTERNALERRORONRUNMSG']._serialized_start=33493 - _globals['_INTERNALERRORONRUNMSG']._serialized_end=33601 - _globals['_GENERICEXCEPTIONONRUN']._serialized_start=33603 - _globals['_GENERICEXCEPTIONONRUN']._serialized_end=33678 - _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_start=33680 - _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_end=33794 - _globals['_NODECONNECTIONRELEASEERROR']._serialized_start=33796 - _globals['_NODECONNECTIONRELEASEERROR']._serialized_end=33874 - _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_start=33876 - _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_end=34000 - _globals['_FOUNDSTATS']._serialized_start=34002 - _globals['_FOUNDSTATS']._serialized_end=34033 - _globals['_FOUNDSTATSMSG']._serialized_start=34035 - _globals['_FOUNDSTATSMSG']._serialized_end=34127 - _globals['_MAINKEYBOARDINTERRUPT']._serialized_start=34129 - _globals['_MAINKEYBOARDINTERRUPT']._serialized_end=34152 - _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_start=34154 - _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_end=34268 - _globals['_MAINENCOUNTEREDERROR']._serialized_start=34270 - _globals['_MAINENCOUNTEREDERROR']._serialized_end=34305 - _globals['_MAINENCOUNTEREDERRORMSG']._serialized_start=34307 - _globals['_MAINENCOUNTEREDERRORMSG']._serialized_end=34419 - _globals['_MAINSTACKTRACE']._serialized_start=34421 - _globals['_MAINSTACKTRACE']._serialized_end=34458 - _globals['_MAINSTACKTRACEMSG']._serialized_start=34460 - _globals['_MAINSTACKTRACEMSG']._serialized_end=34560 - _globals['_SYSTEMCOULDNOTWRITE']._serialized_start=34562 - _globals['_SYSTEMCOULDNOTWRITE']._serialized_end=34626 - _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_start=34628 - _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_end=34738 - _globals['_SYSTEMEXECUTINGCMD']._serialized_start=34740 - _globals['_SYSTEMEXECUTINGCMD']._serialized_end=34773 - _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_start=34775 - _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_end=34883 - _globals['_SYSTEMSTDOUT']._serialized_start=34885 - _globals['_SYSTEMSTDOUT']._serialized_end=34913 - _globals['_SYSTEMSTDOUTMSG']._serialized_start=34915 - _globals['_SYSTEMSTDOUTMSG']._serialized_end=35011 - _globals['_SYSTEMSTDERR']._serialized_start=35013 - _globals['_SYSTEMSTDERR']._serialized_end=35041 - _globals['_SYSTEMSTDERRMSG']._serialized_start=35043 - _globals['_SYSTEMSTDERRMSG']._serialized_end=35139 - _globals['_SYSTEMREPORTRETURNCODE']._serialized_start=35141 - _globals['_SYSTEMREPORTRETURNCODE']._serialized_end=35185 - _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_start=35187 - _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_end=35303 - _globals['_TIMINGINFOCOLLECTED']._serialized_start=35305 - _globals['_TIMINGINFOCOLLECTED']._serialized_end=35417 - _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_start=35419 - _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_end=35529 - _globals['_LOGDEBUGSTACKTRACE']._serialized_start=35531 - _globals['_LOGDEBUGSTACKTRACE']._serialized_end=35569 - _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_start=35571 - _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_end=35679 - _globals['_CHECKCLEANPATH']._serialized_start=35681 - _globals['_CHECKCLEANPATH']._serialized_end=35711 - _globals['_CHECKCLEANPATHMSG']._serialized_start=35713 - _globals['_CHECKCLEANPATHMSG']._serialized_end=35813 - _globals['_CONFIRMCLEANPATH']._serialized_start=35815 - _globals['_CONFIRMCLEANPATH']._serialized_end=35847 - _globals['_CONFIRMCLEANPATHMSG']._serialized_start=35849 - _globals['_CONFIRMCLEANPATHMSG']._serialized_end=35953 - _globals['_PROTECTEDCLEANPATH']._serialized_start=35955 - _globals['_PROTECTEDCLEANPATH']._serialized_end=35989 - _globals['_PROTECTEDCLEANPATHMSG']._serialized_start=35991 - _globals['_PROTECTEDCLEANPATHMSG']._serialized_end=36099 - _globals['_FINISHEDCLEANPATHS']._serialized_start=36101 - _globals['_FINISHEDCLEANPATHS']._serialized_end=36121 - _globals['_FINISHEDCLEANPATHSMSG']._serialized_start=36123 - _globals['_FINISHEDCLEANPATHSMSG']._serialized_end=36231 - _globals['_OPENCOMMAND']._serialized_start=36233 - _globals['_OPENCOMMAND']._serialized_end=36286 - _globals['_OPENCOMMANDMSG']._serialized_start=36288 - _globals['_OPENCOMMANDMSG']._serialized_end=36382 - _globals['_FORMATTING']._serialized_start=36384 - _globals['_FORMATTING']._serialized_end=36409 - _globals['_FORMATTINGMSG']._serialized_start=36411 - _globals['_FORMATTINGMSG']._serialized_end=36503 - _globals['_SERVINGDOCSPORT']._serialized_start=36505 - _globals['_SERVINGDOCSPORT']._serialized_end=36553 - _globals['_SERVINGDOCSPORTMSG']._serialized_start=36555 - _globals['_SERVINGDOCSPORTMSG']._serialized_end=36657 - _globals['_SERVINGDOCSACCESSINFO']._serialized_start=36659 - _globals['_SERVINGDOCSACCESSINFO']._serialized_end=36696 - _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_start=36698 - _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_end=36812 - _globals['_SERVINGDOCSEXITINFO']._serialized_start=36814 - _globals['_SERVINGDOCSEXITINFO']._serialized_end=36835 - _globals['_SERVINGDOCSEXITINFOMSG']._serialized_start=36837 - _globals['_SERVINGDOCSEXITINFOMSG']._serialized_end=36947 - _globals['_RUNRESULTWARNING']._serialized_start=36949 - _globals['_RUNRESULTWARNING']._serialized_end=37023 - _globals['_RUNRESULTWARNINGMSG']._serialized_start=37025 - _globals['_RUNRESULTWARNINGMSG']._serialized_end=37129 - _globals['_RUNRESULTFAILURE']._serialized_start=37131 - _globals['_RUNRESULTFAILURE']._serialized_end=37205 - _globals['_RUNRESULTFAILUREMSG']._serialized_start=37207 - _globals['_RUNRESULTFAILUREMSG']._serialized_end=37311 - _globals['_STATSLINE']._serialized_start=37313 - _globals['_STATSLINE']._serialized_end=37420 - _globals['_STATSLINE_STATSENTRY']._serialized_start=37376 - _globals['_STATSLINE_STATSENTRY']._serialized_end=37420 - _globals['_STATSLINEMSG']._serialized_start=37422 - _globals['_STATSLINEMSG']._serialized_end=37512 - _globals['_RUNRESULTERROR']._serialized_start=37514 - _globals['_RUNRESULTERROR']._serialized_end=37543 - _globals['_RUNRESULTERRORMSG']._serialized_start=37545 - _globals['_RUNRESULTERRORMSG']._serialized_end=37645 - _globals['_RUNRESULTERRORNOMESSAGE']._serialized_start=37647 - _globals['_RUNRESULTERRORNOMESSAGE']._serialized_end=37688 - _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_start=37690 - _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_end=37808 - _globals['_SQLCOMPILEDPATH']._serialized_start=37810 - _globals['_SQLCOMPILEDPATH']._serialized_end=37841 - _globals['_SQLCOMPILEDPATHMSG']._serialized_start=37843 - _globals['_SQLCOMPILEDPATHMSG']._serialized_end=37945 - _globals['_CHECKNODETESTFAILURE']._serialized_start=37947 - _globals['_CHECKNODETESTFAILURE']._serialized_end=37992 - _globals['_CHECKNODETESTFAILUREMSG']._serialized_start=37994 - _globals['_CHECKNODETESTFAILUREMSG']._serialized_end=38106 - _globals['_ENDOFRUNSUMMARY']._serialized_start=38108 - _globals['_ENDOFRUNSUMMARY']._serialized_end=38195 - _globals['_ENDOFRUNSUMMARYMSG']._serialized_start=38197 - _globals['_ENDOFRUNSUMMARYMSG']._serialized_end=38299 - _globals['_LOGSKIPBECAUSEERROR']._serialized_start=38301 - _globals['_LOGSKIPBECAUSEERROR']._serialized_end=38386 - _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_start=38388 - _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_end=38498 - _globals['_ENSUREGITINSTALLED']._serialized_start=38500 - _globals['_ENSUREGITINSTALLED']._serialized_end=38520 - _globals['_ENSUREGITINSTALLEDMSG']._serialized_start=38522 - _globals['_ENSUREGITINSTALLEDMSG']._serialized_end=38630 - _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_start=38632 - _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_end=38658 - _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_start=38660 - _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_end=38780 - _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_start=38782 - _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_end=38807 - _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_start=38809 - _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_end=38927 - _globals['_DISABLETRACKING']._serialized_start=38929 - _globals['_DISABLETRACKING']._serialized_end=38946 - _globals['_DISABLETRACKINGMSG']._serialized_start=38948 - _globals['_DISABLETRACKINGMSG']._serialized_end=39050 - _globals['_SENDINGEVENT']._serialized_start=39052 - _globals['_SENDINGEVENT']._serialized_end=39082 - _globals['_SENDINGEVENTMSG']._serialized_start=39084 - _globals['_SENDINGEVENTMSG']._serialized_end=39180 - _globals['_SENDEVENTFAILURE']._serialized_start=39182 - _globals['_SENDEVENTFAILURE']._serialized_end=39200 - _globals['_SENDEVENTFAILUREMSG']._serialized_start=39202 - _globals['_SENDEVENTFAILUREMSG']._serialized_end=39306 - _globals['_FLUSHEVENTS']._serialized_start=39308 - _globals['_FLUSHEVENTS']._serialized_end=39321 - _globals['_FLUSHEVENTSMSG']._serialized_start=39323 - _globals['_FLUSHEVENTSMSG']._serialized_end=39417 - _globals['_FLUSHEVENTSFAILURE']._serialized_start=39419 - _globals['_FLUSHEVENTSFAILURE']._serialized_end=39439 - _globals['_FLUSHEVENTSFAILUREMSG']._serialized_start=39441 - _globals['_FLUSHEVENTSFAILUREMSG']._serialized_end=39549 - _globals['_TRACKINGINITIALIZEFAILURE']._serialized_start=39551 - _globals['_TRACKINGINITIALIZEFAILURE']._serialized_end=39596 - _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_start=39598 - _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_end=39720 - _globals['_RUNRESULTWARNINGMESSAGE']._serialized_start=39722 - _globals['_RUNRESULTWARNINGMESSAGE']._serialized_end=39760 - _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_start=39762 - _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_end=39880 - _globals['_DEBUGCMDOUT']._serialized_start=39882 - _globals['_DEBUGCMDOUT']._serialized_end=39908 - _globals['_DEBUGCMDOUTMSG']._serialized_start=39910 - _globals['_DEBUGCMDOUTMSG']._serialized_end=40004 - _globals['_DEBUGCMDRESULT']._serialized_start=40006 - _globals['_DEBUGCMDRESULT']._serialized_end=40035 - _globals['_DEBUGCMDRESULTMSG']._serialized_start=40037 - _globals['_DEBUGCMDRESULTMSG']._serialized_end=40137 - _globals['_LISTCMDOUT']._serialized_start=40139 - _globals['_LISTCMDOUT']._serialized_end=40164 - _globals['_LISTCMDOUTMSG']._serialized_start=40166 - _globals['_LISTCMDOUTMSG']._serialized_end=40258 - _globals['_NOTE']._serialized_start=40260 - _globals['_NOTE']._serialized_end=40279 - _globals['_NOTEMSG']._serialized_start=40281 - _globals['_NOTEMSG']._serialized_end=40361 - _globals['_RESOURCEREPORT']._serialized_start=40364 - _globals['_RESOURCEREPORT']._serialized_end=40600 - _globals['_RESOURCEREPORTMSG']._serialized_start=40602 - _globals['_RESOURCEREPORTMSG']._serialized_end=40702 + _EVENTINFO._serialized_start=92 + _EVENTINFO._serialized_end=365 + _EVENTINFO_EXTRAENTRY._serialized_start=321 + _EVENTINFO_EXTRAENTRY._serialized_end=365 + _TIMINGINFOMSG._serialized_start=367 + _TIMINGINFOMSG._serialized_end=494 + _NODERELATION._serialized_start=496 + _NODERELATION._serialized_end=582 + _NODEINFO._serialized_start=585 + _NODEINFO._serialized_end=858 + _RUNRESULTMSG._serialized_start=861 + _RUNRESULTMSG._serialized_end=1070 + _REFERENCEKEYMSG._serialized_start=1072 + _REFERENCEKEYMSG._serialized_end=1143 + _COLUMNTYPE._serialized_start=1145 + _COLUMNTYPE._serialized_end=1237 + _COLUMNCONSTRAINT._serialized_start=1239 + _COLUMNCONSTRAINT._serialized_end=1328 + _MODELCONSTRAINT._serialized_start=1330 + _MODELCONSTRAINT._serialized_end=1414 + _GENERICMESSAGE._serialized_start=1416 + _GENERICMESSAGE._serialized_end=1470 + _MAINREPORTVERSION._serialized_start=1472 + _MAINREPORTVERSION._serialized_end=1529 + _MAINREPORTVERSIONMSG._serialized_start=1531 + _MAINREPORTVERSIONMSG._serialized_end=1637 + _MAINREPORTARGS._serialized_start=1639 + _MAINREPORTARGS._serialized_end=1753 + _MAINREPORTARGS_ARGSENTRY._serialized_start=1710 + _MAINREPORTARGS_ARGSENTRY._serialized_end=1753 + _MAINREPORTARGSMSG._serialized_start=1755 + _MAINREPORTARGSMSG._serialized_end=1855 + _MAINTRACKINGUSERSTATE._serialized_start=1857 + _MAINTRACKINGUSERSTATE._serialized_end=1900 + _MAINTRACKINGUSERSTATEMSG._serialized_start=1902 + _MAINTRACKINGUSERSTATEMSG._serialized_end=2016 + _MERGEDFROMSTATE._serialized_start=2018 + _MERGEDFROMSTATE._serialized_end=2071 + _MERGEDFROMSTATEMSG._serialized_start=2073 + _MERGEDFROMSTATEMSG._serialized_end=2175 + _MISSINGPROFILETARGET._serialized_start=2177 + _MISSINGPROFILETARGET._serialized_end=2242 + _MISSINGPROFILETARGETMSG._serialized_start=2244 + _MISSINGPROFILETARGETMSG._serialized_end=2356 + _INVALIDOPTIONYAML._serialized_start=2358 + _INVALIDOPTIONYAML._serialized_end=2398 + _INVALIDOPTIONYAMLMSG._serialized_start=2400 + _INVALIDOPTIONYAMLMSG._serialized_end=2506 + _LOGDBTPROJECTERROR._serialized_start=2508 + _LOGDBTPROJECTERROR._serialized_end=2541 + _LOGDBTPROJECTERRORMSG._serialized_start=2543 + _LOGDBTPROJECTERRORMSG._serialized_end=2651 + _LOGDBTPROFILEERROR._serialized_start=2653 + _LOGDBTPROFILEERROR._serialized_end=2704 + _LOGDBTPROFILEERRORMSG._serialized_start=2706 + _LOGDBTPROFILEERRORMSG._serialized_end=2814 + _STARTERPROJECTPATH._serialized_start=2816 + _STARTERPROJECTPATH._serialized_end=2849 + _STARTERPROJECTPATHMSG._serialized_start=2851 + _STARTERPROJECTPATHMSG._serialized_end=2959 + _CONFIGFOLDERDIRECTORY._serialized_start=2961 + _CONFIGFOLDERDIRECTORY._serialized_end=2997 + _CONFIGFOLDERDIRECTORYMSG._serialized_start=2999 + _CONFIGFOLDERDIRECTORYMSG._serialized_end=3113 + _NOSAMPLEPROFILEFOUND._serialized_start=3115 + _NOSAMPLEPROFILEFOUND._serialized_end=3154 + _NOSAMPLEPROFILEFOUNDMSG._serialized_start=3156 + _NOSAMPLEPROFILEFOUNDMSG._serialized_end=3268 + _PROFILEWRITTENWITHSAMPLE._serialized_start=3270 + _PROFILEWRITTENWITHSAMPLE._serialized_end=3324 + _PROFILEWRITTENWITHSAMPLEMSG._serialized_start=3326 + _PROFILEWRITTENWITHSAMPLEMSG._serialized_end=3446 + _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_start=3448 + _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_end=3514 + _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_start=3517 + _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_end=3661 + _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_start=3663 + _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_end=3730 + _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_start=3733 + _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_end=3879 + _SETTINGUPPROFILE._serialized_start=3881 + _SETTINGUPPROFILE._serialized_end=3899 + _SETTINGUPPROFILEMSG._serialized_start=3901 + _SETTINGUPPROFILEMSG._serialized_end=4005 + _INVALIDPROFILETEMPLATEYAML._serialized_start=4007 + _INVALIDPROFILETEMPLATEYAML._serialized_end=4035 + _INVALIDPROFILETEMPLATEYAMLMSG._serialized_start=4037 + _INVALIDPROFILETEMPLATEYAMLMSG._serialized_end=4161 + _PROJECTNAMEALREADYEXISTS._serialized_start=4163 + _PROJECTNAMEALREADYEXISTS._serialized_end=4203 + _PROJECTNAMEALREADYEXISTSMSG._serialized_start=4205 + _PROJECTNAMEALREADYEXISTSMSG._serialized_end=4325 + _PROJECTCREATED._serialized_start=4327 + _PROJECTCREATED._serialized_end=4402 + _PROJECTCREATEDMSG._serialized_start=4404 + _PROJECTCREATEDMSG._serialized_end=4504 + _PACKAGEREDIRECTDEPRECATION._serialized_start=4506 + _PACKAGEREDIRECTDEPRECATION._serialized_end=4570 + _PACKAGEREDIRECTDEPRECATIONMSG._serialized_start=4572 + _PACKAGEREDIRECTDEPRECATIONMSG._serialized_end=4696 + _PACKAGEINSTALLPATHDEPRECATION._serialized_start=4698 + _PACKAGEINSTALLPATHDEPRECATION._serialized_end=4729 + _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_start=4732 + _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_end=4862 + _CONFIGSOURCEPATHDEPRECATION._serialized_start=4864 + _CONFIGSOURCEPATHDEPRECATION._serialized_end=4936 + _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_start=4938 + _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_end=5064 + _CONFIGDATAPATHDEPRECATION._serialized_start=5066 + _CONFIGDATAPATHDEPRECATION._serialized_end=5136 + _CONFIGDATAPATHDEPRECATIONMSG._serialized_start=5138 + _CONFIGDATAPATHDEPRECATIONMSG._serialized_end=5260 + _ADAPTERDEPRECATIONWARNING._serialized_start=5262 + _ADAPTERDEPRECATIONWARNING._serialized_end=5325 + _ADAPTERDEPRECATIONWARNINGMSG._serialized_start=5327 + _ADAPTERDEPRECATIONWARNINGMSG._serialized_end=5449 + _METRICATTRIBUTESRENAMED._serialized_start=5451 + _METRICATTRIBUTESRENAMED._serialized_end=5497 + _METRICATTRIBUTESRENAMEDMSG._serialized_start=5499 + _METRICATTRIBUTESRENAMEDMSG._serialized_end=5617 + _EXPOSURENAMEDEPRECATION._serialized_start=5619 + _EXPOSURENAMEDEPRECATION._serialized_end=5662 + _EXPOSURENAMEDEPRECATIONMSG._serialized_start=5664 + _EXPOSURENAMEDEPRECATIONMSG._serialized_end=5782 + _INTERNALDEPRECATION._serialized_start=5784 + _INTERNALDEPRECATION._serialized_end=5878 + _INTERNALDEPRECATIONMSG._serialized_start=5880 + _INTERNALDEPRECATIONMSG._serialized_end=5990 + _ENVIRONMENTVARIABLERENAMED._serialized_start=5992 + _ENVIRONMENTVARIABLERENAMED._serialized_end=6056 + _ENVIRONMENTVARIABLERENAMEDMSG._serialized_start=6058 + _ENVIRONMENTVARIABLERENAMEDMSG._serialized_end=6182 + _CONFIGLOGPATHDEPRECATION._serialized_start=6184 + _CONFIGLOGPATHDEPRECATION._serialized_end=6235 + _CONFIGLOGPATHDEPRECATIONMSG._serialized_start=6237 + _CONFIGLOGPATHDEPRECATIONMSG._serialized_end=6357 + _CONFIGTARGETPATHDEPRECATION._serialized_start=6359 + _CONFIGTARGETPATHDEPRECATION._serialized_end=6413 + _CONFIGTARGETPATHDEPRECATIONMSG._serialized_start=6415 + _CONFIGTARGETPATHDEPRECATIONMSG._serialized_end=6541 + _COLLECTFRESHNESSRETURNSIGNATURE._serialized_start=6543 + _COLLECTFRESHNESSRETURNSIGNATURE._serialized_end=6576 + _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_start=6579 + _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_end=6713 + _ADAPTEREVENTDEBUG._serialized_start=6716 + _ADAPTEREVENTDEBUG._serialized_end=6851 + _ADAPTEREVENTDEBUGMSG._serialized_start=6853 + _ADAPTEREVENTDEBUGMSG._serialized_end=6959 + _ADAPTEREVENTINFO._serialized_start=6962 + _ADAPTEREVENTINFO._serialized_end=7096 + _ADAPTEREVENTINFOMSG._serialized_start=7098 + _ADAPTEREVENTINFOMSG._serialized_end=7202 + _ADAPTEREVENTWARNING._serialized_start=7205 + _ADAPTEREVENTWARNING._serialized_end=7342 + _ADAPTEREVENTWARNINGMSG._serialized_start=7344 + _ADAPTEREVENTWARNINGMSG._serialized_end=7454 + _ADAPTEREVENTERROR._serialized_start=7457 + _ADAPTEREVENTERROR._serialized_end=7610 + _ADAPTEREVENTERRORMSG._serialized_start=7612 + _ADAPTEREVENTERRORMSG._serialized_end=7718 + _NEWCONNECTION._serialized_start=7720 + _NEWCONNECTION._serialized_end=7815 + _NEWCONNECTIONMSG._serialized_start=7817 + _NEWCONNECTIONMSG._serialized_end=7915 + _CONNECTIONREUSED._serialized_start=7917 + _CONNECTIONREUSED._serialized_end=7978 + _CONNECTIONREUSEDMSG._serialized_start=7980 + _CONNECTIONREUSEDMSG._serialized_end=8084 + _CONNECTIONLEFTOPENINCLEANUP._serialized_start=8086 + _CONNECTIONLEFTOPENINCLEANUP._serialized_end=8134 + _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_start=8136 + _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_end=8262 + _CONNECTIONCLOSEDINCLEANUP._serialized_start=8264 + _CONNECTIONCLOSEDINCLEANUP._serialized_end=8310 + _CONNECTIONCLOSEDINCLEANUPMSG._serialized_start=8312 + _CONNECTIONCLOSEDINCLEANUPMSG._serialized_end=8434 + _ROLLBACKFAILED._serialized_start=8436 + _ROLLBACKFAILED._serialized_end=8531 + _ROLLBACKFAILEDMSG._serialized_start=8533 + _ROLLBACKFAILEDMSG._serialized_end=8633 + _CONNECTIONCLOSED._serialized_start=8635 + _CONNECTIONCLOSED._serialized_end=8714 + _CONNECTIONCLOSEDMSG._serialized_start=8716 + _CONNECTIONCLOSEDMSG._serialized_end=8820 + _CONNECTIONLEFTOPEN._serialized_start=8822 + _CONNECTIONLEFTOPEN._serialized_end=8903 + _CONNECTIONLEFTOPENMSG._serialized_start=8905 + _CONNECTIONLEFTOPENMSG._serialized_end=9013 + _ROLLBACK._serialized_start=9015 + _ROLLBACK._serialized_end=9086 + _ROLLBACKMSG._serialized_start=9088 + _ROLLBACKMSG._serialized_end=9176 + _CACHEMISS._serialized_start=9178 + _CACHEMISS._serialized_end=9242 + _CACHEMISSMSG._serialized_start=9244 + _CACHEMISSMSG._serialized_end=9334 + _LISTRELATIONS._serialized_start=9336 + _LISTRELATIONS._serialized_end=9434 + _LISTRELATIONSMSG._serialized_start=9436 + _LISTRELATIONSMSG._serialized_end=9534 + _CONNECTIONUSED._serialized_start=9536 + _CONNECTIONUSED._serialized_end=9632 + _CONNECTIONUSEDMSG._serialized_start=9634 + _CONNECTIONUSEDMSG._serialized_end=9734 + _SQLQUERY._serialized_start=9736 + _SQLQUERY._serialized_end=9820 + _SQLQUERYMSG._serialized_start=9822 + _SQLQUERYMSG._serialized_end=9910 + _SQLQUERYSTATUS._serialized_start=9912 + _SQLQUERYSTATUS._serialized_end=10003 + _SQLQUERYSTATUSMSG._serialized_start=10005 + _SQLQUERYSTATUSMSG._serialized_end=10105 + _SQLCOMMIT._serialized_start=10107 + _SQLCOMMIT._serialized_end=10179 + _SQLCOMMITMSG._serialized_start=10181 + _SQLCOMMITMSG._serialized_end=10271 + _COLTYPECHANGE._serialized_start=10273 + _COLTYPECHANGE._serialized_end=10370 + _COLTYPECHANGEMSG._serialized_start=10372 + _COLTYPECHANGEMSG._serialized_end=10470 + _SCHEMACREATION._serialized_start=10472 + _SCHEMACREATION._serialized_end=10536 + _SCHEMACREATIONMSG._serialized_start=10538 + _SCHEMACREATIONMSG._serialized_end=10638 + _SCHEMADROP._serialized_start=10640 + _SCHEMADROP._serialized_end=10700 + _SCHEMADROPMSG._serialized_start=10702 + _SCHEMADROPMSG._serialized_end=10794 + _CACHEACTION._serialized_start=10797 + _CACHEACTION._serialized_end=11019 + _CACHEACTIONMSG._serialized_start=11021 + _CACHEACTIONMSG._serialized_end=11115 + _CACHEDUMPGRAPH._serialized_start=11118 + _CACHEDUMPGRAPH._serialized_end=11270 + _CACHEDUMPGRAPH_DUMPENTRY._serialized_start=11227 + _CACHEDUMPGRAPH_DUMPENTRY._serialized_end=11270 + _CACHEDUMPGRAPHMSG._serialized_start=11272 + _CACHEDUMPGRAPHMSG._serialized_end=11372 + _ADAPTERREGISTERED._serialized_start=11374 + _ADAPTERREGISTERED._serialized_end=11440 + _ADAPTERREGISTEREDMSG._serialized_start=11442 + _ADAPTERREGISTEREDMSG._serialized_end=11548 + _ADAPTERIMPORTERROR._serialized_start=11550 + _ADAPTERIMPORTERROR._serialized_end=11583 + _ADAPTERIMPORTERRORMSG._serialized_start=11585 + _ADAPTERIMPORTERRORMSG._serialized_end=11693 + _PLUGINLOADERROR._serialized_start=11695 + _PLUGINLOADERROR._serialized_end=11730 + _PLUGINLOADERRORMSG._serialized_start=11732 + _PLUGINLOADERRORMSG._serialized_end=11834 + _NEWCONNECTIONOPENING._serialized_start=11836 + _NEWCONNECTIONOPENING._serialized_end=11926 + _NEWCONNECTIONOPENINGMSG._serialized_start=11928 + _NEWCONNECTIONOPENINGMSG._serialized_end=12040 + _CODEEXECUTION._serialized_start=12042 + _CODEEXECUTION._serialized_end=12098 + _CODEEXECUTIONMSG._serialized_start=12100 + _CODEEXECUTIONMSG._serialized_end=12198 + _CODEEXECUTIONSTATUS._serialized_start=12200 + _CODEEXECUTIONSTATUS._serialized_end=12254 + _CODEEXECUTIONSTATUSMSG._serialized_start=12256 + _CODEEXECUTIONSTATUSMSG._serialized_end=12366 + _CATALOGGENERATIONERROR._serialized_start=12368 + _CATALOGGENERATIONERROR._serialized_end=12405 + _CATALOGGENERATIONERRORMSG._serialized_start=12407 + _CATALOGGENERATIONERRORMSG._serialized_end=12523 + _WRITECATALOGFAILURE._serialized_start=12525 + _WRITECATALOGFAILURE._serialized_end=12570 + _WRITECATALOGFAILUREMSG._serialized_start=12572 + _WRITECATALOGFAILUREMSG._serialized_end=12682 + _CATALOGWRITTEN._serialized_start=12684 + _CATALOGWRITTEN._serialized_end=12714 + _CATALOGWRITTENMSG._serialized_start=12716 + _CATALOGWRITTENMSG._serialized_end=12816 + _CANNOTGENERATEDOCS._serialized_start=12818 + _CANNOTGENERATEDOCS._serialized_end=12838 + _CANNOTGENERATEDOCSMSG._serialized_start=12840 + _CANNOTGENERATEDOCSMSG._serialized_end=12948 + _BUILDINGCATALOG._serialized_start=12950 + _BUILDINGCATALOG._serialized_end=12967 + _BUILDINGCATALOGMSG._serialized_start=12969 + _BUILDINGCATALOGMSG._serialized_end=13071 + _DATABASEERRORRUNNINGHOOK._serialized_start=13073 + _DATABASEERRORRUNNINGHOOK._serialized_end=13118 + _DATABASEERRORRUNNINGHOOKMSG._serialized_start=13120 + _DATABASEERRORRUNNINGHOOKMSG._serialized_end=13240 + _HOOKSRUNNING._serialized_start=13242 + _HOOKSRUNNING._serialized_end=13294 + _HOOKSRUNNINGMSG._serialized_start=13296 + _HOOKSRUNNINGMSG._serialized_end=13392 + _FINISHEDRUNNINGSTATS._serialized_start=13394 + _FINISHEDRUNNINGSTATS._serialized_end=13478 + _FINISHEDRUNNINGSTATSMSG._serialized_start=13480 + _FINISHEDRUNNINGSTATSMSG._serialized_end=13592 + _CONSTRAINTNOTENFORCED._serialized_start=13594 + _CONSTRAINTNOTENFORCED._serialized_end=13654 + _CONSTRAINTNOTENFORCEDMSG._serialized_start=13656 + _CONSTRAINTNOTENFORCEDMSG._serialized_end=13770 + _CONSTRAINTNOTSUPPORTED._serialized_start=13772 + _CONSTRAINTNOTSUPPORTED._serialized_end=13833 + _CONSTRAINTNOTSUPPORTEDMSG._serialized_start=13835 + _CONSTRAINTNOTSUPPORTEDMSG._serialized_end=13951 + _INPUTFILEDIFFERROR._serialized_start=13953 + _INPUTFILEDIFFERROR._serialized_end=14008 + _INPUTFILEDIFFERRORMSG._serialized_start=14010 + _INPUTFILEDIFFERRORMSG._serialized_end=14118 + _INVALIDVALUEFORFIELD._serialized_start=14120 + _INVALIDVALUEFORFIELD._serialized_end=14183 + _INVALIDVALUEFORFIELDMSG._serialized_start=14185 + _INVALIDVALUEFORFIELDMSG._serialized_end=14297 + _VALIDATIONWARNING._serialized_start=14299 + _VALIDATIONWARNING._serialized_end=14380 + _VALIDATIONWARNINGMSG._serialized_start=14382 + _VALIDATIONWARNINGMSG._serialized_end=14488 + _PARSEPERFINFOPATH._serialized_start=14490 + _PARSEPERFINFOPATH._serialized_end=14523 + _PARSEPERFINFOPATHMSG._serialized_start=14525 + _PARSEPERFINFOPATHMSG._serialized_end=14631 + _PARTIALPARSINGERRORPROCESSINGFILE._serialized_start=14633 + _PARTIALPARSINGERRORPROCESSINGFILE._serialized_end=14682 + _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_start=14685 + _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_end=14823 + _PARTIALPARSINGERROR._serialized_start=14826 + _PARTIALPARSINGERROR._serialized_end=14960 + _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_start=14914 + _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_end=14960 + _PARTIALPARSINGERRORMSG._serialized_start=14962 + _PARTIALPARSINGERRORMSG._serialized_end=15072 + _PARTIALPARSINGSKIPPARSING._serialized_start=15074 + _PARTIALPARSINGSKIPPARSING._serialized_end=15101 + _PARTIALPARSINGSKIPPARSINGMSG._serialized_start=15103 + _PARTIALPARSINGSKIPPARSINGMSG._serialized_end=15225 + _UNABLETOPARTIALPARSE._serialized_start=15227 + _UNABLETOPARTIALPARSE._serialized_end=15265 + _UNABLETOPARTIALPARSEMSG._serialized_start=15267 + _UNABLETOPARTIALPARSEMSG._serialized_end=15379 + _STATECHECKVARSHASH._serialized_start=15381 + _STATECHECKVARSHASH._serialized_end=15483 + _STATECHECKVARSHASHMSG._serialized_start=15485 + _STATECHECKVARSHASHMSG._serialized_end=15593 + _PARTIALPARSINGNOTENABLED._serialized_start=15595 + _PARTIALPARSINGNOTENABLED._serialized_end=15621 + _PARTIALPARSINGNOTENABLEDMSG._serialized_start=15623 + _PARTIALPARSINGNOTENABLEDMSG._serialized_end=15743 + _PARSEDFILELOADFAILED._serialized_start=15745 + _PARSEDFILELOADFAILED._serialized_end=15812 + _PARSEDFILELOADFAILEDMSG._serialized_start=15814 + _PARSEDFILELOADFAILEDMSG._serialized_end=15926 + _PARTIALPARSINGENABLED._serialized_start=15928 + _PARTIALPARSINGENABLED._serialized_end=16000 + _PARTIALPARSINGENABLEDMSG._serialized_start=16002 + _PARTIALPARSINGENABLEDMSG._serialized_end=16116 + _PARTIALPARSINGFILE._serialized_start=16118 + _PARTIALPARSINGFILE._serialized_end=16174 + _PARTIALPARSINGFILEMSG._serialized_start=16176 + _PARTIALPARSINGFILEMSG._serialized_end=16284 + _INVALIDDISABLEDTARGETINTESTNODE._serialized_start=16287 + _INVALIDDISABLEDTARGETINTESTNODE._serialized_end=16462 + _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_start=16465 + _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_end=16599 + _UNUSEDRESOURCECONFIGPATH._serialized_start=16601 + _UNUSEDRESOURCECONFIGPATH._serialized_end=16656 + _UNUSEDRESOURCECONFIGPATHMSG._serialized_start=16658 + _UNUSEDRESOURCECONFIGPATHMSG._serialized_end=16778 + _SEEDINCREASED._serialized_start=16780 + _SEEDINCREASED._serialized_end=16831 + _SEEDINCREASEDMSG._serialized_start=16833 + _SEEDINCREASEDMSG._serialized_end=16931 + _SEEDEXCEEDSLIMITSAMEPATH._serialized_start=16933 + _SEEDEXCEEDSLIMITSAMEPATH._serialized_end=16995 + _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_start=16997 + _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_end=17117 + _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_start=17119 + _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_end=17187 + _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_start=17190 + _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_end=17322 + _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_start=17324 + _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_end=17416 + _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_start=17419 + _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_end=17553 + _UNUSEDTABLES._serialized_start=17555 + _UNUSEDTABLES._serialized_end=17592 + _UNUSEDTABLESMSG._serialized_start=17594 + _UNUSEDTABLESMSG._serialized_end=17690 + _WRONGRESOURCESCHEMAFILE._serialized_start=17693 + _WRONGRESOURCESCHEMAFILE._serialized_end=17828 + _WRONGRESOURCESCHEMAFILEMSG._serialized_start=17830 + _WRONGRESOURCESCHEMAFILEMSG._serialized_end=17948 + _NONODEFORYAMLKEY._serialized_start=17950 + _NONODEFORYAMLKEY._serialized_end=18025 + _NONODEFORYAMLKEYMSG._serialized_start=18027 + _NONODEFORYAMLKEYMSG._serialized_end=18131 + _MACRONOTFOUNDFORPATCH._serialized_start=18133 + _MACRONOTFOUNDFORPATCH._serialized_end=18176 + _MACRONOTFOUNDFORPATCHMSG._serialized_start=18178 + _MACRONOTFOUNDFORPATCHMSG._serialized_end=18292 + _NODENOTFOUNDORDISABLED._serialized_start=18295 + _NODENOTFOUNDORDISABLED._serialized_end=18479 + _NODENOTFOUNDORDISABLEDMSG._serialized_start=18481 + _NODENOTFOUNDORDISABLEDMSG._serialized_end=18597 + _JINJALOGWARNING._serialized_start=18599 + _JINJALOGWARNING._serialized_end=18671 + _JINJALOGWARNINGMSG._serialized_start=18673 + _JINJALOGWARNINGMSG._serialized_end=18775 + _JINJALOGINFO._serialized_start=18777 + _JINJALOGINFO._serialized_end=18846 + _JINJALOGINFOMSG._serialized_start=18848 + _JINJALOGINFOMSG._serialized_end=18944 + _JINJALOGDEBUG._serialized_start=18946 + _JINJALOGDEBUG._serialized_end=19016 + _JINJALOGDEBUGMSG._serialized_start=19018 + _JINJALOGDEBUGMSG._serialized_end=19116 + _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_start=19119 + _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_end=19293 + _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_start=19296 + _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_end=19428 + _DEPRECATEDMODEL._serialized_start=19430 + _DEPRECATEDMODEL._serialized_end=19516 + _DEPRECATEDMODELMSG._serialized_start=19518 + _DEPRECATEDMODELMSG._serialized_end=19620 + _UPCOMINGREFERENCEDEPRECATION._serialized_start=19623 + _UPCOMINGREFERENCEDEPRECATION._serialized_end=19821 + _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_start=19824 + _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_end=19952 + _DEPRECATEDREFERENCE._serialized_start=19955 + _DEPRECATEDREFERENCE._serialized_end=20144 + _DEPRECATEDREFERENCEMSG._serialized_start=20146 + _DEPRECATEDREFERENCEMSG._serialized_end=20256 + _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_start=20258 + _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_end=20318 + _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_start=20321 + _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_end=20465 + _PARSEINLINENODEERROR._serialized_start=20467 + _PARSEINLINENODEERROR._serialized_end=20544 + _PARSEINLINENODEERRORMSG._serialized_start=20546 + _PARSEINLINENODEERRORMSG._serialized_end=20658 + _SEMANTICVALIDATIONFAILURE._serialized_start=20660 + _SEMANTICVALIDATIONFAILURE._serialized_end=20700 + _SEMANTICVALIDATIONFAILUREMSG._serialized_start=20702 + _SEMANTICVALIDATIONFAILUREMSG._serialized_end=20824 + _UNVERSIONEDBREAKINGCHANGE._serialized_start=20827 + _UNVERSIONEDBREAKINGCHANGE._serialized_end=21221 + _UNVERSIONEDBREAKINGCHANGEMSG._serialized_start=21223 + _UNVERSIONEDBREAKINGCHANGEMSG._serialized_end=21345 + _WARNSTATETARGETEQUAL._serialized_start=21347 + _WARNSTATETARGETEQUAL._serialized_end=21389 + _WARNSTATETARGETEQUALMSG._serialized_start=21391 + _WARNSTATETARGETEQUALMSG._serialized_end=21503 + _FRESHNESSCONFIGPROBLEM._serialized_start=21505 + _FRESHNESSCONFIGPROBLEM._serialized_end=21542 + _FRESHNESSCONFIGPROBLEMMSG._serialized_start=21544 + _FRESHNESSCONFIGPROBLEMMSG._serialized_end=21660 + _GITSPARSECHECKOUTSUBDIRECTORY._serialized_start=21662 + _GITSPARSECHECKOUTSUBDIRECTORY._serialized_end=21709 + _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_start=21712 + _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_end=21842 + _GITPROGRESSCHECKOUTREVISION._serialized_start=21844 + _GITPROGRESSCHECKOUTREVISION._serialized_end=21891 + _GITPROGRESSCHECKOUTREVISIONMSG._serialized_start=21893 + _GITPROGRESSCHECKOUTREVISIONMSG._serialized_end=22019 + _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_start=22021 + _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_end=22073 + _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_start=22076 + _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_end=22222 + _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_start=22224 + _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_end=22270 + _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_start=22273 + _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_end=22407 + _GITNOTHINGTODO._serialized_start=22409 + _GITNOTHINGTODO._serialized_end=22438 + _GITNOTHINGTODOMSG._serialized_start=22440 + _GITNOTHINGTODOMSG._serialized_end=22540 + _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_start=22542 + _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_end=22611 + _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_start=22614 + _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_end=22748 + _GITPROGRESSCHECKEDOUTAT._serialized_start=22750 + _GITPROGRESSCHECKEDOUTAT._serialized_end=22792 + _GITPROGRESSCHECKEDOUTATMSG._serialized_start=22794 + _GITPROGRESSCHECKEDOUTATMSG._serialized_end=22912 + _REGISTRYPROGRESSGETREQUEST._serialized_start=22914 + _REGISTRYPROGRESSGETREQUEST._serialized_end=22955 + _REGISTRYPROGRESSGETREQUESTMSG._serialized_start=22957 + _REGISTRYPROGRESSGETREQUESTMSG._serialized_end=23081 + _REGISTRYPROGRESSGETRESPONSE._serialized_start=23083 + _REGISTRYPROGRESSGETRESPONSE._serialized_end=23144 + _REGISTRYPROGRESSGETRESPONSEMSG._serialized_start=23146 + _REGISTRYPROGRESSGETRESPONSEMSG._serialized_end=23272 + _SELECTORREPORTINVALIDSELECTOR._serialized_start=23274 + _SELECTORREPORTINVALIDSELECTOR._serialized_end=23369 + _SELECTORREPORTINVALIDSELECTORMSG._serialized_start=23372 + _SELECTORREPORTINVALIDSELECTORMSG._serialized_end=23502 + _DEPSNOPACKAGESFOUND._serialized_start=23504 + _DEPSNOPACKAGESFOUND._serialized_end=23525 + _DEPSNOPACKAGESFOUNDMSG._serialized_start=23527 + _DEPSNOPACKAGESFOUNDMSG._serialized_end=23637 + _DEPSSTARTPACKAGEINSTALL._serialized_start=23639 + _DEPSSTARTPACKAGEINSTALL._serialized_end=23686 + _DEPSSTARTPACKAGEINSTALLMSG._serialized_start=23688 + _DEPSSTARTPACKAGEINSTALLMSG._serialized_end=23806 + _DEPSINSTALLINFO._serialized_start=23808 + _DEPSINSTALLINFO._serialized_end=23847 + _DEPSINSTALLINFOMSG._serialized_start=23849 + _DEPSINSTALLINFOMSG._serialized_end=23951 + _DEPSUPDATEAVAILABLE._serialized_start=23953 + _DEPSUPDATEAVAILABLE._serialized_end=23998 + _DEPSUPDATEAVAILABLEMSG._serialized_start=24000 + _DEPSUPDATEAVAILABLEMSG._serialized_end=24110 + _DEPSUPTODATE._serialized_start=24112 + _DEPSUPTODATE._serialized_end=24126 + _DEPSUPTODATEMSG._serialized_start=24128 + _DEPSUPTODATEMSG._serialized_end=24224 + _DEPSLISTSUBDIRECTORY._serialized_start=24226 + _DEPSLISTSUBDIRECTORY._serialized_end=24270 + _DEPSLISTSUBDIRECTORYMSG._serialized_start=24272 + _DEPSLISTSUBDIRECTORYMSG._serialized_end=24384 + _DEPSNOTIFYUPDATESAVAILABLE._serialized_start=24386 + _DEPSNOTIFYUPDATESAVAILABLE._serialized_end=24432 + _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_start=24434 + _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_end=24558 + _RETRYEXTERNALCALL._serialized_start=24560 + _RETRYEXTERNALCALL._serialized_end=24609 + _RETRYEXTERNALCALLMSG._serialized_start=24611 + _RETRYEXTERNALCALLMSG._serialized_end=24717 + _RECORDRETRYEXCEPTION._serialized_start=24719 + _RECORDRETRYEXCEPTION._serialized_end=24754 + _RECORDRETRYEXCEPTIONMSG._serialized_start=24756 + _RECORDRETRYEXCEPTIONMSG._serialized_end=24868 + _REGISTRYINDEXPROGRESSGETREQUEST._serialized_start=24870 + _REGISTRYINDEXPROGRESSGETREQUEST._serialized_end=24916 + _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_start=24919 + _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_end=25053 + _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_start=25055 + _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_end=25121 + _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_start=25124 + _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_end=25260 + _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_start=25262 + _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_end=25312 + _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_start=25315 + _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_end=25447 + _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_start=25449 + _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_end=25499 + _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_start=25502 + _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_end=25634 + _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_start=25636 + _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_end=25689 + _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_start=25692 + _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_end=25830 + _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_start=25832 + _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_end=25883 + _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_start=25886 + _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_end=26020 + _DEPSSETDOWNLOADDIRECTORY._serialized_start=26022 + _DEPSSETDOWNLOADDIRECTORY._serialized_end=26062 + _DEPSSETDOWNLOADDIRECTORYMSG._serialized_start=26064 + _DEPSSETDOWNLOADDIRECTORYMSG._serialized_end=26184 + _DEPSUNPINNED._serialized_start=26186 + _DEPSUNPINNED._serialized_end=26231 + _DEPSUNPINNEDMSG._serialized_start=26233 + _DEPSUNPINNEDMSG._serialized_end=26329 + _NONODESFORSELECTIONCRITERIA._serialized_start=26331 + _NONODESFORSELECTIONCRITERIA._serialized_end=26378 + _NONODESFORSELECTIONCRITERIAMSG._serialized_start=26380 + _NONODESFORSELECTIONCRITERIAMSG._serialized_end=26506 + _DEPSLOCKUPDATING._serialized_start=26508 + _DEPSLOCKUPDATING._serialized_end=26549 + _DEPSLOCKUPDATINGMSG._serialized_start=26551 + _DEPSLOCKUPDATINGMSG._serialized_end=26655 + _DEPSADDPACKAGE._serialized_start=26657 + _DEPSADDPACKAGE._serialized_end=26739 + _DEPSADDPACKAGEMSG._serialized_start=26741 + _DEPSADDPACKAGEMSG._serialized_end=26841 + _DEPSFOUNDDUPLICATEPACKAGE._serialized_start=26844 + _DEPSFOUNDDUPLICATEPACKAGE._serialized_end=27011 + _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_start=26958 + _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_end=27011 + _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_start=27013 + _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_end=27135 + _DEPSVERSIONMISSING._serialized_start=27137 + _DEPSVERSIONMISSING._serialized_end=27173 + _DEPSVERSIONMISSINGMSG._serialized_start=27175 + _DEPSVERSIONMISSINGMSG._serialized_end=27283 + _RUNNINGOPERATIONCAUGHTERROR._serialized_start=27285 + _RUNNINGOPERATIONCAUGHTERROR._serialized_end=27327 + _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_start=27329 + _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_end=27455 + _COMPILECOMPLETE._serialized_start=27457 + _COMPILECOMPLETE._serialized_end=27474 + _COMPILECOMPLETEMSG._serialized_start=27476 + _COMPILECOMPLETEMSG._serialized_end=27578 + _FRESHNESSCHECKCOMPLETE._serialized_start=27580 + _FRESHNESSCHECKCOMPLETE._serialized_end=27604 + _FRESHNESSCHECKCOMPLETEMSG._serialized_start=27606 + _FRESHNESSCHECKCOMPLETEMSG._serialized_end=27722 + _SEEDHEADER._serialized_start=27724 + _SEEDHEADER._serialized_end=27752 + _SEEDHEADERMSG._serialized_start=27754 + _SEEDHEADERMSG._serialized_end=27846 + _SQLRUNNEREXCEPTION._serialized_start=27848 + _SQLRUNNEREXCEPTION._serialized_end=27899 + _SQLRUNNEREXCEPTIONMSG._serialized_start=27901 + _SQLRUNNEREXCEPTIONMSG._serialized_end=28009 + _LOGTESTRESULT._serialized_start=28012 + _LOGTESTRESULT._serialized_end=28180 + _LOGTESTRESULTMSG._serialized_start=28182 + _LOGTESTRESULTMSG._serialized_end=28280 + _LOGSTARTLINE._serialized_start=28282 + _LOGSTARTLINE._serialized_end=28389 + _LOGSTARTLINEMSG._serialized_start=28391 + _LOGSTARTLINEMSG._serialized_end=28487 + _LOGMODELRESULT._serialized_start=28490 + _LOGMODELRESULT._serialized_end=28639 + _LOGMODELRESULTMSG._serialized_start=28641 + _LOGMODELRESULTMSG._serialized_end=28741 + _LOGSNAPSHOTRESULT._serialized_start=28744 + _LOGSNAPSHOTRESULT._serialized_end=29018 + _LOGSNAPSHOTRESULT_CFGENTRY._serialized_start=28976 + _LOGSNAPSHOTRESULT_CFGENTRY._serialized_end=29018 + _LOGSNAPSHOTRESULTMSG._serialized_start=29020 + _LOGSNAPSHOTRESULTMSG._serialized_end=29126 + _LOGSEEDRESULT._serialized_start=29129 + _LOGSEEDRESULT._serialized_end=29314 + _LOGSEEDRESULTMSG._serialized_start=29316 + _LOGSEEDRESULTMSG._serialized_end=29414 + _LOGFRESHNESSRESULT._serialized_start=29417 + _LOGFRESHNESSRESULT._serialized_end=29590 + _LOGFRESHNESSRESULTMSG._serialized_start=29592 + _LOGFRESHNESSRESULTMSG._serialized_end=29700 + _LOGCANCELLINE._serialized_start=29702 + _LOGCANCELLINE._serialized_end=29736 + _LOGCANCELLINEMSG._serialized_start=29738 + _LOGCANCELLINEMSG._serialized_end=29836 + _DEFAULTSELECTOR._serialized_start=29838 + _DEFAULTSELECTOR._serialized_end=29869 + _DEFAULTSELECTORMSG._serialized_start=29871 + _DEFAULTSELECTORMSG._serialized_end=29973 + _NODESTART._serialized_start=29975 + _NODESTART._serialized_end=30028 + _NODESTARTMSG._serialized_start=30030 + _NODESTARTMSG._serialized_end=30120 + _NODEFINISHED._serialized_start=30122 + _NODEFINISHED._serialized_end=30225 + _NODEFINISHEDMSG._serialized_start=30227 + _NODEFINISHEDMSG._serialized_end=30323 + _QUERYCANCELATIONUNSUPPORTED._serialized_start=30325 + _QUERYCANCELATIONUNSUPPORTED._serialized_end=30368 + _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_start=30370 + _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_end=30496 + _CONCURRENCYLINE._serialized_start=30498 + _CONCURRENCYLINE._serialized_end=30577 + _CONCURRENCYLINEMSG._serialized_start=30579 + _CONCURRENCYLINEMSG._serialized_end=30681 + _WRITINGINJECTEDSQLFORNODE._serialized_start=30683 + _WRITINGINJECTEDSQLFORNODE._serialized_end=30752 + _WRITINGINJECTEDSQLFORNODEMSG._serialized_start=30754 + _WRITINGINJECTEDSQLFORNODEMSG._serialized_end=30876 + _NODECOMPILING._serialized_start=30878 + _NODECOMPILING._serialized_end=30935 + _NODECOMPILINGMSG._serialized_start=30937 + _NODECOMPILINGMSG._serialized_end=31035 + _NODEEXECUTING._serialized_start=31037 + _NODEEXECUTING._serialized_end=31094 + _NODEEXECUTINGMSG._serialized_start=31096 + _NODEEXECUTINGMSG._serialized_end=31194 + _LOGHOOKSTARTLINE._serialized_start=31196 + _LOGHOOKSTARTLINE._serialized_end=31305 + _LOGHOOKSTARTLINEMSG._serialized_start=31307 + _LOGHOOKSTARTLINEMSG._serialized_end=31411 + _LOGHOOKENDLINE._serialized_start=31414 + _LOGHOOKENDLINE._serialized_end=31561 + _LOGHOOKENDLINEMSG._serialized_start=31563 + _LOGHOOKENDLINEMSG._serialized_end=31663 + _SKIPPINGDETAILS._serialized_start=31666 + _SKIPPINGDETAILS._serialized_end=31813 + _SKIPPINGDETAILSMSG._serialized_start=31815 + _SKIPPINGDETAILSMSG._serialized_end=31917 + _NOTHINGTODO._serialized_start=31919 + _NOTHINGTODO._serialized_end=31932 + _NOTHINGTODOMSG._serialized_start=31934 + _NOTHINGTODOMSG._serialized_end=32028 + _RUNNINGOPERATIONUNCAUGHTERROR._serialized_start=32030 + _RUNNINGOPERATIONUNCAUGHTERROR._serialized_end=32074 + _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_start=32077 + _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_end=32207 + _ENDRUNRESULT._serialized_start=32210 + _ENDRUNRESULT._serialized_end=32357 + _ENDRUNRESULTMSG._serialized_start=32359 + _ENDRUNRESULTMSG._serialized_end=32455 + _NONODESSELECTED._serialized_start=32457 + _NONODESSELECTED._serialized_end=32474 + _NONODESSELECTEDMSG._serialized_start=32476 + _NONODESSELECTEDMSG._serialized_end=32578 + _COMMANDCOMPLETED._serialized_start=32580 + _COMMANDCOMPLETED._serialized_end=32699 + _COMMANDCOMPLETEDMSG._serialized_start=32701 + _COMMANDCOMPLETEDMSG._serialized_end=32805 + _SHOWNODE._serialized_start=32807 + _SHOWNODE._serialized_end=32914 + _SHOWNODEMSG._serialized_start=32916 + _SHOWNODEMSG._serialized_end=33004 + _COMPILEDNODE._serialized_start=33006 + _COMPILEDNODE._serialized_end=33118 + _COMPILEDNODEMSG._serialized_start=33120 + _COMPILEDNODEMSG._serialized_end=33216 + _CATCHABLEEXCEPTIONONRUN._serialized_start=33218 + _CATCHABLEEXCEPTIONONRUN._serialized_end=33316 + _CATCHABLEEXCEPTIONONRUNMSG._serialized_start=33318 + _CATCHABLEEXCEPTIONONRUNMSG._serialized_end=33436 + _INTERNALERRORONRUN._serialized_start=33438 + _INTERNALERRORONRUN._serialized_end=33491 + _INTERNALERRORONRUNMSG._serialized_start=33493 + _INTERNALERRORONRUNMSG._serialized_end=33601 + _GENERICEXCEPTIONONRUN._serialized_start=33603 + _GENERICEXCEPTIONONRUN._serialized_end=33678 + _GENERICEXCEPTIONONRUNMSG._serialized_start=33680 + _GENERICEXCEPTIONONRUNMSG._serialized_end=33794 + _NODECONNECTIONRELEASEERROR._serialized_start=33796 + _NODECONNECTIONRELEASEERROR._serialized_end=33874 + _NODECONNECTIONRELEASEERRORMSG._serialized_start=33876 + _NODECONNECTIONRELEASEERRORMSG._serialized_end=34000 + _FOUNDSTATS._serialized_start=34002 + _FOUNDSTATS._serialized_end=34033 + _FOUNDSTATSMSG._serialized_start=34035 + _FOUNDSTATSMSG._serialized_end=34127 + _MAINKEYBOARDINTERRUPT._serialized_start=34129 + _MAINKEYBOARDINTERRUPT._serialized_end=34152 + _MAINKEYBOARDINTERRUPTMSG._serialized_start=34154 + _MAINKEYBOARDINTERRUPTMSG._serialized_end=34268 + _MAINENCOUNTEREDERROR._serialized_start=34270 + _MAINENCOUNTEREDERROR._serialized_end=34305 + _MAINENCOUNTEREDERRORMSG._serialized_start=34307 + _MAINENCOUNTEREDERRORMSG._serialized_end=34419 + _MAINSTACKTRACE._serialized_start=34421 + _MAINSTACKTRACE._serialized_end=34458 + _MAINSTACKTRACEMSG._serialized_start=34460 + _MAINSTACKTRACEMSG._serialized_end=34560 + _SYSTEMCOULDNOTWRITE._serialized_start=34562 + _SYSTEMCOULDNOTWRITE._serialized_end=34626 + _SYSTEMCOULDNOTWRITEMSG._serialized_start=34628 + _SYSTEMCOULDNOTWRITEMSG._serialized_end=34738 + _SYSTEMEXECUTINGCMD._serialized_start=34740 + _SYSTEMEXECUTINGCMD._serialized_end=34773 + _SYSTEMEXECUTINGCMDMSG._serialized_start=34775 + _SYSTEMEXECUTINGCMDMSG._serialized_end=34883 + _SYSTEMSTDOUT._serialized_start=34885 + _SYSTEMSTDOUT._serialized_end=34913 + _SYSTEMSTDOUTMSG._serialized_start=34915 + _SYSTEMSTDOUTMSG._serialized_end=35011 + _SYSTEMSTDERR._serialized_start=35013 + _SYSTEMSTDERR._serialized_end=35041 + _SYSTEMSTDERRMSG._serialized_start=35043 + _SYSTEMSTDERRMSG._serialized_end=35139 + _SYSTEMREPORTRETURNCODE._serialized_start=35141 + _SYSTEMREPORTRETURNCODE._serialized_end=35185 + _SYSTEMREPORTRETURNCODEMSG._serialized_start=35187 + _SYSTEMREPORTRETURNCODEMSG._serialized_end=35303 + _TIMINGINFOCOLLECTED._serialized_start=35305 + _TIMINGINFOCOLLECTED._serialized_end=35417 + _TIMINGINFOCOLLECTEDMSG._serialized_start=35419 + _TIMINGINFOCOLLECTEDMSG._serialized_end=35529 + _LOGDEBUGSTACKTRACE._serialized_start=35531 + _LOGDEBUGSTACKTRACE._serialized_end=35569 + _LOGDEBUGSTACKTRACEMSG._serialized_start=35571 + _LOGDEBUGSTACKTRACEMSG._serialized_end=35679 + _CHECKCLEANPATH._serialized_start=35681 + _CHECKCLEANPATH._serialized_end=35711 + _CHECKCLEANPATHMSG._serialized_start=35713 + _CHECKCLEANPATHMSG._serialized_end=35813 + _CONFIRMCLEANPATH._serialized_start=35815 + _CONFIRMCLEANPATH._serialized_end=35847 + _CONFIRMCLEANPATHMSG._serialized_start=35849 + _CONFIRMCLEANPATHMSG._serialized_end=35953 + _PROTECTEDCLEANPATH._serialized_start=35955 + _PROTECTEDCLEANPATH._serialized_end=35989 + _PROTECTEDCLEANPATHMSG._serialized_start=35991 + _PROTECTEDCLEANPATHMSG._serialized_end=36099 + _FINISHEDCLEANPATHS._serialized_start=36101 + _FINISHEDCLEANPATHS._serialized_end=36121 + _FINISHEDCLEANPATHSMSG._serialized_start=36123 + _FINISHEDCLEANPATHSMSG._serialized_end=36231 + _OPENCOMMAND._serialized_start=36233 + _OPENCOMMAND._serialized_end=36286 + _OPENCOMMANDMSG._serialized_start=36288 + _OPENCOMMANDMSG._serialized_end=36382 + _FORMATTING._serialized_start=36384 + _FORMATTING._serialized_end=36409 + _FORMATTINGMSG._serialized_start=36411 + _FORMATTINGMSG._serialized_end=36503 + _SERVINGDOCSPORT._serialized_start=36505 + _SERVINGDOCSPORT._serialized_end=36553 + _SERVINGDOCSPORTMSG._serialized_start=36555 + _SERVINGDOCSPORTMSG._serialized_end=36657 + _SERVINGDOCSACCESSINFO._serialized_start=36659 + _SERVINGDOCSACCESSINFO._serialized_end=36696 + _SERVINGDOCSACCESSINFOMSG._serialized_start=36698 + _SERVINGDOCSACCESSINFOMSG._serialized_end=36812 + _SERVINGDOCSEXITINFO._serialized_start=36814 + _SERVINGDOCSEXITINFO._serialized_end=36835 + _SERVINGDOCSEXITINFOMSG._serialized_start=36837 + _SERVINGDOCSEXITINFOMSG._serialized_end=36947 + _RUNRESULTWARNING._serialized_start=36949 + _RUNRESULTWARNING._serialized_end=37023 + _RUNRESULTWARNINGMSG._serialized_start=37025 + _RUNRESULTWARNINGMSG._serialized_end=37129 + _RUNRESULTFAILURE._serialized_start=37131 + _RUNRESULTFAILURE._serialized_end=37205 + _RUNRESULTFAILUREMSG._serialized_start=37207 + _RUNRESULTFAILUREMSG._serialized_end=37311 + _STATSLINE._serialized_start=37313 + _STATSLINE._serialized_end=37420 + _STATSLINE_STATSENTRY._serialized_start=37376 + _STATSLINE_STATSENTRY._serialized_end=37420 + _STATSLINEMSG._serialized_start=37422 + _STATSLINEMSG._serialized_end=37512 + _RUNRESULTERROR._serialized_start=37514 + _RUNRESULTERROR._serialized_end=37543 + _RUNRESULTERRORMSG._serialized_start=37545 + _RUNRESULTERRORMSG._serialized_end=37645 + _RUNRESULTERRORNOMESSAGE._serialized_start=37647 + _RUNRESULTERRORNOMESSAGE._serialized_end=37688 + _RUNRESULTERRORNOMESSAGEMSG._serialized_start=37690 + _RUNRESULTERRORNOMESSAGEMSG._serialized_end=37808 + _SQLCOMPILEDPATH._serialized_start=37810 + _SQLCOMPILEDPATH._serialized_end=37841 + _SQLCOMPILEDPATHMSG._serialized_start=37843 + _SQLCOMPILEDPATHMSG._serialized_end=37945 + _CHECKNODETESTFAILURE._serialized_start=37947 + _CHECKNODETESTFAILURE._serialized_end=37992 + _CHECKNODETESTFAILUREMSG._serialized_start=37994 + _CHECKNODETESTFAILUREMSG._serialized_end=38106 + _ENDOFRUNSUMMARY._serialized_start=38108 + _ENDOFRUNSUMMARY._serialized_end=38195 + _ENDOFRUNSUMMARYMSG._serialized_start=38197 + _ENDOFRUNSUMMARYMSG._serialized_end=38299 + _LOGSKIPBECAUSEERROR._serialized_start=38301 + _LOGSKIPBECAUSEERROR._serialized_end=38386 + _LOGSKIPBECAUSEERRORMSG._serialized_start=38388 + _LOGSKIPBECAUSEERRORMSG._serialized_end=38498 + _ENSUREGITINSTALLED._serialized_start=38500 + _ENSUREGITINSTALLED._serialized_end=38520 + _ENSUREGITINSTALLEDMSG._serialized_start=38522 + _ENSUREGITINSTALLEDMSG._serialized_end=38630 + _DEPSCREATINGLOCALSYMLINK._serialized_start=38632 + _DEPSCREATINGLOCALSYMLINK._serialized_end=38658 + _DEPSCREATINGLOCALSYMLINKMSG._serialized_start=38660 + _DEPSCREATINGLOCALSYMLINKMSG._serialized_end=38780 + _DEPSSYMLINKNOTAVAILABLE._serialized_start=38782 + _DEPSSYMLINKNOTAVAILABLE._serialized_end=38807 + _DEPSSYMLINKNOTAVAILABLEMSG._serialized_start=38809 + _DEPSSYMLINKNOTAVAILABLEMSG._serialized_end=38927 + _DISABLETRACKING._serialized_start=38929 + _DISABLETRACKING._serialized_end=38946 + _DISABLETRACKINGMSG._serialized_start=38948 + _DISABLETRACKINGMSG._serialized_end=39050 + _SENDINGEVENT._serialized_start=39052 + _SENDINGEVENT._serialized_end=39082 + _SENDINGEVENTMSG._serialized_start=39084 + _SENDINGEVENTMSG._serialized_end=39180 + _SENDEVENTFAILURE._serialized_start=39182 + _SENDEVENTFAILURE._serialized_end=39200 + _SENDEVENTFAILUREMSG._serialized_start=39202 + _SENDEVENTFAILUREMSG._serialized_end=39306 + _FLUSHEVENTS._serialized_start=39308 + _FLUSHEVENTS._serialized_end=39321 + _FLUSHEVENTSMSG._serialized_start=39323 + _FLUSHEVENTSMSG._serialized_end=39417 + _FLUSHEVENTSFAILURE._serialized_start=39419 + _FLUSHEVENTSFAILURE._serialized_end=39439 + _FLUSHEVENTSFAILUREMSG._serialized_start=39441 + _FLUSHEVENTSFAILUREMSG._serialized_end=39549 + _TRACKINGINITIALIZEFAILURE._serialized_start=39551 + _TRACKINGINITIALIZEFAILURE._serialized_end=39596 + _TRACKINGINITIALIZEFAILUREMSG._serialized_start=39598 + _TRACKINGINITIALIZEFAILUREMSG._serialized_end=39720 + _RUNRESULTWARNINGMESSAGE._serialized_start=39722 + _RUNRESULTWARNINGMESSAGE._serialized_end=39760 + _RUNRESULTWARNINGMESSAGEMSG._serialized_start=39762 + _RUNRESULTWARNINGMESSAGEMSG._serialized_end=39880 + _DEBUGCMDOUT._serialized_start=39882 + _DEBUGCMDOUT._serialized_end=39908 + _DEBUGCMDOUTMSG._serialized_start=39910 + _DEBUGCMDOUTMSG._serialized_end=40004 + _DEBUGCMDRESULT._serialized_start=40006 + _DEBUGCMDRESULT._serialized_end=40035 + _DEBUGCMDRESULTMSG._serialized_start=40037 + _DEBUGCMDRESULTMSG._serialized_end=40137 + _LISTCMDOUT._serialized_start=40139 + _LISTCMDOUT._serialized_end=40164 + _LISTCMDOUTMSG._serialized_start=40166 + _LISTCMDOUTMSG._serialized_end=40258 + _NOTE._serialized_start=40260 + _NOTE._serialized_end=40279 + _NOTEMSG._serialized_start=40281 + _NOTEMSG._serialized_end=40361 + _RESOURCEREPORT._serialized_start=40364 + _RESOURCEREPORT._serialized_end=40600 + _RESOURCEREPORTMSG._serialized_start=40602 + _RESOURCEREPORTMSG._serialized_end=40702 # @@protoc_insertion_point(module_scope) diff --git a/core/dbt/events/types_pb2.py b/core/dbt/events/types_pb2.py deleted file mode 100644 index 54cf5819b63..00000000000 --- a/core/dbt/events/types_pb2.py +++ /dev/null @@ -1,937 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: types.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"\\\n\nColumnType\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x1c\n\x14previous_column_type\x18\x02 \x01(\t\x12\x1b\n\x13\x63urrent_column_type\x18\x03 \x01(\t\"Y\n\x10\x43olumnConstraint\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x03 \x01(\t\"T\n\x0fModelConstraint\x12\x17\n\x0f\x63onstraint_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x02 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x03 \x03(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation\"\x1f\n\x1dPackageInstallPathDeprecation\"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation\"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation\"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed\"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t\"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation\"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation\"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed\"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation\"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x86\x01\n\"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t\"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"\x8a\x03\n\x19UnversionedBreakingChange\x12\x18\n\x10\x62reaking_changes\x18\x01 \x03(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0fmodel_file_path\x18\x03 \x01(\t\x12\"\n\x1a\x63ontract_enforced_disabled\x18\x04 \x01(\x08\x12\x17\n\x0f\x63olumns_removed\x18\x05 \x03(\t\x12\x34\n\x13\x63olumn_type_changes\x18\x06 \x03(\x0b\x32\x17.proto_types.ColumnType\x12I\n\"enforced_column_constraint_removed\x18\x07 \x03(\x0b\x32\x1d.proto_types.ColumnConstraint\x12G\n!enforced_model_constraint_removed\x18\x08 \x03(\x0b\x32\x1c.proto_types.ModelConstraint\x12\x1f\n\x17materialization_changed\x18\t \x03(\t\"z\n\x1cUnversionedBreakingChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.UnversionedBreakingChange\"*\n\x14WarnStateTargetEqual\x12\x12\n\nstate_path\x18\x01 \x01(\t\"p\n\x17WarnStateTargetEqualMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.WarnStateTargetEqual\"%\n\x16\x46reshnessConfigProblem\x12\x0b\n\x03msg\x18\x01 \x01(\t\"t\n\x19\x46reshnessConfigProblemMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessConfigProblem\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\")\n\x10\x44\x65psLockUpdating\x12\x15\n\rlock_filepath\x18\x01 \x01(\t\"h\n\x13\x44\x65psLockUpdatingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.DepsLockUpdating\"R\n\x0e\x44\x65psAddPackage\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x11packages_filepath\x18\x03 \x01(\t\"d\n\x11\x44\x65psAddPackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DepsAddPackage\"\xa7\x01\n\x19\x44\x65psFoundDuplicatePackage\x12S\n\x0fremoved_package\x18\x01 \x03(\x0b\x32:.proto_types.DepsFoundDuplicatePackage.RemovedPackageEntry\x1a\x35\n\x13RemovedPackageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"z\n\x1c\x44\x65psFoundDuplicatePackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.DepsFoundDuplicatePackage\"$\n\x12\x44\x65psVersionMissing\x12\x0e\n\x06source\x18\x01 \x01(\t\"l\n\x15\x44\x65psVersionMissingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.DepsVersionMissing\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Note\"\xec\x01\n\x0eResourceReport\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ommand_success\x18\x03 \x01(\x08\x12\x1f\n\x17\x63ommand_wall_clock_time\x18\x04 \x01(\x02\x12\x19\n\x11process_user_time\x18\x05 \x01(\x02\x12\x1b\n\x13process_kernel_time\x18\x06 \x01(\x02\x12\x1b\n\x13process_mem_max_rss\x18\x07 \x01(\x03\x12\x19\n\x11process_in_blocks\x18\x08 \x01(\x03\x12\x1a\n\x12process_out_blocks\x18\t \x01(\x03\"d\n\x11ResourceReportMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ResourceReportb\x06proto3') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _EVENTINFO_EXTRAENTRY._options = None - _EVENTINFO_EXTRAENTRY._serialized_options = b'8\001' - _MAINREPORTARGS_ARGSENTRY._options = None - _MAINREPORTARGS_ARGSENTRY._serialized_options = b'8\001' - _CACHEDUMPGRAPH_DUMPENTRY._options = None - _CACHEDUMPGRAPH_DUMPENTRY._serialized_options = b'8\001' - _PARTIALPARSINGERROR_EXCINFOENTRY._options = None - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_options = b'8\001' - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._options = None - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_options = b'8\001' - _LOGSNAPSHOTRESULT_CFGENTRY._options = None - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_options = b'8\001' - _STATSLINE_STATSENTRY._options = None - _STATSLINE_STATSENTRY._serialized_options = b'8\001' - _EVENTINFO._serialized_start=92 - _EVENTINFO._serialized_end=365 - _EVENTINFO_EXTRAENTRY._serialized_start=321 - _EVENTINFO_EXTRAENTRY._serialized_end=365 - _TIMINGINFOMSG._serialized_start=367 - _TIMINGINFOMSG._serialized_end=494 - _NODERELATION._serialized_start=496 - _NODERELATION._serialized_end=582 - _NODEINFO._serialized_start=585 - _NODEINFO._serialized_end=858 - _RUNRESULTMSG._serialized_start=861 - _RUNRESULTMSG._serialized_end=1070 - _REFERENCEKEYMSG._serialized_start=1072 - _REFERENCEKEYMSG._serialized_end=1143 - _COLUMNTYPE._serialized_start=1145 - _COLUMNTYPE._serialized_end=1237 - _COLUMNCONSTRAINT._serialized_start=1239 - _COLUMNCONSTRAINT._serialized_end=1328 - _MODELCONSTRAINT._serialized_start=1330 - _MODELCONSTRAINT._serialized_end=1414 - _GENERICMESSAGE._serialized_start=1416 - _GENERICMESSAGE._serialized_end=1470 - _MAINREPORTVERSION._serialized_start=1472 - _MAINREPORTVERSION._serialized_end=1529 - _MAINREPORTVERSIONMSG._serialized_start=1531 - _MAINREPORTVERSIONMSG._serialized_end=1637 - _MAINREPORTARGS._serialized_start=1639 - _MAINREPORTARGS._serialized_end=1753 - _MAINREPORTARGS_ARGSENTRY._serialized_start=1710 - _MAINREPORTARGS_ARGSENTRY._serialized_end=1753 - _MAINREPORTARGSMSG._serialized_start=1755 - _MAINREPORTARGSMSG._serialized_end=1855 - _MAINTRACKINGUSERSTATE._serialized_start=1857 - _MAINTRACKINGUSERSTATE._serialized_end=1900 - _MAINTRACKINGUSERSTATEMSG._serialized_start=1902 - _MAINTRACKINGUSERSTATEMSG._serialized_end=2016 - _MERGEDFROMSTATE._serialized_start=2018 - _MERGEDFROMSTATE._serialized_end=2071 - _MERGEDFROMSTATEMSG._serialized_start=2073 - _MERGEDFROMSTATEMSG._serialized_end=2175 - _MISSINGPROFILETARGET._serialized_start=2177 - _MISSINGPROFILETARGET._serialized_end=2242 - _MISSINGPROFILETARGETMSG._serialized_start=2244 - _MISSINGPROFILETARGETMSG._serialized_end=2356 - _INVALIDOPTIONYAML._serialized_start=2358 - _INVALIDOPTIONYAML._serialized_end=2398 - _INVALIDOPTIONYAMLMSG._serialized_start=2400 - _INVALIDOPTIONYAMLMSG._serialized_end=2506 - _LOGDBTPROJECTERROR._serialized_start=2508 - _LOGDBTPROJECTERROR._serialized_end=2541 - _LOGDBTPROJECTERRORMSG._serialized_start=2543 - _LOGDBTPROJECTERRORMSG._serialized_end=2651 - _LOGDBTPROFILEERROR._serialized_start=2653 - _LOGDBTPROFILEERROR._serialized_end=2704 - _LOGDBTPROFILEERRORMSG._serialized_start=2706 - _LOGDBTPROFILEERRORMSG._serialized_end=2814 - _STARTERPROJECTPATH._serialized_start=2816 - _STARTERPROJECTPATH._serialized_end=2849 - _STARTERPROJECTPATHMSG._serialized_start=2851 - _STARTERPROJECTPATHMSG._serialized_end=2959 - _CONFIGFOLDERDIRECTORY._serialized_start=2961 - _CONFIGFOLDERDIRECTORY._serialized_end=2997 - _CONFIGFOLDERDIRECTORYMSG._serialized_start=2999 - _CONFIGFOLDERDIRECTORYMSG._serialized_end=3113 - _NOSAMPLEPROFILEFOUND._serialized_start=3115 - _NOSAMPLEPROFILEFOUND._serialized_end=3154 - _NOSAMPLEPROFILEFOUNDMSG._serialized_start=3156 - _NOSAMPLEPROFILEFOUNDMSG._serialized_end=3268 - _PROFILEWRITTENWITHSAMPLE._serialized_start=3270 - _PROFILEWRITTENWITHSAMPLE._serialized_end=3324 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_start=3326 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_end=3446 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_start=3448 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_end=3514 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_start=3517 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_end=3661 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_start=3663 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_end=3730 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_start=3733 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_end=3879 - _SETTINGUPPROFILE._serialized_start=3881 - _SETTINGUPPROFILE._serialized_end=3899 - _SETTINGUPPROFILEMSG._serialized_start=3901 - _SETTINGUPPROFILEMSG._serialized_end=4005 - _INVALIDPROFILETEMPLATEYAML._serialized_start=4007 - _INVALIDPROFILETEMPLATEYAML._serialized_end=4035 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_start=4037 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_end=4161 - _PROJECTNAMEALREADYEXISTS._serialized_start=4163 - _PROJECTNAMEALREADYEXISTS._serialized_end=4203 - _PROJECTNAMEALREADYEXISTSMSG._serialized_start=4205 - _PROJECTNAMEALREADYEXISTSMSG._serialized_end=4325 - _PROJECTCREATED._serialized_start=4327 - _PROJECTCREATED._serialized_end=4402 - _PROJECTCREATEDMSG._serialized_start=4404 - _PROJECTCREATEDMSG._serialized_end=4504 - _PACKAGEREDIRECTDEPRECATION._serialized_start=4506 - _PACKAGEREDIRECTDEPRECATION._serialized_end=4570 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_start=4572 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_end=4696 - _PACKAGEINSTALLPATHDEPRECATION._serialized_start=4698 - _PACKAGEINSTALLPATHDEPRECATION._serialized_end=4729 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_start=4732 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_end=4862 - _CONFIGSOURCEPATHDEPRECATION._serialized_start=4864 - _CONFIGSOURCEPATHDEPRECATION._serialized_end=4936 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_start=4938 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_end=5064 - _CONFIGDATAPATHDEPRECATION._serialized_start=5066 - _CONFIGDATAPATHDEPRECATION._serialized_end=5136 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_start=5138 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_end=5260 - _ADAPTERDEPRECATIONWARNING._serialized_start=5262 - _ADAPTERDEPRECATIONWARNING._serialized_end=5325 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_start=5327 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_end=5449 - _METRICATTRIBUTESRENAMED._serialized_start=5451 - _METRICATTRIBUTESRENAMED._serialized_end=5497 - _METRICATTRIBUTESRENAMEDMSG._serialized_start=5499 - _METRICATTRIBUTESRENAMEDMSG._serialized_end=5617 - _EXPOSURENAMEDEPRECATION._serialized_start=5619 - _EXPOSURENAMEDEPRECATION._serialized_end=5662 - _EXPOSURENAMEDEPRECATIONMSG._serialized_start=5664 - _EXPOSURENAMEDEPRECATIONMSG._serialized_end=5782 - _INTERNALDEPRECATION._serialized_start=5784 - _INTERNALDEPRECATION._serialized_end=5878 - _INTERNALDEPRECATIONMSG._serialized_start=5880 - _INTERNALDEPRECATIONMSG._serialized_end=5990 - _ENVIRONMENTVARIABLERENAMED._serialized_start=5992 - _ENVIRONMENTVARIABLERENAMED._serialized_end=6056 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_start=6058 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_end=6182 - _CONFIGLOGPATHDEPRECATION._serialized_start=6184 - _CONFIGLOGPATHDEPRECATION._serialized_end=6235 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_start=6237 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_end=6357 - _CONFIGTARGETPATHDEPRECATION._serialized_start=6359 - _CONFIGTARGETPATHDEPRECATION._serialized_end=6413 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_start=6415 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_end=6541 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_start=6543 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_end=6576 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_start=6579 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_end=6713 - _ADAPTEREVENTDEBUG._serialized_start=6716 - _ADAPTEREVENTDEBUG._serialized_end=6851 - _ADAPTEREVENTDEBUGMSG._serialized_start=6853 - _ADAPTEREVENTDEBUGMSG._serialized_end=6959 - _ADAPTEREVENTINFO._serialized_start=6962 - _ADAPTEREVENTINFO._serialized_end=7096 - _ADAPTEREVENTINFOMSG._serialized_start=7098 - _ADAPTEREVENTINFOMSG._serialized_end=7202 - _ADAPTEREVENTWARNING._serialized_start=7205 - _ADAPTEREVENTWARNING._serialized_end=7342 - _ADAPTEREVENTWARNINGMSG._serialized_start=7344 - _ADAPTEREVENTWARNINGMSG._serialized_end=7454 - _ADAPTEREVENTERROR._serialized_start=7457 - _ADAPTEREVENTERROR._serialized_end=7610 - _ADAPTEREVENTERRORMSG._serialized_start=7612 - _ADAPTEREVENTERRORMSG._serialized_end=7718 - _NEWCONNECTION._serialized_start=7720 - _NEWCONNECTION._serialized_end=7815 - _NEWCONNECTIONMSG._serialized_start=7817 - _NEWCONNECTIONMSG._serialized_end=7915 - _CONNECTIONREUSED._serialized_start=7917 - _CONNECTIONREUSED._serialized_end=7978 - _CONNECTIONREUSEDMSG._serialized_start=7980 - _CONNECTIONREUSEDMSG._serialized_end=8084 - _CONNECTIONLEFTOPENINCLEANUP._serialized_start=8086 - _CONNECTIONLEFTOPENINCLEANUP._serialized_end=8134 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_start=8136 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_end=8262 - _CONNECTIONCLOSEDINCLEANUP._serialized_start=8264 - _CONNECTIONCLOSEDINCLEANUP._serialized_end=8310 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_start=8312 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_end=8434 - _ROLLBACKFAILED._serialized_start=8436 - _ROLLBACKFAILED._serialized_end=8531 - _ROLLBACKFAILEDMSG._serialized_start=8533 - _ROLLBACKFAILEDMSG._serialized_end=8633 - _CONNECTIONCLOSED._serialized_start=8635 - _CONNECTIONCLOSED._serialized_end=8714 - _CONNECTIONCLOSEDMSG._serialized_start=8716 - _CONNECTIONCLOSEDMSG._serialized_end=8820 - _CONNECTIONLEFTOPEN._serialized_start=8822 - _CONNECTIONLEFTOPEN._serialized_end=8903 - _CONNECTIONLEFTOPENMSG._serialized_start=8905 - _CONNECTIONLEFTOPENMSG._serialized_end=9013 - _ROLLBACK._serialized_start=9015 - _ROLLBACK._serialized_end=9086 - _ROLLBACKMSG._serialized_start=9088 - _ROLLBACKMSG._serialized_end=9176 - _CACHEMISS._serialized_start=9178 - _CACHEMISS._serialized_end=9242 - _CACHEMISSMSG._serialized_start=9244 - _CACHEMISSMSG._serialized_end=9334 - _LISTRELATIONS._serialized_start=9336 - _LISTRELATIONS._serialized_end=9434 - _LISTRELATIONSMSG._serialized_start=9436 - _LISTRELATIONSMSG._serialized_end=9534 - _CONNECTIONUSED._serialized_start=9536 - _CONNECTIONUSED._serialized_end=9632 - _CONNECTIONUSEDMSG._serialized_start=9634 - _CONNECTIONUSEDMSG._serialized_end=9734 - _SQLQUERY._serialized_start=9736 - _SQLQUERY._serialized_end=9820 - _SQLQUERYMSG._serialized_start=9822 - _SQLQUERYMSG._serialized_end=9910 - _SQLQUERYSTATUS._serialized_start=9912 - _SQLQUERYSTATUS._serialized_end=10003 - _SQLQUERYSTATUSMSG._serialized_start=10005 - _SQLQUERYSTATUSMSG._serialized_end=10105 - _SQLCOMMIT._serialized_start=10107 - _SQLCOMMIT._serialized_end=10179 - _SQLCOMMITMSG._serialized_start=10181 - _SQLCOMMITMSG._serialized_end=10271 - _COLTYPECHANGE._serialized_start=10273 - _COLTYPECHANGE._serialized_end=10370 - _COLTYPECHANGEMSG._serialized_start=10372 - _COLTYPECHANGEMSG._serialized_end=10470 - _SCHEMACREATION._serialized_start=10472 - _SCHEMACREATION._serialized_end=10536 - _SCHEMACREATIONMSG._serialized_start=10538 - _SCHEMACREATIONMSG._serialized_end=10638 - _SCHEMADROP._serialized_start=10640 - _SCHEMADROP._serialized_end=10700 - _SCHEMADROPMSG._serialized_start=10702 - _SCHEMADROPMSG._serialized_end=10794 - _CACHEACTION._serialized_start=10797 - _CACHEACTION._serialized_end=11019 - _CACHEACTIONMSG._serialized_start=11021 - _CACHEACTIONMSG._serialized_end=11115 - _CACHEDUMPGRAPH._serialized_start=11118 - _CACHEDUMPGRAPH._serialized_end=11270 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_start=11227 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_end=11270 - _CACHEDUMPGRAPHMSG._serialized_start=11272 - _CACHEDUMPGRAPHMSG._serialized_end=11372 - _ADAPTERREGISTERED._serialized_start=11374 - _ADAPTERREGISTERED._serialized_end=11440 - _ADAPTERREGISTEREDMSG._serialized_start=11442 - _ADAPTERREGISTEREDMSG._serialized_end=11548 - _ADAPTERIMPORTERROR._serialized_start=11550 - _ADAPTERIMPORTERROR._serialized_end=11583 - _ADAPTERIMPORTERRORMSG._serialized_start=11585 - _ADAPTERIMPORTERRORMSG._serialized_end=11693 - _PLUGINLOADERROR._serialized_start=11695 - _PLUGINLOADERROR._serialized_end=11730 - _PLUGINLOADERRORMSG._serialized_start=11732 - _PLUGINLOADERRORMSG._serialized_end=11834 - _NEWCONNECTIONOPENING._serialized_start=11836 - _NEWCONNECTIONOPENING._serialized_end=11926 - _NEWCONNECTIONOPENINGMSG._serialized_start=11928 - _NEWCONNECTIONOPENINGMSG._serialized_end=12040 - _CODEEXECUTION._serialized_start=12042 - _CODEEXECUTION._serialized_end=12098 - _CODEEXECUTIONMSG._serialized_start=12100 - _CODEEXECUTIONMSG._serialized_end=12198 - _CODEEXECUTIONSTATUS._serialized_start=12200 - _CODEEXECUTIONSTATUS._serialized_end=12254 - _CODEEXECUTIONSTATUSMSG._serialized_start=12256 - _CODEEXECUTIONSTATUSMSG._serialized_end=12366 - _CATALOGGENERATIONERROR._serialized_start=12368 - _CATALOGGENERATIONERROR._serialized_end=12405 - _CATALOGGENERATIONERRORMSG._serialized_start=12407 - _CATALOGGENERATIONERRORMSG._serialized_end=12523 - _WRITECATALOGFAILURE._serialized_start=12525 - _WRITECATALOGFAILURE._serialized_end=12570 - _WRITECATALOGFAILUREMSG._serialized_start=12572 - _WRITECATALOGFAILUREMSG._serialized_end=12682 - _CATALOGWRITTEN._serialized_start=12684 - _CATALOGWRITTEN._serialized_end=12714 - _CATALOGWRITTENMSG._serialized_start=12716 - _CATALOGWRITTENMSG._serialized_end=12816 - _CANNOTGENERATEDOCS._serialized_start=12818 - _CANNOTGENERATEDOCS._serialized_end=12838 - _CANNOTGENERATEDOCSMSG._serialized_start=12840 - _CANNOTGENERATEDOCSMSG._serialized_end=12948 - _BUILDINGCATALOG._serialized_start=12950 - _BUILDINGCATALOG._serialized_end=12967 - _BUILDINGCATALOGMSG._serialized_start=12969 - _BUILDINGCATALOGMSG._serialized_end=13071 - _DATABASEERRORRUNNINGHOOK._serialized_start=13073 - _DATABASEERRORRUNNINGHOOK._serialized_end=13118 - _DATABASEERRORRUNNINGHOOKMSG._serialized_start=13120 - _DATABASEERRORRUNNINGHOOKMSG._serialized_end=13240 - _HOOKSRUNNING._serialized_start=13242 - _HOOKSRUNNING._serialized_end=13294 - _HOOKSRUNNINGMSG._serialized_start=13296 - _HOOKSRUNNINGMSG._serialized_end=13392 - _FINISHEDRUNNINGSTATS._serialized_start=13394 - _FINISHEDRUNNINGSTATS._serialized_end=13478 - _FINISHEDRUNNINGSTATSMSG._serialized_start=13480 - _FINISHEDRUNNINGSTATSMSG._serialized_end=13592 - _CONSTRAINTNOTENFORCED._serialized_start=13594 - _CONSTRAINTNOTENFORCED._serialized_end=13654 - _CONSTRAINTNOTENFORCEDMSG._serialized_start=13656 - _CONSTRAINTNOTENFORCEDMSG._serialized_end=13770 - _CONSTRAINTNOTSUPPORTED._serialized_start=13772 - _CONSTRAINTNOTSUPPORTED._serialized_end=13833 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_start=13835 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_end=13951 - _INPUTFILEDIFFERROR._serialized_start=13953 - _INPUTFILEDIFFERROR._serialized_end=14008 - _INPUTFILEDIFFERRORMSG._serialized_start=14010 - _INPUTFILEDIFFERRORMSG._serialized_end=14118 - _INVALIDVALUEFORFIELD._serialized_start=14120 - _INVALIDVALUEFORFIELD._serialized_end=14183 - _INVALIDVALUEFORFIELDMSG._serialized_start=14185 - _INVALIDVALUEFORFIELDMSG._serialized_end=14297 - _VALIDATIONWARNING._serialized_start=14299 - _VALIDATIONWARNING._serialized_end=14380 - _VALIDATIONWARNINGMSG._serialized_start=14382 - _VALIDATIONWARNINGMSG._serialized_end=14488 - _PARSEPERFINFOPATH._serialized_start=14490 - _PARSEPERFINFOPATH._serialized_end=14523 - _PARSEPERFINFOPATHMSG._serialized_start=14525 - _PARSEPERFINFOPATHMSG._serialized_end=14631 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_start=14633 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_end=14682 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_start=14685 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_end=14823 - _PARTIALPARSINGERROR._serialized_start=14826 - _PARTIALPARSINGERROR._serialized_end=14960 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_start=14914 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_end=14960 - _PARTIALPARSINGERRORMSG._serialized_start=14962 - _PARTIALPARSINGERRORMSG._serialized_end=15072 - _PARTIALPARSINGSKIPPARSING._serialized_start=15074 - _PARTIALPARSINGSKIPPARSING._serialized_end=15101 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_start=15103 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_end=15225 - _UNABLETOPARTIALPARSE._serialized_start=15227 - _UNABLETOPARTIALPARSE._serialized_end=15265 - _UNABLETOPARTIALPARSEMSG._serialized_start=15267 - _UNABLETOPARTIALPARSEMSG._serialized_end=15379 - _STATECHECKVARSHASH._serialized_start=15381 - _STATECHECKVARSHASH._serialized_end=15483 - _STATECHECKVARSHASHMSG._serialized_start=15485 - _STATECHECKVARSHASHMSG._serialized_end=15593 - _PARTIALPARSINGNOTENABLED._serialized_start=15595 - _PARTIALPARSINGNOTENABLED._serialized_end=15621 - _PARTIALPARSINGNOTENABLEDMSG._serialized_start=15623 - _PARTIALPARSINGNOTENABLEDMSG._serialized_end=15743 - _PARSEDFILELOADFAILED._serialized_start=15745 - _PARSEDFILELOADFAILED._serialized_end=15812 - _PARSEDFILELOADFAILEDMSG._serialized_start=15814 - _PARSEDFILELOADFAILEDMSG._serialized_end=15926 - _PARTIALPARSINGENABLED._serialized_start=15928 - _PARTIALPARSINGENABLED._serialized_end=16000 - _PARTIALPARSINGENABLEDMSG._serialized_start=16002 - _PARTIALPARSINGENABLEDMSG._serialized_end=16116 - _PARTIALPARSINGFILE._serialized_start=16118 - _PARTIALPARSINGFILE._serialized_end=16174 - _PARTIALPARSINGFILEMSG._serialized_start=16176 - _PARTIALPARSINGFILEMSG._serialized_end=16284 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_start=16287 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_end=16462 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_start=16465 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_end=16599 - _UNUSEDRESOURCECONFIGPATH._serialized_start=16601 - _UNUSEDRESOURCECONFIGPATH._serialized_end=16656 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_start=16658 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_end=16778 - _SEEDINCREASED._serialized_start=16780 - _SEEDINCREASED._serialized_end=16831 - _SEEDINCREASEDMSG._serialized_start=16833 - _SEEDINCREASEDMSG._serialized_end=16931 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_start=16933 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_end=16995 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_start=16997 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_end=17117 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_start=17119 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_end=17187 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_start=17190 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_end=17322 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_start=17324 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_end=17416 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_start=17419 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_end=17553 - _UNUSEDTABLES._serialized_start=17555 - _UNUSEDTABLES._serialized_end=17592 - _UNUSEDTABLESMSG._serialized_start=17594 - _UNUSEDTABLESMSG._serialized_end=17690 - _WRONGRESOURCESCHEMAFILE._serialized_start=17693 - _WRONGRESOURCESCHEMAFILE._serialized_end=17828 - _WRONGRESOURCESCHEMAFILEMSG._serialized_start=17830 - _WRONGRESOURCESCHEMAFILEMSG._serialized_end=17948 - _NONODEFORYAMLKEY._serialized_start=17950 - _NONODEFORYAMLKEY._serialized_end=18025 - _NONODEFORYAMLKEYMSG._serialized_start=18027 - _NONODEFORYAMLKEYMSG._serialized_end=18131 - _MACRONOTFOUNDFORPATCH._serialized_start=18133 - _MACRONOTFOUNDFORPATCH._serialized_end=18176 - _MACRONOTFOUNDFORPATCHMSG._serialized_start=18178 - _MACRONOTFOUNDFORPATCHMSG._serialized_end=18292 - _NODENOTFOUNDORDISABLED._serialized_start=18295 - _NODENOTFOUNDORDISABLED._serialized_end=18479 - _NODENOTFOUNDORDISABLEDMSG._serialized_start=18481 - _NODENOTFOUNDORDISABLEDMSG._serialized_end=18597 - _JINJALOGWARNING._serialized_start=18599 - _JINJALOGWARNING._serialized_end=18671 - _JINJALOGWARNINGMSG._serialized_start=18673 - _JINJALOGWARNINGMSG._serialized_end=18775 - _JINJALOGINFO._serialized_start=18777 - _JINJALOGINFO._serialized_end=18846 - _JINJALOGINFOMSG._serialized_start=18848 - _JINJALOGINFOMSG._serialized_end=18944 - _JINJALOGDEBUG._serialized_start=18946 - _JINJALOGDEBUG._serialized_end=19016 - _JINJALOGDEBUGMSG._serialized_start=19018 - _JINJALOGDEBUGMSG._serialized_end=19116 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_start=19119 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_end=19293 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_start=19296 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_end=19428 - _DEPRECATEDMODEL._serialized_start=19430 - _DEPRECATEDMODEL._serialized_end=19516 - _DEPRECATEDMODELMSG._serialized_start=19518 - _DEPRECATEDMODELMSG._serialized_end=19620 - _UPCOMINGREFERENCEDEPRECATION._serialized_start=19623 - _UPCOMINGREFERENCEDEPRECATION._serialized_end=19821 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_start=19824 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_end=19952 - _DEPRECATEDREFERENCE._serialized_start=19955 - _DEPRECATEDREFERENCE._serialized_end=20144 - _DEPRECATEDREFERENCEMSG._serialized_start=20146 - _DEPRECATEDREFERENCEMSG._serialized_end=20256 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_start=20258 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_end=20318 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_start=20321 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_end=20465 - _PARSEINLINENODEERROR._serialized_start=20467 - _PARSEINLINENODEERROR._serialized_end=20544 - _PARSEINLINENODEERRORMSG._serialized_start=20546 - _PARSEINLINENODEERRORMSG._serialized_end=20658 - _SEMANTICVALIDATIONFAILURE._serialized_start=20660 - _SEMANTICVALIDATIONFAILURE._serialized_end=20700 - _SEMANTICVALIDATIONFAILUREMSG._serialized_start=20702 - _SEMANTICVALIDATIONFAILUREMSG._serialized_end=20824 - _UNVERSIONEDBREAKINGCHANGE._serialized_start=20827 - _UNVERSIONEDBREAKINGCHANGE._serialized_end=21221 - _UNVERSIONEDBREAKINGCHANGEMSG._serialized_start=21223 - _UNVERSIONEDBREAKINGCHANGEMSG._serialized_end=21345 - _WARNSTATETARGETEQUAL._serialized_start=21347 - _WARNSTATETARGETEQUAL._serialized_end=21389 - _WARNSTATETARGETEQUALMSG._serialized_start=21391 - _WARNSTATETARGETEQUALMSG._serialized_end=21503 - _FRESHNESSCONFIGPROBLEM._serialized_start=21505 - _FRESHNESSCONFIGPROBLEM._serialized_end=21542 - _FRESHNESSCONFIGPROBLEMMSG._serialized_start=21544 - _FRESHNESSCONFIGPROBLEMMSG._serialized_end=21660 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_start=21662 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_end=21709 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_start=21712 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_end=21842 - _GITPROGRESSCHECKOUTREVISION._serialized_start=21844 - _GITPROGRESSCHECKOUTREVISION._serialized_end=21891 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_start=21893 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_end=22019 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_start=22021 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_end=22073 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_start=22076 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_end=22222 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_start=22224 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_end=22270 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_start=22273 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_end=22407 - _GITNOTHINGTODO._serialized_start=22409 - _GITNOTHINGTODO._serialized_end=22438 - _GITNOTHINGTODOMSG._serialized_start=22440 - _GITNOTHINGTODOMSG._serialized_end=22540 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_start=22542 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_end=22611 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_start=22614 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_end=22748 - _GITPROGRESSCHECKEDOUTAT._serialized_start=22750 - _GITPROGRESSCHECKEDOUTAT._serialized_end=22792 - _GITPROGRESSCHECKEDOUTATMSG._serialized_start=22794 - _GITPROGRESSCHECKEDOUTATMSG._serialized_end=22912 - _REGISTRYPROGRESSGETREQUEST._serialized_start=22914 - _REGISTRYPROGRESSGETREQUEST._serialized_end=22955 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_start=22957 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_end=23081 - _REGISTRYPROGRESSGETRESPONSE._serialized_start=23083 - _REGISTRYPROGRESSGETRESPONSE._serialized_end=23144 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_start=23146 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_end=23272 - _SELECTORREPORTINVALIDSELECTOR._serialized_start=23274 - _SELECTORREPORTINVALIDSELECTOR._serialized_end=23369 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_start=23372 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_end=23502 - _DEPSNOPACKAGESFOUND._serialized_start=23504 - _DEPSNOPACKAGESFOUND._serialized_end=23525 - _DEPSNOPACKAGESFOUNDMSG._serialized_start=23527 - _DEPSNOPACKAGESFOUNDMSG._serialized_end=23637 - _DEPSSTARTPACKAGEINSTALL._serialized_start=23639 - _DEPSSTARTPACKAGEINSTALL._serialized_end=23686 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_start=23688 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_end=23806 - _DEPSINSTALLINFO._serialized_start=23808 - _DEPSINSTALLINFO._serialized_end=23847 - _DEPSINSTALLINFOMSG._serialized_start=23849 - _DEPSINSTALLINFOMSG._serialized_end=23951 - _DEPSUPDATEAVAILABLE._serialized_start=23953 - _DEPSUPDATEAVAILABLE._serialized_end=23998 - _DEPSUPDATEAVAILABLEMSG._serialized_start=24000 - _DEPSUPDATEAVAILABLEMSG._serialized_end=24110 - _DEPSUPTODATE._serialized_start=24112 - _DEPSUPTODATE._serialized_end=24126 - _DEPSUPTODATEMSG._serialized_start=24128 - _DEPSUPTODATEMSG._serialized_end=24224 - _DEPSLISTSUBDIRECTORY._serialized_start=24226 - _DEPSLISTSUBDIRECTORY._serialized_end=24270 - _DEPSLISTSUBDIRECTORYMSG._serialized_start=24272 - _DEPSLISTSUBDIRECTORYMSG._serialized_end=24384 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_start=24386 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_end=24432 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_start=24434 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_end=24558 - _RETRYEXTERNALCALL._serialized_start=24560 - _RETRYEXTERNALCALL._serialized_end=24609 - _RETRYEXTERNALCALLMSG._serialized_start=24611 - _RETRYEXTERNALCALLMSG._serialized_end=24717 - _RECORDRETRYEXCEPTION._serialized_start=24719 - _RECORDRETRYEXCEPTION._serialized_end=24754 - _RECORDRETRYEXCEPTIONMSG._serialized_start=24756 - _RECORDRETRYEXCEPTIONMSG._serialized_end=24868 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_start=24870 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_end=24916 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_start=24919 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_end=25053 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_start=25055 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_end=25121 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_start=25124 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_end=25260 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_start=25262 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_end=25312 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_start=25315 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_end=25447 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_start=25449 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_end=25499 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_start=25502 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_end=25634 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_start=25636 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_end=25689 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_start=25692 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_end=25830 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_start=25832 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_end=25883 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_start=25886 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_end=26020 - _DEPSSETDOWNLOADDIRECTORY._serialized_start=26022 - _DEPSSETDOWNLOADDIRECTORY._serialized_end=26062 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_start=26064 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_end=26184 - _DEPSUNPINNED._serialized_start=26186 - _DEPSUNPINNED._serialized_end=26231 - _DEPSUNPINNEDMSG._serialized_start=26233 - _DEPSUNPINNEDMSG._serialized_end=26329 - _NONODESFORSELECTIONCRITERIA._serialized_start=26331 - _NONODESFORSELECTIONCRITERIA._serialized_end=26378 - _NONODESFORSELECTIONCRITERIAMSG._serialized_start=26380 - _NONODESFORSELECTIONCRITERIAMSG._serialized_end=26506 - _DEPSLOCKUPDATING._serialized_start=26508 - _DEPSLOCKUPDATING._serialized_end=26549 - _DEPSLOCKUPDATINGMSG._serialized_start=26551 - _DEPSLOCKUPDATINGMSG._serialized_end=26655 - _DEPSADDPACKAGE._serialized_start=26657 - _DEPSADDPACKAGE._serialized_end=26739 - _DEPSADDPACKAGEMSG._serialized_start=26741 - _DEPSADDPACKAGEMSG._serialized_end=26841 - _DEPSFOUNDDUPLICATEPACKAGE._serialized_start=26844 - _DEPSFOUNDDUPLICATEPACKAGE._serialized_end=27011 - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_start=26958 - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_end=27011 - _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_start=27013 - _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_end=27135 - _DEPSVERSIONMISSING._serialized_start=27137 - _DEPSVERSIONMISSING._serialized_end=27173 - _DEPSVERSIONMISSINGMSG._serialized_start=27175 - _DEPSVERSIONMISSINGMSG._serialized_end=27283 - _RUNNINGOPERATIONCAUGHTERROR._serialized_start=27285 - _RUNNINGOPERATIONCAUGHTERROR._serialized_end=27327 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_start=27329 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_end=27455 - _COMPILECOMPLETE._serialized_start=27457 - _COMPILECOMPLETE._serialized_end=27474 - _COMPILECOMPLETEMSG._serialized_start=27476 - _COMPILECOMPLETEMSG._serialized_end=27578 - _FRESHNESSCHECKCOMPLETE._serialized_start=27580 - _FRESHNESSCHECKCOMPLETE._serialized_end=27604 - _FRESHNESSCHECKCOMPLETEMSG._serialized_start=27606 - _FRESHNESSCHECKCOMPLETEMSG._serialized_end=27722 - _SEEDHEADER._serialized_start=27724 - _SEEDHEADER._serialized_end=27752 - _SEEDHEADERMSG._serialized_start=27754 - _SEEDHEADERMSG._serialized_end=27846 - _SQLRUNNEREXCEPTION._serialized_start=27848 - _SQLRUNNEREXCEPTION._serialized_end=27899 - _SQLRUNNEREXCEPTIONMSG._serialized_start=27901 - _SQLRUNNEREXCEPTIONMSG._serialized_end=28009 - _LOGTESTRESULT._serialized_start=28012 - _LOGTESTRESULT._serialized_end=28180 - _LOGTESTRESULTMSG._serialized_start=28182 - _LOGTESTRESULTMSG._serialized_end=28280 - _LOGSTARTLINE._serialized_start=28282 - _LOGSTARTLINE._serialized_end=28389 - _LOGSTARTLINEMSG._serialized_start=28391 - _LOGSTARTLINEMSG._serialized_end=28487 - _LOGMODELRESULT._serialized_start=28490 - _LOGMODELRESULT._serialized_end=28639 - _LOGMODELRESULTMSG._serialized_start=28641 - _LOGMODELRESULTMSG._serialized_end=28741 - _LOGSNAPSHOTRESULT._serialized_start=28744 - _LOGSNAPSHOTRESULT._serialized_end=29018 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_start=28976 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_end=29018 - _LOGSNAPSHOTRESULTMSG._serialized_start=29020 - _LOGSNAPSHOTRESULTMSG._serialized_end=29126 - _LOGSEEDRESULT._serialized_start=29129 - _LOGSEEDRESULT._serialized_end=29314 - _LOGSEEDRESULTMSG._serialized_start=29316 - _LOGSEEDRESULTMSG._serialized_end=29414 - _LOGFRESHNESSRESULT._serialized_start=29417 - _LOGFRESHNESSRESULT._serialized_end=29590 - _LOGFRESHNESSRESULTMSG._serialized_start=29592 - _LOGFRESHNESSRESULTMSG._serialized_end=29700 - _LOGCANCELLINE._serialized_start=29702 - _LOGCANCELLINE._serialized_end=29736 - _LOGCANCELLINEMSG._serialized_start=29738 - _LOGCANCELLINEMSG._serialized_end=29836 - _DEFAULTSELECTOR._serialized_start=29838 - _DEFAULTSELECTOR._serialized_end=29869 - _DEFAULTSELECTORMSG._serialized_start=29871 - _DEFAULTSELECTORMSG._serialized_end=29973 - _NODESTART._serialized_start=29975 - _NODESTART._serialized_end=30028 - _NODESTARTMSG._serialized_start=30030 - _NODESTARTMSG._serialized_end=30120 - _NODEFINISHED._serialized_start=30122 - _NODEFINISHED._serialized_end=30225 - _NODEFINISHEDMSG._serialized_start=30227 - _NODEFINISHEDMSG._serialized_end=30323 - _QUERYCANCELATIONUNSUPPORTED._serialized_start=30325 - _QUERYCANCELATIONUNSUPPORTED._serialized_end=30368 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_start=30370 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_end=30496 - _CONCURRENCYLINE._serialized_start=30498 - _CONCURRENCYLINE._serialized_end=30577 - _CONCURRENCYLINEMSG._serialized_start=30579 - _CONCURRENCYLINEMSG._serialized_end=30681 - _WRITINGINJECTEDSQLFORNODE._serialized_start=30683 - _WRITINGINJECTEDSQLFORNODE._serialized_end=30752 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_start=30754 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_end=30876 - _NODECOMPILING._serialized_start=30878 - _NODECOMPILING._serialized_end=30935 - _NODECOMPILINGMSG._serialized_start=30937 - _NODECOMPILINGMSG._serialized_end=31035 - _NODEEXECUTING._serialized_start=31037 - _NODEEXECUTING._serialized_end=31094 - _NODEEXECUTINGMSG._serialized_start=31096 - _NODEEXECUTINGMSG._serialized_end=31194 - _LOGHOOKSTARTLINE._serialized_start=31196 - _LOGHOOKSTARTLINE._serialized_end=31305 - _LOGHOOKSTARTLINEMSG._serialized_start=31307 - _LOGHOOKSTARTLINEMSG._serialized_end=31411 - _LOGHOOKENDLINE._serialized_start=31414 - _LOGHOOKENDLINE._serialized_end=31561 - _LOGHOOKENDLINEMSG._serialized_start=31563 - _LOGHOOKENDLINEMSG._serialized_end=31663 - _SKIPPINGDETAILS._serialized_start=31666 - _SKIPPINGDETAILS._serialized_end=31813 - _SKIPPINGDETAILSMSG._serialized_start=31815 - _SKIPPINGDETAILSMSG._serialized_end=31917 - _NOTHINGTODO._serialized_start=31919 - _NOTHINGTODO._serialized_end=31932 - _NOTHINGTODOMSG._serialized_start=31934 - _NOTHINGTODOMSG._serialized_end=32028 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_start=32030 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_end=32074 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_start=32077 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_end=32207 - _ENDRUNRESULT._serialized_start=32210 - _ENDRUNRESULT._serialized_end=32357 - _ENDRUNRESULTMSG._serialized_start=32359 - _ENDRUNRESULTMSG._serialized_end=32455 - _NONODESSELECTED._serialized_start=32457 - _NONODESSELECTED._serialized_end=32474 - _NONODESSELECTEDMSG._serialized_start=32476 - _NONODESSELECTEDMSG._serialized_end=32578 - _COMMANDCOMPLETED._serialized_start=32580 - _COMMANDCOMPLETED._serialized_end=32699 - _COMMANDCOMPLETEDMSG._serialized_start=32701 - _COMMANDCOMPLETEDMSG._serialized_end=32805 - _SHOWNODE._serialized_start=32807 - _SHOWNODE._serialized_end=32914 - _SHOWNODEMSG._serialized_start=32916 - _SHOWNODEMSG._serialized_end=33004 - _COMPILEDNODE._serialized_start=33006 - _COMPILEDNODE._serialized_end=33118 - _COMPILEDNODEMSG._serialized_start=33120 - _COMPILEDNODEMSG._serialized_end=33216 - _CATCHABLEEXCEPTIONONRUN._serialized_start=33218 - _CATCHABLEEXCEPTIONONRUN._serialized_end=33316 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_start=33318 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_end=33436 - _INTERNALERRORONRUN._serialized_start=33438 - _INTERNALERRORONRUN._serialized_end=33491 - _INTERNALERRORONRUNMSG._serialized_start=33493 - _INTERNALERRORONRUNMSG._serialized_end=33601 - _GENERICEXCEPTIONONRUN._serialized_start=33603 - _GENERICEXCEPTIONONRUN._serialized_end=33678 - _GENERICEXCEPTIONONRUNMSG._serialized_start=33680 - _GENERICEXCEPTIONONRUNMSG._serialized_end=33794 - _NODECONNECTIONRELEASEERROR._serialized_start=33796 - _NODECONNECTIONRELEASEERROR._serialized_end=33874 - _NODECONNECTIONRELEASEERRORMSG._serialized_start=33876 - _NODECONNECTIONRELEASEERRORMSG._serialized_end=34000 - _FOUNDSTATS._serialized_start=34002 - _FOUNDSTATS._serialized_end=34033 - _FOUNDSTATSMSG._serialized_start=34035 - _FOUNDSTATSMSG._serialized_end=34127 - _MAINKEYBOARDINTERRUPT._serialized_start=34129 - _MAINKEYBOARDINTERRUPT._serialized_end=34152 - _MAINKEYBOARDINTERRUPTMSG._serialized_start=34154 - _MAINKEYBOARDINTERRUPTMSG._serialized_end=34268 - _MAINENCOUNTEREDERROR._serialized_start=34270 - _MAINENCOUNTEREDERROR._serialized_end=34305 - _MAINENCOUNTEREDERRORMSG._serialized_start=34307 - _MAINENCOUNTEREDERRORMSG._serialized_end=34419 - _MAINSTACKTRACE._serialized_start=34421 - _MAINSTACKTRACE._serialized_end=34458 - _MAINSTACKTRACEMSG._serialized_start=34460 - _MAINSTACKTRACEMSG._serialized_end=34560 - _SYSTEMCOULDNOTWRITE._serialized_start=34562 - _SYSTEMCOULDNOTWRITE._serialized_end=34626 - _SYSTEMCOULDNOTWRITEMSG._serialized_start=34628 - _SYSTEMCOULDNOTWRITEMSG._serialized_end=34738 - _SYSTEMEXECUTINGCMD._serialized_start=34740 - _SYSTEMEXECUTINGCMD._serialized_end=34773 - _SYSTEMEXECUTINGCMDMSG._serialized_start=34775 - _SYSTEMEXECUTINGCMDMSG._serialized_end=34883 - _SYSTEMSTDOUT._serialized_start=34885 - _SYSTEMSTDOUT._serialized_end=34913 - _SYSTEMSTDOUTMSG._serialized_start=34915 - _SYSTEMSTDOUTMSG._serialized_end=35011 - _SYSTEMSTDERR._serialized_start=35013 - _SYSTEMSTDERR._serialized_end=35041 - _SYSTEMSTDERRMSG._serialized_start=35043 - _SYSTEMSTDERRMSG._serialized_end=35139 - _SYSTEMREPORTRETURNCODE._serialized_start=35141 - _SYSTEMREPORTRETURNCODE._serialized_end=35185 - _SYSTEMREPORTRETURNCODEMSG._serialized_start=35187 - _SYSTEMREPORTRETURNCODEMSG._serialized_end=35303 - _TIMINGINFOCOLLECTED._serialized_start=35305 - _TIMINGINFOCOLLECTED._serialized_end=35417 - _TIMINGINFOCOLLECTEDMSG._serialized_start=35419 - _TIMINGINFOCOLLECTEDMSG._serialized_end=35529 - _LOGDEBUGSTACKTRACE._serialized_start=35531 - _LOGDEBUGSTACKTRACE._serialized_end=35569 - _LOGDEBUGSTACKTRACEMSG._serialized_start=35571 - _LOGDEBUGSTACKTRACEMSG._serialized_end=35679 - _CHECKCLEANPATH._serialized_start=35681 - _CHECKCLEANPATH._serialized_end=35711 - _CHECKCLEANPATHMSG._serialized_start=35713 - _CHECKCLEANPATHMSG._serialized_end=35813 - _CONFIRMCLEANPATH._serialized_start=35815 - _CONFIRMCLEANPATH._serialized_end=35847 - _CONFIRMCLEANPATHMSG._serialized_start=35849 - _CONFIRMCLEANPATHMSG._serialized_end=35953 - _PROTECTEDCLEANPATH._serialized_start=35955 - _PROTECTEDCLEANPATH._serialized_end=35989 - _PROTECTEDCLEANPATHMSG._serialized_start=35991 - _PROTECTEDCLEANPATHMSG._serialized_end=36099 - _FINISHEDCLEANPATHS._serialized_start=36101 - _FINISHEDCLEANPATHS._serialized_end=36121 - _FINISHEDCLEANPATHSMSG._serialized_start=36123 - _FINISHEDCLEANPATHSMSG._serialized_end=36231 - _OPENCOMMAND._serialized_start=36233 - _OPENCOMMAND._serialized_end=36286 - _OPENCOMMANDMSG._serialized_start=36288 - _OPENCOMMANDMSG._serialized_end=36382 - _FORMATTING._serialized_start=36384 - _FORMATTING._serialized_end=36409 - _FORMATTINGMSG._serialized_start=36411 - _FORMATTINGMSG._serialized_end=36503 - _SERVINGDOCSPORT._serialized_start=36505 - _SERVINGDOCSPORT._serialized_end=36553 - _SERVINGDOCSPORTMSG._serialized_start=36555 - _SERVINGDOCSPORTMSG._serialized_end=36657 - _SERVINGDOCSACCESSINFO._serialized_start=36659 - _SERVINGDOCSACCESSINFO._serialized_end=36696 - _SERVINGDOCSACCESSINFOMSG._serialized_start=36698 - _SERVINGDOCSACCESSINFOMSG._serialized_end=36812 - _SERVINGDOCSEXITINFO._serialized_start=36814 - _SERVINGDOCSEXITINFO._serialized_end=36835 - _SERVINGDOCSEXITINFOMSG._serialized_start=36837 - _SERVINGDOCSEXITINFOMSG._serialized_end=36947 - _RUNRESULTWARNING._serialized_start=36949 - _RUNRESULTWARNING._serialized_end=37023 - _RUNRESULTWARNINGMSG._serialized_start=37025 - _RUNRESULTWARNINGMSG._serialized_end=37129 - _RUNRESULTFAILURE._serialized_start=37131 - _RUNRESULTFAILURE._serialized_end=37205 - _RUNRESULTFAILUREMSG._serialized_start=37207 - _RUNRESULTFAILUREMSG._serialized_end=37311 - _STATSLINE._serialized_start=37313 - _STATSLINE._serialized_end=37420 - _STATSLINE_STATSENTRY._serialized_start=37376 - _STATSLINE_STATSENTRY._serialized_end=37420 - _STATSLINEMSG._serialized_start=37422 - _STATSLINEMSG._serialized_end=37512 - _RUNRESULTERROR._serialized_start=37514 - _RUNRESULTERROR._serialized_end=37543 - _RUNRESULTERRORMSG._serialized_start=37545 - _RUNRESULTERRORMSG._serialized_end=37645 - _RUNRESULTERRORNOMESSAGE._serialized_start=37647 - _RUNRESULTERRORNOMESSAGE._serialized_end=37688 - _RUNRESULTERRORNOMESSAGEMSG._serialized_start=37690 - _RUNRESULTERRORNOMESSAGEMSG._serialized_end=37808 - _SQLCOMPILEDPATH._serialized_start=37810 - _SQLCOMPILEDPATH._serialized_end=37841 - _SQLCOMPILEDPATHMSG._serialized_start=37843 - _SQLCOMPILEDPATHMSG._serialized_end=37945 - _CHECKNODETESTFAILURE._serialized_start=37947 - _CHECKNODETESTFAILURE._serialized_end=37992 - _CHECKNODETESTFAILUREMSG._serialized_start=37994 - _CHECKNODETESTFAILUREMSG._serialized_end=38106 - _ENDOFRUNSUMMARY._serialized_start=38108 - _ENDOFRUNSUMMARY._serialized_end=38195 - _ENDOFRUNSUMMARYMSG._serialized_start=38197 - _ENDOFRUNSUMMARYMSG._serialized_end=38299 - _LOGSKIPBECAUSEERROR._serialized_start=38301 - _LOGSKIPBECAUSEERROR._serialized_end=38386 - _LOGSKIPBECAUSEERRORMSG._serialized_start=38388 - _LOGSKIPBECAUSEERRORMSG._serialized_end=38498 - _ENSUREGITINSTALLED._serialized_start=38500 - _ENSUREGITINSTALLED._serialized_end=38520 - _ENSUREGITINSTALLEDMSG._serialized_start=38522 - _ENSUREGITINSTALLEDMSG._serialized_end=38630 - _DEPSCREATINGLOCALSYMLINK._serialized_start=38632 - _DEPSCREATINGLOCALSYMLINK._serialized_end=38658 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_start=38660 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_end=38780 - _DEPSSYMLINKNOTAVAILABLE._serialized_start=38782 - _DEPSSYMLINKNOTAVAILABLE._serialized_end=38807 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_start=38809 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_end=38927 - _DISABLETRACKING._serialized_start=38929 - _DISABLETRACKING._serialized_end=38946 - _DISABLETRACKINGMSG._serialized_start=38948 - _DISABLETRACKINGMSG._serialized_end=39050 - _SENDINGEVENT._serialized_start=39052 - _SENDINGEVENT._serialized_end=39082 - _SENDINGEVENTMSG._serialized_start=39084 - _SENDINGEVENTMSG._serialized_end=39180 - _SENDEVENTFAILURE._serialized_start=39182 - _SENDEVENTFAILURE._serialized_end=39200 - _SENDEVENTFAILUREMSG._serialized_start=39202 - _SENDEVENTFAILUREMSG._serialized_end=39306 - _FLUSHEVENTS._serialized_start=39308 - _FLUSHEVENTS._serialized_end=39321 - _FLUSHEVENTSMSG._serialized_start=39323 - _FLUSHEVENTSMSG._serialized_end=39417 - _FLUSHEVENTSFAILURE._serialized_start=39419 - _FLUSHEVENTSFAILURE._serialized_end=39439 - _FLUSHEVENTSFAILUREMSG._serialized_start=39441 - _FLUSHEVENTSFAILUREMSG._serialized_end=39549 - _TRACKINGINITIALIZEFAILURE._serialized_start=39551 - _TRACKINGINITIALIZEFAILURE._serialized_end=39596 - _TRACKINGINITIALIZEFAILUREMSG._serialized_start=39598 - _TRACKINGINITIALIZEFAILUREMSG._serialized_end=39720 - _RUNRESULTWARNINGMESSAGE._serialized_start=39722 - _RUNRESULTWARNINGMESSAGE._serialized_end=39760 - _RUNRESULTWARNINGMESSAGEMSG._serialized_start=39762 - _RUNRESULTWARNINGMESSAGEMSG._serialized_end=39880 - _DEBUGCMDOUT._serialized_start=39882 - _DEBUGCMDOUT._serialized_end=39908 - _DEBUGCMDOUTMSG._serialized_start=39910 - _DEBUGCMDOUTMSG._serialized_end=40004 - _DEBUGCMDRESULT._serialized_start=40006 - _DEBUGCMDRESULT._serialized_end=40035 - _DEBUGCMDRESULTMSG._serialized_start=40037 - _DEBUGCMDRESULTMSG._serialized_end=40137 - _LISTCMDOUT._serialized_start=40139 - _LISTCMDOUT._serialized_end=40164 - _LISTCMDOUTMSG._serialized_start=40166 - _LISTCMDOUTMSG._serialized_end=40258 - _NOTE._serialized_start=40260 - _NOTE._serialized_end=40279 - _NOTEMSG._serialized_start=40281 - _NOTEMSG._serialized_end=40361 - _RESOURCEREPORT._serialized_start=40364 - _RESOURCEREPORT._serialized_end=40600 - _RESOURCEREPORTMSG._serialized_start=40602 - _RESOURCEREPORTMSG._serialized_end=40702 -# @@protoc_insertion_point(module_scope) From f44d704801bdeab19ad44c89ecc496b2d5241552 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Wed, 25 Oct 2023 17:05:08 -0400 Subject: [PATCH 05/40] move agate_helper into common --- core/dbt/adapters/base/impl.py | 2 +- core/dbt/adapters/sql/connections.py | 6 +++--- core/dbt/common/clients/__init__.py | 0 core/dbt/{ => common}/clients/agate_helper.py | 0 core/dbt/context/providers.py | 2 +- core/dbt/exceptions.py | 2 +- tests/{ => common}/unit/test_agate_helper.py | 2 +- tests/unit/test_postgres_adapter.py | 2 +- tests/unit/utils.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 core/dbt/common/clients/__init__.py rename core/dbt/{ => common}/clients/agate_helper.py (100%) rename tests/{ => common}/unit/test_agate_helper.py (99%) diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 4f72248fafe..9f163210323 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -46,7 +46,7 @@ ) from dbt.adapters.protocol import AdapterConfig -from dbt.clients.agate_helper import ( +from dbt.common.clients.agate_helper import ( empty_table, get_column_value_uncased, merge_tables, diff --git a/core/dbt/adapters/sql/connections.py b/core/dbt/adapters/sql/connections.py index c3836c85dd2..de319e780ad 100644 --- a/core/dbt/adapters/sql/connections.py +++ b/core/dbt/adapters/sql/connections.py @@ -4,7 +4,7 @@ import agate -import dbt.clients.agate_helper +import dbt.common.clients.agate_helper import dbt.exceptions from dbt.adapters.base import BaseConnectionManager from dbt.adapters.contracts.connection import Connection, ConnectionState, AdapterResponse @@ -129,7 +129,7 @@ def get_result_from_cursor(cls, cursor: Any, limit: Optional[int]) -> agate.Tabl rows = cursor.fetchall() data = cls.process_results(column_names, rows) - return dbt.clients.agate_helper.table_from_data_flat(data, column_names) + return dbt.common.clients.agate_helper.table_from_data_flat(data, column_names) def execute( self, sql: str, auto_begin: bool = False, fetch: bool = False, limit: Optional[int] = None @@ -140,7 +140,7 @@ def execute( if fetch: table = self.get_result_from_cursor(cursor, limit) else: - table = dbt.clients.agate_helper.empty_table() + table = dbt.common.clients.agate_helper.empty_table() return response, table def add_begin_query(self): diff --git a/core/dbt/common/clients/__init__.py b/core/dbt/common/clients/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/clients/agate_helper.py b/core/dbt/common/clients/agate_helper.py similarity index 100% rename from core/dbt/clients/agate_helper.py rename to core/dbt/common/clients/agate_helper.py diff --git a/core/dbt/context/providers.py b/core/dbt/context/providers.py index b3e0f67e3df..075ca8b597b 100644 --- a/core/dbt/context/providers.py +++ b/core/dbt/context/providers.py @@ -16,7 +16,7 @@ from dbt.adapters.base.column import Column from dbt.adapters.factory import get_adapter, get_adapter_package_names, get_adapter_type_names -from dbt.clients import agate_helper +from dbt.common.clients import agate_helper from dbt.clients.jinja import get_rendered, MacroGenerator, MacroStack from dbt.config import RuntimeConfig, Project from dbt.constants import SECRET_ENV_PREFIX, DEFAULT_ENV_PLACEHOLDER diff --git a/core/dbt/exceptions.py b/core/dbt/exceptions.py index 335e601a4c8..9e841a0fad1 100644 --- a/core/dbt/exceptions.py +++ b/core/dbt/exceptions.py @@ -2245,7 +2245,7 @@ def __init__(self, yaml_columns, sql_columns): def get_mismatches(self) -> agate.Table: # avoid a circular import - from dbt.clients.agate_helper import table_from_data_flat + from dbt.common.clients.agate_helper import table_from_data_flat column_names = ["column_name", "definition_type", "contract_type", "mismatch_reason"] # list of mismatches diff --git a/tests/unit/test_agate_helper.py b/tests/common/unit/test_agate_helper.py similarity index 99% rename from tests/unit/test_agate_helper.py rename to tests/common/unit/test_agate_helper.py index 476c9514280..9e63aa47346 100644 --- a/tests/unit/test_agate_helper.py +++ b/tests/common/unit/test_agate_helper.py @@ -8,7 +8,7 @@ import os from shutil import rmtree from tempfile import mkdtemp -from dbt.clients import agate_helper +from dbt.common.clients import agate_helper SAMPLE_CSV_DATA = """a,b,c,d,e,f,g 1,n,test,3.2,20180806T11:33:29.320Z,True,NULL diff --git a/tests/unit/test_postgres_adapter.py b/tests/unit/test_postgres_adapter.py index 80b8d61b9b4..c80ae80d8a1 100644 --- a/tests/unit/test_postgres_adapter.py +++ b/tests/unit/test_postgres_adapter.py @@ -10,7 +10,7 @@ from dbt.adapters.postgres import Plugin as PostgresPlugin from dbt.contracts.files import FileHash from dbt.contracts.graph.manifest import ManifestStateCheck -from dbt.clients import agate_helper +from dbt.common.clients import agate_helper from dbt.exceptions import DbtValidationError, DbtConfigError from psycopg2 import extensions as psycopg2_extensions from psycopg2 import DatabaseError diff --git a/tests/unit/utils.py b/tests/unit/utils.py index f38c0f5cabe..c5ee1329293 100644 --- a/tests/unit/utils.py +++ b/tests/unit/utils.py @@ -253,7 +253,7 @@ def generate_name_macros(package): class TestAdapterConversions(TestCase): def _get_tester_for(self, column_type): - from dbt.clients import agate_helper + from dbt.common.clients import agate_helper if column_type is agate.TimeDelta: # dbt never makes this! return agate.TimeDelta() From 1a825484fbc8a612252ed8581a788d59afbf619e Mon Sep 17 00:00:00 2001 From: colin-rogers-dbt <111200756+colin-rogers-dbt@users.noreply.github.com> Date: Thu, 26 Oct 2023 12:59:07 -0700 Subject: [PATCH 06/40] Add utils module (#8910) * moving types_pb2.py to common/events * split out utils into core/common/adapters * add changie --- .../unreleased/Features-20231026-110821.yaml | 6 + .flake8 | 2 + core/dbt/adapters/base/connections.py | 2 +- core/dbt/adapters/base/impl.py | 2 +- core/dbt/adapters/base/relation.py | 5 +- core/dbt/adapters/contracts/connection.py | 2 +- .../adapters/relation_configs/config_base.py | 2 +- core/dbt/adapters/sql/connections.py | 2 +- core/dbt/adapters/utils.py | 13 + core/dbt/cli/requires.py | 2 +- core/dbt/clients/jinja.py | 3 +- core/dbt/common/util.py | 9 - core/dbt/common/utils/__init__.py | 21 ++ core/dbt/common/utils/casting.py | 25 ++ core/dbt/common/utils/dict.py | 128 ++++++++++ core/dbt/common/utils/encoding.py | 56 +++++ core/dbt/common/utils/executor.py | 67 +++++ core/dbt/config/renderer.py | 2 +- core/dbt/context/providers.py | 4 +- core/dbt/contracts/relation.py | 2 +- core/dbt/contracts/results.py | 3 +- core/dbt/parser/manifest.py | 2 +- core/dbt/parser/schemas.py | 3 +- core/dbt/task/runnable.py | 2 +- core/dbt/task/snapshot.py | 2 +- core/dbt/utils.py | 236 +----------------- tests/unit/common/test_utils.py | 143 +++++++++++ tests/unit/test_utils.py | 139 ----------- 28 files changed, 483 insertions(+), 402 deletions(-) create mode 100644 .changes/unreleased/Features-20231026-110821.yaml delete mode 100644 core/dbt/common/util.py create mode 100644 core/dbt/common/utils/__init__.py create mode 100644 core/dbt/common/utils/casting.py create mode 100644 core/dbt/common/utils/dict.py create mode 100644 core/dbt/common/utils/encoding.py create mode 100644 core/dbt/common/utils/executor.py create mode 100644 tests/unit/common/test_utils.py diff --git a/.changes/unreleased/Features-20231026-110821.yaml b/.changes/unreleased/Features-20231026-110821.yaml new file mode 100644 index 00000000000..7fffb6fe569 --- /dev/null +++ b/.changes/unreleased/Features-20231026-110821.yaml @@ -0,0 +1,6 @@ +kind: Features +body: migrate utils to common and adapters folders +time: 2023-10-26T11:08:21.458709-07:00 +custom: + Author: colin-rogers-dbt + Issue: "8924" diff --git a/.flake8 b/.flake8 index e39b2fa4646..26e20a5d209 100644 --- a/.flake8 +++ b/.flake8 @@ -10,3 +10,5 @@ ignore = E741 E501 # long line checking is done in black exclude = test/ +per-file-ignores = + */__init__.py: F401 diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index 6780fc1de6a..167368ba7a2 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -50,7 +50,7 @@ ) from dbt.common.events.contextvars import get_node_info from dbt import flags -from dbt.utils import cast_to_str +from dbt.common.utils import cast_to_str SleepTime = Union[int, float] # As taken by time.sleep. AdapterHandle = Any # Adapter connection handle objects can be any class. diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 4f72248fafe..8d4ca1a5c3c 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -65,7 +65,7 @@ ConstraintNotSupported, ConstraintNotEnforced, ) -from dbt.utils import filter_null_values, executor, cast_to_str, AttrDict +from dbt.common.utils import filter_null_values, executor, cast_to_str, AttrDict from dbt.adapters.base.connections import Connection, AdapterResponse, BaseConnectionManager from dbt.adapters.base.meta import AdapterMeta, available diff --git a/core/dbt/adapters/base/relation.py b/core/dbt/adapters/base/relation.py index 67a50d9061f..abe403a178c 100644 --- a/core/dbt/adapters/base/relation.py +++ b/core/dbt/adapters/base/relation.py @@ -17,7 +17,8 @@ MultipleDatabasesNotAllowedError, ) from dbt.node_types import NodeType -from dbt.utils import filter_null_values, deep_merge, classproperty +from dbt.common.utils import filter_null_values, deep_merge +from dbt.adapters.utils import classproperty import dbt.exceptions @@ -246,7 +247,7 @@ def create_from_node( if quote_policy is None: quote_policy = {} - quote_policy = dbt.utils.merge(config.quoting, quote_policy) + quote_policy = dbt.common.utils.merge(config.quoting, quote_policy) return cls.create( database=node.database, diff --git a/core/dbt/adapters/contracts/connection.py b/core/dbt/adapters/contracts/connection.py index b2070f5d6be..1d614989690 100644 --- a/core/dbt/adapters/contracts/connection.py +++ b/core/dbt/adapters/contracts/connection.py @@ -24,7 +24,7 @@ ValidatedStringMixin, ) from dbt.common.contracts.util import Replaceable -from dbt.common.util import md5 +from dbt.common.utils import md5 # TODO: dbt.common.events dependency from dbt.common.events.functions import fire_event diff --git a/core/dbt/adapters/relation_configs/config_base.py b/core/dbt/adapters/relation_configs/config_base.py index 9d0cddb0d21..5bfaa8de233 100644 --- a/core/dbt/adapters/relation_configs/config_base.py +++ b/core/dbt/adapters/relation_configs/config_base.py @@ -2,7 +2,7 @@ from typing import Union, Dict import agate -from dbt.utils import filter_null_values +from dbt.common.utils import filter_null_values """ diff --git a/core/dbt/adapters/sql/connections.py b/core/dbt/adapters/sql/connections.py index c3836c85dd2..bd9aba2bcc1 100644 --- a/core/dbt/adapters/sql/connections.py +++ b/core/dbt/adapters/sql/connections.py @@ -11,7 +11,7 @@ from dbt.common.events.functions import fire_event from dbt.common.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus from dbt.common.events.contextvars import get_node_info -from dbt.utils import cast_to_str +from dbt.common.utils import cast_to_str class SQLConnectionManager(BaseConnectionManager): diff --git a/core/dbt/adapters/utils.py b/core/dbt/adapters/utils.py index e46e7c62664..44e6160a837 100644 --- a/core/dbt/adapters/utils.py +++ b/core/dbt/adapters/utils.py @@ -53,3 +53,16 @@ def translate_aliases( """ translator = Translator(aliases, recurse) return translator.translate(kwargs) + + +# some types need to make constants available to the jinja context as +# attributes, and regular properties only work with objects. maybe this should +# be handled by the RelationProxy? + + +class classproperty(object): + def __init__(self, func) -> None: + self.func = func + + def __get__(self, obj, objtype): + return self.func(objtype) diff --git a/core/dbt/cli/requires.py b/core/dbt/cli/requires.py index 3c74fffe368..37de7b7307a 100644 --- a/core/dbt/cli/requires.py +++ b/core/dbt/cli/requires.py @@ -30,7 +30,7 @@ from dbt.parser.manifest import ManifestLoader, write_manifest from dbt.profiler import profiler from dbt.tracking import active_user, initialize_from_flags, track_run -from dbt.utils import cast_dict_to_dict_of_strings +from dbt.common.utils import cast_dict_to_dict_of_strings from dbt.plugins import set_up_plugin_manager, get_plugin_manager from click import Context diff --git a/core/dbt/clients/jinja.py b/core/dbt/clients/jinja.py index 37097dbd805..6942acb515a 100644 --- a/core/dbt/clients/jinja.py +++ b/core/dbt/clients/jinja.py @@ -21,9 +21,8 @@ get_docs_macro_name, get_materialization_macro_name, get_test_macro_name, - deep_map_render, ) - +from dbt.common.utils import deep_map_render from dbt.clients._jinja_blocks import BlockIterator, BlockData, BlockTag from dbt.contracts.graph.nodes import GenericTestNode diff --git a/core/dbt/common/util.py b/core/dbt/common/util.py deleted file mode 100644 index a801dbb4114..00000000000 --- a/core/dbt/common/util.py +++ /dev/null @@ -1,9 +0,0 @@ -import hashlib -import sys - - -def md5(string, charset="utf-8"): - if sys.version_info >= (3, 9): - return hashlib.md5(string.encode(charset), usedforsecurity=False).hexdigest() - else: - return hashlib.md5(string.encode(charset)).hexdigest() diff --git a/core/dbt/common/utils/__init__.py b/core/dbt/common/utils/__init__.py new file mode 100644 index 00000000000..04bdad47f6b --- /dev/null +++ b/core/dbt/common/utils/__init__.py @@ -0,0 +1,21 @@ +from dbt.common.utils.encoding import ( + md5, + JSONEncoder, +) + +from dbt.common.utils.casting import ( + cast_to_str, + cast_to_int, + cast_dict_to_dict_of_strings, +) + +from dbt.common.utils.dict import ( + AttrDict, + filter_null_values, + merge, + deep_merge, + deep_merge_item, + deep_map_render, +) + +from dbt.common.utils.executor import executor diff --git a/core/dbt/common/utils/casting.py b/core/dbt/common/utils/casting.py new file mode 100644 index 00000000000..811ea376c70 --- /dev/null +++ b/core/dbt/common/utils/casting.py @@ -0,0 +1,25 @@ +# This is useful for proto generated classes in particular, since +# the default for protobuf for strings is the empty string, so +# Optional[str] types don't work for generated Python classes. +from typing import Optional + + +def cast_to_str(string: Optional[str]) -> str: + if string is None: + return "" + else: + return string + + +def cast_to_int(integer: Optional[int]) -> int: + if integer is None: + return 0 + else: + return integer + + +def cast_dict_to_dict_of_strings(dct): + new_dct = {} + for k, v in dct.items(): + new_dct[str(k)] = str(v) + return new_dct diff --git a/core/dbt/common/utils/dict.py b/core/dbt/common/utils/dict.py new file mode 100644 index 00000000000..fc51efc319c --- /dev/null +++ b/core/dbt/common/utils/dict.py @@ -0,0 +1,128 @@ +import copy +import datetime +from typing import Dict, Optional, TypeVar, Callable, Any, Tuple, Union, Type + +from dbt.exceptions import DbtConfigError, RecursionError + +K_T = TypeVar("K_T") +V_T = TypeVar("V_T") + + +def filter_null_values(input: Dict[K_T, Optional[V_T]]) -> Dict[K_T, V_T]: + return {k: v for k, v in input.items() if v is not None} + + +class AttrDict(dict): + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + self.__dict__ = self + + +def merge(*args): + if len(args) == 0: + return None + + if len(args) == 1: + return args[0] + + lst = list(args) + last = lst.pop(len(lst) - 1) + + return _merge(merge(*lst), last) + + +def _merge(a, b): + to_return = a.copy() + to_return.update(b) + return to_return + + +# http://stackoverflow.com/questions/20656135/python-deep-merge-dictionary-data +def deep_merge(*args): + """ + >>> dbt.utils.deep_merge({'a': 1, 'b': 2, 'c': 3}, {'a': 2}, {'a': 3, 'b': 1}) # noqa + {'a': 3, 'b': 1, 'c': 3} + """ + if len(args) == 0: + return None + + if len(args) == 1: + return copy.deepcopy(args[0]) + + lst = list(args) + last = copy.deepcopy(lst.pop(len(lst) - 1)) + + return _deep_merge(deep_merge(*lst), last) + + +def _deep_merge(destination, source): + if isinstance(source, dict): + for key, value in source.items(): + deep_merge_item(destination, key, value) + return destination + + +def deep_merge_item(destination, key, value): + if isinstance(value, dict): + node = destination.setdefault(key, {}) + destination[key] = deep_merge(node, value) + elif isinstance(value, tuple) or isinstance(value, list): + if key in destination: + destination[key] = list(value) + list(destination[key]) + else: + destination[key] = value + else: + destination[key] = value + + +def _deep_map_render( + func: Callable[[Any, Tuple[Union[str, int], ...]], Any], + value: Any, + keypath: Tuple[Union[str, int], ...], +) -> Any: + atomic_types: Tuple[Type[Any], ...] = (int, float, str, type(None), bool, datetime.date) + + ret: Any + + if isinstance(value, list): + ret = [_deep_map_render(func, v, (keypath + (idx,))) for idx, v in enumerate(value)] + elif isinstance(value, dict): + ret = {k: _deep_map_render(func, v, (keypath + (str(k),))) for k, v in value.items()} + elif isinstance(value, atomic_types): + ret = func(value, keypath) + else: + container_types: Tuple[Type[Any], ...] = (list, dict) + ok_types = container_types + atomic_types + raise DbtConfigError( + "in _deep_map_render, expected one of {!r}, got {!r}".format(ok_types, type(value)) + ) + + return ret + + +def deep_map_render(func: Callable[[Any, Tuple[Union[str, int], ...]], Any], value: Any) -> Any: + """This function renders a nested dictionary derived from a yaml + file. It is used to render dbt_project.yml, profiles.yml, and + schema files. + + It maps the function func() onto each non-container value in 'value' + recursively, returning a new value. As long as func does not manipulate + the value, then deep_map_render will also not manipulate it. + + value should be a value returned by `yaml.safe_load` or `json.load` - the + only expected types are list, dict, native python number, str, NoneType, + and bool. + + func() will be called on numbers, strings, Nones, and booleans. Its first + parameter will be the value, and the second will be its keypath, an + iterable over the __getitem__ keys needed to get to it. + + :raises: If there are cycles in the value, raises a + dbt.exceptions.RecursionException + """ + try: + return _deep_map_render(func, value, ()) + except RuntimeError as exc: + if "maximum recursion depth exceeded" in str(exc): + raise RecursionError("Cycle detected in deep_map_render") + raise diff --git a/core/dbt/common/utils/encoding.py b/core/dbt/common/utils/encoding.py new file mode 100644 index 00000000000..c741e52f01d --- /dev/null +++ b/core/dbt/common/utils/encoding.py @@ -0,0 +1,56 @@ +import datetime +import decimal +import hashlib +import json +from typing import Tuple, Type, Any + +import jinja2 +import sys + +DECIMALS: Tuple[Type[Any], ...] +try: + import cdecimal # typing: ignore +except ImportError: + DECIMALS = (decimal.Decimal,) +else: + DECIMALS = (decimal.Decimal, cdecimal.Decimal) + + +def md5(string, charset="utf-8"): + if sys.version_info >= (3, 9): + return hashlib.md5(string.encode(charset), usedforsecurity=False).hexdigest() + else: + return hashlib.md5(string.encode(charset)).hexdigest() + + +class JSONEncoder(json.JSONEncoder): + """A 'custom' json encoder that does normal json encoder things, but also + handles `Decimal`s and `Undefined`s. Decimals can lose precision because + they get converted to floats. Undefined's are serialized to an empty string + """ + + def default(self, obj): + if isinstance(obj, DECIMALS): + return float(obj) + elif isinstance(obj, (datetime.datetime, datetime.date, datetime.time)): + return obj.isoformat() + elif isinstance(obj, jinja2.Undefined): + return "" + elif isinstance(obj, Exception): + return repr(obj) + elif hasattr(obj, "to_dict"): + # if we have a to_dict we should try to serialize the result of + # that! + return obj.to_dict(omit_none=True) + else: + return super().default(obj) + + +class ForgivingJSONEncoder(JSONEncoder): + def default(self, obj): + # let dbt's default JSON encoder handle it if possible, fallback to + # str() + try: + return super().default(obj) + except TypeError: + return str(obj) diff --git a/core/dbt/common/utils/executor.py b/core/dbt/common/utils/executor.py new file mode 100644 index 00000000000..819a0e3a9a6 --- /dev/null +++ b/core/dbt/common/utils/executor.py @@ -0,0 +1,67 @@ +import concurrent.futures +from contextlib import contextmanager +from typing import Protocol, Optional + + +class ConnectingExecutor(concurrent.futures.Executor): + def submit_connected(self, adapter, conn_name, func, *args, **kwargs): + def connected(conn_name, func, *args, **kwargs): + with self.connection_named(adapter, conn_name): + return func(*args, **kwargs) + + return self.submit(connected, conn_name, func, *args, **kwargs) + + +# a little concurrent.futures.Executor for single-threaded mode +class SingleThreadedExecutor(ConnectingExecutor): + def submit(*args, **kwargs): + # this basic pattern comes from concurrent.futures.Executor itself, + # but without handling the `fn=` form. + if len(args) >= 2: + self, fn, *args = args + elif not args: + raise TypeError( + "descriptor 'submit' of 'SingleThreadedExecutor' object needs an argument" + ) + else: + raise TypeError( + "submit expected at least 1 positional argument, got %d" % (len(args) - 1) + ) + fut = concurrent.futures.Future() + try: + result = fn(*args, **kwargs) + except Exception as exc: + fut.set_exception(exc) + else: + fut.set_result(result) + return fut + + @contextmanager + def connection_named(self, adapter, name): + yield + + +class MultiThreadedExecutor( + ConnectingExecutor, + concurrent.futures.ThreadPoolExecutor, +): + @contextmanager + def connection_named(self, adapter, name): + with adapter.connection_named(name): + yield + + +class ThreadedArgs(Protocol): + single_threaded: bool + + +class HasThreadingConfig(Protocol): + args: ThreadedArgs + threads: Optional[int] + + +def executor(config: HasThreadingConfig) -> ConnectingExecutor: + if config.args.single_threaded: + return SingleThreadedExecutor() + else: + return MultiThreadedExecutor(max_workers=config.threads) diff --git a/core/dbt/config/renderer.py b/core/dbt/config/renderer.py index 153108eed4a..59dfb9d4901 100644 --- a/core/dbt/config/renderer.py +++ b/core/dbt/config/renderer.py @@ -10,7 +10,7 @@ from dbt.context.base import BaseContext from dbt.adapters.contracts.connection import HasCredentials from dbt.exceptions import DbtProjectError, CompilationError, RecursionError -from dbt.utils import deep_map_render +from dbt.common.utils import deep_map_render Keypath = Tuple[Union[str, int], ...] diff --git a/core/dbt/context/providers.py b/core/dbt/context/providers.py index b3e0f67e3df..3f3897498f7 100644 --- a/core/dbt/context/providers.py +++ b/core/dbt/context/providers.py @@ -72,8 +72,8 @@ from dbt.config import IsFQNResource from dbt.node_types import NodeType, ModelLanguage -from dbt.utils import merge, AttrDict, MultiDict, args_to_dict, cast_to_str - +from dbt.utils import MultiDict, args_to_dict +from dbt.common.utils import merge, AttrDict, cast_to_str from dbt import selected_resources import agate diff --git a/core/dbt/contracts/relation.py b/core/dbt/contracts/relation.py index a3a5e179a4f..9684f2a38d6 100644 --- a/core/dbt/contracts/relation.py +++ b/core/dbt/contracts/relation.py @@ -10,7 +10,7 @@ from dbt.contracts.util import Replaceable from dbt.exceptions import CompilationError, DataclassNotDictError -from dbt.utils import deep_merge +from dbt.common.utils import deep_merge class RelationType(StrEnum): diff --git a/core/dbt/contracts/results.py b/core/dbt/contracts/results.py index 43807e4f30f..429181e306c 100644 --- a/core/dbt/contracts/results.py +++ b/core/dbt/contracts/results.py @@ -15,7 +15,8 @@ from dbt.common.events.contextvars import get_node_info from dbt.common.events.helpers import datetime_to_json_string from dbt.logger import TimingProcessor -from dbt.utils import lowercase, cast_to_str, cast_to_int +from dbt.utils import lowercase +from dbt.common.utils import cast_to_str, cast_to_int from dbt.common.dataclass_schema import dbtClassMixin, StrEnum import agate diff --git a/core/dbt/parser/manifest.py b/core/dbt/parser/manifest.py index b5d98fdfafc..4b1d4b6da82 100644 --- a/core/dbt/parser/manifest.py +++ b/core/dbt/parser/manifest.py @@ -1513,7 +1513,7 @@ def _process_refs( unique_id=node.unique_id, ref_unique_id=target_model.unique_id, access=AccessType.Private, - scope=dbt.utils.cast_to_str(target_model.group), + scope=dbt.common.utils.cast_to_str(target_model.group), ) elif manifest.is_invalid_protected_ref(node, target_model, dependencies): raise dbt.exceptions.DbtReferenceError( diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py index c92e4392039..b5aa82bff00 100644 --- a/core/dbt/parser/schemas.py +++ b/core/dbt/parser/schemas.py @@ -63,7 +63,8 @@ ParserRef, trimmed, ) -from dbt.utils import coerce_dict_str, deep_merge +from dbt.utils import coerce_dict_str +from dbt.common.utils import deep_merge schema_file_keys = ( diff --git a/core/dbt/task/runnable.py b/core/dbt/task/runnable.py index d17818635b0..35c3349dec2 100644 --- a/core/dbt/task/runnable.py +++ b/core/dbt/task/runnable.py @@ -558,7 +558,7 @@ def create_schema(relation: BaseRelation) -> None: list_futures = [] create_futures = [] - with dbt.utils.executor(self.config) as tpe: + with dbt.common.utils.executor(self.config) as tpe: for req in required_databases: if req.database is None: name = "list_schemas" diff --git a/core/dbt/task/snapshot.py b/core/dbt/task/snapshot.py index 8a3bd4cf330..7ff5b11828b 100644 --- a/core/dbt/task/snapshot.py +++ b/core/dbt/task/snapshot.py @@ -7,7 +7,7 @@ from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType from dbt.contracts.results import NodeStatus -from dbt.utils import cast_dict_to_dict_of_strings +from dbt.common.utils import cast_dict_to_dict_of_strings class SnapshotRunner(ModelRunner): diff --git a/core/dbt/utils.py b/core/dbt/utils.py index beb93b3d656..8d31a266f2c 100644 --- a/core/dbt/utils.py +++ b/core/dbt/utils.py @@ -1,6 +1,4 @@ import collections -import concurrent.futures -import copy import datetime import decimal import functools @@ -13,30 +11,23 @@ import time from pathlib import PosixPath, WindowsPath -from contextlib import contextmanager - -from dbt.common.util import md5 +from dbt.common.utils import md5 from dbt.common.events.types import RetryExternalCall, RecordRetryException from dbt.exceptions import ( ConnectionError, DbtInternalError, - DbtConfigError, RecursionError, DuplicateAliasError, ) from dbt.helper_types import WarnErrorOptions from dbt import flags from enum import Enum -from typing_extensions import Protocol from typing import ( Tuple, Type, Any, Optional, - TypeVar, Dict, - Union, - Callable, List, Iterator, Mapping, @@ -127,122 +118,6 @@ def split_path(path): return path.split(os.sep) -def merge(*args): - if len(args) == 0: - return None - - if len(args) == 1: - return args[0] - - lst = list(args) - last = lst.pop(len(lst) - 1) - - return _merge(merge(*lst), last) - - -def _merge(a, b): - to_return = a.copy() - to_return.update(b) - return to_return - - -# http://stackoverflow.com/questions/20656135/python-deep-merge-dictionary-data -def deep_merge(*args): - """ - >>> dbt.utils.deep_merge({'a': 1, 'b': 2, 'c': 3}, {'a': 2}, {'a': 3, 'b': 1}) # noqa - {'a': 3, 'b': 1, 'c': 3} - """ - if len(args) == 0: - return None - - if len(args) == 1: - return copy.deepcopy(args[0]) - - lst = list(args) - last = copy.deepcopy(lst.pop(len(lst) - 1)) - - return _deep_merge(deep_merge(*lst), last) - - -def _deep_merge(destination, source): - if isinstance(source, dict): - for key, value in source.items(): - deep_merge_item(destination, key, value) - return destination - - -def deep_merge_item(destination, key, value): - if isinstance(value, dict): - node = destination.setdefault(key, {}) - destination[key] = deep_merge(node, value) - elif isinstance(value, tuple) or isinstance(value, list): - if key in destination: - destination[key] = list(value) + list(destination[key]) - else: - destination[key] = value - else: - destination[key] = value - - -def _deep_map_render( - func: Callable[[Any, Tuple[Union[str, int], ...]], Any], - value: Any, - keypath: Tuple[Union[str, int], ...], -) -> Any: - atomic_types: Tuple[Type[Any], ...] = (int, float, str, type(None), bool, datetime.date) - - ret: Any - - if isinstance(value, list): - ret = [_deep_map_render(func, v, (keypath + (idx,))) for idx, v in enumerate(value)] - elif isinstance(value, dict): - ret = {k: _deep_map_render(func, v, (keypath + (str(k),))) for k, v in value.items()} - elif isinstance(value, atomic_types): - ret = func(value, keypath) - else: - container_types: Tuple[Type[Any], ...] = (list, dict) - ok_types = container_types + atomic_types - raise DbtConfigError( - "in _deep_map_render, expected one of {!r}, got {!r}".format(ok_types, type(value)) - ) - - return ret - - -def deep_map_render(func: Callable[[Any, Tuple[Union[str, int], ...]], Any], value: Any) -> Any: - """This function renders a nested dictionary derived from a yaml - file. It is used to render dbt_project.yml, profiles.yml, and - schema files. - - It maps the function func() onto each non-container value in 'value' - recursively, returning a new value. As long as func does not manipulate - the value, then deep_map_render will also not manipulate it. - - value should be a value returned by `yaml.safe_load` or `json.load` - the - only expected types are list, dict, native python number, str, NoneType, - and bool. - - func() will be called on numbers, strings, Nones, and booleans. Its first - parameter will be the value, and the second will be its keypath, an - iterable over the __getitem__ keys needed to get to it. - - :raises: If there are cycles in the value, raises a - dbt.exceptions.RecursionException - """ - try: - return _deep_map_render(func, value, ()) - except RuntimeError as exc: - if "maximum recursion depth exceeded" in str(exc): - raise RecursionError("Cycle detected in deep_map_render") - raise - - -class AttrDict(dict): - def __init__(self, *args, **kwargs) -> None: - super().__init__(*args, **kwargs) - self.__dict__ = self - - def get_pseudo_test_path(node_name, source_path): "schema tests all come from schema.yml files. fake a source sql file" source_path_parts = split_path(source_path) @@ -300,14 +175,6 @@ def __get__(self, obj, objtype): return functools.partial(self.__call__, obj) -K_T = TypeVar("K_T") -V_T = TypeVar("V_T") - - -def filter_null_values(input: Dict[K_T, Optional[V_T]]) -> Dict[K_T, V_T]: - return {k: v for k, v in input.items() if v is not None} - - def add_ephemeral_model_prefix(s: str) -> str: return "__dbt__cte__{}".format(s) @@ -443,83 +310,6 @@ def lowercase(value: Optional[str]) -> Optional[str]: return value.lower() -# some types need to make constants available to the jinja context as -# attributes, and regular properties only work with objects. maybe this should -# be handled by the RelationProxy? - - -class classproperty(object): - def __init__(self, func) -> None: - self.func = func - - def __get__(self, obj, objtype): - return self.func(objtype) - - -class ConnectingExecutor(concurrent.futures.Executor): - def submit_connected(self, adapter, conn_name, func, *args, **kwargs): - def connected(conn_name, func, *args, **kwargs): - with self.connection_named(adapter, conn_name): - return func(*args, **kwargs) - - return self.submit(connected, conn_name, func, *args, **kwargs) - - -# a little concurrent.futures.Executor for single-threaded mode -class SingleThreadedExecutor(ConnectingExecutor): - def submit(*args, **kwargs): - # this basic pattern comes from concurrent.futures.Executor itself, - # but without handling the `fn=` form. - if len(args) >= 2: - self, fn, *args = args - elif not args: - raise TypeError( - "descriptor 'submit' of 'SingleThreadedExecutor' object needs an argument" - ) - else: - raise TypeError( - "submit expected at least 1 positional argument, got %d" % (len(args) - 1) - ) - fut = concurrent.futures.Future() - try: - result = fn(*args, **kwargs) - except Exception as exc: - fut.set_exception(exc) - else: - fut.set_result(result) - return fut - - @contextmanager - def connection_named(self, adapter, name): - yield - - -class MultiThreadedExecutor( - ConnectingExecutor, - concurrent.futures.ThreadPoolExecutor, -): - @contextmanager - def connection_named(self, adapter, name): - with adapter.connection_named(name): - yield - - -class ThreadedArgs(Protocol): - single_threaded: bool - - -class HasThreadingConfig(Protocol): - args: ThreadedArgs - threads: Optional[int] - - -def executor(config: HasThreadingConfig) -> ConnectingExecutor: - if config.args.single_threaded: - return SingleThreadedExecutor() - else: - return MultiThreadedExecutor(max_workers=config.threads) - - def fqn_search(root: Dict[str, Any], fqn: List[str]) -> Iterator[Dict[str, Any]]: """Iterate into a nested dictionary, looking for keys in the fqn as levels. Yield the level config. @@ -660,27 +450,3 @@ def args_to_dict(args): dict_args[key] = var_args[key] return dict_args - - -# This is useful for proto generated classes in particular, since -# the default for protobuf for strings is the empty string, so -# Optional[str] types don't work for generated Python classes. -def cast_to_str(string: Optional[str]) -> str: - if string is None: - return "" - else: - return string - - -def cast_to_int(integer: Optional[int]) -> int: - if integer is None: - return 0 - else: - return integer - - -def cast_dict_to_dict_of_strings(dct): - new_dct = {} - for k, v in dct.items(): - new_dct[str(k)] = str(v) - return new_dct diff --git a/tests/unit/common/test_utils.py b/tests/unit/common/test_utils.py new file mode 100644 index 00000000000..a2108843735 --- /dev/null +++ b/tests/unit/common/test_utils.py @@ -0,0 +1,143 @@ +import unittest + +import dbt.exceptions +import dbt.common.utils + + +class TestDeepMerge(unittest.TestCase): + def test__simple_cases(self): + cases = [ + {"args": [{}, {"a": 1}], "expected": {"a": 1}, "description": "one key into empty"}, + { + "args": [{}, {"b": 1}, {"a": 1}], + "expected": {"a": 1, "b": 1}, + "description": "three merges", + }, + ] + + for case in cases: + actual = dbt.common.utils.deep_merge(*case["args"]) + self.assertEqual( + case["expected"], + actual, + "failed on {} (actual {}, expected {})".format( + case["description"], actual, case["expected"] + ), + ) + + +class TestMerge(unittest.TestCase): + def test__simple_cases(self): + cases = [ + {"args": [{}, {"a": 1}], "expected": {"a": 1}, "description": "one key into empty"}, + { + "args": [{}, {"b": 1}, {"a": 1}], + "expected": {"a": 1, "b": 1}, + "description": "three merges", + }, + ] + + for case in cases: + actual = dbt.common.utils.deep_merge(*case["args"]) + self.assertEqual( + case["expected"], + actual, + "failed on {} (actual {}, expected {})".format( + case["description"], actual, case["expected"] + ), + ) + + +class TestDeepMap(unittest.TestCase): + def setUp(self): + self.input_value = { + "foo": { + "bar": "hello", + "baz": [1, 90.5, "990", "89.9"], + }, + "nested": [ + { + "test": "90", + "other_test": None, + }, + { + "test": 400, + "other_test": 4.7e9, + }, + ], + } + + @staticmethod + def intify_all(value, _): + try: + return int(value) + except (TypeError, ValueError): + return -1 + + def test__simple_cases(self): + expected = { + "foo": { + "bar": -1, + "baz": [1, 90, 990, -1], + }, + "nested": [ + { + "test": 90, + "other_test": -1, + }, + { + "test": 400, + "other_test": 4700000000, + }, + ], + } + actual = dbt.common.utils.deep_map_render(self.intify_all, self.input_value) + self.assertEqual(actual, expected) + + actual = dbt.common.utils.deep_map_render(self.intify_all, expected) + self.assertEqual(actual, expected) + + @staticmethod + def special_keypath(value, keypath): + + if tuple(keypath) == ("foo", "baz", 1): + return "hello" + else: + return value + + def test__keypath(self): + expected = { + "foo": { + "bar": "hello", + # the only change from input is the second entry here + "baz": [1, "hello", "990", "89.9"], + }, + "nested": [ + { + "test": "90", + "other_test": None, + }, + { + "test": 400, + "other_test": 4.7e9, + }, + ], + } + actual = dbt.common.utils.deep_map_render(self.special_keypath, self.input_value) + self.assertEqual(actual, expected) + + actual = dbt.common.utils.deep_map_render(self.special_keypath, expected) + self.assertEqual(actual, expected) + + def test__noop(self): + actual = dbt.common.utils.deep_map_render(lambda x, _: x, self.input_value) + self.assertEqual(actual, self.input_value) + + def test_trivial(self): + cases = [[], {}, 1, "abc", None, True] + for case in cases: + result = dbt.common.utils.deep_map_render(lambda x, _: x, case) + self.assertEqual(result, case) + + with self.assertRaises(dbt.exceptions.DbtConfigError): + dbt.common.utils.deep_map_render(lambda x, _: x, {"foo": object()}) diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index 02921354d95..c270d9a1618 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -4,145 +4,6 @@ import dbt.utils -class TestDeepMerge(unittest.TestCase): - def test__simple_cases(self): - cases = [ - {"args": [{}, {"a": 1}], "expected": {"a": 1}, "description": "one key into empty"}, - { - "args": [{}, {"b": 1}, {"a": 1}], - "expected": {"a": 1, "b": 1}, - "description": "three merges", - }, - ] - - for case in cases: - actual = dbt.utils.deep_merge(*case["args"]) - self.assertEqual( - case["expected"], - actual, - "failed on {} (actual {}, expected {})".format( - case["description"], actual, case["expected"] - ), - ) - - -class TestMerge(unittest.TestCase): - def test__simple_cases(self): - cases = [ - {"args": [{}, {"a": 1}], "expected": {"a": 1}, "description": "one key into empty"}, - { - "args": [{}, {"b": 1}, {"a": 1}], - "expected": {"a": 1, "b": 1}, - "description": "three merges", - }, - ] - - for case in cases: - actual = dbt.utils.deep_merge(*case["args"]) - self.assertEqual( - case["expected"], - actual, - "failed on {} (actual {}, expected {})".format( - case["description"], actual, case["expected"] - ), - ) - - -class TestDeepMap(unittest.TestCase): - def setUp(self): - self.input_value = { - "foo": { - "bar": "hello", - "baz": [1, 90.5, "990", "89.9"], - }, - "nested": [ - { - "test": "90", - "other_test": None, - }, - { - "test": 400, - "other_test": 4.7e9, - }, - ], - } - - @staticmethod - def intify_all(value, _): - try: - return int(value) - except (TypeError, ValueError): - return -1 - - def test__simple_cases(self): - expected = { - "foo": { - "bar": -1, - "baz": [1, 90, 990, -1], - }, - "nested": [ - { - "test": 90, - "other_test": -1, - }, - { - "test": 400, - "other_test": 4700000000, - }, - ], - } - actual = dbt.utils.deep_map_render(self.intify_all, self.input_value) - self.assertEqual(actual, expected) - - actual = dbt.utils.deep_map_render(self.intify_all, expected) - self.assertEqual(actual, expected) - - @staticmethod - def special_keypath(value, keypath): - - if tuple(keypath) == ("foo", "baz", 1): - return "hello" - else: - return value - - def test__keypath(self): - expected = { - "foo": { - "bar": "hello", - # the only change from input is the second entry here - "baz": [1, "hello", "990", "89.9"], - }, - "nested": [ - { - "test": "90", - "other_test": None, - }, - { - "test": 400, - "other_test": 4.7e9, - }, - ], - } - actual = dbt.utils.deep_map_render(self.special_keypath, self.input_value) - self.assertEqual(actual, expected) - - actual = dbt.utils.deep_map_render(self.special_keypath, expected) - self.assertEqual(actual, expected) - - def test__noop(self): - actual = dbt.utils.deep_map_render(lambda x, _: x, self.input_value) - self.assertEqual(actual, self.input_value) - - def test_trivial(self): - cases = [[], {}, 1, "abc", None, True] - for case in cases: - result = dbt.utils.deep_map_render(lambda x, _: x, case) - self.assertEqual(result, case) - - with self.assertRaises(dbt.exceptions.DbtConfigError): - dbt.utils.deep_map_render(lambda x, _: x, {"foo": object()}) - - class TestMultiDict(unittest.TestCase): def test_one_member(self): dct = {"a": 1, "b": 2, "c": 3} From b9a603e3aa764a19bfcab0182ddca45186e507a1 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Thu, 26 Oct 2023 16:04:39 -0400 Subject: [PATCH 07/40] remove usage of dbt.config.PartialProject from dbt/adapters (#8909) * remove usage of dbt.config.PartialProject from dbt/adapters * add changie --------- Co-authored-by: Colin --- .../unreleased/Features-20231026-123913.yaml | 6 +++ core/dbt/adapters/base/plugin.py | 15 ++---- tests/unit/test_adapter_factory.py | 53 +++++++++---------- tests/unit/test_manifest.py | 37 +++++++------ 4 files changed, 53 insertions(+), 58 deletions(-) create mode 100644 .changes/unreleased/Features-20231026-123913.yaml diff --git a/.changes/unreleased/Features-20231026-123913.yaml b/.changes/unreleased/Features-20231026-123913.yaml new file mode 100644 index 00000000000..d3ada7cb691 --- /dev/null +++ b/.changes/unreleased/Features-20231026-123913.yaml @@ -0,0 +1,6 @@ +kind: Features +body: remove usage of dbt.config.PartialProject from dbt/adapters +time: 2023-10-26T12:39:13.904116-07:00 +custom: + Author: MichelleArk + Issue: "8928" diff --git a/core/dbt/adapters/base/plugin.py b/core/dbt/adapters/base/plugin.py index 5faa2163a4a..dc41fb68110 100644 --- a/core/dbt/adapters/base/plugin.py +++ b/core/dbt/adapters/base/plugin.py @@ -1,20 +1,10 @@ from typing import List, Optional, Type +from pathlib import Path from dbt.adapters.base import Credentials -from dbt.exceptions import CompilationError from dbt.adapters.protocol import AdapterProtocol -def project_name_from_path(include_path: str) -> str: - # avoid an import cycle - from dbt.config.project import PartialProject - - partial = PartialProject.from_project_root(include_path) - if partial.project_name is None: - raise CompilationError(f"Invalid project at {include_path}: name not set!") - return partial.project_name - - class AdapterPlugin: """Defines the basic requirements for a dbt adapter plugin. @@ -29,12 +19,13 @@ def __init__( credentials: Type[Credentials], include_path: str, dependencies: Optional[List[str]] = None, + project_name: Optional[str] = None, ) -> None: self.adapter: Type[AdapterProtocol] = adapter self.credentials: Type[Credentials] = credentials self.include_path: str = include_path - self.project_name: str = project_name_from_path(include_path) + self.project_name: str = project_name or f"dbt_{Path(include_path).name}" self.dependencies: List[str] if dependencies is None: self.dependencies = [] diff --git a/tests/unit/test_adapter_factory.py b/tests/unit/test_adapter_factory.py index 366e7b32e3d..c67b61d7fc0 100644 --- a/tests/unit/test_adapter_factory.py +++ b/tests/unit/test_adapter_factory.py @@ -10,33 +10,32 @@ class TestGetPackageNames(unittest.TestCase): def setUp(self): - with mock.patch("dbt.adapters.base.plugin.project_name_from_path") as get_name: - get_name.return_value = "root" - self.root_plugin = AdapterPlugin( - adapter=mock.MagicMock(), - credentials=mock.MagicMock(), - include_path="/path/to/root/plugin", - dependencies=["childa", "childb"], - ) - get_name.return_value = "pkg_childa" - self.childa = AdapterPlugin( - adapter=mock.MagicMock(), - credentials=mock.MagicMock(), - include_path="/path/to/childa", - ) - get_name.return_value = "pkg_childb" - self.childb = AdapterPlugin( - adapter=mock.MagicMock(), - credentials=mock.MagicMock(), - include_path="/path/to/childb", - dependencies=["childc"], - ) - get_name.return_value = "pkg_childc" - self.childc = AdapterPlugin( - adapter=mock.MagicMock(), - credentials=mock.MagicMock(), - include_path="/path/to/childc", - ) + self.root_plugin = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/root/plugin", + dependencies=["childa", "childb"], + project_name="root", + ) + self.childa = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/childa", + project_name="pkg_childa", + ) + self.childb = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/childb", + dependencies=["childc"], + project_name="pkg_childb", + ) + self.childc = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/childc", + project_name="pkg_childc", + ) self._mock_modules = { "root": self.root_plugin, diff --git a/tests/unit/test_manifest.py b/tests/unit/test_manifest.py index 22af78e5623..c85895349a5 100644 --- a/tests/unit/test_manifest.py +++ b/tests/unit/test_manifest.py @@ -1246,25 +1246,24 @@ def test_find_generate_macros_by_name(macros, expectations): def _materialization_parameter_sets(): # inject the plugins used for materialization parameter tests - with mock.patch("dbt.adapters.base.plugin.project_name_from_path") as get_name: - get_name.return_value = "foo" - FooPlugin = AdapterPlugin( - adapter=mock.MagicMock(), - credentials=mock.MagicMock(), - include_path="/path/to/root/plugin", - ) - FooPlugin.adapter.type.return_value = "foo" - inject_plugin(FooPlugin) - - get_name.return_value = "bar" - BarPlugin = AdapterPlugin( - adapter=mock.MagicMock(), - credentials=mock.MagicMock(), - include_path="/path/to/root/plugin", - dependencies=["foo"], - ) - BarPlugin.adapter.type.return_value = "bar" - inject_plugin(BarPlugin) + FooPlugin = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/root/plugin", + project_name="foo", + ) + FooPlugin.adapter.type.return_value = "foo" + inject_plugin(FooPlugin) + + BarPlugin = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/root/plugin", + dependencies=["foo"], + project_name="bar", + ) + BarPlugin.adapter.type.return_value = "bar" + inject_plugin(BarPlugin) sets = [ FindMaterializationSpec(macros=[], adapter_type="foo", expected=None), From 7de8930d1d1f1207e1518fecb051adea46ac4d38 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Thu, 26 Oct 2023 16:19:13 -0400 Subject: [PATCH 08/40] move agate_helper unit tests under tests/unit/common --- tests/{common/unit => unit/common}/test_agate_helper.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{common/unit => unit/common}/test_agate_helper.py (100%) diff --git a/tests/common/unit/test_agate_helper.py b/tests/unit/common/test_agate_helper.py similarity index 100% rename from tests/common/unit/test_agate_helper.py rename to tests/unit/common/test_agate_helper.py From af916666a2e71c4842468a40b068f8022e3c8953 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Thu, 26 Oct 2023 16:22:04 -0400 Subject: [PATCH 09/40] move agate_helper into common (#8911) * move agate_helper into common * add changie --------- Co-authored-by: Colin --- .changes/unreleased/Features-20231026-123556.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changes/unreleased/Features-20231026-123556.yaml diff --git a/.changes/unreleased/Features-20231026-123556.yaml b/.changes/unreleased/Features-20231026-123556.yaml new file mode 100644 index 00000000000..cf37554c08d --- /dev/null +++ b/.changes/unreleased/Features-20231026-123556.yaml @@ -0,0 +1,6 @@ +kind: Features +body: Move Agate helper client into common +time: 2023-10-26T12:35:56.538587-07:00 +custom: + Author: MichelleArk + Issue: "8926" From 1260782bd2d7403ce806c453db26c362898fe922 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Wed, 1 Nov 2023 16:13:39 -0400 Subject: [PATCH 10/40] remove dbt.flags.MP_CONTEXT usage in dbt/adapters (#8931) --- .../unreleased/Under the Hood-20231101-102758.yaml | 6 ++++++ core/dbt/adapters/base/connections.py | 6 +++--- core/dbt/adapters/base/impl.py | 5 +++-- core/dbt/adapters/factory.py | 3 ++- core/dbt/cli/flags.py | 2 -- core/dbt/contracts/graph/manifest.py | 7 ++++--- core/dbt/flags.py | 4 ---- core/dbt/mp_context.py | 9 +++++++++ tests/unit/test_cli_flags.py | 5 ----- tests/unit/test_context.py | 6 ++++-- tests/unit/test_postgres_adapter.py | 10 +++++++--- 11 files changed, 38 insertions(+), 25 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231101-102758.yaml create mode 100644 core/dbt/mp_context.py diff --git a/.changes/unreleased/Under the Hood-20231101-102758.yaml b/.changes/unreleased/Under the Hood-20231101-102758.yaml new file mode 100644 index 00000000000..790cd9ec2f0 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231101-102758.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: remove dbt.flags.MP_CONTEXT usage in dbt/adapters +time: 2023-11-01T10:27:58.790153-04:00 +custom: + Author: michelleark + Issue: "8967" diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index 167368ba7a2..d720cbe0d88 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -6,6 +6,7 @@ # multiprocessing.RLock is a function returning this type from multiprocessing.synchronize import RLock +from multiprocessing.context import SpawnContext from threading import get_ident from typing import ( Any, @@ -49,7 +50,6 @@ RollbackFailed, ) from dbt.common.events.contextvars import get_node_info -from dbt import flags from dbt.common.utils import cast_to_str SleepTime = Union[int, float] # As taken by time.sleep. @@ -72,10 +72,10 @@ class BaseConnectionManager(metaclass=abc.ABCMeta): TYPE: str = NotImplemented - def __init__(self, profile: AdapterRequiredConfig) -> None: + def __init__(self, profile: AdapterRequiredConfig, mp_context: SpawnContext) -> None: self.profile = profile self.thread_connections: Dict[Hashable, Connection] = {} - self.lock: RLock = flags.MP_CONTEXT.RLock() + self.lock: RLock = mp_context.RLock() self.query_header: Optional[MacroQueryStringSetter] = None def set_query_header(self, manifest: Manifest) -> None: diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 131f169e92d..bc39d1f9dcc 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -20,6 +20,7 @@ TypedDict, Union, ) +from multiprocessing.context import SpawnContext from dbt.adapters.capability import Capability, CapabilityDict from dbt.contracts.graph.nodes import ColumnLevelConstraint, ConstraintType, ModelLevelConstraint @@ -241,10 +242,10 @@ class BaseAdapter(metaclass=AdapterMeta): # implementations to indicate adapter support for optional capabilities. _capabilities = CapabilityDict({}) - def __init__(self, config) -> None: + def __init__(self, config, mp_context: SpawnContext) -> None: self.config = config self.cache = RelationsCache() - self.connections = self.ConnectionManager(config) + self.connections = self.ConnectionManager(config, mp_context) self._macro_manifest_lazy: Optional[MacroManifest] = None ### diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index 370239a38ff..d24d46d143a 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -14,6 +14,7 @@ from dbt.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME from dbt.semver import VersionSpecifier +from dbt.mp_context import get_mp_context Adapter = AdapterProtocol @@ -102,7 +103,7 @@ def register_adapter(self, config: AdapterRequiredConfig) -> None: # this shouldn't really happen... return - adapter: Adapter = adapter_type(config) # type: ignore + adapter: Adapter = adapter_type(config, get_mp_context()) # type: ignore self.adapters[adapter_name] = adapter def lookup_adapter(self, adapter_name: str) -> Adapter: diff --git a/core/dbt/cli/flags.py b/core/dbt/cli/flags.py index 2678d53b6dd..dd30cb6eca9 100644 --- a/core/dbt/cli/flags.py +++ b/core/dbt/cli/flags.py @@ -2,7 +2,6 @@ import sys from dataclasses import dataclass from importlib import import_module -from multiprocessing import get_context from pprint import pformat as pf from typing import Any, Callable, Dict, List, Optional, Set, Union @@ -224,7 +223,6 @@ def _assign_params( # Set hard coded flags. object.__setattr__(self, "WHICH", invoked_subcommand_name or ctx.info_name) - object.__setattr__(self, "MP_CONTEXT", get_context("spawn")) # Apply the lead/follow relationship between some parameters. self._override_if_set("USE_COLORS", "USE_COLORS_FILE", params_assigned_from_default) diff --git a/core/dbt/contracts/graph/manifest.py b/core/dbt/contracts/graph/manifest.py index 05446e9cbed..22e1eb59482 100644 --- a/core/dbt/contracts/graph/manifest.py +++ b/core/dbt/contracts/graph/manifest.py @@ -59,7 +59,8 @@ from dbt.common.events.types import MergedFromState, UnpinnedRefNewVersionAvailable from dbt.common.events.contextvars import get_node_info from dbt.node_types import NodeType, AccessType -from dbt.flags import get_flags, MP_CONTEXT +from dbt.flags import get_flags +from dbt.mp_context import get_mp_context from dbt import tracking import dbt.utils @@ -823,7 +824,7 @@ class Manifest(MacroMethods, DataClassMessagePackMixin, dbtClassMixin): metadata={"serialize": lambda x: None, "deserialize": lambda x: None}, ) _lock: Lock = field( - default_factory=MP_CONTEXT.Lock, + default_factory=get_mp_context().Lock, metadata={"serialize": lambda x: None, "deserialize": lambda x: None}, ) @@ -835,7 +836,7 @@ def __pre_serialize__(self): @classmethod def __post_deserialize__(cls, obj): - obj._lock = MP_CONTEXT.Lock() + obj._lock = get_mp_context().Lock() return obj def build_flat_graph(self): diff --git a/core/dbt/flags.py b/core/dbt/flags.py index 029116c637c..5d6d0fae680 100644 --- a/core/dbt/flags.py +++ b/core/dbt/flags.py @@ -1,7 +1,6 @@ # Do not import the os package because we expose this package in jinja from os import getenv as os_getenv from argparse import Namespace -from multiprocessing import get_context from typing import Optional from pathlib import Path @@ -20,9 +19,6 @@ def env_set_truthy(key: str) -> Optional[str]: # for setting up logger for legacy logger ENABLE_LEGACY_LOGGER = env_set_truthy("DBT_ENABLE_LEGACY_LOGGER") -# This is not a flag, it's a place to store the lock -MP_CONTEXT = get_context() - # this roughly follows the patten of EVENT_MANAGER in dbt/common/events/functions.py # During de-globlization, we'll need to handle both similarly diff --git a/core/dbt/mp_context.py b/core/dbt/mp_context.py new file mode 100644 index 00000000000..19cefd99511 --- /dev/null +++ b/core/dbt/mp_context.py @@ -0,0 +1,9 @@ +from multiprocessing import get_context +from multiprocessing.context import SpawnContext + + +_MP_CONTEXT = get_context("spawn") + + +def get_mp_context() -> SpawnContext: + return _MP_CONTEXT diff --git a/tests/unit/test_cli_flags.py b/tests/unit/test_cli_flags.py index 83c0e251deb..e6c860315c1 100644 --- a/tests/unit/test_cli_flags.py +++ b/tests/unit/test_cli_flags.py @@ -1,4 +1,3 @@ -from multiprocessing import get_context from pathlib import Path from typing import List, Optional @@ -34,10 +33,6 @@ def test_which(self, run_context): flags = Flags(run_context) assert flags.WHICH == "run" - def test_mp_context(self, run_context): - flags = Flags(run_context) - assert flags.MP_CONTEXT == get_context("spawn") - @pytest.mark.parametrize("param", cli.params) def test_cli_group_flags_from_params(self, run_context, param): flags = Flags(run_context) diff --git a/tests/unit/test_context.py b/tests/unit/test_context.py index e73d35855b8..2e7d5612f57 100644 --- a/tests/unit/test_context.py +++ b/tests/unit/test_context.py @@ -118,8 +118,9 @@ def test_parser_var_not_defined(self): class TestParseWrapper(unittest.TestCase): def setUp(self): self.mock_config = mock.MagicMock() + self.mock_mp_context = mock.MagicMock() adapter_class = adapter_factory() - self.mock_adapter = adapter_class(self.mock_config) + self.mock_adapter = adapter_class(self.mock_config, self.mock_mp_context) self.namespace = mock.MagicMock() self.wrapper = providers.ParseDatabaseWrapper(self.mock_adapter, self.namespace) self.responder = self.mock_adapter.responder @@ -137,13 +138,14 @@ def test_wrapped_method(self): class TestRuntimeWrapper(unittest.TestCase): def setUp(self): self.mock_config = mock.MagicMock() + self.mock_mp_context = mock.MagicMock() self.mock_config.quoting = { "database": True, "schema": True, "identifier": True, } adapter_class = adapter_factory() - self.mock_adapter = adapter_class(self.mock_config) + self.mock_adapter = adapter_class(self.mock_config, self.mock_mp_context) self.namespace = mock.MagicMock() self.wrapper = providers.RuntimeDatabaseWrapper(self.mock_adapter, self.namespace) self.responder = self.mock_adapter.responder diff --git a/tests/unit/test_postgres_adapter.py b/tests/unit/test_postgres_adapter.py index 5b764430ccc..77d4cfc2325 100644 --- a/tests/unit/test_postgres_adapter.py +++ b/tests/unit/test_postgres_adapter.py @@ -2,6 +2,7 @@ import agate import decimal +from multiprocessing import get_context import unittest from unittest import mock @@ -59,12 +60,13 @@ def setUp(self): } self.config = config_from_parts_or_dicts(project_cfg, profile_cfg) + self.mp_context = get_context("spawn") self._adapter = None @property def adapter(self): if self._adapter is None: - self._adapter = PostgresAdapter(self.config) + self._adapter = PostgresAdapter(self.config, self.mp_context) inject_adapter(self._adapter, PostgresPlugin) return self._adapter @@ -399,6 +401,7 @@ def setUp(self): } self.config = config_from_parts_or_dicts(project_cfg, profile_cfg) + self.mp_context = get_context("spawn") self.handle = mock.MagicMock(spec=psycopg2_extensions.connection) self.cursor = self.handle.cursor.return_value @@ -423,7 +426,7 @@ def _mock_state_check(self): self.mock_state_check.side_effect = _mock_state_check self.psycopg2.connect.return_value = self.handle - self.adapter = PostgresAdapter(self.config) + self.adapter = PostgresAdapter(self.config, self.mp_context) self.adapter._macro_manifest_lazy = load_internal_manifest_macros(self.config) self.adapter.connections.query_header = MacroQueryStringSetter( self.config, self.adapter._macro_manifest_lazy @@ -548,8 +551,9 @@ def test_dbname_verification_is_case_insensitive(self): "config-version": 2, } self.config = config_from_parts_or_dicts(project_cfg, profile_cfg) + self.mp_context = get_context("spawn") self.adapter.cleanup_connections() - self._adapter = PostgresAdapter(self.config) + self._adapter = PostgresAdapter(self.config, self.mp_context) self.adapter.verify_database("postgres") From c4ff2804366d8cfdea3f7d90074c994b9504cd91 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Wed, 1 Nov 2023 18:44:59 -0400 Subject: [PATCH 11/40] remove dbt.flags.LOG_CACHE_EVENTS usage in dbt/adapters (#8933) --- .../unreleased/Under the Hood-20231101-173124.yaml | 6 ++++++ core/dbt/adapters/base/impl.py | 2 +- core/dbt/adapters/cache.py | 14 ++++++-------- core/dbt/adapters/contracts/connection.py | 1 + core/dbt/config/profile.py | 4 ++++ core/dbt/config/runtime.py | 2 ++ 6 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231101-173124.yaml diff --git a/.changes/unreleased/Under the Hood-20231101-173124.yaml b/.changes/unreleased/Under the Hood-20231101-173124.yaml new file mode 100644 index 00000000000..5a4656645f4 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231101-173124.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: 'Remove usage of dbt.flags.LOG_CACHE_EVENTS in dbt/adapters' +time: 2023-11-01T17:31:24.974093-04:00 +custom: + Author: michelleark + Issue: "8969" diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index bc39d1f9dcc..e9befd599a0 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -244,7 +244,7 @@ class BaseAdapter(metaclass=AdapterMeta): def __init__(self, config, mp_context: SpawnContext) -> None: self.config = config - self.cache = RelationsCache() + self.cache = RelationsCache(log_cache_events=config.log_cache_events) self.connections = self.ConnectionManager(config, mp_context) self._macro_manifest_lazy: Optional[MacroManifest] = None diff --git a/core/dbt/adapters/cache.py b/core/dbt/adapters/cache.py index 4e8336dd21e..750a75cb7ad 100644 --- a/core/dbt/adapters/cache.py +++ b/core/dbt/adapters/cache.py @@ -16,7 +16,6 @@ ) from dbt.common.events.functions import fire_event, fire_event_if from dbt.common.events.types import CacheAction, CacheDumpGraph -from dbt.flags import get_flags from dbt.utils import lowercase @@ -165,10 +164,11 @@ class RelationsCache: :attr Set[str] schemas: The set of known/cached schemas, all lowercased. """ - def __init__(self) -> None: + def __init__(self, log_cache_events: bool = False) -> None: self.relations: Dict[_ReferenceKey, _CachedRelation] = {} self.lock = threading.RLock() self.schemas: Set[Tuple[Optional[str], Optional[str]]] = set() + self.log_cache_events = log_cache_events def add_schema( self, @@ -318,10 +318,9 @@ def add(self, relation): :param BaseRelation relation: The underlying relation. """ - flags = get_flags() cached = _CachedRelation(relation) fire_event_if( - flags.LOG_CACHE_EVENTS, + self.log_cache_events, lambda: CacheDumpGraph(before_after="before", action="adding", dump=self.dump_graph()), ) fire_event(CacheAction(action="add_relation", ref_key=_make_ref_key_dict(cached))) @@ -329,7 +328,7 @@ def add(self, relation): with self.lock: self._setdefault(cached) fire_event_if( - flags.LOG_CACHE_EVENTS, + self.log_cache_events, lambda: CacheDumpGraph(before_after="after", action="adding", dump=self.dump_graph()), ) @@ -454,9 +453,8 @@ def rename(self, old, new): ref_key_2=new_key._asdict(), ) ) - flags = get_flags() fire_event_if( - flags.LOG_CACHE_EVENTS, + self.log_cache_events, lambda: CacheDumpGraph(before_after="before", action="rename", dump=self.dump_graph()), ) @@ -467,7 +465,7 @@ def rename(self, old, new): self._setdefault(_CachedRelation(new)) fire_event_if( - flags.LOG_CACHE_EVENTS, + self.log_cache_events, lambda: CacheDumpGraph(before_after="after", action="rename", dump=self.dump_graph()), ) diff --git a/core/dbt/adapters/contracts/connection.py b/core/dbt/adapters/contracts/connection.py index 1d614989690..9a55a6d6780 100644 --- a/core/dbt/adapters/contracts/connection.py +++ b/core/dbt/adapters/contracts/connection.py @@ -235,3 +235,4 @@ class AdapterRequiredConfig(HasCredentials, Protocol): query_comment: QueryComment cli_vars: Dict[str, Any] target_path: str + log_cache_events: bool diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index 80d2850e69c..d96b0d80063 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -75,6 +75,7 @@ class Profile(HasCredentials): threads: int credentials: Credentials profile_env_vars: Dict[str, Any] + log_cache_events: bool def __init__( self, @@ -93,6 +94,9 @@ def __init__( self.threads = threads self.credentials = credentials self.profile_env_vars = {} # never available on init + self.log_cache_events = ( + get_flags().LOG_CACHE_EVENTS + ) # never available on init, set for adapter instantiation via AdapterRequiredConfig def to_profile_info(self, serialize_credentials: bool = False) -> Dict[str, Any]: """Unlike to_project_config, this dict is not a mirror of any existing diff --git a/core/dbt/config/runtime.py b/core/dbt/config/runtime.py index 5c88b447b26..82200e33e49 100644 --- a/core/dbt/config/runtime.py +++ b/core/dbt/config/runtime.py @@ -134,6 +134,7 @@ def from_parts( ).to_dict(omit_none=True) cli_vars: Dict[str, Any] = getattr(args, "vars", {}) + log_cache_events: bool = getattr(args, "log_cache_events", profile.log_cache_events) return cls( project_name=project.project_name, @@ -183,6 +184,7 @@ def from_parts( credentials=profile.credentials, args=args, cli_vars=cli_vars, + log_cache_events=log_cache_events, dependencies=dependencies, dbt_cloud=project.dbt_cloud, ) From 51b94b26cccb9cd8a1434bb175edca468d08f0ec Mon Sep 17 00:00:00 2001 From: colin-rogers-dbt <111200756+colin-rogers-dbt@users.noreply.github.com> Date: Fri, 10 Nov 2023 06:54:36 -0800 Subject: [PATCH 12/40] Refactor Base Exceptions (#8989) * moving types_pb2.py to common/events * Refactor Base Exceptions * update make_log_dir_if_missing to handle str * move remaining adapters exception imports to common/adapters --------- Co-authored-by: Michelle Ark --- .../unreleased/Features-20231107-135635.yaml | 6 + .../Under the Hood-20231107-135728.yaml | 6 + core/dbt/adapters/base/column.py | 2 +- core/dbt/adapters/base/connections.py | 45 +- core/dbt/adapters/base/impl.py | 25 +- core/dbt/adapters/base/query_headers.py | 2 +- core/dbt/adapters/base/relation.py | 13 +- core/dbt/adapters/cache.py | 6 +- core/dbt/adapters/exceptions/__init__.py | 4 + .../{exceptions.py => exceptions/alias.py} | 2 +- core/dbt/adapters/exceptions/compilation.py | 255 +++++++ core/dbt/adapters/exceptions/connection.py | 16 + core/dbt/adapters/exceptions/database.py | 51 ++ core/dbt/adapters/factory.py | 2 +- .../relation_configs/config_validation.py | 2 +- core/dbt/adapters/sql/connections.py | 12 +- core/dbt/adapters/sql/impl.py | 2 +- core/dbt/cli/flags.py | 21 +- core/dbt/cli/option_types.py | 5 +- core/dbt/cli/requires.py | 3 +- core/dbt/cli/types.py | 2 +- core/dbt/clients/jinja.py | 4 +- core/dbt/clients/jinja_static.py | 3 +- core/dbt/clients/system.py | 6 +- core/dbt/clients/yaml_helper.py | 3 +- core/dbt/common/clients/agate_helper.py | 6 +- core/dbt/common/events/format.py | 18 +- core/dbt/common/events/functions.py | 139 ++-- core/dbt/common/events/interfaces.py | 7 + core/dbt/common/events/logger.py | 4 +- core/dbt/common/events/types.py | 12 +- core/dbt/common/exceptions.py | 58 -- core/dbt/common/exceptions/__init__.py | 3 + core/dbt/common/exceptions/base.py | 261 +++++++ core/dbt/common/exceptions/cache.py | 68 ++ core/dbt/common/exceptions/events.py | 9 + core/dbt/common/exceptions/macros.py | 80 ++ core/dbt/{ => common}/helper_types.py | 0 core/dbt/{ => common}/ui.py | 13 +- core/dbt/common/utils/__init__.py | 5 +- core/dbt/common/utils/dict.py | 4 +- core/dbt/config/profile.py | 2 +- core/dbt/config/project.py | 4 +- core/dbt/config/renderer.py | 3 +- core/dbt/config/runtime.py | 2 +- core/dbt/config/selectors.py | 3 +- core/dbt/config/utils.py | 3 +- core/dbt/constants.py | 1 - core/dbt/context/base.py | 2 +- core/dbt/context/context_config.py | 2 +- core/dbt/context/exceptions_jinja.py | 14 +- core/dbt/context/providers.py | 8 +- core/dbt/contracts/files.py | 4 + core/dbt/contracts/graph/manifest.py | 5 +- core/dbt/contracts/graph/model_config.py | 2 +- core/dbt/contracts/graph/unparsed.py | 13 +- core/dbt/contracts/project.py | 2 +- core/dbt/contracts/relation.py | 3 +- core/dbt/contracts/results.py | 2 +- core/dbt/deps/registry.py | 2 +- core/dbt/exceptions.py | 722 +----------------- core/dbt/flags.py | 1 + core/dbt/graph/cli.py | 2 +- core/dbt/graph/graph.py | 2 +- core/dbt/graph/selector_methods.py | 2 +- core/dbt/graph/selector_spec.py | 3 +- core/dbt/logger.py | 4 +- core/dbt/parser/common.py | 3 +- core/dbt/parser/generic_test_builders.py | 2 +- core/dbt/parser/hooks.py | 2 +- core/dbt/parser/manifest.py | 2 +- core/dbt/parser/models.py | 2 +- core/dbt/parser/schema_yaml_readers.py | 3 +- core/dbt/parser/schemas.py | 2 +- core/dbt/parser/sources.py | 2 +- core/dbt/parser/sql.py | 2 +- core/dbt/plugins/manager.py | 2 +- core/dbt/semver.py | 5 +- core/dbt/task/base.py | 17 +- core/dbt/task/build.py | 2 +- core/dbt/task/clean.py | 2 +- core/dbt/task/clone.py | 2 +- core/dbt/task/compile.py | 4 +- core/dbt/task/debug.py | 13 +- core/dbt/task/freshness.py | 2 +- core/dbt/task/generate.py | 5 +- core/dbt/task/init.py | 4 +- core/dbt/task/list.py | 2 +- core/dbt/task/retry.py | 2 +- core/dbt/task/run.py | 4 +- core/dbt/task/run_operation.py | 6 +- core/dbt/task/runnable.py | 2 +- core/dbt/task/seed.py | 2 +- core/dbt/task/show.py | 2 +- core/dbt/task/snapshot.py | 2 +- core/dbt/task/sql.py | 7 +- core/dbt/task/test.py | 2 +- core/dbt/tests/fixtures/project.py | 5 +- core/dbt/tracking.py | 3 +- core/dbt/utils.py | 17 +- core/dbt/version.py | 2 +- .../dbt/adapters/postgres/connections.py | 10 +- .../postgres/dbt/adapters/postgres/impl.py | 4 +- .../dbt/adapters/postgres/relation.py | 2 +- .../postgres/relation_configs/index.py | 2 +- .../relation_configs/materialized_view.py | 2 +- .../tests/adapter/hooks/test_model_hooks.py | 3 +- .../tests/adapter/utils/test_validate_sql.py | 5 +- tests/functional/compile/test_compile.py | 2 +- .../dependencies/test_local_dependency.py | 4 +- .../deprecations/test_deprecations.py | 8 +- .../docs/test_duplicate_docs_block.py | 2 +- tests/functional/docs/test_invalid_doc_ref.py | 2 +- .../docs/test_missing_docs_blocks.py | 2 +- tests/functional/macros/test_macros.py | 6 +- .../partial_parsing/test_pp_vars.py | 3 +- .../run_operations/test_run_operations.py | 2 +- tests/functional/show/test_show.py | 2 +- .../sources/test_source_fresher_state.py | 2 +- tests/unit/test_adapter_connection_manager.py | 20 +- tests/unit/test_cli_flags.py | 4 +- tests/unit/test_config.py | 2 +- tests/unit/test_context.py | 4 +- tests/unit/test_flags.py | 2 +- tests/unit/test_functions.py | 2 +- tests/unit/test_graph_selection.py | 2 +- tests/unit/test_graph_selector_methods.py | 8 +- tests/unit/test_helper_types.py | 2 +- tests/unit/test_postgres_adapter.py | 3 +- tests/unit/test_semver.py | 2 +- tests/unit/test_version.py | 2 +- 131 files changed, 1140 insertions(+), 1110 deletions(-) create mode 100644 .changes/unreleased/Features-20231107-135635.yaml create mode 100644 .changes/unreleased/Under the Hood-20231107-135728.yaml create mode 100644 core/dbt/adapters/exceptions/__init__.py rename core/dbt/adapters/{exceptions.py => exceptions/alias.py} (93%) create mode 100644 core/dbt/adapters/exceptions/compilation.py create mode 100644 core/dbt/adapters/exceptions/connection.py create mode 100644 core/dbt/adapters/exceptions/database.py create mode 100644 core/dbt/common/events/interfaces.py delete mode 100644 core/dbt/common/exceptions.py create mode 100644 core/dbt/common/exceptions/__init__.py create mode 100644 core/dbt/common/exceptions/base.py create mode 100644 core/dbt/common/exceptions/cache.py create mode 100644 core/dbt/common/exceptions/events.py create mode 100644 core/dbt/common/exceptions/macros.py rename core/dbt/{ => common}/helper_types.py (100%) rename core/dbt/{ => common}/ui.py (90%) diff --git a/.changes/unreleased/Features-20231107-135635.yaml b/.changes/unreleased/Features-20231107-135635.yaml new file mode 100644 index 00000000000..711ba4ce102 --- /dev/null +++ b/.changes/unreleased/Features-20231107-135635.yaml @@ -0,0 +1,6 @@ +kind: Features +body: Remove legacy logger +time: 2023-11-07T13:56:35.186648-08:00 +custom: + Author: colin-rogers-dbt + Issue: "8027" diff --git a/.changes/unreleased/Under the Hood-20231107-135728.yaml b/.changes/unreleased/Under the Hood-20231107-135728.yaml new file mode 100644 index 00000000000..025c871519a --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231107-135728.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Remove use of dbt/core exceptions in dbt/adapter +time: 2023-11-07T13:57:28.683727-08:00 +custom: + Author: colin-rogers-dbt MichelleArk + Issue: "8920" diff --git a/core/dbt/adapters/base/column.py b/core/dbt/adapters/base/column.py index 50a687c2f5d..7d08780c4f4 100644 --- a/core/dbt/adapters/base/column.py +++ b/core/dbt/adapters/base/column.py @@ -2,7 +2,7 @@ import re from typing import Dict, ClassVar, Any, Optional -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError @dataclass diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index d720cbe0d88..2bce213d905 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -24,7 +24,8 @@ import agate -import dbt.exceptions +import dbt.adapters.exceptions +import dbt.common.exceptions.base from dbt.adapters.contracts.connection import ( Connection, Identifier, @@ -91,13 +92,15 @@ def get_thread_connection(self) -> Connection: key = self.get_thread_identifier() with self.lock: if key not in self.thread_connections: - raise dbt.exceptions.InvalidConnectionError(key, list(self.thread_connections)) + raise dbt.adapters.exceptions.InvalidConnectionError( + key, list(self.thread_connections) + ) return self.thread_connections[key] def set_thread_connection(self, conn: Connection) -> None: key = self.get_thread_identifier() if key in self.thread_connections: - raise dbt.exceptions.DbtInternalError( + raise dbt.common.exceptions.DbtInternalError( "In set_thread_connection, existing connection exists for {}" ) self.thread_connections[key] = conn @@ -137,7 +140,7 @@ def exception_handler(self, sql: str) -> ContextManager: :return: A context manager that handles exceptions raised by the underlying database. """ - raise dbt.exceptions.NotImplementedError( + raise dbt.common.exceptions.base.NotImplementedError( "`exception_handler` is not implemented for this adapter!" ) @@ -220,14 +223,14 @@ def retry_connection( :param int _attempts: Parameter used to keep track of the number of attempts in calling the connect function across recursive calls. Passed as an argument to retry_timeout if it is a Callable. This parameter should not be set by the initial caller. - :raises dbt.exceptions.FailedToConnectError: Upon exhausting all retry attempts without + :raises dbt.adapters.exceptions.FailedToConnectError: Upon exhausting all retry attempts without successfully acquiring a handle. :return: The given connection with its appropriate state and handle attributes set depending on whether we successfully acquired a handle or not. """ timeout = retry_timeout(_attempts) if callable(retry_timeout) else retry_timeout if timeout < 0: - raise dbt.exceptions.FailedToConnectError( + raise dbt.adapters.exceptions.FailedToConnectError( "retry_timeout cannot be negative or return a negative time." ) @@ -235,7 +238,7 @@ def retry_connection( # This guard is not perfect others may add to the recursion limit (e.g. built-ins). connection.handle = None connection.state = ConnectionState.FAIL - raise dbt.exceptions.FailedToConnectError("retry_limit cannot be negative") + raise dbt.adapters.exceptions.FailedToConnectError("retry_limit cannot be negative") try: connection.handle = connect() @@ -246,7 +249,7 @@ def retry_connection( if retry_limit <= 0: connection.handle = None connection.state = ConnectionState.FAIL - raise dbt.exceptions.FailedToConnectError(str(e)) + raise dbt.adapters.exceptions.FailedToConnectError(str(e)) logger.debug( f"Got a retryable error when attempting to open a {cls.TYPE} connection.\n" @@ -268,12 +271,12 @@ def retry_connection( except Exception as e: connection.handle = None connection.state = ConnectionState.FAIL - raise dbt.exceptions.FailedToConnectError(str(e)) + raise dbt.adapters.exceptions.FailedToConnectError(str(e)) @abc.abstractmethod def cancel_open(self) -> Optional[List[str]]: """Cancel all open connections on the adapter. (passable)""" - raise dbt.exceptions.NotImplementedError( + raise dbt.common.exceptions.base.NotImplementedError( "`cancel_open` is not implemented for this adapter!" ) @@ -288,7 +291,9 @@ def open(cls, connection: Connection) -> Connection: This should be thread-safe, or hold the lock if necessary. The given connection should not be in either in_use or available. """ - raise dbt.exceptions.NotImplementedError("`open` is not implemented for this adapter!") + raise dbt.common.exceptions.base.NotImplementedError( + "`open` is not implemented for this adapter!" + ) def release(self) -> None: with self.lock: @@ -320,12 +325,16 @@ def cleanup_all(self) -> None: @abc.abstractmethod def begin(self) -> None: """Begin a transaction. (passable)""" - raise dbt.exceptions.NotImplementedError("`begin` is not implemented for this adapter!") + raise dbt.common.exceptions.base.NotImplementedError( + "`begin` is not implemented for this adapter!" + ) @abc.abstractmethod def commit(self) -> None: """Commit a transaction. (passable)""" - raise dbt.exceptions.NotImplementedError("`commit` is not implemented for this adapter!") + raise dbt.common.exceptions.base.NotImplementedError( + "`commit` is not implemented for this adapter!" + ) @classmethod def _rollback_handle(cls, connection: Connection) -> None: @@ -361,7 +370,7 @@ def _close_handle(cls, connection: Connection) -> None: def _rollback(cls, connection: Connection) -> None: """Roll back the given connection.""" if connection.transaction_open is False: - raise dbt.exceptions.DbtInternalError( + raise dbt.common.exceptions.DbtInternalError( f"Tried to rollback transaction on connection " f'"{connection.name}", but it does not have one open!' ) @@ -412,7 +421,9 @@ def execute( :return: A tuple of the query status and results (empty if fetch=False). :rtype: Tuple[AdapterResponse, agate.Table] """ - raise dbt.exceptions.NotImplementedError("`execute` is not implemented for this adapter!") + raise dbt.common.exceptions.base.NotImplementedError( + "`execute` is not implemented for this adapter!" + ) def add_select_query(self, sql: str) -> Tuple[Connection, Any]: """ @@ -422,7 +433,7 @@ def add_select_query(self, sql: str) -> Tuple[Connection, Any]: See https://github.com/dbt-labs/dbt-core/issues/8396 for more information. """ - raise dbt.exceptions.NotImplementedError( + raise dbt.common.exceptions.base.NotImplementedError( "`add_select_query` is not implemented for this adapter!" ) @@ -430,6 +441,6 @@ def add_select_query(self, sql: str) -> Tuple[Connection, Any]: def data_type_code_to_name(cls, type_code: Union[int, str]) -> str: """Get the string representation of the data type from the type_code.""" # https://peps.python.org/pep-0249/#type-objects - raise dbt.exceptions.NotImplementedError( + raise dbt.common.exceptions.base.NotImplementedError( "`data_type_code_to_name` is not implemented for this adapter!" ) diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index fd7afe9c54b..00bd08cebeb 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -28,22 +28,25 @@ import agate import pytz -from dbt.exceptions import ( +from dbt.adapters.exceptions import ( + SnapshotTargetIncompleteError, + SnapshotTargetNotSnapshotTableError, + NullRelationDropAttemptedError, + NullRelationCacheAttemptedError, + RelationReturnedMultipleResultsError, + UnexpectedNonTimestampError, + RenameToNoneAttemptedError, + QuoteConfigTypeError, +) + +from dbt.common.exceptions import ( + NotImplementedError, DbtInternalError, DbtRuntimeError, DbtValidationError, + UnexpectedNullError, MacroArgTypeError, MacroResultError, - NotImplementedError, - NullRelationCacheAttemptedError, - NullRelationDropAttemptedError, - QuoteConfigTypeError, - RelationReturnedMultipleResultsError, - RenameToNoneAttemptedError, - SnapshotTargetIncompleteError, - SnapshotTargetNotSnapshotTableError, - UnexpectedNonTimestampError, - UnexpectedNullError, ) from dbt.adapters.protocol import AdapterConfig diff --git a/core/dbt/adapters/base/query_headers.py b/core/dbt/adapters/base/query_headers.py index 9e3aa738b2a..1dc2b143dde 100644 --- a/core/dbt/adapters/base/query_headers.py +++ b/core/dbt/adapters/base/query_headers.py @@ -7,7 +7,7 @@ from dbt.adapters.contracts.connection import AdapterRequiredConfig, QueryComment from dbt.contracts.graph.nodes import ResultNode from dbt.contracts.graph.manifest import Manifest -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError class NodeWrapper: diff --git a/core/dbt/adapters/base/relation.py b/core/dbt/adapters/base/relation.py index abe403a178c..040d5e94442 100644 --- a/core/dbt/adapters/base/relation.py +++ b/core/dbt/adapters/base/relation.py @@ -11,16 +11,13 @@ Policy, Path, ) -from dbt.exceptions import ( - ApproximateMatchError, - DbtInternalError, - MultipleDatabasesNotAllowedError, -) +from dbt.common.exceptions import DbtInternalError +from dbt.adapters.exceptions import MultipleDatabasesNotAllowedError, ApproximateMatchError from dbt.node_types import NodeType from dbt.common.utils import filter_null_values, deep_merge from dbt.adapters.utils import classproperty -import dbt.exceptions +import dbt.common.exceptions Self = TypeVar("Self", bound="BaseRelation") @@ -101,7 +98,7 @@ def matches( if not search: # nothing was passed in - raise dbt.exceptions.DbtRuntimeError( + raise dbt.common.exceptions.DbtRuntimeError( "Tried to match relation, but no search path was passed!" ) @@ -387,7 +384,7 @@ class InformationSchema(BaseRelation): def __post_init__(self): if not isinstance(self.information_schema_view, (type(None), str)): - raise dbt.exceptions.CompilationError( + raise dbt.common.exceptions.CompilationError( "Got an invalid name: {}".format(self.information_schema_view) ) diff --git a/core/dbt/adapters/cache.py b/core/dbt/adapters/cache.py index 750a75cb7ad..69e5e4903d6 100644 --- a/core/dbt/adapters/cache.py +++ b/core/dbt/adapters/cache.py @@ -7,12 +7,12 @@ _make_ref_key_dict, _ReferenceKey, ) -from dbt.exceptions import ( - DependentLinkNotCachedError, +from dbt.common.exceptions.cache import ( NewNameAlreadyInCacheError, - NoneRelationFoundError, ReferencedLinkNotCachedError, + DependentLinkNotCachedError, TruncatedModelNameCausedCollisionError, + NoneRelationFoundError, ) from dbt.common.events.functions import fire_event, fire_event_if from dbt.common.events.types import CacheAction, CacheDumpGraph diff --git a/core/dbt/adapters/exceptions/__init__.py b/core/dbt/adapters/exceptions/__init__.py new file mode 100644 index 00000000000..9b36beb21b3 --- /dev/null +++ b/core/dbt/adapters/exceptions/__init__.py @@ -0,0 +1,4 @@ +from dbt.adapters.exceptions.compilation import * # noqa +from dbt.adapters.exceptions.alias import * # noqa +from dbt.adapters.exceptions.database import * # noqa +from dbt.adapters.exceptions.connection import * # noqa diff --git a/core/dbt/adapters/exceptions.py b/core/dbt/adapters/exceptions/alias.py similarity index 93% rename from core/dbt/adapters/exceptions.py rename to core/dbt/adapters/exceptions/alias.py index 3b4433f6798..68a677088d2 100644 --- a/core/dbt/adapters/exceptions.py +++ b/core/dbt/adapters/exceptions/alias.py @@ -1,6 +1,6 @@ from typing import Mapping, Any -from dbt.exceptions import DbtValidationError +from dbt.common.exceptions import DbtValidationError class AliasError(DbtValidationError): diff --git a/core/dbt/adapters/exceptions/compilation.py b/core/dbt/adapters/exceptions/compilation.py new file mode 100644 index 00000000000..c87e74b05e7 --- /dev/null +++ b/core/dbt/adapters/exceptions/compilation.py @@ -0,0 +1,255 @@ +from typing import List, Mapping, Any + +from dbt.common.exceptions import CompilationError, DbtDatabaseError +from dbt.common.ui import line_wrap_message + + +class MissingConfigError(CompilationError): + def __init__(self, unique_id: str, name: str): + self.unique_id = unique_id + self.name = name + msg = ( + f"Model '{self.unique_id}' does not define a required config parameter '{self.name}'." + ) + super().__init__(msg=msg) + + +class MultipleDatabasesNotAllowedError(CompilationError): + def __init__(self, databases): + self.databases = databases + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = str(self.databases) + return msg + + +class ApproximateMatchError(CompilationError): + def __init__(self, target, relation): + self.target = target + self.relation = relation + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + "When searching for a relation, dbt found an approximate match. " + "Instead of guessing \nwhich relation to use, dbt will move on. " + f"Please delete {self.relation}, or rename it to be less ambiguous." + f"\nSearched for: {self.target}\nFound: {self.relation}" + ) + + return msg + + +class SnapshotTargetIncompleteError(CompilationError): + def __init__(self, extra: List, missing: List): + self.extra = extra + self.missing = missing + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + 'Snapshot target has ("{}") but not ("{}") - is it an ' + "unmigrated previous version archive?".format( + '", "'.join(self.extra), '", "'.join(self.missing) + ) + ) + return msg + + +class DuplicateMacroInPackageError(CompilationError): + def __init__(self, macro, macro_mapping: Mapping): + self.macro = macro + self.macro_mapping = macro_mapping + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + other_path = self.macro_mapping[self.macro.unique_id].original_file_path + # subtract 2 for the "Compilation Error" indent + # note that the line wrap eats newlines, so if you want newlines, + # this is the result :( + msg = line_wrap_message( + f"""\ + dbt found two macros named "{self.macro.name}" in the project + "{self.macro.package_name}". + + + To fix this error, rename or remove one of the following + macros: + + - {self.macro.original_file_path} + + - {other_path} + """, + subtract=2, + ) + return msg + + +class DuplicateMaterializationNameError(CompilationError): + def __init__(self, macro, other_macro): + self.macro = macro + self.other_macro = other_macro + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + macro_name = self.macro.name + macro_package_name = self.macro.package_name + other_package_name = self.other_macro.macro.package_name + + msg = ( + f"Found two materializations with the name {macro_name} (packages " + f"{macro_package_name} and {other_package_name}). dbt cannot resolve " + "this ambiguity" + ) + return msg + + +class ColumnTypeMissingError(CompilationError): + def __init__(self, column_names: List): + self.column_names = column_names + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + "Contracted models require data_type to be defined for each column. " + "Please ensure that the column name and data_type are defined within " + f"the YAML configuration for the {self.column_names} column(s)." + ) + return msg + + +class MacroNotFoundError(CompilationError): + def __init__(self, node, target_macro_id: str): + self.node = node + self.target_macro_id = target_macro_id + msg = f"'{self.node.unique_id}' references macro '{self.target_macro_id}' which is not defined!" + + super().__init__(msg=msg) + + +class MissingMaterializationError(CompilationError): + def __init__(self, materialization, adapter_type): + self.materialization = materialization + self.adapter_type = adapter_type + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + valid_types = "'default'" + + if self.adapter_type != "default": + valid_types = f"'default' and '{self.adapter_type}'" + + msg = f"No materialization '{self.materialization}' was found for adapter {self.adapter_type}! (searched types {valid_types})" + return msg + + +class SnapshotTargetNotSnapshotTableError(CompilationError): + def __init__(self, missing: List): + self.missing = missing + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = 'Snapshot target is not a snapshot table (missing "{}")'.format( + '", "'.join(self.missing) + ) + return msg + + +class NullRelationDropAttemptedError(CompilationError): + def __init__(self, name: str): + self.name = name + self.msg = f"Attempted to drop a null relation for {self.name}" + super().__init__(msg=self.msg) + + +class NullRelationCacheAttemptedError(CompilationError): + def __init__(self, name: str): + self.name = name + self.msg = f"Attempted to cache a null relation for {self.name}" + super().__init__(msg=self.msg) + + +class RelationTypeNullError(CompilationError): + def __init__(self, relation): + self.relation = relation + self.msg = f"Tried to drop relation {self.relation}, but its type is null." + super().__init__(msg=self.msg) + + +class MaterializationNotAvailableError(CompilationError): + def __init__(self, materialization, adapter_type: str): + self.materialization = materialization + self.adapter_type = adapter_type + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = f"Materialization '{self.materialization}' is not available for {self.adapter_type}!" + return msg + + +class RelationReturnedMultipleResultsError(CompilationError): + def __init__(self, kwargs: Mapping[str, Any], matches: List): + self.kwargs = kwargs + self.matches = matches + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + "get_relation returned more than one relation with the given args. " + "Please specify a database or schema to narrow down the result set." + f"\n{self.kwargs}\n\n{self.matches}" + ) + return msg + + +class UnexpectedNonTimestampError(DbtDatabaseError): + def __init__(self, field_name: str, source, dt: Any): + self.field_name = field_name + self.source = source + self.type_name = type(dt).__name__ + msg = ( + f"Expected a timestamp value when querying field '{self.field_name}' of table " + f"{self.source} but received value of type '{self.type_name}' instead" + ) + super().__init__(msg) + + +class RenameToNoneAttemptedError(CompilationError): + def __init__(self, src_name: str, dst_name: str, name: str): + self.src_name = src_name + self.dst_name = dst_name + self.name = name + self.msg = f"Attempted to rename {self.src_name} to {self.dst_name} for {self.name}" + super().__init__(msg=self.msg) + + +class QuoteConfigTypeError(CompilationError): + def __init__(self, quote_config: Any): + self.quote_config = quote_config + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + 'The seed configuration value of "quote_columns" has an ' + f"invalid type {type(self.quote_config)}" + ) + return msg + + +class RelationWrongTypeError(CompilationError): + def __init__(self, relation, expected_type, model=None): + self.relation = relation + self.expected_type = expected_type + self.model = model + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + f"Trying to create {self.expected_type} {self.relation}, " + f"but it currently exists as a {self.relation.type}. Either " + f"drop {self.relation} manually, or run dbt with " + "`--full-refresh` and dbt will drop it for you." + ) + + return msg diff --git a/core/dbt/adapters/exceptions/connection.py b/core/dbt/adapters/exceptions/connection.py new file mode 100644 index 00000000000..aac55166407 --- /dev/null +++ b/core/dbt/adapters/exceptions/connection.py @@ -0,0 +1,16 @@ +from typing import List + +from dbt.common.exceptions import DbtRuntimeError, DbtDatabaseError + + +class InvalidConnectionError(DbtRuntimeError): + def __init__(self, thread_id, known: List) -> None: + self.thread_id = thread_id + self.known = known + super().__init__( + msg=f"connection never acquired for thread {self.thread_id}, have {self.known}" + ) + + +class FailedToConnectError(DbtDatabaseError): + pass diff --git a/core/dbt/adapters/exceptions/database.py b/core/dbt/adapters/exceptions/database.py new file mode 100644 index 00000000000..ff177289a03 --- /dev/null +++ b/core/dbt/adapters/exceptions/database.py @@ -0,0 +1,51 @@ +from typing import Any + +from dbt.common.exceptions import NotImplementedError, CompilationError + + +class UnexpectedDbReferenceError(NotImplementedError): + def __init__(self, adapter, database, expected): + self.adapter = adapter + self.database = database + self.expected = expected + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = f"Cross-db references not allowed in {self.adapter} ({self.database} vs {self.expected})" + return msg + + +class CrossDbReferenceProhibitedError(CompilationError): + def __init__(self, adapter, exc_msg: str): + self.adapter = adapter + self.exc_msg = exc_msg + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = f"Cross-db references not allowed in adapter {self.adapter}: Got {self.exc_msg}" + return msg + + +class IndexConfigNotDictError(CompilationError): + def __init__(self, raw_index: Any): + self.raw_index = raw_index + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + f"Invalid index config:\n" + f" Got: {self.raw_index}\n" + f' Expected a dictionary with at minimum a "columns" key' + ) + return msg + + +class IndexConfigError(CompilationError): + def __init__(self, exc: TypeError): + self.exc = exc + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + validator_msg = self.validator_error_message(self.exc) + msg = f"Could not parse index config: {validator_msg}" + return msg diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index d24d46d143a..81f5f7b8653 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -10,7 +10,7 @@ from dbt.adapters.contracts.connection import AdapterRequiredConfig, Credentials from dbt.common.events.functions import fire_event from dbt.common.events.types import AdapterImportError, PluginLoadError, AdapterRegistered -from dbt.exceptions import DbtInternalError, DbtRuntimeError +from dbt.common.exceptions import DbtInternalError, DbtRuntimeError from dbt.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME from dbt.semver import VersionSpecifier diff --git a/core/dbt/adapters/relation_configs/config_validation.py b/core/dbt/adapters/relation_configs/config_validation.py index 17bf74bf3e7..ef7b18bb7bb 100644 --- a/core/dbt/adapters/relation_configs/config_validation.py +++ b/core/dbt/adapters/relation_configs/config_validation.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from typing import Set, Optional -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError @dataclass(frozen=True, eq=True, unsafe_hash=True) diff --git a/core/dbt/adapters/sql/connections.py b/core/dbt/adapters/sql/connections.py index 5cd93d8e054..6a0c558e92c 100644 --- a/core/dbt/adapters/sql/connections.py +++ b/core/dbt/adapters/sql/connections.py @@ -5,7 +5,7 @@ import agate import dbt.common.clients.agate_helper -import dbt.exceptions +import dbt.common.exceptions from dbt.adapters.base import BaseConnectionManager from dbt.adapters.contracts.connection import Connection, ConnectionState, AdapterResponse from dbt.common.events.functions import fire_event @@ -27,7 +27,9 @@ class SQLConnectionManager(BaseConnectionManager): @abc.abstractmethod def cancel(self, connection: Connection): """Cancel the given connection.""" - raise dbt.exceptions.NotImplementedError("`cancel` is not implemented for this adapter!") + raise dbt.common.exceptions.base.NotImplementedError( + "`cancel` is not implemented for this adapter!" + ) def cancel_open(self) -> List[str]: names = [] @@ -93,7 +95,7 @@ def add_query( @abc.abstractmethod def get_response(cls, cursor: Any) -> AdapterResponse: """Get the status of the cursor.""" - raise dbt.exceptions.NotImplementedError( + raise dbt.common.exceptions.base.NotImplementedError( "`get_response` is not implemented for this adapter!" ) @@ -156,7 +158,7 @@ def add_select_query(self, sql: str) -> Tuple[Connection, Any]: def begin(self): connection = self.get_thread_connection() if connection.transaction_open is True: - raise dbt.exceptions.DbtInternalError( + raise dbt.common.exceptions.DbtInternalError( 'Tried to begin a new transaction on connection "{}", but ' "it already had one open!".format(connection.name) ) @@ -169,7 +171,7 @@ def begin(self): def commit(self): connection = self.get_thread_connection() if connection.transaction_open is False: - raise dbt.exceptions.DbtInternalError( + raise dbt.common.exceptions.DbtInternalError( 'Tried to commit transaction on connection "{}", but ' "it does not have one open!".format(connection.name) ) diff --git a/core/dbt/adapters/sql/impl.py b/core/dbt/adapters/sql/impl.py index e43e3f41d02..13de87619e3 100644 --- a/core/dbt/adapters/sql/impl.py +++ b/core/dbt/adapters/sql/impl.py @@ -2,7 +2,7 @@ from typing import Any, Optional, Tuple, Type, List from dbt.adapters.contracts.connection import Connection, AdapterResponse -from dbt.exceptions import RelationTypeNullError +from dbt.adapters.exceptions import RelationTypeNullError from dbt.adapters.base import BaseAdapter, available from dbt.adapters.cache import _make_ref_key_dict from dbt.adapters.sql import SQLConnectionManager diff --git a/core/dbt/cli/flags.py b/core/dbt/cli/flags.py index dd30cb6eca9..1a03de0de96 100644 --- a/core/dbt/cli/flags.py +++ b/core/dbt/cli/flags.py @@ -10,11 +10,13 @@ from dbt.cli.exceptions import DbtUsageException from dbt.cli.resolvers import default_log_path, default_project_dir from dbt.cli.types import Command as CliCommand +from dbt.common import ui +from dbt.common.events import functions from dbt.config.profile import read_user_config from dbt.contracts.project import UserConfig -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.deprecations import renamed_env_var -from dbt.helper_types import WarnErrorOptions +from dbt.common.helper_types import WarnErrorOptions if os.name != "nt": # https://bugs.python.org/issue41567 @@ -253,6 +255,8 @@ def _assign_params( for param in params: object.__setattr__(self, param.lower(), getattr(self, param)) + self.set_common_global_flags() + def __str__(self) -> str: return str(pf(self.__dict__)) @@ -293,6 +297,19 @@ def from_dict(cls, command: CliCommand, args_dict: Dict[str, Any]) -> "Flags": flags.fire_deprecations() return flags + def set_common_global_flags(self): + # Set globals for common.ui + if getattr(self, "PRINTER_WIDTH", None) is not None: + ui.PRINTER_WIDTH = getattr(self, "PRINTER_WIDTH") + if getattr(self, "USE_COLORS", None) is not None: + ui.USE_COLOR = getattr(self, "USE_COLORS") + + # Set globals for common.events.functions + # + functions.WARN_ERROR = getattr(self, "WARN_ERROR", False) + if getattr(self, "WARN_ERROR_OPTIONS", None) is not None: + functions.WARN_ERROR_OPTIONS = getattr(self, "WARN_ERROR_OPTIONS") + CommandParams = List[str] diff --git a/core/dbt/cli/option_types.py b/core/dbt/cli/option_types.py index fbb8ceb76c9..f56740161be 100644 --- a/core/dbt/cli/option_types.py +++ b/core/dbt/cli/option_types.py @@ -1,9 +1,10 @@ from click import ParamType, Choice from dbt.config.utils import parse_cli_yaml_string -from dbt.exceptions import ValidationError, DbtValidationError, OptionNotYamlDictError +from dbt.exceptions import ValidationError, OptionNotYamlDictError +from dbt.common.exceptions import DbtValidationError -from dbt.helper_types import WarnErrorOptions +from dbt.common.helper_types import WarnErrorOptions class YAML(ParamType): diff --git a/core/dbt/cli/requires.py b/core/dbt/cli/requires.py index 37de7b7307a..24a041c2c68 100644 --- a/core/dbt/cli/requires.py +++ b/core/dbt/cli/requires.py @@ -26,7 +26,8 @@ ) from dbt.common.events.helpers import get_json_string_utcnow from dbt.common.events.types import MainEncounteredError, MainStackTrace -from dbt.exceptions import Exception as DbtException, DbtProjectError, FailFastError +from dbt.common.exceptions import DbtBaseException as DbtException +from dbt.exceptions import DbtProjectError, FailFastError from dbt.parser.manifest import ManifestLoader, write_manifest from dbt.profiler import profiler from dbt.tracking import active_user, initialize_from_flags, track_run diff --git a/core/dbt/cli/types.py b/core/dbt/cli/types.py index 14028a69451..f43314c873f 100644 --- a/core/dbt/cli/types.py +++ b/core/dbt/cli/types.py @@ -1,7 +1,7 @@ from enum import Enum from typing import List -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError class Command(Enum): diff --git a/core/dbt/clients/jinja.py b/core/dbt/clients/jinja.py index 6942acb515a..fb372956970 100644 --- a/core/dbt/clients/jinja.py +++ b/core/dbt/clients/jinja.py @@ -27,18 +27,16 @@ from dbt.contracts.graph.nodes import GenericTestNode from dbt.exceptions import ( - CaughtMacroError, CaughtMacroErrorWithNodeError, CompilationError, DbtInternalError, MaterializationArgError, JinjaRenderingError, - MacroReturn, MaterializtionMacroNotUsedError, NoSupportedLanguagesFoundError, UndefinedCompilationError, - UndefinedMacroError, ) +from dbt.common.exceptions.macros import MacroReturn, UndefinedMacroError, CaughtMacroError from dbt.flags import get_flags from dbt.node_types import ModelLanguage diff --git a/core/dbt/clients/jinja_static.py b/core/dbt/clients/jinja_static.py index 8184c43622e..8094ee55703 100644 --- a/core/dbt/clients/jinja_static.py +++ b/core/dbt/clients/jinja_static.py @@ -1,6 +1,7 @@ import jinja2 from dbt.clients.jinja import get_environment -from dbt.exceptions import MacroNamespaceNotStringError, MacroNameNotStringError +from dbt.exceptions import MacroNamespaceNotStringError +from dbt.common.exceptions.macros import MacroNameNotStringError def statically_extract_macro_calls(string, ctx, db_wrapper=None): diff --git a/core/dbt/clients/system.py b/core/dbt/clients/system.py index a2d972cff99..5d74ab95637 100644 --- a/core/dbt/clients/system.py +++ b/core/dbt/clients/system.py @@ -13,7 +13,7 @@ from pathlib import Path from typing import Any, Callable, Dict, List, NoReturn, Optional, Tuple, Type, Union -import dbt.exceptions +import dbt.common.exceptions import requests from dbt.common.events.functions import fire_event from dbt.common.events.types import ( @@ -23,7 +23,7 @@ SystemStdErr, SystemReportReturnCode, ) -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.utils import _connection_exception_retry as connection_exception_retry from pathspec import PathSpec # type: ignore @@ -385,7 +385,7 @@ def _handle_posix_error(exc: OSError, cwd: str, cmd: List[str]) -> NoReturn: def _handle_windows_error(exc: OSError, cwd: str, cmd: List[str]) -> NoReturn: - cls: Type[dbt.exceptions.Exception] = dbt.exceptions.CommandError + cls: Type[dbt.common.exceptions.DbtBaseException] = dbt.exceptions.CommandError if exc.errno == errno.ENOENT: message = ( "Could not find command, ensure it is in the user's PATH " diff --git a/core/dbt/clients/yaml_helper.py b/core/dbt/clients/yaml_helper.py index d5a29b0309f..bfdf0ff189b 100644 --- a/core/dbt/clients/yaml_helper.py +++ b/core/dbt/clients/yaml_helper.py @@ -1,3 +1,4 @@ +import dbt.common.exceptions.base import dbt.exceptions from typing import Any, Dict, Optional import yaml @@ -60,4 +61,4 @@ def load_yaml_text(contents, path=None): else: error = str(e) - raise dbt.exceptions.DbtValidationError(error) + raise dbt.common.exceptions.base.DbtValidationError(error) diff --git a/core/dbt/common/clients/agate_helper.py b/core/dbt/common/clients/agate_helper.py index c10d723c4f8..d7ac0916cdb 100644 --- a/core/dbt/common/clients/agate_helper.py +++ b/core/dbt/common/clients/agate_helper.py @@ -4,10 +4,10 @@ import datetime import isodate import json -import dbt.utils from typing import Iterable, List, Dict, Union, Optional, Any -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError +from dbt.common.utils import ForgivingJSONEncoder BOM = BOM_UTF8.decode("utf-8") # '\ufeff' @@ -124,7 +124,7 @@ def table_from_data_flat(data, column_names: Iterable[str]) -> agate.Table: value = _row[col_name] if isinstance(value, (dict, list, tuple)): # Represent container types as json strings - value = json.dumps(value, cls=dbt.utils.JSONEncoder) + value = json.dumps(value, cls=ForgivingJSONEncoder) text_only_columns.add(col_name) elif isinstance(value, str): text_only_columns.add(col_name) diff --git a/core/dbt/common/events/format.py b/core/dbt/common/events/format.py index 4b173b18cca..90f7607dc52 100644 --- a/core/dbt/common/events/format.py +++ b/core/dbt/common/events/format.py @@ -1,8 +1,10 @@ -from dbt import ui -from dbt.node_types import NodeType +from dbt.common import ui + from typing import Optional, Union from datetime import datetime +from dbt.common.events.interfaces import LoggableDbtObject + def format_fancy_output_line( msg: str, @@ -35,16 +37,14 @@ def format_fancy_output_line( return output -def _pluralize(string: Union[str, NodeType]) -> str: - try: - convert = NodeType(string) - except ValueError: - return f"{string}s" +def _pluralize(string: Union[str, LoggableDbtObject]) -> str: + if isinstance(string, LoggableDbtObject): + return string.pluralize() else: - return convert.pluralize() + return f"{string}s" -def pluralize(count, string: Union[str, NodeType]) -> str: +def pluralize(count, string: Union[str, LoggableDbtObject]) -> str: pluralized: str = str(string) if count != 1: pluralized = _pluralize(string) diff --git a/core/dbt/common/events/functions.py b/core/dbt/common/events/functions.py index d6a70128d22..d8e2fd17f0a 100644 --- a/core/dbt/common/events/functions.py +++ b/core/dbt/common/events/functions.py @@ -1,30 +1,37 @@ -from dbt.constants import METADATA_ENV_PREFIX +from pathlib import Path + +from dbt.common.helper_types import WarnErrorOptions +from dbt.common.utils import ForgivingJSONEncoder from dbt.common.events.base_types import BaseEvent, EventLevel, EventMsg from dbt.common.events.eventmgr import EventManager, IEventManager -from dbt.common.events.logger import LoggerConfig, NoFilter, LineFormat -from dbt.exceptions import scrub_secrets, env_secrets +from dbt.common.events.logger import LoggerConfig, LineFormat +from dbt.common.exceptions import scrub_secrets, env_secrets from dbt.common.events.types import Note -from dbt.flags import get_flags, ENABLE_LEGACY_LOGGER -from dbt.logger import GLOBAL_LOGGER, make_log_dir_if_missing from functools import partial import json import os import sys -from typing import Callable, Dict, List, Optional, TextIO +from typing import Callable, Dict, List, Optional, TextIO, Union import uuid from google.protobuf.json_format import MessageToDict -import dbt.utils - LOG_VERSION = 3 metadata_vars: Optional[Dict[str, str]] = None - +_METADATA_ENV_PREFIX = "DBT_ENV_CUSTOM_ENV_" # These are the logging events issued by the "clean" command, # where we can't count on having a log directory. We've removed # the "class" flags on the events in types.py. If necessary we # could still use class or method flags, but we'd have to get # the type class from the msg and then get the information from the class. nofile_codes = ["Z012", "Z013", "Z014", "Z015"] +WARN_ERROR_OPTIONS = WarnErrorOptions(include=[], exclude=[]) +WARN_ERROR = False + + +def make_log_dir_if_missing(log_path: Union[Path, str]) -> None: + if isinstance(log_path, str): + log_path = Path(log_path) + log_path.mkdir(parents=True, exist_ok=True) def setup_event_logger(flags, callbacks: List[Callable[[EventMsg], None]] = []) -> None: @@ -32,50 +39,43 @@ def setup_event_logger(flags, callbacks: List[Callable[[EventMsg], None]] = []) make_log_dir_if_missing(flags.LOG_PATH) EVENT_MANAGER.callbacks = callbacks.copy() - if ENABLE_LEGACY_LOGGER: - EVENT_MANAGER.add_logger( - _get_logbook_log_config( - flags.DEBUG, flags.USE_COLORS, flags.LOG_CACHE_EVENTS, flags.QUIET - ) + if flags.LOG_LEVEL != "none": + line_format = _line_format_from_str(flags.LOG_FORMAT, LineFormat.PlainText) + log_level = ( + EventLevel.ERROR + if flags.QUIET + else EventLevel.DEBUG + if flags.DEBUG + else EventLevel(flags.LOG_LEVEL) ) - else: - if flags.LOG_LEVEL != "none": - line_format = _line_format_from_str(flags.LOG_FORMAT, LineFormat.PlainText) - log_level = ( - EventLevel.ERROR - if flags.QUIET - else EventLevel.DEBUG - if flags.DEBUG - else EventLevel(flags.LOG_LEVEL) - ) - console_config = _get_stdout_config( - line_format, - flags.USE_COLORS, - log_level, - flags.LOG_CACHE_EVENTS, - ) + console_config = _get_stdout_config( + line_format, + flags.USE_COLORS, + log_level, + flags.LOG_CACHE_EVENTS, + ) + EVENT_MANAGER.add_logger(console_config) + + if _CAPTURE_STREAM: + # Create second stdout logger to support test which want to know what's + # being sent to stdout. + console_config.output_stream = _CAPTURE_STREAM EVENT_MANAGER.add_logger(console_config) - if _CAPTURE_STREAM: - # Create second stdout logger to support test which want to know what's - # being sent to stdout. - console_config.output_stream = _CAPTURE_STREAM - EVENT_MANAGER.add_logger(console_config) - - if flags.LOG_LEVEL_FILE != "none": - # create and add the file logger to the event manager - log_file = os.path.join(flags.LOG_PATH, "dbt.log") - log_file_format = _line_format_from_str(flags.LOG_FORMAT_FILE, LineFormat.DebugText) - log_level_file = EventLevel.DEBUG if flags.DEBUG else EventLevel(flags.LOG_LEVEL_FILE) - EVENT_MANAGER.add_logger( - _get_logfile_config( - log_file, - flags.USE_COLORS_FILE, - log_file_format, - log_level_file, - flags.LOG_FILE_MAX_BYTES, - ) + if flags.LOG_LEVEL_FILE != "none": + # create and add the file logger to the event manager + log_file = os.path.join(flags.LOG_PATH, "dbt.log") + log_file_format = _line_format_from_str(flags.LOG_FORMAT_FILE, LineFormat.DebugText) + log_level_file = EventLevel.DEBUG if flags.DEBUG else EventLevel(flags.LOG_LEVEL_FILE) + EVENT_MANAGER.add_logger( + _get_logfile_config( + log_file, + flags.USE_COLORS_FILE, + log_file_format, + log_level_file, + flags.LOG_FILE_MAX_BYTES, ) + ) def _line_format_from_str(format_str: str, default: LineFormat) -> LineFormat: @@ -125,15 +125,15 @@ def _get_logfile_config( line_format: LineFormat, level: EventLevel, log_file_max_bytes: int, + log_cache_events: bool = False, ) -> LoggerConfig: - return LoggerConfig( name="file_log", line_format=line_format, use_colors=use_colors, level=level, # File log is *always* debug level scrubber=env_scrubber, - filter=partial(_logfile_filter, bool(get_flags().LOG_CACHE_EVENTS), line_format), + filter=partial(_logfile_filter, log_cache_events, line_format), invocation_id=EVENT_MANAGER.invocation_id, output_file_name=log_path, output_file_max_bytes=log_file_max_bytes, @@ -146,26 +146,6 @@ def _logfile_filter(log_cache_events: bool, line_format: LineFormat, msg: EventM ) -def _get_logbook_log_config( - debug: bool, use_colors: bool, log_cache_events: bool, quiet: bool -) -> LoggerConfig: - config = _get_stdout_config( - LineFormat.PlainText, - use_colors, - EventLevel.ERROR if quiet else EventLevel.DEBUG if debug else EventLevel.INFO, - log_cache_events, - ) - config.name = "logbook_log" - config.filter = ( - NoFilter - if log_cache_events - else lambda e: e.info.name not in ["CacheAction", "CacheDumpGraph"] - ) - config.logger = GLOBAL_LOGGER - config.output_stream = None - return config - - def env_scrubber(msg: str) -> str: return scrub_secrets(msg, env_secrets()) @@ -182,11 +162,7 @@ def cleanup_event_logger() -> None: # currently fire before logs can be configured by setup_event_logger(), we # create a default configuration with default settings and no file output. EVENT_MANAGER: IEventManager = EventManager() -EVENT_MANAGER.add_logger( - _get_logbook_log_config(False, True, False, False) # type: ignore - if ENABLE_LEGACY_LOGGER - else _get_stdout_config(LineFormat.PlainText, True, EventLevel.INFO, False) -) +EVENT_MANAGER.add_logger(_get_stdout_config(LineFormat.PlainText, True, EventLevel.INFO, False)) # This global, and the following two functions for capturing stdout logs are # an unpleasant hack we intend to remove as part of API-ification. The GitHub @@ -209,7 +185,7 @@ def stop_capture_stdout_logs() -> None: # the message may contain secrets which must be scrubbed at the usage site. def msg_to_json(msg: EventMsg) -> str: msg_dict = msg_to_dict(msg) - raw_log_line = json.dumps(msg_dict, sort_keys=True, cls=dbt.utils.ForgivingJSONEncoder) + raw_log_line = json.dumps(msg_dict, sort_keys=True, cls=ForgivingJSONEncoder) return raw_log_line @@ -235,11 +211,10 @@ def msg_to_dict(msg: EventMsg) -> dict: def warn_or_error(event, node=None) -> None: - flags = get_flags() - if flags.WARN_ERROR or flags.WARN_ERROR_OPTIONS.includes(type(event).__name__): + if WARN_ERROR or WARN_ERROR_OPTIONS.includes(type(event).__name__): # TODO: resolve this circular import when at top - from dbt.exceptions import EventCompilationError + from dbt.common.exceptions import EventCompilationError raise EventCompilationError(event.message(), node) else: @@ -274,9 +249,9 @@ def get_metadata_vars() -> Dict[str, str]: global metadata_vars if not metadata_vars: metadata_vars = { - k[len(METADATA_ENV_PREFIX) :]: v + k[len(_METADATA_ENV_PREFIX) :]: v for k, v in os.environ.items() - if k.startswith(METADATA_ENV_PREFIX) + if k.startswith(_METADATA_ENV_PREFIX) } return metadata_vars diff --git a/core/dbt/common/events/interfaces.py b/core/dbt/common/events/interfaces.py new file mode 100644 index 00000000000..13c7df9d8a9 --- /dev/null +++ b/core/dbt/common/events/interfaces.py @@ -0,0 +1,7 @@ +from typing import Protocol, runtime_checkable + + +@runtime_checkable +class LoggableDbtObject(Protocol): + def pluralize(self) -> str: + ... diff --git a/core/dbt/common/events/logger.py b/core/dbt/common/events/logger.py index fa15c78dcd0..679e711e322 100644 --- a/core/dbt/common/events/logger.py +++ b/core/dbt/common/events/logger.py @@ -9,9 +9,9 @@ from colorama import Style -import dbt.utils from dbt.common.events.base_types import EventLevel, EventMsg from dbt.common.events.format import timestamp_to_datetime_string +from dbt.common.utils import ForgivingJSONEncoder # A Filter is a function which takes a BaseEvent and returns True if the event # should be logged, False otherwise. @@ -175,6 +175,6 @@ def create_line(self, msg: EventMsg) -> str: from dbt.common.events.functions import msg_to_dict msg_dict = msg_to_dict(msg) - raw_log_line = json.dumps(msg_dict, sort_keys=True, cls=dbt.utils.ForgivingJSONEncoder) + raw_log_line = json.dumps(msg_dict, sort_keys=True, cls=ForgivingJSONEncoder) line = self.scrubber(raw_log_line) # type: ignore return line diff --git a/core/dbt/common/events/types.py b/core/dbt/common/events/types.py index e9db8b3c457..161c3a7ff60 100644 --- a/core/dbt/common/events/types.py +++ b/core/dbt/common/events/types.py @@ -14,8 +14,9 @@ pluralize, timestamp_to_datetime_string, ) -from dbt.node_types import NodeType -from dbt.ui import line_wrap_message, warning_tag, red, green, yellow + +# from dbt.node_types import NodeType +from dbt.common.ui import line_wrap_message, warning_tag, red, green, yellow # The classes in this file represent the data necessary to describe a @@ -1594,7 +1595,9 @@ def code(self) -> str: def message(self) -> str: if self.status == "error": info = "ERROR" - status = red(info) + status = red( + info, + ) elif self.status == "pass": info = "PASS" status = green(info) @@ -1867,7 +1870,8 @@ def code(self) -> str: return "Q034" def message(self) -> str: - if self.resource_type in NodeType.refable(): + # ToDo: move to core or figure out NodeType + if self.resource_type in ["model", "seed", "snapshot"]: msg = f"SKIP relation {self.schema}.{self.node_name}" else: msg = f"SKIP {self.resource_type} {self.node_name}" diff --git a/core/dbt/common/exceptions.py b/core/dbt/common/exceptions.py deleted file mode 100644 index fb36eb75aaf..00000000000 --- a/core/dbt/common/exceptions.py +++ /dev/null @@ -1,58 +0,0 @@ -from typing import List -import os - -from dbt.common.constants import SECRET_ENV_PREFIX - - -def env_secrets() -> List[str]: - return [v for k, v in os.environ.items() if k.startswith(SECRET_ENV_PREFIX) and v.strip()] - - -def scrub_secrets(msg: str, secrets: List[str]) -> str: - scrubbed = str(msg) - - for secret in secrets: - scrubbed = scrubbed.replace(secret, "*****") - - return scrubbed - - -class DbtInternalError(Exception): - def __init__(self, msg: str): - self.stack: List = [] - self.msg = scrub_secrets(msg, env_secrets()) - - @property - def type(self): - return "Internal" - - def process_stack(self): - lines = [] - stack = self.stack - first = True - - if len(stack) > 1: - lines.append("") - - for item in stack: - msg = "called by" - - if first: - msg = "in" - first = False - - lines.append(f"> {msg}") - - return lines - - def __str__(self): - if hasattr(self.msg, "split"): - split_msg = self.msg.split("\n") - else: - split_msg = str(self.msg).split("\n") - - lines = ["{}".format(self.type + " Error")] + split_msg - - lines += self.process_stack() - - return lines[0] + "\n" + "\n".join([" " + line for line in lines[1:]]) diff --git a/core/dbt/common/exceptions/__init__.py b/core/dbt/common/exceptions/__init__.py new file mode 100644 index 00000000000..208ba24dbf7 --- /dev/null +++ b/core/dbt/common/exceptions/__init__.py @@ -0,0 +1,3 @@ +from dbt.common.exceptions.base import * # noqa +from dbt.common.exceptions.events import * # noqa +from dbt.common.exceptions.macros import * # noqa diff --git a/core/dbt/common/exceptions/base.py b/core/dbt/common/exceptions/base.py new file mode 100644 index 00000000000..8c07b8512e6 --- /dev/null +++ b/core/dbt/common/exceptions/base.py @@ -0,0 +1,261 @@ +import builtins +from typing import List, Any, Optional +import os + +from dbt.common.constants import SECRET_ENV_PREFIX +from dbt.common.dataclass_schema import ValidationError + + +def env_secrets() -> List[str]: + return [v for k, v in os.environ.items() if k.startswith(SECRET_ENV_PREFIX) and v.strip()] + + +def scrub_secrets(msg: str, secrets: List[str]) -> str: + scrubbed = str(msg) + + for secret in secrets: + scrubbed = scrubbed.replace(secret, "*****") + + return scrubbed + + +class DbtBaseException(Exception): + CODE = -32000 + MESSAGE = "Server Error" + + def data(self): + # if overriding, make sure the result is json-serializable. + return { + "type": self.__class__.__name__, + "message": str(self), + } + + +class DbtInternalError(DbtBaseException): + def __init__(self, msg: str): + self.stack: List = [] + self.msg = scrub_secrets(msg, env_secrets()) + + @property + def type(self): + return "Internal" + + def process_stack(self): + lines = [] + stack = self.stack + first = True + + if len(stack) > 1: + lines.append("") + + for item in stack: + msg = "called by" + + if first: + msg = "in" + first = False + + lines.append(f"> {msg}") + + return lines + + def __str__(self): + if hasattr(self.msg, "split"): + split_msg = self.msg.split("\n") + else: + split_msg = str(self.msg).split("\n") + + lines = ["{}".format(self.type + " Error")] + split_msg + + lines += self.process_stack() + + return lines[0] + "\n" + "\n".join([" " + line for line in lines[1:]]) + + +class DbtRuntimeError(RuntimeError, DbtBaseException): + CODE = 10001 + MESSAGE = "Runtime error" + + def __init__(self, msg: str, node=None) -> None: + self.stack: List = [] + self.node = node + self.msg = scrub_secrets(msg, env_secrets()) + + def add_node(self, node=None): + if node is not None and node is not self.node: + if self.node is not None: + self.stack.append(self.node) + self.node = node + + @property + def type(self): + return "Runtime" + + def node_to_string(self, node: Any): + """ + Given a node-like object we attempt to create the best identifier we can + """ + result = "" + if hasattr(node, "resource_type"): + result += node.resource_type + if hasattr(node, "name"): + result += f" {node.name}" + if hasattr(node, "original_file_path"): + result += f" ({node.original_file_path})" + + return result.strip() if result != "" else "" + + def process_stack(self): + lines = [] + stack = self.stack + [self.node] + first = True + + if len(stack) > 1: + lines.append("") + + for item in stack: + msg = "called by" + + if first: + msg = "in" + first = False + + lines.append(f"> {msg} {self.node_to_string(item)}") + + return lines + + def validator_error_message(self, exc: builtins.Exception): + """Given a dbt.dataclass_schema.ValidationError (which is basically a + jsonschema.ValidationError), return the relevant parts as a string + """ + if not isinstance(exc, ValidationError): + return str(exc) + path = "[%s]" % "][".join(map(repr, exc.relative_path)) + return f"at path {path}: {exc.message}" + + def __str__(self, prefix: str = "! "): + node_string = "" + + if self.node is not None: + node_string = f" in {self.node_to_string(self.node)}" + + if hasattr(self.msg, "split"): + split_msg = self.msg.split("\n") + else: + split_msg = str(self.msg).split("\n") + + lines = ["{}{}".format(self.type + " Error", node_string)] + split_msg + + lines += self.process_stack() + + return lines[0] + "\n" + "\n".join([" " + line for line in lines[1:]]) + + def data(self): + result = DbtBaseException.data(self) + if self.node is None: + return result + + result.update( + { + "raw_code": self.node.raw_code, + # the node isn't always compiled, but if it is, include that! + "compiled_code": getattr(self.node, "compiled_code", None), + } + ) + return result + + +class CompilationError(DbtRuntimeError): + CODE = 10004 + MESSAGE = "Compilation Error" + + @property + def type(self): + return "Compilation" + + def _fix_dupe_msg(self, path_1: str, path_2: str, name: str, type_name: str) -> str: + if path_1 == path_2: + return ( + f"remove one of the {type_name} entries for {name} in this file:\n - {path_1!s}\n" + ) + else: + return ( + f"remove the {type_name} entry for {name} in one of these files:\n" + f" - {path_1!s}\n{path_2!s}" + ) + + +class RecursionError(DbtRuntimeError): + pass + + +class DbtConfigError(DbtRuntimeError): + CODE = 10007 + MESSAGE = "DBT Configuration Error" + + # ToDo: Can we remove project? + def __init__(self, msg: str, project=None, result_type="invalid_project", path=None) -> None: + self.project = project + super().__init__(msg) + self.result_type = result_type + self.path = path + + def __str__(self, prefix="! ") -> str: + msg = super().__str__(prefix) + if self.path is None: + return msg + else: + return f"{msg}\n\nError encountered in {self.path}" + + +class NotImplementedError(DbtBaseException): + def __init__(self, msg: str) -> None: + self.msg = msg + self.formatted_msg = f"ERROR: {self.msg}" + super().__init__(self.formatted_msg) + + +class SemverError(Exception): + def __init__(self, msg: Optional[str] = None) -> None: + self.msg = msg + if msg is not None: + super().__init__(msg) + else: + super().__init__() + + +class VersionsNotCompatibleError(SemverError): + pass + + +class DbtValidationError(DbtRuntimeError): + CODE = 10005 + MESSAGE = "Validation Error" + + +class DbtDatabaseError(DbtRuntimeError): + CODE = 10003 + MESSAGE = "Database Error" + + def process_stack(self): + lines = [] + + if hasattr(self.node, "build_path") and self.node.build_path: + lines.append(f"compiled Code at {self.node.build_path}") + + return lines + DbtRuntimeError.process_stack(self) + + @property + def type(self): + return "Database" + + +class UnexpectedNullError(DbtDatabaseError): + def __init__(self, field_name: str, source): + self.field_name = field_name + self.source = source + msg = ( + f"Expected a non-null value when querying field '{self.field_name}' of table " + f" {self.source} but received value 'null' instead" + ) + super().__init__(msg) diff --git a/core/dbt/common/exceptions/cache.py b/core/dbt/common/exceptions/cache.py new file mode 100644 index 00000000000..d557be07d6c --- /dev/null +++ b/core/dbt/common/exceptions/cache.py @@ -0,0 +1,68 @@ +import re +from typing import Dict + +from dbt.common.exceptions import DbtInternalError + + +class CacheInconsistencyError(DbtInternalError): + def __init__(self, msg: str): + self.msg = msg + formatted_msg = f"Cache inconsistency detected: {self.msg}" + super().__init__(msg=formatted_msg) + + +class NewNameAlreadyInCacheError(CacheInconsistencyError): + def __init__(self, old_key: str, new_key: str): + self.old_key = old_key + self.new_key = new_key + msg = ( + f'in rename of "{self.old_key}" -> "{self.new_key}", new name is in the cache already' + ) + super().__init__(msg) + + +class ReferencedLinkNotCachedError(CacheInconsistencyError): + def __init__(self, referenced_key: str): + self.referenced_key = referenced_key + msg = f"in add_link, referenced link key {self.referenced_key} not in cache!" + super().__init__(msg) + + +class DependentLinkNotCachedError(CacheInconsistencyError): + def __init__(self, dependent_key: str): + self.dependent_key = dependent_key + msg = f"in add_link, dependent link key {self.dependent_key} not in cache!" + super().__init__(msg) + + +class TruncatedModelNameCausedCollisionError(CacheInconsistencyError): + def __init__(self, new_key, relations: Dict): + self.new_key = new_key + self.relations = relations + super().__init__(self.get_message()) + + def get_message(self) -> str: + # Tell user when collision caused by model names truncated during + # materialization. + match = re.search("__dbt_backup|__dbt_tmp$", self.new_key.identifier) + if match: + truncated_model_name_prefix = self.new_key.identifier[: match.start()] + message_addendum = ( + "\n\nName collisions can occur when the length of two " + "models' names approach your database's builtin limit. " + "Try restructuring your project such that no two models " + f"share the prefix '{truncated_model_name_prefix}'. " + "Then, clean your warehouse of any removed models." + ) + else: + message_addendum = "" + + msg = f"in rename, new key {self.new_key} already in cache: {list(self.relations.keys())}{message_addendum}" + + return msg + + +class NoneRelationFoundError(CacheInconsistencyError): + def __init__(self): + msg = "in get_relations, a None relation was found in the cache!" + super().__init__(msg) diff --git a/core/dbt/common/exceptions/events.py b/core/dbt/common/exceptions/events.py new file mode 100644 index 00000000000..a7fd09c3534 --- /dev/null +++ b/core/dbt/common/exceptions/events.py @@ -0,0 +1,9 @@ +from dbt.common.exceptions import CompilationError, scrub_secrets, env_secrets + + +# event level exception +class EventCompilationError(CompilationError): + def __init__(self, msg: str, node) -> None: + self.msg = scrub_secrets(msg, env_secrets()) + self.node = node + super().__init__(msg=self.msg) diff --git a/core/dbt/common/exceptions/macros.py b/core/dbt/common/exceptions/macros.py new file mode 100644 index 00000000000..7fae116267f --- /dev/null +++ b/core/dbt/common/exceptions/macros.py @@ -0,0 +1,80 @@ +from typing import Any + +from dbt.common.exceptions import CompilationError, DbtBaseException + + +class MacroReturn(DbtBaseException): + """ + Hack of all hacks + This is not actually an exception. + It's how we return a value from a macro. + """ + + def __init__(self, value) -> None: + self.value = value + + +class UndefinedMacroError(CompilationError): + def __str__(self, prefix: str = "! ") -> str: + msg = super().__str__(prefix) + return ( + f"{msg}. This can happen when calling a macro that does " + "not exist. Check for typos and/or install package dependencies " + 'with "dbt deps".' + ) + + +class CaughtMacroError(CompilationError): + def __init__(self, exc) -> None: + self.exc = exc + super().__init__(msg=str(exc)) + + +class MacroNameNotStringError(CompilationError): + def __init__(self, kwarg_value) -> None: + self.kwarg_value = kwarg_value + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = ( + f"The macro_name parameter ({self.kwarg_value}) " + "to adapter.dispatch was not a string" + ) + return msg + + +class MacrosSourcesUnWriteableError(CompilationError): + def __init__(self, node) -> None: + self.node = node + msg = 'cannot "write" macros or sources' + super().__init__(msg=msg) + + +class MacroArgTypeError(CompilationError): + def __init__(self, method_name: str, arg_name: str, got_value: Any, expected_type) -> None: + self.method_name = method_name + self.arg_name = arg_name + self.got_value = got_value + self.expected_type = expected_type + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + got_type = type(self.got_value) + msg = ( + f"'adapter.{self.method_name}' expects argument " + f"'{self.arg_name}' to be of type '{self.expected_type}', instead got " + f"{self.got_value} ({got_type})" + ) + return msg + + +class MacroResultError(CompilationError): + def __init__(self, freshness_macro_name: str, table): + self.freshness_macro_name = freshness_macro_name + self.table = table + super().__init__(msg=self.get_message()) + + def get_message(self) -> str: + msg = f'Got an invalid result from "{self.freshness_macro_name}" macro: {[tuple(r) for r in self.table]}' + + return msg diff --git a/core/dbt/helper_types.py b/core/dbt/common/helper_types.py similarity index 100% rename from core/dbt/helper_types.py rename to core/dbt/common/helper_types.py diff --git a/core/dbt/ui.py b/core/dbt/common/ui.py similarity index 90% rename from core/dbt/ui.py rename to core/dbt/common/ui.py index ef9089c857a..d7665797eba 100644 --- a/core/dbt/ui.py +++ b/core/dbt/common/ui.py @@ -3,8 +3,6 @@ import colorama -from dbt.flags import get_flags - COLORS: Dict[str, str] = { "red": colorama.Fore.RED, "green": colorama.Fore.GREEN, @@ -19,18 +17,19 @@ COLOR_RESET_ALL = COLORS["reset_all"] +USE_COLOR = True +PRINTER_WIDTH = 80 + + def color(text: str, color_code: str) -> str: - if get_flags().USE_COLORS: + if USE_COLOR: return "{}{}{}".format(color_code, text, COLOR_RESET_ALL) else: return text def printer_width() -> int: - flags = get_flags() - if flags.PRINTER_WIDTH: - return flags.PRINTER_WIDTH - return 80 + return PRINTER_WIDTH def green(text: str) -> str: diff --git a/core/dbt/common/utils/__init__.py b/core/dbt/common/utils/__init__.py index 04bdad47f6b..43fb47d88dc 100644 --- a/core/dbt/common/utils/__init__.py +++ b/core/dbt/common/utils/__init__.py @@ -1,7 +1,4 @@ -from dbt.common.utils.encoding import ( - md5, - JSONEncoder, -) +from dbt.common.utils.encoding import md5, JSONEncoder, ForgivingJSONEncoder from dbt.common.utils.casting import ( cast_to_str, diff --git a/core/dbt/common/utils/dict.py b/core/dbt/common/utils/dict.py index fc51efc319c..f994fb3e552 100644 --- a/core/dbt/common/utils/dict.py +++ b/core/dbt/common/utils/dict.py @@ -2,7 +2,7 @@ import datetime from typing import Dict, Optional, TypeVar, Callable, Any, Tuple, Union, Type -from dbt.exceptions import DbtConfigError, RecursionError +from dbt.common.exceptions import DbtConfigError, RecursionError K_T = TypeVar("K_T") V_T = TypeVar("V_T") @@ -40,7 +40,7 @@ def _merge(a, b): # http://stackoverflow.com/questions/20656135/python-deep-merge-dictionary-data def deep_merge(*args): """ - >>> dbt.utils.deep_merge({'a': 1, 'b': 2, 'c': 3}, {'a': 2}, {'a': 3, 'b': 1}) # noqa + >>> dbt.common.utils.deep_merge({'a': 1, 'b': 2, 'c': 3}, {'a': 2}, {'a': 3, 'b': 1}) # noqa {'a': 3, 'b': 1, 'c': 3} """ if len(args) == 0: diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index d96b0d80063..47ab790638b 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -13,10 +13,10 @@ CompilationError, DbtProfileError, DbtProjectError, - DbtValidationError, DbtRuntimeError, ProfileConfigError, ) +from dbt.common.exceptions import DbtValidationError from dbt.common.events.types import MissingProfileTarget from dbt.common.events.functions import fire_event from dbt.utils import coerce_dict_str diff --git a/core/dbt/config/project.py b/core/dbt/config/project.py index 36c6329415a..8593c5c6b6e 100644 --- a/core/dbt/config/project.py +++ b/core/dbt/config/project.py @@ -26,13 +26,13 @@ from dbt.adapters.contracts.connection import QueryComment from dbt.exceptions import ( DbtProjectError, - SemverError, ProjectContractBrokenError, ProjectContractError, DbtRuntimeError, ) +from dbt.common.exceptions import SemverError from dbt.graph import SelectionSpec -from dbt.helper_types import NoValue +from dbt.common.helper_types import NoValue from dbt.semver import VersionSpecifier, versions_compatible from dbt.version import get_installed_version from dbt.utils import MultiDict, md5 diff --git a/core/dbt/config/renderer.py b/core/dbt/config/renderer.py index 59dfb9d4901..8fc72197a71 100644 --- a/core/dbt/config/renderer.py +++ b/core/dbt/config/renderer.py @@ -9,7 +9,8 @@ from dbt.context.secret import SecretContext, SECRET_PLACEHOLDER from dbt.context.base import BaseContext from dbt.adapters.contracts.connection import HasCredentials -from dbt.exceptions import DbtProjectError, CompilationError, RecursionError +from dbt.exceptions import DbtProjectError +from dbt.common.exceptions import CompilationError, RecursionError from dbt.common.utils import deep_map_render diff --git a/core/dbt/config/runtime.py b/core/dbt/config/runtime.py index 82200e33e49..2a66f2f31b5 100644 --- a/core/dbt/config/runtime.py +++ b/core/dbt/config/runtime.py @@ -32,7 +32,7 @@ DbtRuntimeError, UninstalledPackagesFoundError, ) -from dbt.helper_types import DictDefaultEmptyStr, FQNPath, PathSet +from dbt.common.helper_types import DictDefaultEmptyStr, FQNPath, PathSet from .profile import Profile from .project import Project from .renderer import DbtProjectYamlRenderer, ProfileRenderer diff --git a/core/dbt/config/selectors.py b/core/dbt/config/selectors.py index 63316c7006a..bb1cec0591c 100644 --- a/core/dbt/config/selectors.py +++ b/core/dbt/config/selectors.py @@ -12,7 +12,8 @@ resolve_path_from_base, ) from dbt.contracts.selection import SelectorFile -from dbt.exceptions import DbtSelectorsError, DbtRuntimeError +from dbt.exceptions import DbtSelectorsError +from dbt.common.exceptions import DbtRuntimeError from dbt.graph import parse_from_selectors_definition, SelectionSpec from dbt.graph.selector_spec import SelectionCriteria diff --git a/core/dbt/config/utils.py b/core/dbt/config/utils.py index 31f18ba0477..891b463dfbf 100644 --- a/core/dbt/config/utils.py +++ b/core/dbt/config/utils.py @@ -4,7 +4,8 @@ from dbt.clients import yaml_helper from dbt.common.events.functions import fire_event from dbt.common.events.types import InvalidOptionYAML -from dbt.exceptions import DbtValidationError, OptionNotYamlDictError +from dbt.exceptions import OptionNotYamlDictError +from dbt.common.exceptions import DbtValidationError def parse_cli_vars(var_string: str) -> Dict[str, Any]: diff --git a/core/dbt/constants.py b/core/dbt/constants.py index b97b944fccf..0532f0c073d 100644 --- a/core/dbt/constants.py +++ b/core/dbt/constants.py @@ -1,7 +1,6 @@ # TODO: remove SECRET_ENV_PREFIX and import from dbt.common SECRET_ENV_PREFIX = "DBT_ENV_SECRET_" DEFAULT_ENV_PLACEHOLDER = "DBT_DEFAULT_PLACEHOLDER" -METADATA_ENV_PREFIX = "DBT_ENV_CUSTOM_ENV_" MAXIMUM_SEED_SIZE = 1 * 1024 * 1024 MAXIMUM_SEED_SIZE_NAME = "1MB" diff --git a/core/dbt/context/base.py b/core/dbt/context/base.py index 58c675c00fc..8b2818cfd2b 100644 --- a/core/dbt/context/base.py +++ b/core/dbt/context/base.py @@ -16,11 +16,11 @@ from dbt.exceptions import ( SecretEnvVarLocationError, EnvVarMissingError, - MacroReturn, RequiredVarNotFoundError, SetStrictWrongTypeError, ZipStrictWrongTypeError, ) +from dbt.common.exceptions.macros import MacroReturn from dbt.common.events.functions import fire_event, get_invocation_id from dbt.common.events.types import JinjaLogInfo, JinjaLogDebug from dbt.common.events.contextvars import get_node_info diff --git a/core/dbt/context/context_config.py b/core/dbt/context/context_config.py index 479cab44c58..591cde8847b 100644 --- a/core/dbt/context/context_config.py +++ b/core/dbt/context/context_config.py @@ -5,7 +5,7 @@ from dbt.config import RuntimeConfig, Project, IsFQNResource from dbt.contracts.graph.model_config import BaseConfig, get_config_for, _listify -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.node_types import NodeType from dbt.utils import fqn_search diff --git a/core/dbt/context/exceptions_jinja.py b/core/dbt/context/exceptions_jinja.py index 0e113c305f4..87d7977982f 100644 --- a/core/dbt/context/exceptions_jinja.py +++ b/core/dbt/context/exceptions_jinja.py @@ -4,30 +4,30 @@ from dbt.common.events.functions import warn_or_error from dbt.common.events.types import JinjaLogWarning -from dbt.exceptions import ( - DbtRuntimeError, +from dbt.common.exceptions import DbtRuntimeError, NotImplementedError, DbtDatabaseError +from dbt.adapters.exceptions import ( MissingConfigError, + ColumnTypeMissingError, MissingMaterializationError, + RelationWrongTypeError, +) +from dbt.exceptions import ( MissingRelationError, AmbiguousAliasError, AmbiguousCatalogMatchError, - CacheInconsistencyError, DataclassNotDictError, CompilationError, - DbtDatabaseError, DependencyNotFoundError, DependencyError, DuplicatePatchPathError, DuplicateResourceNameError, PropertyYMLError, - NotImplementedError, - RelationWrongTypeError, ContractError, - ColumnTypeMissingError, FailFastError, scrub_secrets, env_secrets, ) +from dbt.common.exceptions.cache import CacheInconsistencyError def warn(msg, node=None): diff --git a/core/dbt/context/providers.py b/core/dbt/context/providers.py index cc51f692b0b..e9094d4518c 100644 --- a/core/dbt/context/providers.py +++ b/core/dbt/context/providers.py @@ -43,12 +43,13 @@ from dbt.contracts.graph.metrics import MetricReference, ResolvedMetricReference from dbt.contracts.graph.unparsed import NodeVersion from dbt.common.events.functions import get_metadata_vars +from dbt.common.exceptions import DbtInternalError, DbtRuntimeError, DbtValidationError +from dbt.adapters.exceptions import MissingConfigError from dbt.exceptions import ( CompilationError, ConflictingConfigKeysError, SecretEnvVarLocationError, EnvVarMissingError, - DbtInternalError, InlineModelConfigError, NumberSourceArgsError, PersistDocsValueTypeError, @@ -56,19 +57,16 @@ LoadAgateTableValueError, MacroDispatchArgError, MacroResultAlreadyLoadedError, - MacrosSourcesUnWriteableError, MetricArgsError, - MissingConfigError, OperationsCannotRefEphemeralNodesError, PackageNotInDepsError, ParsingError, RefBadContextError, RefArgsError, - DbtRuntimeError, TargetNotFoundError, - DbtValidationError, DbtReferenceError, ) +from dbt.common.exceptions.macros import MacrosSourcesUnWriteableError from dbt.config import IsFQNResource from dbt.node_types import NodeType, ModelLanguage diff --git a/core/dbt/contracts/files.py b/core/dbt/contracts/files.py index 267b5358416..3709a330657 100644 --- a/core/dbt/contracts/files.py +++ b/core/dbt/contracts/files.py @@ -160,6 +160,10 @@ def file_id(self): return None return f"{self.project_name}://{self.path.original_file_path}" + @property + def original_file_path(self): + return self.path.original_file_path + def _serialize(self): dct = self.to_dict() return dct diff --git a/core/dbt/contracts/graph/manifest.py b/core/dbt/contracts/graph/manifest.py index 23698b6023d..15bb821cae2 100644 --- a/core/dbt/contracts/graph/manifest.py +++ b/core/dbt/contracts/graph/manifest.py @@ -58,11 +58,10 @@ from dbt.exceptions import ( CompilationError, DuplicateResourceNameError, - DuplicateMacroInPackageError, - DuplicateMaterializationNameError, AmbiguousResourceNameRefError, ) -from dbt.helper_types import PathSet +from dbt.adapters.exceptions import DuplicateMacroInPackageError, DuplicateMaterializationNameError +from dbt.common.helper_types import PathSet from dbt.common.events.functions import fire_event from dbt.common.events.types import MergedFromState, UnpinnedRefNewVersionAvailable from dbt.common.events.contextvars import get_node_info diff --git a/core/dbt/contracts/graph/model_config.py b/core/dbt/contracts/graph/model_config.py index b4f91d08161..327a56d1a4f 100644 --- a/core/dbt/contracts/graph/model_config.py +++ b/core/dbt/contracts/graph/model_config.py @@ -12,7 +12,7 @@ from dbt.contracts.graph.unparsed import AdditionalPropertiesAllowed, Docs from dbt.contracts.graph.utils import validate_color from dbt.contracts.util import Replaceable, list_str -from dbt.exceptions import DbtInternalError, CompilationError +from dbt.common.exceptions import DbtInternalError, CompilationError from dbt import hooks from dbt.node_types import NodeType, AccessType from mashumaro.jsonschema.annotations import Pattern diff --git a/core/dbt/contracts/graph/unparsed.py b/core/dbt/contracts/graph/unparsed.py index 6a17a75861c..e525ccee493 100644 --- a/core/dbt/contracts/graph/unparsed.py +++ b/core/dbt/contracts/graph/unparsed.py @@ -15,8 +15,9 @@ ) # trigger the PathEncoder -import dbt.helper_types # noqa:F401 -from dbt.exceptions import CompilationError, ParsingError, DbtInternalError +import dbt.common.helper_types # noqa:F401 +from dbt.exceptions import ParsingError +from dbt.common.exceptions import DbtInternalError, CompilationError from dbt.common.dataclass_schema import ( dbtClassMixin, StrEnum, @@ -148,7 +149,7 @@ class UnparsedVersion(dbtClassMixin): constraints: List[Dict[str, Any]] = field(default_factory=list) docs: Docs = field(default_factory=Docs) tests: Optional[List[TestDef]] = None - columns: Sequence[Union[dbt.helper_types.IncludeExclude, UnparsedColumn]] = field( + columns: Sequence[Union[dbt.common.helper_types.IncludeExclude, UnparsedColumn]] = field( default_factory=list ) deprecation_date: Optional[datetime.datetime] = None @@ -160,7 +161,7 @@ def __lt__(self, other): return str(self.v) < str(other.v) @property - def include_exclude(self) -> dbt.helper_types.IncludeExclude: + def include_exclude(self) -> dbt.common.helper_types.IncludeExclude: return self._include_exclude @property @@ -173,10 +174,10 @@ def formatted_v(self) -> str: def __post_init__(self): has_include_exclude = False - self._include_exclude = dbt.helper_types.IncludeExclude(include="*") + self._include_exclude = dbt.common.helper_types.IncludeExclude(include="*") self._unparsed_columns = [] for column in self.columns: - if isinstance(column, dbt.helper_types.IncludeExclude): + if isinstance(column, dbt.common.helper_types.IncludeExclude): if not has_include_exclude: self._include_exclude = column has_include_exclude = True diff --git a/core/dbt/contracts/project.py b/core/dbt/contracts/project.py index 3e3c11f0e2a..dc5da36143b 100644 --- a/core/dbt/contracts/project.py +++ b/core/dbt/contracts/project.py @@ -1,6 +1,6 @@ from dbt.contracts.util import Replaceable, Mergeable, list_str, Identifier from dbt.adapters.contracts.connection import QueryComment, UserConfigContract -from dbt.helper_types import NoValue +from dbt.common.helper_types import NoValue from dbt.common.dataclass_schema import ( dbtClassMixin, ValidationError, diff --git a/core/dbt/contracts/relation.py b/core/dbt/contracts/relation.py index 9684f2a38d6..62a62d814ee 100644 --- a/core/dbt/contracts/relation.py +++ b/core/dbt/contracts/relation.py @@ -9,7 +9,8 @@ from dbt.common.dataclass_schema import dbtClassMixin, StrEnum from dbt.contracts.util import Replaceable -from dbt.exceptions import CompilationError, DataclassNotDictError +from dbt.common.exceptions import CompilationError +from dbt.exceptions import DataclassNotDictError from dbt.common.utils import deep_merge diff --git a/core/dbt/contracts/results.py b/core/dbt/contracts/results.py index 0f725fc568d..ba88e503bb0 100644 --- a/core/dbt/contracts/results.py +++ b/core/dbt/contracts/results.py @@ -10,7 +10,7 @@ schema_version, get_artifact_schema_version, ) -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.common.events.functions import fire_event from dbt.common.events.types import TimingInfoCollected from dbt.common.events.contextvars import get_node_info diff --git a/core/dbt/deps/registry.py b/core/dbt/deps/registry.py index 351a9985206..47d15fc3ebc 100644 --- a/core/dbt/deps/registry.py +++ b/core/dbt/deps/registry.py @@ -13,8 +13,8 @@ DependencyError, PackageNotFoundError, PackageVersionNotFoundError, - VersionsNotCompatibleError, ) +from dbt.common.exceptions import VersionsNotCompatibleError class RegistryPackageMixin: diff --git a/core/dbt/exceptions.py b/core/dbt/exceptions.py index 9e841a0fad1..00bf6fdce6b 100644 --- a/core/dbt/exceptions.py +++ b/core/dbt/exceptions.py @@ -1,210 +1,21 @@ -import builtins import json import re import io import agate from typing import Any, Dict, List, Mapping, Optional, Union +from dbt.common.exceptions import ( + DbtRuntimeError, + CompilationError, + DbtInternalError, + DbtConfigError, + env_secrets, + scrub_secrets, + DbtValidationError, +) from dbt.node_types import NodeType, AccessType -from dbt.ui import line_wrap_message -import dbt.common.dataclass_schema from dbt.common.dataclass_schema import ValidationError -from dbt.common.exceptions import env_secrets, scrub_secrets - - -class MacroReturn(builtins.BaseException): - """ - Hack of all hacks - This is not actually an exception. - It's how we return a value from a macro. - """ - - def __init__(self, value) -> None: - self.value = value - - -class Exception(builtins.Exception): - CODE = -32000 - MESSAGE = "Server Error" - - def data(self): - # if overriding, make sure the result is json-serializable. - return { - "type": self.__class__.__name__, - "message": str(self), - } - - -class DbtInternalError(Exception): - def __init__(self, msg: str) -> None: - self.stack: List = [] - self.msg = scrub_secrets(msg, env_secrets()) - - @property - def type(self): - return "Internal" - - def process_stack(self): - lines = [] - stack = self.stack - first = True - - if len(stack) > 1: - lines.append("") - - for item in stack: - msg = "called by" - - if first: - msg = "in" - first = False - - lines.append(f"> {msg}") - - return lines - - def __str__(self): - if hasattr(self.msg, "split"): - split_msg = self.msg.split("\n") - else: - split_msg = str(self.msg).split("\n") - - lines = ["{}".format(self.type + " Error")] + split_msg - - lines += self.process_stack() - - return lines[0] + "\n" + "\n".join([" " + line for line in lines[1:]]) - - -class DbtRuntimeError(RuntimeError, Exception): - CODE = 10001 - MESSAGE = "Runtime error" - - def __init__(self, msg: str, node=None) -> None: - self.stack: List = [] - self.node = node - self.msg = scrub_secrets(msg, env_secrets()) - - def add_node(self, node=None): - if node is not None and node is not self.node: - if self.node is not None: - self.stack.append(self.node) - self.node = node - - @property - def type(self): - return "Runtime" - - def node_to_string(self, node): - if node is None: - return "" - if not hasattr(node, "name"): - # we probably failed to parse a block, so we can't know the name - return f"{node.resource_type} ({node.original_file_path})" - - if hasattr(node, "contents"): - # handle FileBlocks. They aren't really nodes but we want to render - # out the path we know at least. This indicates an error during - # block parsing. - return f"{node.path.original_file_path}" - return f"{node.resource_type} {node.name} ({node.original_file_path})" - - def process_stack(self): - lines = [] - stack = self.stack + [self.node] - first = True - - if len(stack) > 1: - lines.append("") - - for item in stack: - msg = "called by" - - if first: - msg = "in" - first = False - - lines.append(f"> {msg} {self.node_to_string(item)}") - - return lines - - def validator_error_message(self, exc: builtins.Exception): - """Given a dbt.dataclass_schema.ValidationError (which is basically a - jsonschema.ValidationError), return the relevant parts as a string - """ - if not isinstance(exc, dbt.common.dataclass_schema.ValidationError): - return str(exc) - path = "[%s]" % "][".join(map(repr, exc.relative_path)) - return f"at path {path}: {exc.message}" - - def __str__(self, prefix: str = "! "): - node_string = "" - - if self.node is not None: - node_string = f" in {self.node_to_string(self.node)}" - - if hasattr(self.msg, "split"): - split_msg = self.msg.split("\n") - else: - split_msg = str(self.msg).split("\n") - - lines = ["{}{}".format(self.type + " Error", node_string)] + split_msg - - lines += self.process_stack() - - return lines[0] + "\n" + "\n".join([" " + line for line in lines[1:]]) - - def data(self): - result = Exception.data(self) - if self.node is None: - return result - - result.update( - { - "raw_code": self.node.raw_code, - # the node isn't always compiled, but if it is, include that! - "compiled_code": getattr(self.node, "compiled_code", None), - } - ) - return result - - -class DbtDatabaseError(DbtRuntimeError): - CODE = 10003 - MESSAGE = "Database Error" - - def process_stack(self): - lines = [] - - if hasattr(self.node, "build_path") and self.node.build_path: - lines.append(f"compiled Code at {self.node.build_path}") - - return lines + DbtRuntimeError.process_stack(self) - - @property - def type(self): - return "Database" - - -class CompilationError(DbtRuntimeError): - CODE = 10004 - MESSAGE = "Compilation Error" - - @property - def type(self): - return "Compilation" - - def _fix_dupe_msg(self, path_1: str, path_2: str, name: str, type_name: str) -> str: - if path_1 == path_2: - return ( - f"remove one of the {type_name} entries for {name} in this file:\n - {path_1!s}\n" - ) - else: - return ( - f"remove the {type_name} entry for {name} in one of these files:\n" - f" - {path_1!s}\n{path_2!s}" - ) class ContractBreakingChangeError(DbtRuntimeError): @@ -234,15 +45,6 @@ def message(self): ) -class RecursionError(DbtRuntimeError): - pass - - -class DbtValidationError(DbtRuntimeError): - CODE = 10005 - MESSAGE = "Validation Error" - - class ParsingError(DbtRuntimeError): CODE = 10015 MESSAGE = "Parsing Error" @@ -303,16 +105,6 @@ class JinjaRenderingError(CompilationError): pass -class UndefinedMacroError(CompilationError): - def __str__(self, prefix: str = "! ") -> str: - msg = super().__str__(prefix) - return ( - f"{msg}. This can happen when calling a macro that does " - "not exist. Check for typos and/or install package dependencies " - 'with "dbt deps".' - ) - - class AliasError(DbtValidationError): pass @@ -322,24 +114,6 @@ class DependencyError(Exception): MESSAGE = "Dependency Error" -class DbtConfigError(DbtRuntimeError): - CODE = 10007 - MESSAGE = "DBT Configuration Error" - - def __init__(self, msg: str, project=None, result_type="invalid_project", path=None) -> None: - self.project = project - super().__init__(msg) - self.result_type = result_type - self.path = path - - def __str__(self, prefix="! ") -> str: - msg = super().__str__(prefix) - if self.path is None: - return msg - else: - return f"{msg}\n\nError encountered in {self.path}" - - class FailFastError(DbtRuntimeError): CODE = 10013 MESSAGE = "FailFast Error" @@ -365,30 +139,6 @@ class DbtProfileError(DbtConfigError): pass -class SemverError(Exception): - def __init__(self, msg: Optional[str] = None) -> None: - self.msg = msg - if msg is not None: - super().__init__(msg) - else: - super().__init__() - - -class VersionsNotCompatibleError(SemverError): - pass - - -class NotImplementedError(Exception): - def __init__(self, msg: str) -> None: - self.msg = msg - self.formatted_msg = f"ERROR: {self.msg}" - super().__init__(self.formatted_msg) - - -class FailedToConnectError(DbtDatabaseError): - pass - - class CommandError(DbtRuntimeError): def __init__(self, cwd: str, cmd: List[str], msg: str = "Error running command") -> None: cmd_scrubbed = list(scrub_secrets(cmd_txt, env_secrets()) for cmd_txt in cmd) @@ -436,15 +186,6 @@ def __str__(self): return f"{self.msg} running: {self.cmd}" -class InvalidConnectionError(DbtRuntimeError): - def __init__(self, thread_id, known: List) -> None: - self.thread_id = thread_id - self.known = known - super().__init__( - msg=f"connection never acquired for thread {self.thread_id}, have {self.known}" - ) - - class InvalidSelectorError(DbtRuntimeError): def __init__(self, name: str) -> None: self.name = name @@ -464,14 +205,6 @@ class ConnectionError(Exception): pass -# event level exception -class EventCompilationError(CompilationError): - def __init__(self, msg: str, node) -> None: - self.msg = scrub_secrets(msg, env_secrets()) - self.node = node - super().__init__(msg=self.msg) - - # compilation level exceptions class GraphDependencyNotFoundError(CompilationError): def __init__(self, node, dependency: str) -> None: @@ -516,25 +249,6 @@ def __init__(self, exc, node) -> None: super().__init__(msg=str(exc)) -class CaughtMacroError(CompilationError): - def __init__(self, exc) -> None: - self.exc = exc - super().__init__(msg=str(exc)) - - -class MacroNameNotStringError(CompilationError): - def __init__(self, kwarg_value) -> None: - self.kwarg_value = kwarg_value - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - f"The macro_name parameter ({self.kwarg_value}) " - "to adapter.dispatch was not a string" - ) - return msg - - class MissingControlFlowStartTagError(CompilationError): def __init__(self, tag, expected_tag: str, tag_parser) -> None: self.tag = tag @@ -760,13 +474,6 @@ def __init__(self, resource_type, node) -> None: super().__init__(msg=msg) -class MacrosSourcesUnWriteableError(CompilationError): - def __init__(self, node) -> None: - self.node = node - msg = 'cannot "write" macros or sources' - super().__init__(msg=msg) - - class PackageNotInDepsError(CompilationError): def __init__(self, package_name: str, node) -> None: self.package_name = package_name @@ -857,24 +564,6 @@ def get_message(self) -> str: return msg -class MacroArgTypeError(CompilationError): - def __init__(self, method_name: str, arg_name: str, got_value: Any, expected_type) -> None: - self.method_name = method_name - self.arg_name = arg_name - self.got_value = got_value - self.expected_type = expected_type - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - got_type = type(self.got_value) - msg = ( - f"'adapter.{self.method_name}' expects argument " - f"'{self.arg_name}' to be of type '{self.expected_type}', instead got " - f"{self.got_value} ({got_type})" - ) - return msg - - class BooleanError(CompilationError): def __init__(self, return_value: Any, macro_name: str) -> None: self.return_value = return_value @@ -972,7 +661,7 @@ def __init__( def get_message(self) -> str: target_package_string = "" if self.target_doc_package is not None: - target_package_string = f"in package '{self. target_doc_package}' " + target_package_string = f"in package '{self.target_doc_package}' " msg = f"Documentation for '{self.node.unique_id}' depends on doc '{self.target_doc_name}' {target_package_string} which was not found" return msg @@ -1282,7 +971,6 @@ def __init__(self, test_name: Any) -> None: super().__init__(msg=self.get_message()) def get_message(self) -> str: - msg = f"test name must be a str, got {type(self.test_name)} (value {self.test_name})" return msg @@ -1293,7 +981,6 @@ def __init__(self, test_args: Any) -> None: super().__init__(msg=self.get_message()) def get_message(self) -> str: - msg = f"test arguments must be a dict, got {type(self.test_args)} (value {self.test_args})" return msg @@ -1304,7 +991,6 @@ def __init__(self, test): super().__init__(msg=self.get_message()) def get_message(self) -> str: - msg = ( "test definition dictionary must have exactly one key, got" f" {self.test} instead ({len(self.test)} keys)" @@ -1437,216 +1123,6 @@ def get_message(self) -> str: return msg -# Postgres Exceptions -class UnexpectedDbReferenceError(NotImplementedError): - def __init__(self, adapter, database, expected): - self.adapter = adapter - self.database = database - self.expected = expected - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = f"Cross-db references not allowed in {self.adapter} ({self.database} vs {self.expected})" - return msg - - -class CrossDbReferenceProhibitedError(CompilationError): - def __init__(self, adapter, exc_msg: str): - self.adapter = adapter - self.exc_msg = exc_msg - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = f"Cross-db references not allowed in adapter {self.adapter}: Got {self.exc_msg}" - return msg - - -class IndexConfigNotDictError(CompilationError): - def __init__(self, raw_index: Any): - self.raw_index = raw_index - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - f"Invalid index config:\n" - f" Got: {self.raw_index}\n" - f' Expected a dictionary with at minimum a "columns" key' - ) - return msg - - -class IndexConfigError(CompilationError): - def __init__(self, exc: TypeError): - self.exc = exc - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - validator_msg = self.validator_error_message(self.exc) - msg = f"Could not parse index config: {validator_msg}" - return msg - - -# adapters exceptions -class MacroResultError(CompilationError): - def __init__(self, freshness_macro_name: str, table): - self.freshness_macro_name = freshness_macro_name - self.table = table - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = f'Got an invalid result from "{self.freshness_macro_name}" macro: {[tuple(r) for r in self.table]}' - - return msg - - -class SnapshotTargetNotSnapshotTableError(CompilationError): - def __init__(self, missing: List): - self.missing = missing - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = 'Snapshot target is not a snapshot table (missing "{}")'.format( - '", "'.join(self.missing) - ) - return msg - - -class SnapshotTargetIncompleteError(CompilationError): - def __init__(self, extra: List, missing: List): - self.extra = extra - self.missing = missing - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - 'Snapshot target has ("{}") but not ("{}") - is it an ' - "unmigrated previous version archive?".format( - '", "'.join(self.extra), '", "'.join(self.missing) - ) - ) - return msg - - -class RenameToNoneAttemptedError(CompilationError): - def __init__(self, src_name: str, dst_name: str, name: str): - self.src_name = src_name - self.dst_name = dst_name - self.name = name - self.msg = f"Attempted to rename {self.src_name} to {self.dst_name} for {self.name}" - super().__init__(msg=self.msg) - - -class NullRelationDropAttemptedError(CompilationError): - def __init__(self, name: str): - self.name = name - self.msg = f"Attempted to drop a null relation for {self.name}" - super().__init__(msg=self.msg) - - -class NullRelationCacheAttemptedError(CompilationError): - def __init__(self, name: str): - self.name = name - self.msg = f"Attempted to cache a null relation for {self.name}" - super().__init__(msg=self.msg) - - -class QuoteConfigTypeError(CompilationError): - def __init__(self, quote_config: Any): - self.quote_config = quote_config - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - 'The seed configuration value of "quote_columns" has an ' - f"invalid type {type(self.quote_config)}" - ) - return msg - - -class MultipleDatabasesNotAllowedError(CompilationError): - def __init__(self, databases): - self.databases = databases - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = str(self.databases) - return msg - - -class RelationTypeNullError(CompilationError): - def __init__(self, relation): - self.relation = relation - self.msg = f"Tried to drop relation {self.relation}, but its type is null." - super().__init__(msg=self.msg) - - -class MaterializationNotAvailableError(CompilationError): - def __init__(self, materialization, adapter_type: str): - self.materialization = materialization - self.adapter_type = adapter_type - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = f"Materialization '{self.materialization}' is not available for {self.adapter_type}!" - return msg - - -class RelationReturnedMultipleResultsError(CompilationError): - def __init__(self, kwargs: Mapping[str, Any], matches: List): - self.kwargs = kwargs - self.matches = matches - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - "get_relation returned more than one relation with the given args. " - "Please specify a database or schema to narrow down the result set." - f"\n{self.kwargs}\n\n{self.matches}" - ) - return msg - - -class ApproximateMatchError(CompilationError): - def __init__(self, target, relation): - self.target = target - self.relation = relation - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - - msg = ( - "When searching for a relation, dbt found an approximate match. " - "Instead of guessing \nwhich relation to use, dbt will move on. " - f"Please delete {self.relation}, or rename it to be less ambiguous." - f"\nSearched for: {self.target}\nFound: {self.relation}" - ) - - return msg - - -class UnexpectedNullError(DbtDatabaseError): - def __init__(self, field_name: str, source): - self.field_name = field_name - self.source = source - msg = ( - f"Expected a non-null value when querying field '{self.field_name}' of table " - f" {self.source} but received value 'null' instead" - ) - super().__init__(msg) - - -class UnexpectedNonTimestampError(DbtDatabaseError): - def __init__(self, field_name: str, source, dt: Any): - self.field_name = field_name - self.source = source - self.type_name = type(dt).__name__ - msg = ( - f"Expected a timestamp value when querying field '{self.field_name}' of table " - f"{self.source} but received value of type '{self.type_name}' instead" - ) - super().__init__(msg) - - # deps exceptions class MultipleVersionGitDepsError(DependencyError): def __init__(self, git: str, requested): @@ -1830,67 +1306,7 @@ def get_message(self) -> str: return msg -class DuplicateMacroInPackageError(CompilationError): - def __init__(self, macro, macro_mapping: Mapping): - self.macro = macro - self.macro_mapping = macro_mapping - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - other_path = self.macro_mapping[self.macro.unique_id].original_file_path - # subtract 2 for the "Compilation Error" indent - # note that the line wrap eats newlines, so if you want newlines, - # this is the result :( - msg = line_wrap_message( - f"""\ - dbt found two macros named "{self.macro.name}" in the project - "{self.macro.package_name}". - - - To fix this error, rename or remove one of the following - macros: - - - {self.macro.original_file_path} - - - {other_path} - """, - subtract=2, - ) - return msg - - -class DuplicateMaterializationNameError(CompilationError): - def __init__(self, macro, other_macro): - self.macro = macro - self.other_macro = other_macro - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - macro_name = self.macro.name - macro_package_name = self.macro.package_name - other_package_name = self.other_macro.macro.package_name - - msg = ( - f"Found two materializations with the name {macro_name} (packages " - f"{macro_package_name} and {other_package_name}). dbt cannot resolve " - "this ambiguity" - ) - return msg - - # jinja exceptions -class ColumnTypeMissingError(CompilationError): - def __init__(self, column_names: List): - self.column_names = column_names - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - "Contracted models require data_type to be defined for each column. " - "Please ensure that the column name and data_type are defined within " - f"the YAML configuration for the {self.column_names} column(s)." - ) - return msg class PatchTargetNotFoundError(CompilationError): @@ -1907,42 +1323,6 @@ def get_message(self) -> str: return msg -class MacroNotFoundError(CompilationError): - def __init__(self, node, target_macro_id: str): - self.node = node - self.target_macro_id = target_macro_id - msg = f"'{self.node.unique_id}' references macro '{self.target_macro_id}' which is not defined!" - - super().__init__(msg=msg) - - -class MissingConfigError(CompilationError): - def __init__(self, unique_id: str, name: str): - self.unique_id = unique_id - self.name = name - msg = ( - f"Model '{self.unique_id}' does not define a required config parameter '{self.name}'." - ) - super().__init__(msg=msg) - - -class MissingMaterializationError(CompilationError): - def __init__(self, materialization, adapter_type): - self.materialization = materialization - self.adapter_type = adapter_type - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - - valid_types = "'default'" - - if self.adapter_type != "default": - valid_types = f"'default' and '{self.adapter_type}'" - - msg = f"No materialization '{self.materialization}' was found for adapter {self.adapter_type}! (searched types {valid_types})" - return msg - - class MissingRelationError(CompilationError): def __init__(self, relation, model=None): self.relation = relation @@ -2013,70 +1393,6 @@ def get_message(self) -> str: return msg -class CacheInconsistencyError(DbtInternalError): - def __init__(self, msg: str): - self.msg = msg - formatted_msg = f"Cache inconsistency detected: {self.msg}" - super().__init__(msg=formatted_msg) - - -class NewNameAlreadyInCacheError(CacheInconsistencyError): - def __init__(self, old_key: str, new_key: str): - self.old_key = old_key - self.new_key = new_key - msg = ( - f'in rename of "{self.old_key}" -> "{self.new_key}", new name is in the cache already' - ) - super().__init__(msg) - - -class ReferencedLinkNotCachedError(CacheInconsistencyError): - def __init__(self, referenced_key: str): - self.referenced_key = referenced_key - msg = f"in add_link, referenced link key {self.referenced_key} not in cache!" - super().__init__(msg) - - -class DependentLinkNotCachedError(CacheInconsistencyError): - def __init__(self, dependent_key: str): - self.dependent_key = dependent_key - msg = f"in add_link, dependent link key {self.dependent_key} not in cache!" - super().__init__(msg) - - -class TruncatedModelNameCausedCollisionError(CacheInconsistencyError): - def __init__(self, new_key, relations: Dict): - self.new_key = new_key - self.relations = relations - super().__init__(self.get_message()) - - def get_message(self) -> str: - # Tell user when collision caused by model names truncated during - # materialization. - match = re.search("__dbt_backup|__dbt_tmp$", self.new_key.identifier) - if match: - truncated_model_name_prefix = self.new_key.identifier[: match.start()] - message_addendum = ( - "\n\nName collisions can occur when the length of two " - "models' names approach your database's builtin limit. " - "Try restructuring your project such that no two models " - f"share the prefix '{truncated_model_name_prefix}'. " - "Then, clean your warehouse of any removed models." - ) - else: - message_addendum = "" - - msg = f"in rename, new key {self.new_key} already in cache: {list(self.relations.keys())}{message_addendum}" - - return msg - - -class NoneRelationFoundError(CacheInconsistencyError): - def __init__(self): - msg = "in get_relations, a None relation was found in the cache!" - super().__init__(msg) - - # this is part of the context and also raised in dbt.contracts.relation.py class DataclassNotDictError(CompilationError): def __init__(self, obj: Any): @@ -2219,24 +1535,6 @@ def get_message(self) -> str: return msg -class RelationWrongTypeError(CompilationError): - def __init__(self, relation, expected_type, model=None): - self.relation = relation - self.expected_type = expected_type - self.model = model - super().__init__(msg=self.get_message()) - - def get_message(self) -> str: - msg = ( - f"Trying to create {self.expected_type} {self.relation}, " - f"but it currently exists as a {self.relation.type}. Either " - f"drop {self.relation} manually, or run dbt with " - "`--full-refresh` and dbt will drop it for you." - ) - - return msg - - class ContractError(CompilationError): def __init__(self, yaml_columns, sql_columns): self.yaml_columns = yaml_columns diff --git a/core/dbt/flags.py b/core/dbt/flags.py index 5d6d0fae680..05b2ca2c261 100644 --- a/core/dbt/flags.py +++ b/core/dbt/flags.py @@ -56,6 +56,7 @@ def set_from_args(args: Namespace, user_config): args_param_value = convert_config(arg_name, args_param_value) object.__setattr__(flags, arg_name.upper(), args_param_value) object.__setattr__(flags, arg_name.lower(), args_param_value) + flags.set_common_global_flags() GLOBAL_FLAGS = flags # type: ignore diff --git a/core/dbt/graph/cli.py b/core/dbt/graph/cli.py index 5f8620f6ee6..8919e6af7b0 100644 --- a/core/dbt/graph/cli.py +++ b/core/dbt/graph/cli.py @@ -8,7 +8,7 @@ from typing import Dict, List, Optional, Tuple, Any, Union from dbt.contracts.selection import SelectorDefinition, SelectorFile -from dbt.exceptions import DbtInternalError, DbtValidationError +from dbt.common.exceptions import DbtInternalError, DbtValidationError from .selector_spec import ( SelectionUnion, diff --git a/core/dbt/graph/graph.py b/core/dbt/graph/graph.py index 94747036fd4..994aeeb7fb3 100644 --- a/core/dbt/graph/graph.py +++ b/core/dbt/graph/graph.py @@ -3,7 +3,7 @@ import networkx as nx # type: ignore from functools import partial -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError UniqueId = NewType("UniqueId", str) diff --git a/core/dbt/graph/selector_methods.py b/core/dbt/graph/selector_methods.py index 3502b0d4829..90353ad9c91 100644 --- a/core/dbt/graph/selector_methods.py +++ b/core/dbt/graph/selector_methods.py @@ -23,7 +23,7 @@ ) from dbt.contracts.graph.unparsed import UnparsedVersion from dbt.contracts.state import PreviousState -from dbt.exceptions import ( +from dbt.common.exceptions import ( DbtInternalError, DbtRuntimeError, ) diff --git a/core/dbt/graph/selector_spec.py b/core/dbt/graph/selector_spec.py index 05e85e1eb4a..86a20a99295 100644 --- a/core/dbt/graph/selector_spec.py +++ b/core/dbt/graph/selector_spec.py @@ -7,7 +7,8 @@ from typing import Set, Iterator, List, Optional, Dict, Union, Any, Iterable, Tuple from .graph import UniqueId from .selector_methods import MethodName -from dbt.exceptions import DbtRuntimeError, InvalidSelectorError +from dbt.common.exceptions import DbtRuntimeError +from dbt.exceptions import InvalidSelectorError RAW_SELECTOR_PATTERN = re.compile( diff --git a/core/dbt/logger.py b/core/dbt/logger.py index 103a05f920b..e3bbb00e5d7 100644 --- a/core/dbt/logger.py +++ b/core/dbt/logger.py @@ -1,5 +1,5 @@ import dbt.flags -import dbt.ui +import dbt.common.ui import json import logging @@ -531,6 +531,6 @@ def timestamped_line(msg: str) -> str: def print_timestamped_line(msg: str, use_color: Optional[str] = None): if use_color is not None: - msg = dbt.ui.color(msg, use_color) + msg = dbt.common.ui.color(msg, use_color) GLOBAL_LOGGER.info(timestamped_line(msg)) diff --git a/core/dbt/parser/common.py b/core/dbt/parser/common.py index 0e10d9c6cf0..8947eea1364 100644 --- a/core/dbt/parser/common.py +++ b/core/dbt/parser/common.py @@ -17,7 +17,8 @@ from dbt.parser.search import FileBlock from typing import List, Dict, Any, TypeVar, Generic, Union, Optional from dataclasses import dataclass -from dbt.exceptions import DbtInternalError, ParsingError +from dbt.common.exceptions import DbtInternalError +from dbt.exceptions import ParsingError def trimmed(inp: str) -> str: diff --git a/core/dbt/parser/generic_test_builders.py b/core/dbt/parser/generic_test_builders.py index d6ff1ad7382..2e29bf568ff 100644 --- a/core/dbt/parser/generic_test_builders.py +++ b/core/dbt/parser/generic_test_builders.py @@ -27,8 +27,8 @@ TestTypeError, TestNameNotStringError, UnexpectedTestNamePatternError, - UndefinedMacroError, ) +from dbt.common.exceptions.macros import UndefinedMacroError from dbt.parser.common import Testable from dbt.utils import md5 diff --git a/core/dbt/parser/hooks.py b/core/dbt/parser/hooks.py index d96257a0e71..08c04be1555 100644 --- a/core/dbt/parser/hooks.py +++ b/core/dbt/parser/hooks.py @@ -4,7 +4,7 @@ from dbt.context.context_config import ContextConfig from dbt.contracts.files import FilePath from dbt.contracts.graph.nodes import HookNode -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.node_types import NodeType, RunHookType from dbt.parser.base import SimpleParser from dbt.parser.search import FileBlock diff --git a/core/dbt/parser/manifest.py b/core/dbt/parser/manifest.py index 1518ba5d514..e10342b9f21 100644 --- a/core/dbt/parser/manifest.py +++ b/core/dbt/parser/manifest.py @@ -40,7 +40,7 @@ PARTIAL_PARSE_FILE_NAME, SEMANTIC_MANIFEST_FILE_NAME, ) -from dbt.helper_types import PathSet +from dbt.common.helper_types import PathSet from dbt.common.events.functions import fire_event, get_invocation_id, warn_or_error from dbt.common.events.types import ( PartialParsingErrorProcessingFile, diff --git a/core/dbt/parser/models.py b/core/dbt/parser/models.py index 60fe83f7b65..367fb68d237 100644 --- a/core/dbt/parser/models.py +++ b/core/dbt/parser/models.py @@ -25,8 +25,8 @@ ParsingError, PythonLiteralEvalError, PythonParsingError, - UndefinedMacroError, ) +from dbt.common.exceptions.macros import UndefinedMacroError dbt_function_key_words = set(["ref", "source", "config", "get"]) dbt_function_full_names = set(["dbt.ref", "dbt.source", "dbt.config", "dbt.config.get"]) diff --git a/core/dbt/parser/schema_yaml_readers.py b/core/dbt/parser/schema_yaml_readers.py index 63a5808b8c9..01504d32e05 100644 --- a/core/dbt/parser/schema_yaml_readers.py +++ b/core/dbt/parser/schema_yaml_readers.py @@ -39,7 +39,8 @@ Measure, NonAdditiveDimension, ) -from dbt.exceptions import DbtInternalError, YamlParseDictError, JSONValidationError +from dbt.common.exceptions import DbtInternalError +from dbt.exceptions import YamlParseDictError, JSONValidationError from dbt.context.providers import generate_parse_exposure, generate_parse_semantic_models from dbt.contracts.graph.model_config import MetricConfig, ExposureConfig diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py index b5aa82bff00..391d5847674 100644 --- a/core/dbt/parser/schemas.py +++ b/core/dbt/parser/schemas.py @@ -38,12 +38,12 @@ JSONValidationError, DbtInternalError, ParsingError, - DbtValidationError, YamlLoadError, YamlParseDictError, YamlParseListError, InvalidAccessTypeError, ) +from dbt.common.exceptions import DbtValidationError from dbt.common.events.functions import warn_or_error from dbt.common.events.types import ( MacroNotFoundForPatch, diff --git a/core/dbt/parser/sources.py b/core/dbt/parser/sources.py index 531cf5d942c..a0d43d0f9ea 100644 --- a/core/dbt/parser/sources.py +++ b/core/dbt/parser/sources.py @@ -29,7 +29,7 @@ from dbt.common.events.functions import warn_or_error, fire_event from dbt.common.events.types import UnusedTables, FreshnessConfigProblem -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.node_types import NodeType from dbt.parser.common import ParserRef diff --git a/core/dbt/parser/sql.py b/core/dbt/parser/sql.py index 98e28aadc19..67dc71f731a 100644 --- a/core/dbt/parser/sql.py +++ b/core/dbt/parser/sql.py @@ -5,7 +5,7 @@ from dbt.contracts.graph.manifest import SourceFile from dbt.contracts.graph.nodes import SqlNode, Macro from dbt.contracts.graph.unparsed import UnparsedMacro -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.node_types import NodeType from dbt.parser.base import SimpleSQLParser from dbt.parser.macros import MacroParser diff --git a/core/dbt/plugins/manager.py b/core/dbt/plugins/manager.py index cc71d5ab6bf..ea3629e5860 100644 --- a/core/dbt/plugins/manager.py +++ b/core/dbt/plugins/manager.py @@ -3,7 +3,7 @@ from typing import Dict, List, Callable from dbt.contracts.graph.manifest import Manifest -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.plugins.contracts import PluginArtifacts from dbt.plugins.manifest import PluginNodes import dbt.tracking diff --git a/core/dbt/semver.py b/core/dbt/semver.py index e216716a9f0..ba23f06975b 100644 --- a/core/dbt/semver.py +++ b/core/dbt/semver.py @@ -2,7 +2,8 @@ import re from typing import List -from dbt.exceptions import VersionsNotCompatibleError +import dbt.common.exceptions.base +from dbt.common.exceptions import VersionsNotCompatibleError import dbt.utils from dbt.common.dataclass_schema import dbtClassMixin, StrEnum @@ -96,7 +97,7 @@ def from_version_string(cls, version_string): match = _VERSION_REGEX.match(version_string) if not match: - raise dbt.exceptions.SemverError( + raise dbt.common.exceptions.base.SemverError( f'"{version_string}" is not a valid semantic version.' ) diff --git a/core/dbt/task/base.py b/core/dbt/task/base.py index fc3bd61893b..49ba909eeff 100644 --- a/core/dbt/task/base.py +++ b/core/dbt/task/base.py @@ -8,6 +8,7 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Type, Union +import dbt.common.exceptions.base import dbt.exceptions from dbt import tracking from dbt.adapters.factory import get_adapter @@ -38,11 +39,11 @@ NodeCompiling, NodeExecuting, ) -from dbt.exceptions import ( - NotImplementedError, - CompilationError, +from dbt.common.exceptions import ( DbtRuntimeError, DbtInternalError, + CompilationError, + NotImplementedError, ) from dbt.flags import get_flags from dbt.graph import Graph @@ -103,17 +104,17 @@ def from_args(cls, args, *pargs, **kwargs): fire_event(LogDbtProjectError(exc=str(exc))) tracking.track_invalid_invocation(args=args, result_type=exc.result_type) - raise dbt.exceptions.DbtRuntimeError("Could not run dbt") from exc + raise dbt.common.exceptions.DbtRuntimeError("Could not run dbt") from exc except dbt.exceptions.DbtProfileError as exc: all_profile_names = list(read_profiles(get_flags().PROFILES_DIR).keys()) fire_event(LogDbtProfileError(exc=str(exc), profiles=all_profile_names)) tracking.track_invalid_invocation(args=args, result_type=exc.result_type) - raise dbt.exceptions.DbtRuntimeError("Could not run dbt") from exc + raise dbt.common.exceptions.DbtRuntimeError("Could not run dbt") from exc return cls(args, config, *pargs, **kwargs) @abstractmethod def run(self): - raise dbt.exceptions.NotImplementedError("Not Implemented") + raise dbt.common.exceptions.base.NotImplementedError("Not Implemented") def interpret_results(self, results): return True @@ -128,7 +129,7 @@ def get_nearest_project_dir(project_dir: Optional[str]) -> Path: if project_file.is_file(): return cur_dir else: - raise dbt.exceptions.DbtRuntimeError( + raise dbt.common.exceptions.DbtRuntimeError( "fatal: Invalid --project-dir flag. Not a dbt project. " "Missing dbt_project.yml file" ) @@ -138,7 +139,7 @@ def get_nearest_project_dir(project_dir: Optional[str]) -> Path: if project_file.is_file(): return cur_dir else: - raise dbt.exceptions.DbtRuntimeError( + raise dbt.common.exceptions.DbtRuntimeError( "fatal: Not a dbt project (or any of the parent directories). " "Missing dbt_project.yml file" ) diff --git a/core/dbt/task/build.py b/core/dbt/task/build.py index d001a429f4c..83fc5262803 100644 --- a/core/dbt/task/build.py +++ b/core/dbt/task/build.py @@ -7,7 +7,7 @@ from dbt.adapters.factory import get_adapter from dbt.contracts.results import NodeStatus -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType from dbt.task.test import TestSelector diff --git a/core/dbt/task/clean.py b/core/dbt/task/clean.py index c54d7c5544c..c5e6d476d98 100644 --- a/core/dbt/task/clean.py +++ b/core/dbt/task/clean.py @@ -8,7 +8,7 @@ ConfirmCleanPath, FinishedCleanPaths, ) -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.task.base import ( BaseTask, move_to_nearest_project_dir, diff --git a/core/dbt/task/clone.py b/core/dbt/task/clone.py index efa533b4af5..089bc7be265 100644 --- a/core/dbt/task/clone.py +++ b/core/dbt/task/clone.py @@ -6,7 +6,7 @@ from dbt.context.providers import generate_runtime_model_context from dbt.contracts.results import RunStatus, RunResult from dbt.common.dataclass_schema import dbtClassMixin -from dbt.exceptions import DbtInternalError, CompilationError +from dbt.common.exceptions import DbtInternalError, CompilationError from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType from dbt.parser.manifest import write_manifest diff --git a/core/dbt/task/compile.py b/core/dbt/task/compile.py index 002400a4d71..829127a9ad4 100644 --- a/core/dbt/task/compile.py +++ b/core/dbt/task/compile.py @@ -6,10 +6,10 @@ from dbt.common.events.base_types import EventLevel from dbt.common.events.functions import fire_event from dbt.common.events.types import CompiledNode, Note, ParseInlineNodeError -from dbt.exceptions import ( +from dbt.common.exceptions import ( CompilationError, DbtInternalError, - Exception as DbtException, + DbtBaseException as DbtException, ) from dbt.graph import ResourceTypeSelector diff --git a/core/dbt/task/debug.py b/core/dbt/task/debug.py index 971ebbc3e18..ba297d5fef4 100644 --- a/core/dbt/task/debug.py +++ b/core/dbt/task/debug.py @@ -17,13 +17,14 @@ ) import dbt.clients.system import dbt.exceptions +import dbt.common.exceptions from dbt.adapters.factory import get_adapter, register_adapter from dbt.config import PartialProject, Project, Profile from dbt.config.renderer import DbtProjectYamlRenderer, ProfileRenderer from dbt.contracts.results import RunStatus from dbt.clients.yaml_helper import load_yaml_text from dbt.links import ProfileConfigDocs -from dbt.ui import green, red +from dbt.common.ui import green, red from dbt.common.events.format import pluralize from dbt.version import get_installed_version @@ -81,7 +82,7 @@ def __init__(self, args, config) -> None: self.profile_path = os.path.join(self.profiles_dir, "profiles.yml") try: self.project_dir = get_nearest_project_dir(self.args.project_dir) - except dbt.exceptions.Exception: + except dbt.common.exceptions.DbtBaseException: # we probably couldn't find a project directory. Set project dir # to whatever was given, or default to the current directory. if args.project_dir: @@ -126,7 +127,7 @@ def run(self) -> bool: fire_event(DebugCmdOut(msg="Using dbt_project.yml file at {}".format(self.project_path))) if load_profile_status.run_status == RunStatus.Success: if self.profile is None: - raise dbt.exceptions.DbtInternalError( + raise dbt.common.exceptions.DbtInternalError( "Profile should not be None if loading profile completed" ) else: @@ -218,7 +219,7 @@ def _load_profile(self) -> SubtaskStatus: # https://github.com/dbt-labs/dbt-core/issues/6259 getattr(self.args, "threads", None), ) - except dbt.exceptions.DbtConfigError as exc: + except dbt.common.exceptions.DbtConfigError as exc: profile_errors.append(str(exc)) else: if len(profile_names) == 1: @@ -263,7 +264,7 @@ def _choose_profile_names(self) -> Tuple[List[str], str]: try: return [Profile.pick_profile_name(args_profile, project_profile)], "" - except dbt.exceptions.DbtConfigError: + except dbt.common.exceptions.DbtConfigError: pass # try to guess @@ -345,7 +346,7 @@ def _load_project(self) -> SubtaskStatus: renderer, verify_version=self.args.VERSION_CHECK, ) - except dbt.exceptions.DbtConfigError as exc: + except dbt.common.exceptions.DbtConfigError as exc: return SubtaskStatus( log_msg=red("ERROR invalid"), run_status=RunStatus.Error, diff --git a/core/dbt/task/freshness.py b/core/dbt/task/freshness.py index 291e918a0f9..3e71345db6c 100644 --- a/core/dbt/task/freshness.py +++ b/core/dbt/task/freshness.py @@ -15,7 +15,7 @@ SourceFreshnessResult, FreshnessStatus, ) -from dbt.exceptions import DbtRuntimeError, DbtInternalError +from dbt.common.exceptions import DbtRuntimeError, DbtInternalError from dbt.common.events.functions import fire_event from dbt.common.events.types import ( FreshnessCheckComplete, diff --git a/core/dbt/task/generate.py b/core/dbt/task/generate.py index 9e0e609263b..dd4cb837bbc 100644 --- a/core/dbt/task/generate.py +++ b/core/dbt/task/generate.py @@ -24,7 +24,8 @@ ColumnMetadata, CatalogArtifact, ) -from dbt.exceptions import DbtInternalError, AmbiguousCatalogMatchError +from dbt.common.exceptions import DbtInternalError +from dbt.exceptions import AmbiguousCatalogMatchError from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType from dbt.include.global_project import DOCS_INDEX_FILE_PATH @@ -87,7 +88,7 @@ def get_table(self, data: PrimitiveDict) -> CatalogTable: str(data["table_name"]), ) except KeyError as exc: - raise dbt.exceptions.CompilationError( + raise dbt.common.exceptions.CompilationError( "Catalog information missing required key {} (got {})".format(exc, data) ) table: CatalogTable diff --git a/core/dbt/task/init.py b/core/dbt/task/init.py index 5a41b3f122d..11fe14406b8 100644 --- a/core/dbt/task/init.py +++ b/core/dbt/task/init.py @@ -11,7 +11,7 @@ import dbt.config import dbt.clients.system from dbt.config.profile import read_profile -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.flags import get_flags from dbt.version import _get_adapter_plugin_names from dbt.adapters.factory import load_plugin, get_include_paths @@ -300,7 +300,7 @@ def run(self): try: move_to_nearest_project_dir(self.args.project_dir) in_project = True - except dbt.exceptions.DbtRuntimeError: + except dbt.common.exceptions.DbtRuntimeError: in_project = False if in_project: diff --git a/core/dbt/task/list.py b/core/dbt/task/list.py index 29b4fd8dd4a..c395d5c3f31 100644 --- a/core/dbt/task/list.py +++ b/core/dbt/task/list.py @@ -14,7 +14,7 @@ NoNodesSelected, ListCmdOut, ) -from dbt.exceptions import DbtRuntimeError, DbtInternalError +from dbt.common.exceptions import DbtRuntimeError, DbtInternalError from dbt.common.events.contextvars import task_contextvars diff --git a/core/dbt/task/retry.py b/core/dbt/task/retry.py index af6a46b776e..a982880adaa 100644 --- a/core/dbt/task/retry.py +++ b/core/dbt/task/retry.py @@ -5,7 +5,7 @@ from dbt.config import RuntimeConfig from dbt.contracts.results import NodeStatus from dbt.contracts.state import PreviousState -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.graph import GraphQueue from dbt.task.base import ConfiguredTask from dbt.task.build import BuildTask diff --git a/core/dbt/task/run.py b/core/dbt/task/run.py index 246a39c3b08..76c2d456a95 100644 --- a/core/dbt/task/run.py +++ b/core/dbt/task/run.py @@ -23,10 +23,10 @@ from dbt.exceptions import ( CompilationError, DbtInternalError, - MissingMaterializationError, DbtRuntimeError, - DbtValidationError, ) +from dbt.common.exceptions import DbtValidationError +from dbt.adapters.exceptions import MissingMaterializationError from dbt.common.events.functions import fire_event, get_invocation_id from dbt.common.events.types import ( DatabaseErrorRunningHook, diff --git a/core/dbt/task/run_operation.py b/core/dbt/task/run_operation.py index db2d103aa90..caa1f1c7b7e 100644 --- a/core/dbt/task/run_operation.py +++ b/core/dbt/task/run_operation.py @@ -5,7 +5,7 @@ import agate -import dbt.exceptions +import dbt.common.exceptions from dbt.adapters.factory import get_adapter from dbt.contracts.files import FileHash from dbt.contracts.graph.nodes import HookNode @@ -16,7 +16,7 @@ RunningOperationUncaughtError, LogDebugStackTrace, ) -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.node_types import NodeType from dbt.task.base import ConfiguredTask @@ -56,7 +56,7 @@ def run(self) -> RunResultsArtifact: try: self._run_unsafe(package_name, macro_name) - except dbt.exceptions.Exception as exc: + except dbt.common.exceptions.DbtBaseException as exc: fire_event(RunningOperationCaughtError(exc=str(exc))) fire_event(LogDebugStackTrace(exc_info=traceback.format_exc())) success = False diff --git a/core/dbt/task/runnable.py b/core/dbt/task/runnable.py index 288d15032d3..a2b76a35bc8 100644 --- a/core/dbt/task/runnable.py +++ b/core/dbt/task/runnable.py @@ -38,10 +38,10 @@ ) from dbt.exceptions import ( DbtInternalError, - NotImplementedError, DbtRuntimeError, FailFastError, ) +from dbt.common.exceptions import NotImplementedError from dbt.flags import get_flags from dbt.graph import GraphQueue, NodeSelector, SelectionSpec, parse_difference, UniqueId from dbt.logger import ( diff --git a/core/dbt/task/seed.py b/core/dbt/task/seed.py index 02907af7746..07619141079 100644 --- a/core/dbt/task/seed.py +++ b/core/dbt/task/seed.py @@ -6,7 +6,7 @@ ) from dbt.contracts.results import RunStatus -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.graph import ResourceTypeSelector from dbt.logger import TextOnly from dbt.common.events.functions import fire_event diff --git a/core/dbt/task/show.py b/core/dbt/task/show.py index 630c2d7235a..d6d140898a9 100644 --- a/core/dbt/task/show.py +++ b/core/dbt/task/show.py @@ -8,7 +8,7 @@ from dbt.common.events.base_types import EventLevel from dbt.common.events.functions import fire_event from dbt.common.events.types import ShowNode, Note -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.task.compile import CompileTask, CompileRunner from dbt.task.seed import SeedRunner diff --git a/core/dbt/task/snapshot.py b/core/dbt/task/snapshot.py index 7ff5b11828b..b9f517bd662 100644 --- a/core/dbt/task/snapshot.py +++ b/core/dbt/task/snapshot.py @@ -1,6 +1,6 @@ from .run import ModelRunner, RunTask -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.common.events.functions import fire_event from dbt.common.events.base_types import EventLevel from dbt.common.events.types import LogSnapshotResult diff --git a/core/dbt/task/sql.py b/core/dbt/task/sql.py index c0f82e3e748..18c402ebac9 100644 --- a/core/dbt/task/sql.py +++ b/core/dbt/task/sql.py @@ -3,6 +3,7 @@ from typing import Generic, TypeVar import traceback +import dbt.common.exceptions.base import dbt.exceptions from dbt.contracts.sql import ( RemoteCompileResult, @@ -25,7 +26,7 @@ def __init__(self, config, adapter, node, node_index, num_nodes) -> None: def handle_exception(self, e, ctx): fire_event(SQLRunnerException(exc=str(e), exc_info=traceback.format_exc())) if isinstance(e, dbt.exceptions.Exception): - if isinstance(e, dbt.exceptions.DbtRuntimeError): + if isinstance(e, dbt.common.exceptions.DbtRuntimeError): e.add_node(ctx.node) return e @@ -51,7 +52,9 @@ def error_result(self, node, error, start_time, timing_info): raise error def ephemeral_result(self, node, start_time, timing_info): - raise dbt.exceptions.NotImplementedError("cannot execute ephemeral nodes remotely!") + raise dbt.common.exceptions.base.NotImplementedError( + "cannot execute ephemeral nodes remotely!" + ) class SqlCompileRunner(GenericSqlRunner[RemoteCompileResult]): diff --git a/core/dbt/task/test.py b/core/dbt/task/test.py index 13d67afaa0b..93695b5c3bf 100644 --- a/core/dbt/task/test.py +++ b/core/dbt/task/test.py @@ -25,8 +25,8 @@ from dbt.exceptions import ( DbtInternalError, BooleanError, - MissingMaterializationError, ) +from ..adapters.exceptions import MissingMaterializationError from dbt.graph import ( ResourceTypeSelector, ) diff --git a/core/dbt/tests/fixtures/project.py b/core/dbt/tests/fixtures/project.py index c3511e7c671..cf617eeee4f 100644 --- a/core/dbt/tests/fixtures/project.py +++ b/core/dbt/tests/fixtures/project.py @@ -1,4 +1,5 @@ import os +from pathlib import Path import pytest # type: ignore import random from argparse import Namespace @@ -6,7 +7,7 @@ import warnings import yaml -from dbt.exceptions import CompilationError, DbtDatabaseError +from dbt.common.exceptions import CompilationError, DbtDatabaseError import dbt.flags as flags from dbt.config.runtime import RuntimeConfig from dbt.adapters.factory import get_adapter, register_adapter, reset_adapters, get_adapter_by_type @@ -374,7 +375,7 @@ def project_files(project_root, models, macros, snapshots, properties, seeds, te def logs_dir(request, prefix): dbt_log_dir = os.path.join(request.config.rootdir, "logs", prefix) os.environ["DBT_LOG_PATH"] = str(dbt_log_dir) - yield dbt_log_dir + yield str(Path(dbt_log_dir)) del os.environ["DBT_LOG_PATH"] diff --git a/core/dbt/tracking.py b/core/dbt/tracking.py index 120f1dc0d18..ae9754e621e 100644 --- a/core/dbt/tracking.py +++ b/core/dbt/tracking.py @@ -24,7 +24,8 @@ SendingEvent, TrackingInitializeFailure, ) -from dbt.exceptions import FailedToConnectError, NotImplementedError +from dbt.adapters.exceptions import FailedToConnectError +from dbt.common.exceptions import NotImplementedError sp_logger.setLevel(100) diff --git a/core/dbt/utils.py b/core/dbt/utils.py index 8d31a266f2c..57a650a4902 100644 --- a/core/dbt/utils.py +++ b/core/dbt/utils.py @@ -13,13 +13,12 @@ from dbt.common.utils import md5 from dbt.common.events.types import RetryExternalCall, RecordRetryException -from dbt.exceptions import ( - ConnectionError, +from dbt.common.exceptions import ( DbtInternalError, RecursionError, - DuplicateAliasError, ) -from dbt.helper_types import WarnErrorOptions +from dbt.exceptions import ConnectionError, DuplicateAliasError +from dbt.common.helper_types import WarnErrorOptions from dbt import flags from enum import Enum from typing import ( @@ -215,16 +214,6 @@ def default(self, obj): return super().default(obj) -class ForgivingJSONEncoder(JSONEncoder): - def default(self, obj): - # let dbt's default JSON encoder handle it if possible, fallback to - # str() - try: - return super().default(obj) - except TypeError: - return str(obj) - - class Translator: def __init__(self, aliases: Mapping[str, str], recursive: bool = False) -> None: self.aliases = aliases diff --git a/core/dbt/version.py b/core/dbt/version.py index 523a9874fab..ffbe7416c44 100644 --- a/core/dbt/version.py +++ b/core/dbt/version.py @@ -10,7 +10,7 @@ import dbt.exceptions import dbt.semver -from dbt.ui import green, red, yellow +from dbt.common.ui import green, red, yellow PYPI_VERSION_URL = "https://pypi.org/pypi/dbt-core/json" diff --git a/plugins/postgres/dbt/adapters/postgres/connections.py b/plugins/postgres/dbt/adapters/postgres/connections.py index 1fe83645beb..3ba81c11a8c 100644 --- a/plugins/postgres/dbt/adapters/postgres/connections.py +++ b/plugins/postgres/dbt/adapters/postgres/connections.py @@ -3,13 +3,13 @@ import psycopg2 from psycopg2.extensions import string_types -import dbt.exceptions +import dbt.common.exceptions from dbt.adapters.base import Credentials from dbt.adapters.sql import SQLConnectionManager from dbt.adapters.contracts.connection import AdapterResponse from dbt.common.events import AdapterLogger -from dbt.helper_types import Port +from dbt.common.helper_types import Port from dataclasses import dataclass from typing import Optional from typing_extensions import Annotated @@ -84,19 +84,19 @@ def exception_handler(self, sql): logger.debug("Failed to release connection!") pass - raise dbt.exceptions.DbtDatabaseError(str(e).strip()) from e + raise dbt.common.exceptions.DbtDatabaseError(str(e).strip()) from e except Exception as e: logger.debug("Error running SQL: {}", sql) logger.debug("Rolling back transaction.") self.rollback_if_open() - if isinstance(e, dbt.exceptions.DbtRuntimeError): + if isinstance(e, dbt.common.exceptions.DbtRuntimeError): # during a sql query, an internal to dbt exception was raised. # this sounds a lot like a signal handler and probably has # useful information, so raise it without modification. raise - raise dbt.exceptions.DbtRuntimeError(e) from e + raise dbt.common.exceptions.DbtRuntimeError(e) from e @classmethod def open(cls, connection): diff --git a/plugins/postgres/dbt/adapters/postgres/impl.py b/plugins/postgres/dbt/adapters/postgres/impl.py index 5ce2da12301..2cc9e5079a4 100644 --- a/plugins/postgres/dbt/adapters/postgres/impl.py +++ b/plugins/postgres/dbt/adapters/postgres/impl.py @@ -10,12 +10,12 @@ from dbt.adapters.postgres.column import PostgresColumn from dbt.adapters.postgres import PostgresRelation from dbt.common.dataclass_schema import dbtClassMixin, ValidationError +from dbt.common.exceptions import DbtRuntimeError from dbt.contracts.graph.nodes import ConstraintType -from dbt.exceptions import ( +from dbt.adapters.exceptions import ( CrossDbReferenceProhibitedError, IndexConfigNotDictError, IndexConfigError, - DbtRuntimeError, UnexpectedDbReferenceError, ) import dbt.utils diff --git a/plugins/postgres/dbt/adapters/postgres/relation.py b/plugins/postgres/dbt/adapters/postgres/relation.py index e6a302d4143..fbb358cde43 100644 --- a/plugins/postgres/dbt/adapters/postgres/relation.py +++ b/plugins/postgres/dbt/adapters/postgres/relation.py @@ -8,7 +8,7 @@ ) from dbt.context.providers import RuntimeConfigObject from dbt.contracts.relation import RelationType -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.adapters.postgres.relation_configs import ( PostgresIndexConfig, diff --git a/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py b/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py index ee9a1c4c061..7d3a0ce7189 100644 --- a/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py +++ b/plugins/postgres/dbt/adapters/postgres/relation_configs/index.py @@ -3,7 +3,7 @@ import agate from dbt.common.dataclass_schema import StrEnum -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.adapters.relation_configs import ( RelationConfigBase, RelationConfigValidationMixin, diff --git a/plugins/postgres/dbt/adapters/postgres/relation_configs/materialized_view.py b/plugins/postgres/dbt/adapters/postgres/relation_configs/materialized_view.py index 15e700e777a..70a0805f79e 100644 --- a/plugins/postgres/dbt/adapters/postgres/relation_configs/materialized_view.py +++ b/plugins/postgres/dbt/adapters/postgres/relation_configs/materialized_view.py @@ -9,7 +9,7 @@ RelationConfigValidationRule, ) from dbt.contracts.graph.nodes import ModelNode -from dbt.exceptions import DbtRuntimeError +from dbt.common.exceptions import DbtRuntimeError from dbt.adapters.postgres.relation_configs.constants import MAX_CHARACTERS_IN_IDENTIFIER from dbt.adapters.postgres.relation_configs.index import ( diff --git a/tests/adapter/dbt/tests/adapter/hooks/test_model_hooks.py b/tests/adapter/dbt/tests/adapter/hooks/test_model_hooks.py index 73995be3b33..a5bbfccb3c4 100644 --- a/tests/adapter/dbt/tests/adapter/hooks/test_model_hooks.py +++ b/tests/adapter/dbt/tests/adapter/hooks/test_model_hooks.py @@ -2,7 +2,8 @@ from pathlib import Path -from dbt.exceptions import CompilationError, ParsingError +from dbt.common.exceptions import CompilationError +from dbt.exceptions import ParsingError from dbt.tests.util import ( run_dbt, diff --git a/tests/adapter/dbt/tests/adapter/utils/test_validate_sql.py b/tests/adapter/dbt/tests/adapter/utils/test_validate_sql.py index 24bdd287f94..86b041539fe 100644 --- a/tests/adapter/dbt/tests/adapter/utils/test_validate_sql.py +++ b/tests/adapter/dbt/tests/adapter/utils/test_validate_sql.py @@ -3,7 +3,8 @@ import pytest from dbt.adapters.base.impl import BaseAdapter -from dbt.exceptions import DbtRuntimeError, InvalidConnectionError +from dbt.exceptions import DbtRuntimeError +from dbt.adapters.exceptions import InvalidConnectionError class BaseValidateSqlMethod: @@ -41,7 +42,7 @@ def invalid_sql(self) -> str: def expected_exception(self) -> Type[Exception]: """Returns the Exception type thrown by a failed query. - Defaults to dbt.exceptions.DbtRuntimeError because that is the most common + Defaults to dbt.common.exceptions.DbtRuntimeError because that is the most common base exception for adapters to throw.""" return DbtRuntimeError diff --git a/tests/functional/compile/test_compile.py b/tests/functional/compile/test_compile.py index ca03904901f..722c69536c1 100644 --- a/tests/functional/compile/test_compile.py +++ b/tests/functional/compile/test_compile.py @@ -3,7 +3,7 @@ import pytest import re -from dbt.exceptions import DbtRuntimeError, Exception as DbtException +from dbt.common.exceptions import DbtRuntimeError, DbtBaseException as DbtException from dbt.tests.util import run_dbt, run_dbt_and_capture, read_file from tests.functional.compile.fixtures import ( first_model_sql, diff --git a/tests/functional/dependencies/test_local_dependency.py b/tests/functional/dependencies/test_local_dependency.py index 5305659b95b..8d0ff0a1617 100644 --- a/tests/functional/dependencies/test_local_dependency.py +++ b/tests/functional/dependencies/test_local_dependency.py @@ -197,7 +197,7 @@ def models(self): def test_missing_dependency(self, project): # dbt should raise a runtime exception - with pytest.raises(dbt.exceptions.DbtRuntimeError): + with pytest.raises(dbt.common.exceptions.DbtRuntimeError): run_dbt(["compile"]) @@ -352,7 +352,7 @@ def test_local_dependency_same_name(self, prepare_dependencies, project): def test_local_dependency_same_name_sneaky(self, prepare_dependencies, project): shutil.copytree("duplicate_dependency", "./dbt_packages/duplicate_dependency") - with pytest.raises(dbt.exceptions.CompilationError): + with pytest.raises(dbt.common.exceptions.CompilationError): run_dbt(["compile"]) # needed to avoid compilation errors from duplicate package names in test autocleanup diff --git a/tests/functional/deprecations/test_deprecations.py b/tests/functional/deprecations/test_deprecations.py index 6c2678433b0..d95fc99da88 100644 --- a/tests/functional/deprecations/test_deprecations.py +++ b/tests/functional/deprecations/test_deprecations.py @@ -59,7 +59,7 @@ def test_data_path(self, project): def test_data_path_fail(self, project): deprecations.reset_deprecations() assert deprecations.active_deprecations == set() - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt(["--warn-error", "debug"]) exc_str = " ".join(str(exc.value).split()) # flatten all whitespace expected_msg = "The `data-paths` config has been renamed" @@ -103,7 +103,7 @@ def test_package_path(self, project): def test_package_path_not_set(self, project): deprecations.reset_deprecations() assert deprecations.active_deprecations == set() - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt(["--warn-error", "clean"]) exc_str = " ".join(str(exc.value).split()) # flatten all whitespace expected_msg = "path has changed from `dbt_modules` to `dbt_packages`." @@ -130,7 +130,7 @@ def test_package_redirect(self, project): def test_package_redirect_fail(self, project): deprecations.reset_deprecations() assert deprecations.active_deprecations == set() - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt(["--warn-error", "deps"]) exc_str = " ".join(str(exc.value).split()) # flatten all whitespace expected_msg = "The `fishtown-analytics/dbt_utils` package is deprecated in favor of `dbt-labs/dbt_utils`" @@ -152,7 +152,7 @@ def test_exposure_name(self, project): def test_exposure_name_fail(self, project): deprecations.reset_deprecations() assert deprecations.active_deprecations == set() - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt(["--warn-error", "--no-partial-parse", "parse"]) exc_str = " ".join(str(exc.value).split()) # flatten all whitespace expected_msg = "Starting in v1.3, the 'name' of an exposure should contain only letters, numbers, and underscores." diff --git a/tests/functional/docs/test_duplicate_docs_block.py b/tests/functional/docs/test_duplicate_docs_block.py index 2ff9459e4b3..7a0d8d9d602 100644 --- a/tests/functional/docs/test_duplicate_docs_block.py +++ b/tests/functional/docs/test_duplicate_docs_block.py @@ -31,5 +31,5 @@ def models(self): } def test_duplicate_doc_ref(self, project): - with pytest.raises(dbt.exceptions.CompilationError): + with pytest.raises(dbt.common.exceptions.CompilationError): run_dbt(expect_pass=False) diff --git a/tests/functional/docs/test_invalid_doc_ref.py b/tests/functional/docs/test_invalid_doc_ref.py index 7c486938124..0a6574216b4 100644 --- a/tests/functional/docs/test_invalid_doc_ref.py +++ b/tests/functional/docs/test_invalid_doc_ref.py @@ -43,5 +43,5 @@ def models(self): def test_invalid_doc_ref(self, project): # The run should fail since we could not find the docs reference. - with pytest.raises(dbt.exceptions.CompilationError): + with pytest.raises(dbt.common.exceptions.CompilationError): run_dbt(expect_pass=False) diff --git a/tests/functional/docs/test_missing_docs_blocks.py b/tests/functional/docs/test_missing_docs_blocks.py index 3b6f4e540b9..fb5ae9cc7ee 100644 --- a/tests/functional/docs/test_missing_docs_blocks.py +++ b/tests/functional/docs/test_missing_docs_blocks.py @@ -39,5 +39,5 @@ def models(self): def test_missing_doc_ref(self, project): # The run should fail since we could not find the docs reference. - with pytest.raises(dbt.exceptions.CompilationError): + with pytest.raises(dbt.common.exceptions.CompilationError): run_dbt() diff --git a/tests/functional/macros/test_macros.py b/tests/functional/macros/test_macros.py index a93a7d76c85..1619c2d6992 100644 --- a/tests/functional/macros/test_macros.py +++ b/tests/functional/macros/test_macros.py @@ -118,7 +118,7 @@ def macros(self): return {"my_macros.sql": macros__no_default_macros} def test_invalid_macro(self, project): - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt() assert "In dispatch: No macro named 'dispatch_to_nowhere' found" in str(exc.value) @@ -255,7 +255,7 @@ def test_misnamed_macro_namespace( ): run_dbt(["deps"]) - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt() assert "In dispatch: No macro named 'cowsay' found" in str(exc.value) @@ -271,7 +271,7 @@ def macros(self): return {"macro.sql": macros__deprecated_adapter_macro} def test_invalid_macro(self, project): - with pytest.raises(dbt.exceptions.CompilationError) as exc: + with pytest.raises(dbt.common.exceptions.CompilationError) as exc: run_dbt() assert 'The "adapter_macro" macro has been deprecated' in str(exc.value) diff --git a/tests/functional/partial_parsing/test_pp_vars.py b/tests/functional/partial_parsing/test_pp_vars.py index f57fca06b1e..a01e78c6458 100644 --- a/tests/functional/partial_parsing/test_pp_vars.py +++ b/tests/functional/partial_parsing/test_pp_vars.py @@ -3,7 +3,8 @@ import pytest from dbt.constants import SECRET_ENV_PREFIX -from dbt.exceptions import FailedToConnectError, ParsingError +from dbt.exceptions import ParsingError +from dbt.adapters.exceptions import FailedToConnectError from dbt.tests.util import get_manifest, run_dbt, run_dbt_and_capture, write_file from tests.functional.partial_parsing.fixtures import ( diff --git a/tests/functional/run_operations/test_run_operations.py b/tests/functional/run_operations/test_run_operations.py index aa6d908b8ce..b9d026b3bb5 100644 --- a/tests/functional/run_operations/test_run_operations.py +++ b/tests/functional/run_operations/test_run_operations.py @@ -3,7 +3,7 @@ import pytest import yaml -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.tests.util import ( check_table_does_exist, run_dbt, diff --git a/tests/functional/show/test_show.py b/tests/functional/show/test_show.py index fa4e2acca53..97947f00bd1 100644 --- a/tests/functional/show/test_show.py +++ b/tests/functional/show/test_show.py @@ -1,6 +1,6 @@ import pytest -from dbt.exceptions import DbtRuntimeError, Exception as DbtException +from dbt.common.exceptions import DbtRuntimeError, DbtBaseException as DbtException from dbt.tests.util import run_dbt_and_capture, run_dbt from tests.functional.show.fixtures import ( models__second_ephemeral_model, diff --git a/tests/functional/sources/test_source_fresher_state.py b/tests/functional/sources/test_source_fresher_state.py index d060072da17..c33cef5a8e5 100644 --- a/tests/functional/sources/test_source_fresher_state.py +++ b/tests/functional/sources/test_source_fresher_state.py @@ -4,7 +4,7 @@ import pytest from datetime import datetime, timedelta -from dbt.exceptions import DbtInternalError +from dbt.common.exceptions import DbtInternalError from dbt.tests.util import AnyStringWith, AnyFloat diff --git a/tests/unit/test_adapter_connection_manager.py b/tests/unit/test_adapter_connection_manager.py index 961ffe9f831..dfcd76a7b18 100644 --- a/tests/unit/test_adapter_connection_manager.py +++ b/tests/unit/test_adapter_connection_manager.py @@ -2,6 +2,7 @@ from unittest import mock import sys +import dbt.adapters.exceptions import dbt.exceptions import psycopg2 @@ -75,7 +76,8 @@ def connect(): raise ValueError("Something went horribly wrong") with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, "Something went horribly wrong" + dbt.adapters.exceptions.FailedToConnectError, + "Something went horribly wrong", ): BaseConnectionManager.retry_connection( @@ -110,7 +112,8 @@ def connect(): raise ValueError("Something went horribly wrong") with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, "Something went horribly wrong" + dbt.adapters.exceptions.FailedToConnectError, + "Something went horribly wrong", ): BaseConnectionManager.retry_connection( @@ -185,7 +188,8 @@ def connect(): raise ValueError("Something went horribly wrong") with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, "Something went horribly wrong" + dbt.adapters.exceptions.FailedToConnectError, + "Something went horribly wrong", ): BaseConnectionManager.retry_connection( conn, @@ -220,7 +224,8 @@ def connect(): raise TypeError("An unhandled thing went horribly wrong") with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, "An unhandled thing went horribly wrong" + dbt.adapters.exceptions.FailedToConnectError, + "An unhandled thing went horribly wrong", ): BaseConnectionManager.retry_connection( conn, @@ -338,7 +343,8 @@ def connect(): return True with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, "retry_limit cannot be negative" + dbt.adapters.exceptions.FailedToConnectError, + "retry_limit cannot be negative", ): BaseConnectionManager.retry_connection( conn, @@ -365,7 +371,7 @@ def connect(): for retry_timeout in [-10, -2.5, lambda _: -100, lambda _: -10.1]: with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, + dbt.adapters.exceptions.FailedToConnectError, "retry_timeout cannot be negative or return a negative time", ): BaseConnectionManager.retry_connection( @@ -392,7 +398,7 @@ def connect(): return True with self.assertRaisesRegex( - dbt.exceptions.FailedToConnectError, + dbt.adapters.exceptions.FailedToConnectError, "retry_limit cannot be negative", ): BaseConnectionManager.retry_connection( diff --git a/tests/unit/test_cli_flags.py b/tests/unit/test_cli_flags.py index e6c860315c1..31f9ffa836f 100644 --- a/tests/unit/test_cli_flags.py +++ b/tests/unit/test_cli_flags.py @@ -9,8 +9,8 @@ from dbt.cli.main import cli from dbt.cli.types import Command from dbt.contracts.project import UserConfig -from dbt.exceptions import DbtInternalError -from dbt.helper_types import WarnErrorOptions +from dbt.common.exceptions import DbtInternalError +from dbt.common.helper_types import WarnErrorOptions from dbt.tests.util import rm_file, write_file diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index 99dc672b608..8c56e9bca3e 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -986,7 +986,7 @@ def test_configured_task_dir_change(self): def test_configured_task_dir_change_with_bad_path(self): self.args.project_dir = "bad_path" - with self.assertRaises(dbt.exceptions.DbtRuntimeError): + with self.assertRaises(dbt.common.exceptions.DbtRuntimeError): InheritsFromConfiguredTask.from_args(self.args) diff --git a/tests/unit/test_context.py b/tests/unit/test_context.py index 2e7d5612f57..58941553de3 100644 --- a/tests/unit/test_context.py +++ b/tests/unit/test_context.py @@ -91,7 +91,7 @@ def test_var_not_defined(self): var = providers.RuntimeVar(self.context, self.config, self.model) self.assertEqual(var("foo", "bar"), "bar") - with self.assertRaises(dbt.exceptions.CompilationError): + with self.assertRaises(dbt.common.exceptions.CompilationError): var("foo") def test_parser_var_default_something(self): @@ -459,7 +459,7 @@ def test_macro_namespace_duplicates(config_postgres, manifest_fx): mn.add_macros(manifest_fx.macros.values(), {}) # same pkg, same name: error - with pytest.raises(dbt.exceptions.CompilationError): + with pytest.raises(dbt.common.exceptions.CompilationError): mn.add_macro(mock_macro("macro_a", "root"), {}) # different pkg, same name: no error diff --git a/tests/unit/test_flags.py b/tests/unit/test_flags.py index 69d8913b675..db496dbf952 100644 --- a/tests/unit/test_flags.py +++ b/tests/unit/test_flags.py @@ -6,7 +6,7 @@ from dbt import flags from dbt.contracts.project import UserConfig from dbt.graph.selector_spec import IndirectSelection -from dbt.helper_types import WarnErrorOptions +from dbt.common.helper_types import WarnErrorOptions # Skip due to interface for flag updated pytestmark = pytest.mark.skip diff --git a/tests/unit/test_functions.py b/tests/unit/test_functions.py index 2128e41fc05..cfd371db1d2 100644 --- a/tests/unit/test_functions.py +++ b/tests/unit/test_functions.py @@ -4,7 +4,7 @@ import dbt.flags as flags from dbt.common.events.functions import msg_to_dict, warn_or_error, setup_event_logger from dbt.common.events.types import InfoLevel, NoNodesForSelectionCriteria -from dbt.exceptions import EventCompilationError +from dbt.common.exceptions import EventCompilationError @pytest.mark.parametrize( diff --git a/tests/unit/test_graph_selection.py b/tests/unit/test_graph_selection.py index 572c8fed10d..d43a0e38c88 100644 --- a/tests/unit/test_graph_selection.py +++ b/tests/unit/test_graph_selection.py @@ -214,5 +214,5 @@ def test_parse_specs( @pytest.mark.parametrize("invalid", invalid_specs, ids=lambda k: str(k)) def test_invalid_specs(invalid): - with pytest.raises(dbt.exceptions.DbtRuntimeError): + with pytest.raises(dbt.common.exceptions.DbtRuntimeError): graph_selector.SelectionCriteria.from_single_spec(invalid) diff --git a/tests/unit/test_graph_selector_methods.py b/tests/unit/test_graph_selector_methods.py index 7cc863c52c8..aa89ca417e2 100644 --- a/tests/unit/test_graph_selector_methods.py +++ b/tests/unit/test_graph_selector_methods.py @@ -1418,19 +1418,19 @@ def test_select_state_no_change(manifest, previous_state): def test_select_state_nothing(manifest, previous_state): previous_state.manifest = None method = statemethod(manifest, previous_state) - with pytest.raises(dbt.exceptions.DbtRuntimeError) as exc: + with pytest.raises(dbt.common.exceptions.DbtRuntimeError) as exc: search_manifest_using_method(manifest, method, "modified") assert "no comparison manifest" in str(exc.value) - with pytest.raises(dbt.exceptions.DbtRuntimeError) as exc: + with pytest.raises(dbt.common.exceptions.DbtRuntimeError) as exc: search_manifest_using_method(manifest, method, "new") assert "no comparison manifest" in str(exc.value) - with pytest.raises(dbt.exceptions.DbtRuntimeError) as exc: + with pytest.raises(dbt.common.exceptions.DbtRuntimeError) as exc: search_manifest_using_method(manifest, method, "unmodified") assert "no comparison manifest" in str(exc.value) - with pytest.raises(dbt.exceptions.DbtRuntimeError) as exc: + with pytest.raises(dbt.common.exceptions.DbtRuntimeError) as exc: search_manifest_using_method(manifest, method, "old") assert "no comparison manifest" in str(exc.value) diff --git a/tests/unit/test_helper_types.py b/tests/unit/test_helper_types.py index c2931c7efa9..17bd669911c 100644 --- a/tests/unit/test_helper_types.py +++ b/tests/unit/test_helper_types.py @@ -1,6 +1,6 @@ import pytest -from dbt.helper_types import IncludeExclude, WarnErrorOptions +from dbt.common.helper_types import IncludeExclude, WarnErrorOptions from dbt.common.dataclass_schema import ValidationError diff --git a/tests/unit/test_postgres_adapter.py b/tests/unit/test_postgres_adapter.py index 77d4cfc2325..8739e3e2784 100644 --- a/tests/unit/test_postgres_adapter.py +++ b/tests/unit/test_postgres_adapter.py @@ -16,7 +16,8 @@ from dbt.contracts.files import FileHash from dbt.contracts.graph.manifest import ManifestStateCheck from dbt.common.clients import agate_helper -from dbt.exceptions import DbtValidationError, DbtConfigError +from dbt.exceptions import DbtConfigError +from dbt.common.exceptions import DbtValidationError from psycopg2 import extensions as psycopg2_extensions from psycopg2 import DatabaseError diff --git a/tests/unit/test_semver.py b/tests/unit/test_semver.py index bdd8c6ae9c3..f2417ad5c15 100644 --- a/tests/unit/test_semver.py +++ b/tests/unit/test_semver.py @@ -2,7 +2,7 @@ import itertools from typing import List -from dbt.exceptions import VersionsNotCompatibleError +from dbt.common.exceptions import VersionsNotCompatibleError from dbt.semver import ( VersionSpecifier, UnboundedVersionSpecifier, diff --git a/tests/unit/test_version.py b/tests/unit/test_version.py index 217988ba5e2..35f4518464f 100644 --- a/tests/unit/test_version.py +++ b/tests/unit/test_version.py @@ -1,5 +1,5 @@ import dbt.version -from dbt.ui import green, red, yellow +from dbt.common.ui import green, red, yellow class TestGetVersionInformation: From e56a5dae8be48276ff3079646119172e89905353 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Mon, 20 Nov 2023 17:26:11 -0500 Subject: [PATCH 13/40] Remove usage of dbt.deprecations in dbt/adapters, enable core & adapter-specific (#9051) --- .../Under the Hood-20231116-174251.yaml | 7 + .pre-commit-config.yaml | 2 +- Makefile | 9 + core/dbt/adapters/base/connections.py | 2 +- core/dbt/adapters/base/impl.py | 7 +- core/dbt/adapters/base/meta.py | 10 +- core/dbt/adapters/cache.py | 2 +- core/dbt/adapters/contracts/connection.py | 3 +- core/dbt/adapters/events/README.md | 54 + core/dbt/adapters/events/__init__.py | 0 core/dbt/adapters/events/adapter_types.proto | 517 ++++++ core/dbt/adapters/events/adapter_types_pb2.py | 209 +++ core/dbt/adapters/events/base_types.py | 39 + core/dbt/adapters/events/types.py | 417 +++++ core/dbt/adapters/factory.py | 2 +- core/dbt/adapters/sql/connections.py | 2 +- core/dbt/adapters/sql/impl.py | 2 +- core/dbt/common/events/adapter_endpoint.py | 2 +- core/dbt/common/events/base_types.py | 6 +- core/dbt/common/events/eventmgr.py | 2 + core/dbt/common/events/types.proto | 593 ------ core/dbt/common/events/types.py | 572 ------ core/dbt/common/events/types_pb2.py | 1595 +++++++---------- core/dbt/deprecations.py | 22 +- core/dbt/events/README.md | 42 + core/dbt/events/__init__.py | 0 core/dbt/events/base_types.py | 39 + core/dbt/events/core_types.proto | 139 ++ core/dbt/events/core_types_pb2.py | 78 + core/dbt/events/types.py | 164 ++ core/dbt/internal_deprecations.py | 2 +- core/dbt/parser/manifest.py | 4 +- core/dbt/task/generate.py | 2 +- core/dbt/task/run.py | 8 +- core/dbt/tests/fixtures/project.py | 8 +- .../deprecations/test_deprecations.py | 18 - .../sources/test_source_freshness.py | 19 +- tests/unit/test_events.py | 126 +- tests/unit/test_proto_events.py | 6 +- 39 files changed, 2527 insertions(+), 2204 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231116-174251.yaml create mode 100644 core/dbt/adapters/events/README.md create mode 100644 core/dbt/adapters/events/__init__.py create mode 100644 core/dbt/adapters/events/adapter_types.proto create mode 100644 core/dbt/adapters/events/adapter_types_pb2.py create mode 100644 core/dbt/adapters/events/base_types.py create mode 100644 core/dbt/adapters/events/types.py create mode 100644 core/dbt/events/README.md create mode 100644 core/dbt/events/__init__.py create mode 100644 core/dbt/events/base_types.py create mode 100644 core/dbt/events/core_types.proto create mode 100644 core/dbt/events/core_types_pb2.py create mode 100644 core/dbt/events/types.py diff --git a/.changes/unreleased/Under the Hood-20231116-174251.yaml b/.changes/unreleased/Under the Hood-20231116-174251.yaml new file mode 100644 index 00000000000..11f02a2661e --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231116-174251.yaml @@ -0,0 +1,7 @@ +kind: Under the Hood +body: Remove usage of dbt.deprecations in dbt/adapters, enable core & adapter-specific + event types and protos +time: 2023-11-16T17:42:51.005023-05:00 +custom: + Author: michelleark + Issue: 8927 8918 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c2b82ed5395..160c9cfd0f7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ # Configuration for pre-commit hooks (see https://pre-commit.com/). # Eventually the hooks described here will be run as tests before merging each PR. -exclude: ^(core/dbt/docs/build/|core/dbt/common/events/types_pb2.py) +exclude: ^(core/dbt/docs/build/|core/dbt/common/events/types_pb2.py|core/dbt/events/core_types_pb2.py|core/dbt/adapters/events/adapter_types_pb2.py) # Force all unspecified python hooks to run python 3.8 default_language_version: diff --git a/Makefile b/Makefile index 59fe1d82029..595026452ab 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,15 @@ dev: dev_req ## Installs dbt-* packages in develop mode along with development d proto_types: ## generates google protobuf python file from types.proto protoc -I=./core/dbt/common/events --python_out=./core/dbt/common/events ./core/dbt/common/events/types.proto +.PHONY: core_proto_types +core_proto_types: ## generates google protobuf python file from core_types.proto + protoc -I=./core/dbt/events --python_out=./core/dbt/events ./core/dbt/events/core_types.proto + +.PHONY: adapter_proto_types +adapter_proto_types: ## generates google protobuf python file from core_types.proto + protoc -I=./core/dbt/adapters/events --python_out=./core/dbt/adapters/events ./core/dbt/adapters/events/adapter_types.proto + + .PHONY: mypy mypy: .env ## Runs mypy against staged changes for static type checking. @\ diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index 2bce213d905..2f344e4a493 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -40,7 +40,7 @@ ) from dbt.common.events import AdapterLogger from dbt.common.events.functions import fire_event -from dbt.common.events.types import ( +from dbt.adapters.events.types import ( NewConnection, ConnectionReused, ConnectionLeftOpenInCleanup, diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 7583a14153a..8915a7770b2 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -61,7 +61,7 @@ from dbt.contracts.graph.manifest import Manifest, MacroManifest from dbt.contracts.graph.nodes import ResultNode from dbt.common.events.functions import fire_event, warn_or_error -from dbt.common.events.types import ( +from dbt.adapters.events.types import ( CacheMiss, ListRelations, CodeExecution, @@ -83,7 +83,8 @@ from dbt.adapters.base import Column as BaseColumn from dbt.adapters.base import Credentials from dbt.adapters.cache import RelationsCache, _make_ref_key_dict -from dbt import deprecations +from dbt.adapters.events.types import CollectFreshnessReturnSignature + GET_CATALOG_MACRO_NAME = "get_catalog" GET_CATALOG_RELATIONS_MACRO_NAME = "get_catalog_relations" @@ -1276,7 +1277,7 @@ def calculate_freshness( ] result = self.execute_macro(FRESHNESS_MACRO_NAME, kwargs=kwargs, manifest=manifest) if isinstance(result, agate.Table): - deprecations.warn("collect-freshness-return-signature") + warn_or_error(CollectFreshnessReturnSignature()) adapter_response = None table = result else: diff --git a/core/dbt/adapters/base/meta.py b/core/dbt/adapters/base/meta.py index bc5b7f0a6b2..12f318d0c18 100644 --- a/core/dbt/adapters/base/meta.py +++ b/core/dbt/adapters/base/meta.py @@ -1,9 +1,8 @@ import abc from functools import wraps from typing import Callable, Optional, Any, FrozenSet, Dict, Set - -from dbt.deprecations import warn, renamed_method - +from dbt.common.events.functions import warn_or_error +from dbt.adapters.events.types import AdapterDeprecationWarning Decorator = Callable[[Any], Callable] @@ -62,11 +61,12 @@ def my_old_slow_method(self, arg): def wrapper(func): func_name = func.__name__ - renamed_method(func_name, supported_name) @wraps(func) def inner(*args, **kwargs): - warn("adapter:{}".format(func_name)) + warn_or_error( + AdapterDeprecationWarning(old_name=func_name, new_name=supported_name) + ) return func(*args, **kwargs) if parse_replacement: diff --git a/core/dbt/adapters/cache.py b/core/dbt/adapters/cache.py index 69e5e4903d6..63c26962c4f 100644 --- a/core/dbt/adapters/cache.py +++ b/core/dbt/adapters/cache.py @@ -15,7 +15,7 @@ NoneRelationFoundError, ) from dbt.common.events.functions import fire_event, fire_event_if -from dbt.common.events.types import CacheAction, CacheDumpGraph +from dbt.adapters.events.types import CacheAction, CacheDumpGraph from dbt.utils import lowercase diff --git a/core/dbt/adapters/contracts/connection.py b/core/dbt/adapters/contracts/connection.py index 9a55a6d6780..e5985682ac5 100644 --- a/core/dbt/adapters/contracts/connection.py +++ b/core/dbt/adapters/contracts/connection.py @@ -26,9 +26,8 @@ from dbt.common.contracts.util import Replaceable from dbt.common.utils import md5 -# TODO: dbt.common.events dependency from dbt.common.events.functions import fire_event -from dbt.common.events.types import NewConnectionOpening +from dbt.adapters.events.types import NewConnectionOpening # TODO: this is a very bad dependency - shared global state from dbt.common.events.contextvars import get_node_info diff --git a/core/dbt/adapters/events/README.md b/core/dbt/adapters/events/README.md new file mode 100644 index 00000000000..8b3cc6bdeed --- /dev/null +++ b/core/dbt/adapters/events/README.md @@ -0,0 +1,54 @@ +# Events Module +The Events module is responsible for communicating internal dbt structures into a consumable interface. Because the "event" classes are based entirely on protobuf definitions, the interface is really clearly defined, whether or not protobufs are used to consume it. We use Betterproto for compiling the protobuf message definitions into Python classes. + +# Using the Events Module +The event module provides types that represent what is happening in dbt in `events.types`. These types are intended to represent an exhaustive list of all things happening within dbt that will need to be logged, streamed, or printed. To fire an event, `common.events.functions::fire_event` is the entry point to the module from everywhere in dbt. + +# Logging +When events are processed via `fire_event`, nearly everything is logged. Whether or not the user has enabled the debug flag, all debug messages are still logged to the file. However, some events are particularly time consuming to construct because they return a huge amount of data. Today, the only messages in this category are cache events and are only logged if the `--log-cache-events` flag is on. This is important because these messages should not be created unless they are going to be logged, because they cause a noticable performance degredation. These events use a "fire_event_if" functions. + +# Adding a New Event +* Add a new message in types.proto, and a second message with the same name + "Msg". The "Msg" message should have two fields, an "info" field of EventInfo, and a "data" field referring to the message name without "Msg" +* run the protoc compiler to update adapter_types_pb2.py: make adapter_proto_types +* Add a wrapping class in core/dbt/adapters/event/types.py with a Level superclass plus code and message methods + +We have switched from using betterproto to using google protobuf, because of a lack of support for Struct fields in betterproto. + +The google protobuf interface is janky and very much non-Pythonic. The "generated" classes in types_pb2.py do not resemble regular Python classes. They do not have normal constructors; they can only be constructed empty. They can be "filled" by setting fields individually or using a json_format method like ParseDict. We have wrapped the logging events with a class (in types.py) which allows using a constructor -- keywords only, no positional parameters. + +## Required for Every Event + +- a method `code`, that's unique across events +- assign a log level by using the Level mixin: `DebugLevel`, `InfoLevel`, `WarnLevel`, or `ErrorLevel` +- a message() + +Example +``` +class PartialParsingDeletedExposure(DebugLevel): + def code(self): + return "I049" + + def message(self) -> str: + return f"Partial parsing: deleted exposure {self.unique_id}" + +``` + + +# Adapter Maintainers +To integrate existing log messages from adapters, you likely have a line of code like this in your adapter already: +```python +from dbt.logger import GLOBAL_LOGGER as logger +``` + +Simply change it to these two lines with your adapter's database name, and all your existing call sites will now use the new system for v1.0: +```python +from dbt.common.events import AdapterLogger +logger = AdapterLogger("") +# e.g. AdapterLogger("Snowflake") +``` + +## Compiling types.proto + +After adding a new message in `adapter_types.proto`, either: +- In the repository root directory: `make adapter_proto_types` +- In the `core/dbt/adapters/events` directory: `protoc -I=. --python_out=. types.proto` diff --git a/core/dbt/adapters/events/__init__.py b/core/dbt/adapters/events/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/adapters/events/adapter_types.proto b/core/dbt/adapters/events/adapter_types.proto new file mode 100644 index 00000000000..aa0b507c41e --- /dev/null +++ b/core/dbt/adapters/events/adapter_types.proto @@ -0,0 +1,517 @@ +syntax = "proto3"; + +package proto_types; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/struct.proto"; + +// Common event info +message AdapterCommonEventInfo { + string name = 1; + string code = 2; + string msg = 3; + string level = 4; + string invocation_id = 5; + int32 pid = 6; + string thread = 7; + google.protobuf.Timestamp ts = 8; + map extra = 9; + string category = 10; +} + +// AdapterNodeRelation +message AdapterNodeRelation { + string database = 10; + string schema = 11; + string alias = 12; + string relation_name = 13; +} + +// NodeInfo +message AdapterNodeInfo { + string node_path = 1; + string node_name = 2; + string unique_id = 3; + string resource_type = 4; + string materialized = 5; + string node_status = 6; + string node_started_at = 7; + string node_finished_at = 8; + google.protobuf.Struct meta = 9; + AdapterNodeRelation node_relation = 10; +} + +// ReferenceKey +message ReferenceKeyMsg { + string database = 1; + string schema = 2; + string identifier = 3; +} + +// D - Deprecations + +// D005 +message AdapterDeprecationWarning { + string old_name = 1; + string new_name = 2; +} + +message AdapterDeprecationWarningMsg { + AdapterCommonEventInfo info = 1; + AdapterDeprecationWarning data = 2; +} + +// D012 +message CollectFreshnessReturnSignature { +} + +message CollectFreshnessReturnSignatureMsg { + AdapterCommonEventInfo info = 1; + CollectFreshnessReturnSignature data = 2; +} + +// E - DB Adapter + +// E001 +message AdapterEventDebug { + AdapterNodeInfo node_info = 1; + string name = 2; + string base_msg = 3; + google.protobuf.ListValue args = 4; +} + +message AdapterEventDebugMsg { + AdapterCommonEventInfo info = 1; + AdapterEventDebug data = 2; +} + +// E002 +message AdapterEventInfo { + AdapterNodeInfo node_info = 1; + string name = 2; + string base_msg = 3; + google.protobuf.ListValue args = 4; +} + +message AdapterEventInfoMsg { + AdapterCommonEventInfo info = 1; + AdapterEventInfo data = 2; +} + +// E003 +message AdapterEventWarning { + AdapterNodeInfo node_info = 1; + string name = 2; + string base_msg = 3; + google.protobuf.ListValue args = 4; +} + +message AdapterEventWarningMsg { + AdapterCommonEventInfo info = 1; + AdapterEventWarning data = 2; +} + +// E004 +message AdapterEventError { + AdapterNodeInfo node_info = 1; + string name = 2; + string base_msg = 3; + google.protobuf.ListValue args = 4; + string exc_info = 5; +} + +message AdapterEventErrorMsg { + AdapterCommonEventInfo info = 1; + AdapterEventError data = 2; +} + +// E005 +message NewConnection { + AdapterNodeInfo node_info = 1; + string conn_type = 2; + string conn_name = 3; +} + +message NewConnectionMsg { + AdapterCommonEventInfo info = 1; + NewConnection data = 2; +} + +// E006 +message ConnectionReused { + string conn_name = 1; + string orig_conn_name = 2; +} + +message ConnectionReusedMsg { + AdapterCommonEventInfo info = 1; + ConnectionReused data = 2; +} + +// E007 +message ConnectionLeftOpenInCleanup { + string conn_name = 1; +} + +message ConnectionLeftOpenInCleanupMsg { + AdapterCommonEventInfo info = 1; + ConnectionLeftOpenInCleanup data = 2; +} + +// E008 +message ConnectionClosedInCleanup { + string conn_name = 1; +} + +message ConnectionClosedInCleanupMsg { + AdapterCommonEventInfo info = 1; + ConnectionClosedInCleanup data = 2; +} + +// E009 +message RollbackFailed { + AdapterNodeInfo node_info = 1; + string conn_name = 2; + string exc_info = 3; +} + +message RollbackFailedMsg { + AdapterCommonEventInfo info = 1; + RollbackFailed data = 2; +} + +// E010 +message ConnectionClosed { + AdapterNodeInfo node_info = 1; + string conn_name = 2; +} + +message ConnectionClosedMsg { + AdapterCommonEventInfo info = 1; + ConnectionClosed data = 2; +} + +// E011 +message ConnectionLeftOpen { + AdapterNodeInfo node_info = 1; + string conn_name = 2; +} + +message ConnectionLeftOpenMsg { + AdapterCommonEventInfo info = 1; + ConnectionLeftOpen data = 2; +} + +// E012 +message Rollback { + AdapterNodeInfo node_info = 1; + string conn_name = 2; +} + +message RollbackMsg { + AdapterCommonEventInfo info = 1; + Rollback data = 2; +} + +// E013 +message CacheMiss { + string conn_name = 1; + string database = 2; + string schema = 3; +} + +message CacheMissMsg { + AdapterCommonEventInfo info = 1; + CacheMiss data = 2; +} + +// E014 +message ListRelations { + string database = 1; + string schema = 2; + repeated ReferenceKeyMsg relations = 3; +} + +message ListRelationsMsg { + AdapterCommonEventInfo info = 1; + ListRelations data = 2; +} + +// E015 +message ConnectionUsed { + AdapterNodeInfo node_info = 1; + string conn_type = 2; + string conn_name = 3; +} + +message ConnectionUsedMsg { + AdapterCommonEventInfo info = 1; + ConnectionUsed data = 2; +} + +// E016 +message SQLQuery { + AdapterNodeInfo node_info = 1; + string conn_name = 2; + string sql = 3; +} + +message SQLQueryMsg { + AdapterCommonEventInfo info = 1; + SQLQuery data = 2; +} + +// E017 +message SQLQueryStatus { + AdapterNodeInfo node_info = 1; + string status = 2; + float elapsed = 3; +} + +message SQLQueryStatusMsg { + AdapterCommonEventInfo info = 1; + SQLQueryStatus data = 2; +} + +// E018 +message SQLCommit { + AdapterNodeInfo node_info = 1; + string conn_name = 2; +} + +message SQLCommitMsg { + AdapterCommonEventInfo info = 1; + SQLCommit data = 2; +} + +// E019 +message ColTypeChange { + string orig_type = 1; + string new_type = 2; + ReferenceKeyMsg table = 3; +} + +message ColTypeChangeMsg { + AdapterCommonEventInfo info = 1; + ColTypeChange data = 2; +} + +// E020 +message SchemaCreation { + ReferenceKeyMsg relation = 1; +} + +message SchemaCreationMsg { + AdapterCommonEventInfo info = 1; + SchemaCreation data = 2; +} + +// E021 +message SchemaDrop { + ReferenceKeyMsg relation = 1; +} + +message SchemaDropMsg { + AdapterCommonEventInfo info = 1; + SchemaDrop data = 2; +} + +// E022 +message CacheAction { + string action = 1; + ReferenceKeyMsg ref_key = 2; + ReferenceKeyMsg ref_key_2 = 3; + ReferenceKeyMsg ref_key_3 = 4; + repeated ReferenceKeyMsg ref_list = 5; +} + +message CacheActionMsg { + AdapterCommonEventInfo info = 1; + CacheAction data = 2; +} + +// Skipping E023, E024, E025, E026, E027, E028, E029, E0230 + +// E031 +message CacheDumpGraph { + map dump = 1; + string before_after = 2; + string action = 3; +} + +message CacheDumpGraphMsg { + AdapterCommonEventInfo info = 1; + CacheDumpGraph data = 2; +} + + +// Skipping E032, E033, E034 + + + +// E034 +message AdapterRegistered { + string adapter_name = 1; + string adapter_version = 2; +} + +message AdapterRegisteredMsg { + AdapterCommonEventInfo info = 1; + AdapterRegistered data = 2; +} + +// E035 +message AdapterImportError { + string exc = 1; +} + +message AdapterImportErrorMsg { + AdapterCommonEventInfo info = 1; + AdapterImportError data = 2; +} + +// E036 +message PluginLoadError { + string exc_info = 1; +} + +message PluginLoadErrorMsg { + AdapterCommonEventInfo info = 1; + PluginLoadError data = 2; +} + +// E037 +message NewConnectionOpening { + AdapterNodeInfo node_info = 1; + string connection_state = 2; +} + +message NewConnectionOpeningMsg { + AdapterCommonEventInfo info = 1; + NewConnectionOpening data = 2; +} + +// E038 +message CodeExecution { + string conn_name = 1; + string code_content = 2; +} + +message CodeExecutionMsg { + AdapterCommonEventInfo info = 1; + CodeExecution data = 2; +} + +// E039 +message CodeExecutionStatus { + string status = 1; + float elapsed = 2; +} + +message CodeExecutionStatusMsg { + AdapterCommonEventInfo info = 1; + CodeExecutionStatus data = 2; +} + +// E040 +message CatalogGenerationError { + string exc = 1; +} + +message CatalogGenerationErrorMsg { + AdapterCommonEventInfo info = 1; + CatalogGenerationError data = 2; +} + +// E041 +message WriteCatalogFailure { + int32 num_exceptions = 1; +} + +message WriteCatalogFailureMsg { + AdapterCommonEventInfo info = 1; + WriteCatalogFailure data = 2; +} + +// E042 +message CatalogWritten { + string path = 1; +} + +message CatalogWrittenMsg { + AdapterCommonEventInfo info = 1; + CatalogWritten data = 2; +} + +// E043 +message CannotGenerateDocs { +} + +message CannotGenerateDocsMsg { + AdapterCommonEventInfo info = 1; + CannotGenerateDocs data = 2; +} + +// E044 +message BuildingCatalog { +} + +message BuildingCatalogMsg { + AdapterCommonEventInfo info = 1; + BuildingCatalog data = 2; +} + +// E045 +message DatabaseErrorRunningHook { + string hook_type = 1; +} + +message DatabaseErrorRunningHookMsg { + AdapterCommonEventInfo info = 1; + DatabaseErrorRunningHook data = 2; +} + +// E046 +message HooksRunning { + int32 num_hooks = 1; + string hook_type = 2; +} + +message HooksRunningMsg { + AdapterCommonEventInfo info = 1; + HooksRunning data = 2; +} + +// E047 +message FinishedRunningStats { + string stat_line = 1; + string execution = 2; + float execution_time = 3; +} + +message FinishedRunningStatsMsg { + AdapterCommonEventInfo info = 1; + FinishedRunningStats data = 2; +} + +// E048 +message ConstraintNotEnforced { + string constraint = 1; + string adapter = 2; +} + +message ConstraintNotEnforcedMsg { + AdapterCommonEventInfo info = 1; + ConstraintNotEnforced data = 2; +} + +// E049 +message ConstraintNotSupported { + string constraint = 1; + string adapter = 2; +} + +message ConstraintNotSupportedMsg { + AdapterCommonEventInfo info = 1; + ConstraintNotSupported data = 2; +} diff --git a/core/dbt/adapters/events/adapter_types_pb2.py b/core/dbt/adapters/events/adapter_types_pb2.py new file mode 100644 index 00000000000..f9010e9fdc7 --- /dev/null +++ b/core/dbt/adapters/events/adapter_types_pb2.py @@ -0,0 +1,209 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: adapter_types.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x13\x61\x64\x61pter_types.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto"\xab\x02\n\x16\x41\x64\x61pterCommonEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x05\x65xtra\x18\t \x03(\x0b\x32..proto_types.AdapterCommonEventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"]\n\x13\x41\x64\x61pterNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t"\x9f\x02\n\x0f\x41\x64\x61pterNodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\rnode_relation\x18\n \x01(\x0b\x32 .proto_types.AdapterNodeRelation"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t"\x87\x01\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning"!\n\x1f\x43ollectFreshnessReturnSignature"\x93\x01\n"CollectFreshnessReturnSignatureMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature"\x8e\x01\n\x11\x41\x64\x61pterEventDebug\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue"w\n\x14\x41\x64\x61pterEventDebugMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug"\x8d\x01\n\x10\x41\x64\x61pterEventInfo\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue"u\n\x13\x41\x64\x61pterEventInfoMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo"\x90\x01\n\x13\x41\x64\x61pterEventWarning\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue"{\n\x16\x41\x64\x61pterEventWarningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning"\xa0\x01\n\x11\x41\x64\x61pterEventError\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t"w\n\x14\x41\x64\x61pterEventErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError"f\n\rNewConnection\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t"o\n\x10NewConnectionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t"u\n\x13\x43onnectionReusedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t"\x8b\x01\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t"\x87\x01\n\x1c\x43onnectionClosedInCleanupMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup"f\n\x0eRollbackFailed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t"q\n\x11RollbackFailedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed"V\n\x10\x43onnectionClosed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"u\n\x13\x43onnectionClosedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed"X\n\x12\x43onnectionLeftOpen\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"y\n\x15\x43onnectionLeftOpenMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen"N\n\x08Rollback\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"e\n\x0bRollbackMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t"g\n\x0c\x43\x61\x63heMissMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"o\n\x10ListRelationsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations"g\n\x0e\x43onnectionUsed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t"q\n\x11\x43onnectionUsedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed"[\n\x08SQLQuery\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t"e\n\x0bSQLQueryMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery"b\n\x0eSQLQueryStatus\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02"q\n\x11SQLQueryStatusMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus"O\n\tSQLCommit\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"g\n\x0cSQLCommitMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"o\n\x10\x43olTypeChangeMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"q\n\x11SchemaCreationMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"i\n\rSchemaDropMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"k\n\x0e\x43\x61\x63heActionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"q\n\x11\x43\x61\x63heDumpGraphMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t"w\n\x14\x41\x64\x61pterRegisteredMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"y\n\x15\x41\x64\x61pterImportErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t"s\n\x12PluginLoadErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError"a\n\x14NewConnectionOpening\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t"}\n\x17NewConnectionOpeningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t"o\n\x10\x43odeExecutionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02"{\n\x16\x43odeExecutionStatusMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"\x81\x01\n\x19\x43\x61talogGenerationErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05"{\n\x16WriteCatalogFailureMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t"q\n\x11\x43\x61talogWrittenMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten"\x14\n\x12\x43\x61nnotGenerateDocs"y\n\x15\x43\x61nnotGenerateDocsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs"\x11\n\x0f\x42uildingCatalog"s\n\x12\x42uildingCatalogMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t"\x85\x01\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t"m\n\x0fHooksRunningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02"}\n\x17\x46inishedRunningStatsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t"\x7f\n\x18\x43onstraintNotEnforcedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.ConstraintNotEnforced"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t"\x81\x01\n\x19\x43onstraintNotSupportedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupportedb\x06proto3' +) + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "adapter_types_pb2", _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _ADAPTERCOMMONEVENTINFO_EXTRAENTRY._options = None + _ADAPTERCOMMONEVENTINFO_EXTRAENTRY._serialized_options = b"8\001" + _CACHEDUMPGRAPH_DUMPENTRY._options = None + _CACHEDUMPGRAPH_DUMPENTRY._serialized_options = b"8\001" + _globals["_ADAPTERCOMMONEVENTINFO"]._serialized_start = 100 + _globals["_ADAPTERCOMMONEVENTINFO"]._serialized_end = 399 + _globals["_ADAPTERCOMMONEVENTINFO_EXTRAENTRY"]._serialized_start = 355 + _globals["_ADAPTERCOMMONEVENTINFO_EXTRAENTRY"]._serialized_end = 399 + _globals["_ADAPTERNODERELATION"]._serialized_start = 401 + _globals["_ADAPTERNODERELATION"]._serialized_end = 494 + _globals["_ADAPTERNODEINFO"]._serialized_start = 497 + _globals["_ADAPTERNODEINFO"]._serialized_end = 784 + _globals["_REFERENCEKEYMSG"]._serialized_start = 786 + _globals["_REFERENCEKEYMSG"]._serialized_end = 857 + _globals["_ADAPTERDEPRECATIONWARNING"]._serialized_start = 859 + _globals["_ADAPTERDEPRECATIONWARNING"]._serialized_end = 922 + _globals["_ADAPTERDEPRECATIONWARNINGMSG"]._serialized_start = 925 + _globals["_ADAPTERDEPRECATIONWARNINGMSG"]._serialized_end = 1060 + _globals["_COLLECTFRESHNESSRETURNSIGNATURE"]._serialized_start = 1062 + _globals["_COLLECTFRESHNESSRETURNSIGNATURE"]._serialized_end = 1095 + _globals["_COLLECTFRESHNESSRETURNSIGNATUREMSG"]._serialized_start = 1098 + _globals["_COLLECTFRESHNESSRETURNSIGNATUREMSG"]._serialized_end = 1245 + _globals["_ADAPTEREVENTDEBUG"]._serialized_start = 1248 + _globals["_ADAPTEREVENTDEBUG"]._serialized_end = 1390 + _globals["_ADAPTEREVENTDEBUGMSG"]._serialized_start = 1392 + _globals["_ADAPTEREVENTDEBUGMSG"]._serialized_end = 1511 + _globals["_ADAPTEREVENTINFO"]._serialized_start = 1514 + _globals["_ADAPTEREVENTINFO"]._serialized_end = 1655 + _globals["_ADAPTEREVENTINFOMSG"]._serialized_start = 1657 + _globals["_ADAPTEREVENTINFOMSG"]._serialized_end = 1774 + _globals["_ADAPTEREVENTWARNING"]._serialized_start = 1777 + _globals["_ADAPTEREVENTWARNING"]._serialized_end = 1921 + _globals["_ADAPTEREVENTWARNINGMSG"]._serialized_start = 1923 + _globals["_ADAPTEREVENTWARNINGMSG"]._serialized_end = 2046 + _globals["_ADAPTEREVENTERROR"]._serialized_start = 2049 + _globals["_ADAPTEREVENTERROR"]._serialized_end = 2209 + _globals["_ADAPTEREVENTERRORMSG"]._serialized_start = 2211 + _globals["_ADAPTEREVENTERRORMSG"]._serialized_end = 2330 + _globals["_NEWCONNECTION"]._serialized_start = 2332 + _globals["_NEWCONNECTION"]._serialized_end = 2434 + _globals["_NEWCONNECTIONMSG"]._serialized_start = 2436 + _globals["_NEWCONNECTIONMSG"]._serialized_end = 2547 + _globals["_CONNECTIONREUSED"]._serialized_start = 2549 + _globals["_CONNECTIONREUSED"]._serialized_end = 2610 + _globals["_CONNECTIONREUSEDMSG"]._serialized_start = 2612 + _globals["_CONNECTIONREUSEDMSG"]._serialized_end = 2729 + _globals["_CONNECTIONLEFTOPENINCLEANUP"]._serialized_start = 2731 + _globals["_CONNECTIONLEFTOPENINCLEANUP"]._serialized_end = 2779 + _globals["_CONNECTIONLEFTOPENINCLEANUPMSG"]._serialized_start = 2782 + _globals["_CONNECTIONLEFTOPENINCLEANUPMSG"]._serialized_end = 2921 + _globals["_CONNECTIONCLOSEDINCLEANUP"]._serialized_start = 2923 + _globals["_CONNECTIONCLOSEDINCLEANUP"]._serialized_end = 2969 + _globals["_CONNECTIONCLOSEDINCLEANUPMSG"]._serialized_start = 2972 + _globals["_CONNECTIONCLOSEDINCLEANUPMSG"]._serialized_end = 3107 + _globals["_ROLLBACKFAILED"]._serialized_start = 3109 + _globals["_ROLLBACKFAILED"]._serialized_end = 3211 + _globals["_ROLLBACKFAILEDMSG"]._serialized_start = 3213 + _globals["_ROLLBACKFAILEDMSG"]._serialized_end = 3326 + _globals["_CONNECTIONCLOSED"]._serialized_start = 3328 + _globals["_CONNECTIONCLOSED"]._serialized_end = 3414 + _globals["_CONNECTIONCLOSEDMSG"]._serialized_start = 3416 + _globals["_CONNECTIONCLOSEDMSG"]._serialized_end = 3533 + _globals["_CONNECTIONLEFTOPEN"]._serialized_start = 3535 + _globals["_CONNECTIONLEFTOPEN"]._serialized_end = 3623 + _globals["_CONNECTIONLEFTOPENMSG"]._serialized_start = 3625 + _globals["_CONNECTIONLEFTOPENMSG"]._serialized_end = 3746 + _globals["_ROLLBACK"]._serialized_start = 3748 + _globals["_ROLLBACK"]._serialized_end = 3826 + _globals["_ROLLBACKMSG"]._serialized_start = 3828 + _globals["_ROLLBACKMSG"]._serialized_end = 3929 + _globals["_CACHEMISS"]._serialized_start = 3931 + _globals["_CACHEMISS"]._serialized_end = 3995 + _globals["_CACHEMISSMSG"]._serialized_start = 3997 + _globals["_CACHEMISSMSG"]._serialized_end = 4100 + _globals["_LISTRELATIONS"]._serialized_start = 4102 + _globals["_LISTRELATIONS"]._serialized_end = 4200 + _globals["_LISTRELATIONSMSG"]._serialized_start = 4202 + _globals["_LISTRELATIONSMSG"]._serialized_end = 4313 + _globals["_CONNECTIONUSED"]._serialized_start = 4315 + _globals["_CONNECTIONUSED"]._serialized_end = 4418 + _globals["_CONNECTIONUSEDMSG"]._serialized_start = 4420 + _globals["_CONNECTIONUSEDMSG"]._serialized_end = 4533 + _globals["_SQLQUERY"]._serialized_start = 4535 + _globals["_SQLQUERY"]._serialized_end = 4626 + _globals["_SQLQUERYMSG"]._serialized_start = 4628 + _globals["_SQLQUERYMSG"]._serialized_end = 4729 + _globals["_SQLQUERYSTATUS"]._serialized_start = 4731 + _globals["_SQLQUERYSTATUS"]._serialized_end = 4829 + _globals["_SQLQUERYSTATUSMSG"]._serialized_start = 4831 + _globals["_SQLQUERYSTATUSMSG"]._serialized_end = 4944 + _globals["_SQLCOMMIT"]._serialized_start = 4946 + _globals["_SQLCOMMIT"]._serialized_end = 5025 + _globals["_SQLCOMMITMSG"]._serialized_start = 5027 + _globals["_SQLCOMMITMSG"]._serialized_end = 5130 + _globals["_COLTYPECHANGE"]._serialized_start = 5132 + _globals["_COLTYPECHANGE"]._serialized_end = 5229 + _globals["_COLTYPECHANGEMSG"]._serialized_start = 5231 + _globals["_COLTYPECHANGEMSG"]._serialized_end = 5342 + _globals["_SCHEMACREATION"]._serialized_start = 5344 + _globals["_SCHEMACREATION"]._serialized_end = 5408 + _globals["_SCHEMACREATIONMSG"]._serialized_start = 5410 + _globals["_SCHEMACREATIONMSG"]._serialized_end = 5523 + _globals["_SCHEMADROP"]._serialized_start = 5525 + _globals["_SCHEMADROP"]._serialized_end = 5585 + _globals["_SCHEMADROPMSG"]._serialized_start = 5587 + _globals["_SCHEMADROPMSG"]._serialized_end = 5692 + _globals["_CACHEACTION"]._serialized_start = 5695 + _globals["_CACHEACTION"]._serialized_end = 5917 + _globals["_CACHEACTIONMSG"]._serialized_start = 5919 + _globals["_CACHEACTIONMSG"]._serialized_end = 6026 + _globals["_CACHEDUMPGRAPH"]._serialized_start = 6029 + _globals["_CACHEDUMPGRAPH"]._serialized_end = 6181 + _globals["_CACHEDUMPGRAPH_DUMPENTRY"]._serialized_start = 6138 + _globals["_CACHEDUMPGRAPH_DUMPENTRY"]._serialized_end = 6181 + _globals["_CACHEDUMPGRAPHMSG"]._serialized_start = 6183 + _globals["_CACHEDUMPGRAPHMSG"]._serialized_end = 6296 + _globals["_ADAPTERREGISTERED"]._serialized_start = 6298 + _globals["_ADAPTERREGISTERED"]._serialized_end = 6364 + _globals["_ADAPTERREGISTEREDMSG"]._serialized_start = 6366 + _globals["_ADAPTERREGISTEREDMSG"]._serialized_end = 6485 + _globals["_ADAPTERIMPORTERROR"]._serialized_start = 6487 + _globals["_ADAPTERIMPORTERROR"]._serialized_end = 6520 + _globals["_ADAPTERIMPORTERRORMSG"]._serialized_start = 6522 + _globals["_ADAPTERIMPORTERRORMSG"]._serialized_end = 6643 + _globals["_PLUGINLOADERROR"]._serialized_start = 6645 + _globals["_PLUGINLOADERROR"]._serialized_end = 6680 + _globals["_PLUGINLOADERRORMSG"]._serialized_start = 6682 + _globals["_PLUGINLOADERRORMSG"]._serialized_end = 6797 + _globals["_NEWCONNECTIONOPENING"]._serialized_start = 6799 + _globals["_NEWCONNECTIONOPENING"]._serialized_end = 6896 + _globals["_NEWCONNECTIONOPENINGMSG"]._serialized_start = 6898 + _globals["_NEWCONNECTIONOPENINGMSG"]._serialized_end = 7023 + _globals["_CODEEXECUTION"]._serialized_start = 7025 + _globals["_CODEEXECUTION"]._serialized_end = 7081 + _globals["_CODEEXECUTIONMSG"]._serialized_start = 7083 + _globals["_CODEEXECUTIONMSG"]._serialized_end = 7194 + _globals["_CODEEXECUTIONSTATUS"]._serialized_start = 7196 + _globals["_CODEEXECUTIONSTATUS"]._serialized_end = 7250 + _globals["_CODEEXECUTIONSTATUSMSG"]._serialized_start = 7252 + _globals["_CODEEXECUTIONSTATUSMSG"]._serialized_end = 7375 + _globals["_CATALOGGENERATIONERROR"]._serialized_start = 7377 + _globals["_CATALOGGENERATIONERROR"]._serialized_end = 7414 + _globals["_CATALOGGENERATIONERRORMSG"]._serialized_start = 7417 + _globals["_CATALOGGENERATIONERRORMSG"]._serialized_end = 7546 + _globals["_WRITECATALOGFAILURE"]._serialized_start = 7548 + _globals["_WRITECATALOGFAILURE"]._serialized_end = 7593 + _globals["_WRITECATALOGFAILUREMSG"]._serialized_start = 7595 + _globals["_WRITECATALOGFAILUREMSG"]._serialized_end = 7718 + _globals["_CATALOGWRITTEN"]._serialized_start = 7720 + _globals["_CATALOGWRITTEN"]._serialized_end = 7750 + _globals["_CATALOGWRITTENMSG"]._serialized_start = 7752 + _globals["_CATALOGWRITTENMSG"]._serialized_end = 7865 + _globals["_CANNOTGENERATEDOCS"]._serialized_start = 7867 + _globals["_CANNOTGENERATEDOCS"]._serialized_end = 7887 + _globals["_CANNOTGENERATEDOCSMSG"]._serialized_start = 7889 + _globals["_CANNOTGENERATEDOCSMSG"]._serialized_end = 8010 + _globals["_BUILDINGCATALOG"]._serialized_start = 8012 + _globals["_BUILDINGCATALOG"]._serialized_end = 8029 + _globals["_BUILDINGCATALOGMSG"]._serialized_start = 8031 + _globals["_BUILDINGCATALOGMSG"]._serialized_end = 8146 + _globals["_DATABASEERRORRUNNINGHOOK"]._serialized_start = 8148 + _globals["_DATABASEERRORRUNNINGHOOK"]._serialized_end = 8193 + _globals["_DATABASEERRORRUNNINGHOOKMSG"]._serialized_start = 8196 + _globals["_DATABASEERRORRUNNINGHOOKMSG"]._serialized_end = 8329 + _globals["_HOOKSRUNNING"]._serialized_start = 8331 + _globals["_HOOKSRUNNING"]._serialized_end = 8383 + _globals["_HOOKSRUNNINGMSG"]._serialized_start = 8385 + _globals["_HOOKSRUNNINGMSG"]._serialized_end = 8494 + _globals["_FINISHEDRUNNINGSTATS"]._serialized_start = 8496 + _globals["_FINISHEDRUNNINGSTATS"]._serialized_end = 8580 + _globals["_FINISHEDRUNNINGSTATSMSG"]._serialized_start = 8582 + _globals["_FINISHEDRUNNINGSTATSMSG"]._serialized_end = 8707 + _globals["_CONSTRAINTNOTENFORCED"]._serialized_start = 8709 + _globals["_CONSTRAINTNOTENFORCED"]._serialized_end = 8769 + _globals["_CONSTRAINTNOTENFORCEDMSG"]._serialized_start = 8771 + _globals["_CONSTRAINTNOTENFORCEDMSG"]._serialized_end = 8898 + _globals["_CONSTRAINTNOTSUPPORTED"]._serialized_start = 8900 + _globals["_CONSTRAINTNOTSUPPORTED"]._serialized_end = 8961 + _globals["_CONSTRAINTNOTSUPPORTEDMSG"]._serialized_start = 8964 + _globals["_CONSTRAINTNOTSUPPORTEDMSG"]._serialized_end = 9093 +# @@protoc_insertion_point(module_scope) diff --git a/core/dbt/adapters/events/base_types.py b/core/dbt/adapters/events/base_types.py new file mode 100644 index 00000000000..3717fb44071 --- /dev/null +++ b/core/dbt/adapters/events/base_types.py @@ -0,0 +1,39 @@ +# Aliasing common Level classes in order to make custom, but not overly-verbose versions that have PROTO_TYPES_MODULE set to the adapter-specific generated types_pb2 module +from dbt.common.events.base_types import ( + BaseEvent, + DynamicLevel as CommonDyanicLevel, + TestLevel as CommonTestLevel, + DebugLevel as CommonDebugLevel, + InfoLevel as CommonInfoLevel, + WarnLevel as CommonWarnLevel, + ErrorLevel as CommonErrorLevel, +) +from dbt.adapters.events import adapter_types_pb2 + + +class AdapterBaseEvent(BaseEvent): + PROTO_TYPES_MODULE = adapter_types_pb2 + + +class DynamicLevel(CommonDyanicLevel, AdapterBaseEvent): + pass + + +class TestLevel(CommonTestLevel, AdapterBaseEvent): + pass + + +class DebugLevel(CommonDebugLevel, AdapterBaseEvent): + pass + + +class InfoLevel(CommonInfoLevel, AdapterBaseEvent): + pass + + +class WarnLevel(CommonWarnLevel, AdapterBaseEvent): + pass + + +class ErrorLevel(CommonErrorLevel, AdapterBaseEvent): + pass diff --git a/core/dbt/adapters/events/types.py b/core/dbt/adapters/events/types.py new file mode 100644 index 00000000000..d3aa0a87214 --- /dev/null +++ b/core/dbt/adapters/events/types.py @@ -0,0 +1,417 @@ +from dbt.adapters.events.base_types import WarnLevel, InfoLevel, ErrorLevel, DebugLevel +from dbt.common.ui import line_wrap_message, warning_tag + + +def format_adapter_message(name, base_msg, args) -> str: + # only apply formatting if there are arguments to format. + # avoids issues like "dict: {k: v}".format() which results in `KeyError 'k'` + msg = base_msg if len(args) == 0 else base_msg.format(*args) + return f"{name} adapter: {msg}" + + +# ======================================================= +# D - Deprecations +# ======================================================= + + +class CollectFreshnessReturnSignature(WarnLevel): + def code(self) -> str: + return "D012" + + def message(self) -> str: + description = ( + "The 'collect_freshness' macro signature has changed to return the full " + "query result, rather than just a table of values. See the v1.5 migration guide " + "for details on how to update your custom macro: https://docs.getdbt.com/guides/migration/versions/upgrading-to-v1.5" + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class AdapterDeprecationWarning(WarnLevel): + def code(self) -> str: + return "D005" + + def message(self) -> str: + description = ( + f"The adapter function `adapter.{self.old_name}` is deprecated and will be removed in " + f"a future release of dbt. Please use `adapter.{self.new_name}` instead. " + f"\n\nDocumentation for {self.new_name} can be found here:" + f"\n\nhttps://docs.getdbt.com/docs/adapter" + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +# ======================================================= +# E - DB Adapter +# ======================================================= + + +class AdapterEventDebug(DebugLevel): + def code(self) -> str: + return "E001" + + def message(self) -> str: + return format_adapter_message(self.name, self.base_msg, self.args) + + +class AdapterEventInfo(InfoLevel): + def code(self) -> str: + return "E002" + + def message(self) -> str: + return format_adapter_message(self.name, self.base_msg, self.args) + + +class AdapterEventWarning(WarnLevel): + def code(self) -> str: + return "E003" + + def message(self) -> str: + return format_adapter_message(self.name, self.base_msg, self.args) + + +class AdapterEventError(ErrorLevel): + def code(self) -> str: + return "E004" + + def message(self) -> str: + return format_adapter_message(self.name, self.base_msg, self.args) + + +class NewConnection(DebugLevel): + def code(self) -> str: + return "E005" + + def message(self) -> str: + return f"Acquiring new {self.conn_type} connection '{self.conn_name}'" + + +class ConnectionReused(DebugLevel): + def code(self) -> str: + return "E006" + + def message(self) -> str: + return f"Re-using an available connection from the pool (formerly {self.orig_conn_name}, now {self.conn_name})" + + +class ConnectionLeftOpenInCleanup(DebugLevel): + def code(self) -> str: + return "E007" + + def message(self) -> str: + return f"Connection '{self.conn_name}' was left open." + + +class ConnectionClosedInCleanup(DebugLevel): + def code(self) -> str: + return "E008" + + def message(self) -> str: + return f"Connection '{self.conn_name}' was properly closed." + + +class RollbackFailed(DebugLevel): + def code(self) -> str: + return "E009" + + def message(self) -> str: + return f"Failed to rollback '{self.conn_name}'" + + +class ConnectionClosed(DebugLevel): + def code(self) -> str: + return "E010" + + def message(self) -> str: + return f"On {self.conn_name}: Close" + + +class ConnectionLeftOpen(DebugLevel): + def code(self) -> str: + return "E011" + + def message(self) -> str: + return f"On {self.conn_name}: No close available on handle" + + +class Rollback(DebugLevel): + def code(self) -> str: + return "E012" + + def message(self) -> str: + return f"On {self.conn_name}: ROLLBACK" + + +class CacheMiss(DebugLevel): + def code(self) -> str: + return "E013" + + def message(self) -> str: + return ( + f'On "{self.conn_name}": cache miss for schema ' + f'"{self.database}.{self.schema}", this is inefficient' + ) + + +class ListRelations(DebugLevel): + def code(self) -> str: + return "E014" + + def message(self) -> str: + identifiers_str = ", ".join(r.identifier for r in self.relations) + return f"While listing relations in database={self.database}, schema={self.schema}, found: {identifiers_str}" + + +class ConnectionUsed(DebugLevel): + def code(self) -> str: + return "E015" + + def message(self) -> str: + return f'Using {self.conn_type} connection "{self.conn_name}"' + + +class SQLQuery(DebugLevel): + def code(self) -> str: + return "E016" + + def message(self) -> str: + return f"On {self.conn_name}: {self.sql}" + + +class SQLQueryStatus(DebugLevel): + def code(self) -> str: + return "E017" + + def message(self) -> str: + return f"SQL status: {self.status} in {self.elapsed} seconds" + + +class SQLCommit(DebugLevel): + def code(self) -> str: + return "E018" + + def message(self) -> str: + return f"On {self.conn_name}: COMMIT" + + +class ColTypeChange(DebugLevel): + def code(self) -> str: + return "E019" + + def message(self) -> str: + return f"Changing col type from {self.orig_type} to {self.new_type} in table {self.table}" + + +class SchemaCreation(DebugLevel): + def code(self) -> str: + return "E020" + + def message(self) -> str: + return f'Creating schema "{self.relation}"' + + +class SchemaDrop(DebugLevel): + def code(self) -> str: + return "E021" + + def message(self) -> str: + return f'Dropping schema "{self.relation}".' + + +class CacheAction(DebugLevel): + def code(self) -> str: + return "E022" + + def format_ref_key(self, ref_key) -> str: + return f"(database={ref_key.database}, schema={ref_key.schema}, identifier={ref_key.identifier})" + + def message(self) -> str: + ref_key = self.format_ref_key(self.ref_key) + ref_key_2 = self.format_ref_key(self.ref_key_2) + ref_key_3 = self.format_ref_key(self.ref_key_3) + ref_list = [] + for rfk in self.ref_list: + ref_list.append(self.format_ref_key(rfk)) + if self.action == "add_link": + return f"adding link, {ref_key} references {ref_key_2}" + elif self.action == "add_relation": + return f"adding relation: {ref_key}" + elif self.action == "drop_missing_relation": + return f"dropped a nonexistent relationship: {ref_key}" + elif self.action == "drop_cascade": + return f"drop {ref_key} is cascading to {ref_list}" + elif self.action == "drop_relation": + return f"Dropping relation: {ref_key}" + elif self.action == "update_reference": + return ( + f"updated reference from {ref_key} -> {ref_key_3} to " + f"{ref_key_2} -> {ref_key_3}" + ) + elif self.action == "temporary_relation": + return f"old key {ref_key} not found in self.relations, assuming temporary" + elif self.action == "rename_relation": + return f"Renaming relation {ref_key} to {ref_key_2}" + elif self.action == "uncached_relation": + return ( + f"{ref_key_2} references {ref_key} " + f"but {self.ref_key.database}.{self.ref_key.schema}" + "is not in the cache, skipping assumed external relation" + ) + else: + return ref_key + + +# Skipping E023, E024, E025, E026, E027, E028, E029, E030 + + +class CacheDumpGraph(DebugLevel): + def code(self) -> str: + return "E031" + + def message(self) -> str: + return f"dump {self.before_after} {self.action} : {self.dump}" + + +# Skipping E032, E033, E034 + + +class AdapterRegistered(InfoLevel): + def code(self) -> str: + return "E034" + + def message(self) -> str: + return f"Registered adapter: {self.adapter_name}{self.adapter_version}" + + +class AdapterImportError(InfoLevel): + def code(self) -> str: + return "E035" + + def message(self) -> str: + return f"Error importing adapter: {self.exc}" + + +class PluginLoadError(DebugLevel): + def code(self) -> str: + return "E036" + + def message(self) -> str: + return f"{self.exc_info}" + + +class NewConnectionOpening(DebugLevel): + def code(self) -> str: + return "E037" + + def message(self) -> str: + return f"Opening a new connection, currently in state {self.connection_state}" + + +class CodeExecution(DebugLevel): + def code(self) -> str: + return "E038" + + def message(self) -> str: + return f"On {self.conn_name}: {self.code_content}" + + +class CodeExecutionStatus(DebugLevel): + def code(self) -> str: + return "E039" + + def message(self) -> str: + return f"Execution status: {self.status} in {self.elapsed} seconds" + + +class CatalogGenerationError(WarnLevel): + def code(self) -> str: + return "E040" + + def message(self) -> str: + return f"Encountered an error while generating catalog: {self.exc}" + + +class WriteCatalogFailure(ErrorLevel): + def code(self) -> str: + return "E041" + + def message(self) -> str: + return ( + f"dbt encountered {self.num_exceptions} failure{(self.num_exceptions != 1) * 's'} " + "while writing the catalog" + ) + + +class CatalogWritten(InfoLevel): + def code(self) -> str: + return "E042" + + def message(self) -> str: + return f"Catalog written to {self.path}" + + +class CannotGenerateDocs(InfoLevel): + def code(self) -> str: + return "E043" + + def message(self) -> str: + return "compile failed, cannot generate docs" + + +class BuildingCatalog(InfoLevel): + def code(self) -> str: + return "E044" + + def message(self) -> str: + return "Building catalog" + + +class DatabaseErrorRunningHook(InfoLevel): + def code(self) -> str: + return "E045" + + def message(self) -> str: + return f"Database error while running {self.hook_type}" + + +class HooksRunning(InfoLevel): + def code(self) -> str: + return "E046" + + def message(self) -> str: + plural = "hook" if self.num_hooks == 1 else "hooks" + return f"Running {self.num_hooks} {self.hook_type} {plural}" + + +class FinishedRunningStats(InfoLevel): + def code(self) -> str: + return "E047" + + def message(self) -> str: + return f"Finished running {self.stat_line}{self.execution} ({self.execution_time:0.2f}s)." + + +class ConstraintNotEnforced(WarnLevel): + def code(self) -> str: + return "E048" + + def message(self) -> str: + msg = ( + f"The constraint type {self.constraint} is not enforced by {self.adapter}. " + "The constraint will be included in this model's DDL statement, but it will not " + "guarantee anything about the underlying data. Set 'warn_unenforced: false' on " + "this constraint to ignore this warning." + ) + return line_wrap_message(warning_tag(msg)) + + +class ConstraintNotSupported(WarnLevel): + def code(self) -> str: + return "E049" + + def message(self) -> str: + msg = ( + f"The constraint type {self.constraint} is not supported by {self.adapter}, and will " + "be ignored. Set 'warn_unsupported: false' on this constraint to ignore this warning." + ) + return line_wrap_message(warning_tag(msg)) diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index 81f5f7b8653..79d6564aa0f 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -9,7 +9,7 @@ from dbt.adapters.protocol import AdapterConfig, AdapterProtocol, RelationProtocol from dbt.adapters.contracts.connection import AdapterRequiredConfig, Credentials from dbt.common.events.functions import fire_event -from dbt.common.events.types import AdapterImportError, PluginLoadError, AdapterRegistered +from dbt.adapters.events.types import AdapterImportError, PluginLoadError, AdapterRegistered from dbt.common.exceptions import DbtInternalError, DbtRuntimeError from dbt.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME diff --git a/core/dbt/adapters/sql/connections.py b/core/dbt/adapters/sql/connections.py index 6a0c558e92c..86de2dfbddc 100644 --- a/core/dbt/adapters/sql/connections.py +++ b/core/dbt/adapters/sql/connections.py @@ -4,12 +4,12 @@ import agate +from dbt.adapters.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus import dbt.common.clients.agate_helper import dbt.common.exceptions from dbt.adapters.base import BaseConnectionManager from dbt.adapters.contracts.connection import Connection, ConnectionState, AdapterResponse from dbt.common.events.functions import fire_event -from dbt.common.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus from dbt.common.events.contextvars import get_node_info from dbt.common.utils import cast_to_str diff --git a/core/dbt/adapters/sql/impl.py b/core/dbt/adapters/sql/impl.py index 27f1128fd13..e8a712774de 100644 --- a/core/dbt/adapters/sql/impl.py +++ b/core/dbt/adapters/sql/impl.py @@ -2,12 +2,12 @@ from typing import Any, Optional, Tuple, Type, List from dbt.adapters.contracts.connection import Connection, AdapterResponse +from dbt.adapters.events.types import ColTypeChange, SchemaCreation, SchemaDrop from dbt.adapters.exceptions import RelationTypeNullError from dbt.adapters.base import BaseAdapter, available from dbt.adapters.cache import _make_ref_key_dict from dbt.adapters.sql import SQLConnectionManager from dbt.common.events.functions import fire_event -from dbt.common.events.types import ColTypeChange, SchemaCreation, SchemaDrop from dbt.adapters.base.relation import BaseRelation diff --git a/core/dbt/common/events/adapter_endpoint.py b/core/dbt/common/events/adapter_endpoint.py index e200a3540db..a042493cf16 100644 --- a/core/dbt/common/events/adapter_endpoint.py +++ b/core/dbt/common/events/adapter_endpoint.py @@ -4,7 +4,7 @@ from dbt.common.events.event_handler import set_package_logging from dbt.common.events.functions import fire_event, EVENT_MANAGER from dbt.common.events.contextvars import get_node_info -from dbt.common.events.types import ( +from dbt.adapters.events.types import ( AdapterEventDebug, AdapterEventInfo, AdapterEventWarning, diff --git a/core/dbt/common/events/base_types.py b/core/dbt/common/events/base_types.py index d666406b781..fadbe652609 100644 --- a/core/dbt/common/events/base_types.py +++ b/core/dbt/common/events/base_types.py @@ -55,9 +55,11 @@ class EventLevel(str, Enum): class BaseEvent: """BaseEvent for proto message generated python events""" + PROTO_TYPES_MODULE = types_pb2 + def __init__(self, *args, **kwargs) -> None: class_name = type(self).__name__ - msg_cls = getattr(types_pb2, class_name) + msg_cls = getattr(self.PROTO_TYPES_MODULE, class_name) if class_name == "Formatting" and len(args) > 0: kwargs["msg"] = args[0] args = () @@ -133,7 +135,7 @@ class EventMsg(Protocol): def msg_from_base_event(event: BaseEvent, level: Optional[EventLevel] = None): msg_class_name = f"{type(event).__name__}Msg" - msg_cls = getattr(types_pb2, msg_class_name) + msg_cls = getattr(event.PROTO_TYPES_MODULE, msg_class_name) # level in EventInfo must be a string, not an EventLevel msg_level: str = level.value if level else event.level_tag().value diff --git a/core/dbt/common/events/eventmgr.py b/core/dbt/common/events/eventmgr.py index a8459264e73..59b8d8e8365 100644 --- a/core/dbt/common/events/eventmgr.py +++ b/core/dbt/common/events/eventmgr.py @@ -56,6 +56,8 @@ def add_logger(self, config: LoggerConfig) -> None: class TestEventManager(IEventManager): + __test__ = False + def __init__(self) -> None: self.event_history: List[Tuple[BaseEvent, Optional[EventLevel]]] = [] self.loggers = [] diff --git a/core/dbt/common/events/types.proto b/core/dbt/common/events/types.proto index 52f07b6c29f..d08a98f118c 100644 --- a/core/dbt/common/events/types.proto +++ b/core/dbt/common/events/types.proto @@ -59,13 +59,6 @@ message RunResultMsg { int32 num_failures = 7; } -// ReferenceKey -message ReferenceKeyMsg { - string database = 1; - string schema = 2; - string identifier = 3; -} - //ColumnType message ColumnType { string column_name = 1; @@ -287,580 +280,6 @@ message ProjectCreatedMsg { ProjectCreated data = 2; } -// D - Deprecation - -// D001 -message PackageRedirectDeprecation { - string old_name = 1; - string new_name = 2; -} - -message PackageRedirectDeprecationMsg { - EventInfo info = 1; - PackageRedirectDeprecation data = 2; -} - -// D002 -message PackageInstallPathDeprecation { -} - -message PackageInstallPathDeprecationMsg { - EventInfo info = 1; - PackageInstallPathDeprecation data = 2; -} - -// D003 -message ConfigSourcePathDeprecation { - string deprecated_path = 1; - string exp_path = 2; -} - -message ConfigSourcePathDeprecationMsg { - EventInfo info = 1; - ConfigSourcePathDeprecation data = 2; -} - -// D004 -message ConfigDataPathDeprecation { - string deprecated_path = 1; - string exp_path = 2; -} - -message ConfigDataPathDeprecationMsg { - EventInfo info = 1; - ConfigDataPathDeprecation data = 2; -} - -// D005 -message AdapterDeprecationWarning { - string old_name = 1; - string new_name = 2; -} - -message AdapterDeprecationWarningMsg { - EventInfo info = 1; - AdapterDeprecationWarning data = 2; -} - -// D006 -message MetricAttributesRenamed { - string metric_name = 1; -} - -message MetricAttributesRenamedMsg { - EventInfo info = 1; - MetricAttributesRenamed data = 2; -} - -// D007 -message ExposureNameDeprecation { - string exposure = 1; -} - -message ExposureNameDeprecationMsg { - EventInfo info = 1; - ExposureNameDeprecation data = 2; -} - -// D008 -message InternalDeprecation { - string name = 1; - string reason = 2; - string suggested_action = 3; - string version = 4; -} - -message InternalDeprecationMsg { - EventInfo info = 1; - InternalDeprecation data = 2; -} - -// D009 -message EnvironmentVariableRenamed { - string old_name = 1; - string new_name = 2; -} - -message EnvironmentVariableRenamedMsg { - EventInfo info = 1; - EnvironmentVariableRenamed data = 2; -} - -// D010 -message ConfigLogPathDeprecation { - string deprecated_path = 1; -} - -message ConfigLogPathDeprecationMsg { - EventInfo info = 1; - ConfigLogPathDeprecation data = 2; -} - -// D011 -message ConfigTargetPathDeprecation { - string deprecated_path = 1; -} - -message ConfigTargetPathDeprecationMsg { - EventInfo info = 1; - ConfigTargetPathDeprecation data = 2; -} - -// D012 -message CollectFreshnessReturnSignature { -} - -message CollectFreshnessReturnSignatureMsg { - EventInfo info = 1; - CollectFreshnessReturnSignature data = 2; -} - -// E - DB Adapter - -// E001 -message AdapterEventDebug { - NodeInfo node_info = 1; - string name = 2; - string base_msg = 3; - google.protobuf.ListValue args = 4; -} - -message AdapterEventDebugMsg { - EventInfo info = 1; - AdapterEventDebug data = 2; -} - -// E002 -message AdapterEventInfo { - NodeInfo node_info = 1; - string name = 2; - string base_msg = 3; - google.protobuf.ListValue args = 4; -} - -message AdapterEventInfoMsg { - EventInfo info = 1; - AdapterEventInfo data = 2; -} - -// E003 -message AdapterEventWarning { - NodeInfo node_info = 1; - string name = 2; - string base_msg = 3; - google.protobuf.ListValue args = 4; -} - -message AdapterEventWarningMsg { - EventInfo info = 1; - AdapterEventWarning data = 2; -} - -// E004 -message AdapterEventError { - NodeInfo node_info = 1; - string name = 2; - string base_msg = 3; - google.protobuf.ListValue args = 4; - string exc_info = 5; -} - -message AdapterEventErrorMsg { - EventInfo info = 1; - AdapterEventError data = 2; -} - -// E005 -message NewConnection { - NodeInfo node_info = 1; - string conn_type = 2; - string conn_name = 3; -} - -message NewConnectionMsg { - EventInfo info = 1; - NewConnection data = 2; -} - -// E006 -message ConnectionReused { - string conn_name = 1; - string orig_conn_name = 2; -} - -message ConnectionReusedMsg { - EventInfo info = 1; - ConnectionReused data = 2; -} - -// E007 -message ConnectionLeftOpenInCleanup { - string conn_name = 1; -} - -message ConnectionLeftOpenInCleanupMsg { - EventInfo info = 1; - ConnectionLeftOpenInCleanup data = 2; -} - -// E008 -message ConnectionClosedInCleanup { - string conn_name = 1; -} - -message ConnectionClosedInCleanupMsg { - EventInfo info = 1; - ConnectionClosedInCleanup data = 2; -} - -// E009 -message RollbackFailed { - NodeInfo node_info = 1; - string conn_name = 2; - string exc_info = 3; -} - -message RollbackFailedMsg { - EventInfo info = 1; - RollbackFailed data = 2; -} - -// E010 -message ConnectionClosed { - NodeInfo node_info = 1; - string conn_name = 2; -} - -message ConnectionClosedMsg { - EventInfo info = 1; - ConnectionClosed data = 2; -} - -// E011 -message ConnectionLeftOpen { - NodeInfo node_info = 1; - string conn_name = 2; -} - -message ConnectionLeftOpenMsg { - EventInfo info = 1; - ConnectionLeftOpen data = 2; -} - -// E012 -message Rollback { - NodeInfo node_info = 1; - string conn_name = 2; -} - -message RollbackMsg { - EventInfo info = 1; - Rollback data = 2; -} - -// E013 -message CacheMiss { - string conn_name = 1; - string database = 2; - string schema = 3; -} - -message CacheMissMsg { - EventInfo info = 1; - CacheMiss data = 2; -} - -// E014 -message ListRelations { - string database = 1; - string schema = 2; - repeated ReferenceKeyMsg relations = 3; -} - -message ListRelationsMsg { - EventInfo info = 1; - ListRelations data = 2; -} - -// E015 -message ConnectionUsed { - NodeInfo node_info = 1; - string conn_type = 2; - string conn_name = 3; -} - -message ConnectionUsedMsg { - EventInfo info = 1; - ConnectionUsed data = 2; -} - -// E016 -message SQLQuery { - NodeInfo node_info = 1; - string conn_name = 2; - string sql = 3; -} - -message SQLQueryMsg { - EventInfo info = 1; - SQLQuery data = 2; -} - -// E017 -message SQLQueryStatus { - NodeInfo node_info = 1; - string status = 2; - float elapsed = 3; -} - -message SQLQueryStatusMsg { - EventInfo info = 1; - SQLQueryStatus data = 2; -} - -// E018 -message SQLCommit { - NodeInfo node_info = 1; - string conn_name = 2; -} - -message SQLCommitMsg { - EventInfo info = 1; - SQLCommit data = 2; -} - -// E019 -message ColTypeChange { - string orig_type = 1; - string new_type = 2; - ReferenceKeyMsg table = 3; -} - -message ColTypeChangeMsg { - EventInfo info = 1; - ColTypeChange data = 2; -} - -// E020 -message SchemaCreation { - ReferenceKeyMsg relation = 1; -} - -message SchemaCreationMsg { - EventInfo info = 1; - SchemaCreation data = 2; -} - -// E021 -message SchemaDrop { - ReferenceKeyMsg relation = 1; -} - -message SchemaDropMsg { - EventInfo info = 1; - SchemaDrop data = 2; -} - -// E022 -message CacheAction { - string action = 1; - ReferenceKeyMsg ref_key = 2; - ReferenceKeyMsg ref_key_2 = 3; - ReferenceKeyMsg ref_key_3 = 4; - repeated ReferenceKeyMsg ref_list = 5; -} - -message CacheActionMsg { - EventInfo info = 1; - CacheAction data = 2; -} - -// Skipping E023, E024, E025, E026, E027, E028, E029, E0230 - -// E031 -message CacheDumpGraph { - map dump = 1; - string before_after = 2; - string action = 3; -} - -message CacheDumpGraphMsg { - EventInfo info = 1; - CacheDumpGraph data = 2; -} - - -// Skipping E032, E033, E034 - - - -// E034 -message AdapterRegistered { - string adapter_name = 1; - string adapter_version = 2; -} - -message AdapterRegisteredMsg { - EventInfo info = 1; - AdapterRegistered data = 2; -} - -// E035 -message AdapterImportError { - string exc = 1; -} - -message AdapterImportErrorMsg { - EventInfo info = 1; - AdapterImportError data = 2; -} - -// E036 -message PluginLoadError { - string exc_info = 1; -} - -message PluginLoadErrorMsg { - EventInfo info = 1; - PluginLoadError data = 2; -} - -// E037 -message NewConnectionOpening { - NodeInfo node_info = 1; - string connection_state = 2; -} - -message NewConnectionOpeningMsg { - EventInfo info = 1; - NewConnectionOpening data = 2; -} - -// E038 -message CodeExecution { - string conn_name = 1; - string code_content = 2; -} - -message CodeExecutionMsg { - EventInfo info = 1; - CodeExecution data = 2; -} - -// E039 -message CodeExecutionStatus { - string status = 1; - float elapsed = 2; -} - -message CodeExecutionStatusMsg { - EventInfo info = 1; - CodeExecutionStatus data = 2; -} - -// E040 -message CatalogGenerationError { - string exc = 1; -} - -message CatalogGenerationErrorMsg { - EventInfo info = 1; - CatalogGenerationError data = 2; -} - -// E041 -message WriteCatalogFailure { - int32 num_exceptions = 1; -} - -message WriteCatalogFailureMsg { - EventInfo info = 1; - WriteCatalogFailure data = 2; -} - -// E042 -message CatalogWritten { - string path = 1; -} - -message CatalogWrittenMsg { - EventInfo info = 1; - CatalogWritten data = 2; -} - -// E043 -message CannotGenerateDocs { -} - -message CannotGenerateDocsMsg { - EventInfo info = 1; - CannotGenerateDocs data = 2; -} - -// E044 -message BuildingCatalog { -} - -message BuildingCatalogMsg { - EventInfo info = 1; - BuildingCatalog data = 2; -} - -// E045 -message DatabaseErrorRunningHook { - string hook_type = 1; -} - -message DatabaseErrorRunningHookMsg { - EventInfo info = 1; - DatabaseErrorRunningHook data = 2; -} - -// E046 -message HooksRunning { - int32 num_hooks = 1; - string hook_type = 2; -} - -message HooksRunningMsg { - EventInfo info = 1; - HooksRunning data = 2; -} - -// E047 -message FinishedRunningStats { - string stat_line = 1; - string execution = 2; - float execution_time = 3; -} - -message FinishedRunningStatsMsg { - EventInfo info = 1; - FinishedRunningStats data = 2; -} - -// E048 -message ConstraintNotEnforced { - string constraint = 1; - string adapter = 2; -} - -message ConstraintNotEnforcedMsg { - EventInfo info = 1; - ConstraintNotEnforced data = 2; -} - -// E049 -message ConstraintNotSupported { - string constraint = 1; - string adapter = 2; -} - -message ConstraintNotSupportedMsg { - EventInfo info = 1; - ConstraintNotSupported data = 2; -} - // I - Project parsing // I001 @@ -1196,18 +615,6 @@ message UnpinnedRefNewVersionAvailableMsg { UnpinnedRefNewVersionAvailable data = 2; } -// I065 -message DeprecatedModel { - string model_name = 1; - string model_version = 2; - string deprecation_date = 3; -} - -message DeprecatedModelMsg { - EventInfo info = 1; - DeprecatedModel data = 2; -} - // I066 message UpcomingReferenceDeprecation { string model_name = 1; diff --git a/core/dbt/common/events/types.py b/core/dbt/common/events/types.py index 161c3a7ff60..9236d5b82eb 100644 --- a/core/dbt/common/events/types.py +++ b/core/dbt/common/events/types.py @@ -44,13 +44,6 @@ # The basic idea is that event codes roughly translate to the natural order of running a dbt task -def format_adapter_message(name, base_msg, args) -> str: - # only apply formatting if there are arguments to format. - # avoids issues like "dict: {k: v}".format() which results in `KeyError 'k'` - msg = base_msg if len(args) == 0 else base_msg.format(*args) - return f"{name} adapter: {msg}" - - # ======================================================= # A - Pre-project loading # ======================================================= @@ -249,558 +242,6 @@ def message(self) -> str: """ -# ======================================================= -# D - Deprecations -# ======================================================= - - -class PackageRedirectDeprecation(WarnLevel): - def code(self) -> str: - return "D001" - - def message(self) -> str: - description = ( - f"The `{self.old_name}` package is deprecated in favor of `{self.new_name}`. Please " - f"update your `packages.yml` configuration to use `{self.new_name}` instead." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class PackageInstallPathDeprecation(WarnLevel): - def code(self) -> str: - return "D002" - - def message(self) -> str: - description = """\ - The default package install path has changed from `dbt_modules` to `dbt_packages`. - Please update `clean-targets` in `dbt_project.yml` and check `.gitignore` as well. - Or, set `packages-install-path: dbt_modules` if you'd like to keep the current value. - """ - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class ConfigSourcePathDeprecation(WarnLevel): - def code(self) -> str: - return "D003" - - def message(self) -> str: - description = ( - f"The `{self.deprecated_path}` config has been renamed to `{self.exp_path}`. " - "Please update your `dbt_project.yml` configuration to reflect this change." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class ConfigDataPathDeprecation(WarnLevel): - def code(self) -> str: - return "D004" - - def message(self) -> str: - description = ( - f"The `{self.deprecated_path}` config has been renamed to `{self.exp_path}`. " - "Please update your `dbt_project.yml` configuration to reflect this change." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class AdapterDeprecationWarning(WarnLevel): - def code(self) -> str: - return "D005" - - def message(self) -> str: - description = ( - f"The adapter function `adapter.{self.old_name}` is deprecated and will be removed in " - f"a future release of dbt. Please use `adapter.{self.new_name}` instead. " - f"\n\nDocumentation for {self.new_name} can be found here:" - f"\n\nhttps://docs.getdbt.com/docs/adapter" - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class MetricAttributesRenamed(WarnLevel): - def code(self) -> str: - return "D006" - - def message(self) -> str: - description = ( - "dbt-core v1.3 renamed attributes for metrics:" - "\n 'sql' -> 'expression'" - "\n 'type' -> 'calculation_method'" - "\n 'type: expression' -> 'calculation_method: derived'" - f"\nPlease remove them from the metric definition of metric '{self.metric_name}'" - "\nRelevant issue here: https://github.com/dbt-labs/dbt-core/issues/5849" - ) - - return warning_tag(f"Deprecated functionality\n\n{description}") - - -class ExposureNameDeprecation(WarnLevel): - def code(self) -> str: - return "D007" - - def message(self) -> str: - description = ( - "Starting in v1.3, the 'name' of an exposure should contain only letters, " - "numbers, and underscores. Exposures support a new property, 'label', which may " - f"contain spaces, capital letters, and special characters. {self.exposure} does not " - "follow this pattern. Please update the 'name', and use the 'label' property for a " - "human-friendly title. This will raise an error in a future version of dbt-core." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class InternalDeprecation(WarnLevel): - def code(self) -> str: - return "D008" - - def message(self) -> str: - extra_reason = "" - if self.reason: - extra_reason = f"\n{self.reason}" - msg = ( - f"`{self.name}` is deprecated and will be removed in dbt-core version {self.version}\n\n" - f"Adapter maintainers can resolve this deprecation by {self.suggested_action}. {extra_reason}" - ) - return warning_tag(msg) - - -class EnvironmentVariableRenamed(WarnLevel): - def code(self) -> str: - return "D009" - - def message(self) -> str: - description = ( - f"The environment variable `{self.old_name}` has been renamed as `{self.new_name}`.\n" - f"If `{self.old_name}` is currently set, its value will be used instead of `{self.new_name}`.\n" - f"Set `{self.new_name}` and unset `{self.old_name}` to avoid this deprecation warning and " - "ensure it works properly in a future release." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class ConfigLogPathDeprecation(WarnLevel): - def code(self) -> str: - return "D010" - - def message(self) -> str: - output = "logs" - cli_flag = "--log-path" - env_var = "DBT_LOG_PATH" - description = ( - f"The `{self.deprecated_path}` config in `dbt_project.yml` has been deprecated, " - f"and will no longer be supported in a future version of dbt-core. " - f"If you wish to write dbt {output} to a custom directory, please use " - f"the {cli_flag} CLI flag or {env_var} env var instead." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class ConfigTargetPathDeprecation(WarnLevel): - def code(self) -> str: - return "D011" - - def message(self) -> str: - output = "artifacts" - cli_flag = "--target-path" - env_var = "DBT_TARGET_PATH" - description = ( - f"The `{self.deprecated_path}` config in `dbt_project.yml` has been deprecated, " - f"and will no longer be supported in a future version of dbt-core. " - f"If you wish to write dbt {output} to a custom directory, please use " - f"the {cli_flag} CLI flag or {env_var} env var instead." - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -class CollectFreshnessReturnSignature(WarnLevel): - def code(self) -> str: - return "D012" - - def message(self) -> str: - description = ( - "The 'collect_freshness' macro signature has changed to return the full " - "query result, rather than just a table of values. See the v1.5 migration guide " - "for details on how to update your custom macro: https://docs.getdbt.com/guides/migration/versions/upgrading-to-v1.5" - ) - return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) - - -# ======================================================= -# E - DB Adapter -# ======================================================= - - -class AdapterEventDebug(DebugLevel): - def code(self) -> str: - return "E001" - - def message(self) -> str: - return format_adapter_message(self.name, self.base_msg, self.args) - - -class AdapterEventInfo(InfoLevel): - def code(self) -> str: - return "E002" - - def message(self) -> str: - return format_adapter_message(self.name, self.base_msg, self.args) - - -class AdapterEventWarning(WarnLevel): - def code(self) -> str: - return "E003" - - def message(self) -> str: - return format_adapter_message(self.name, self.base_msg, self.args) - - -class AdapterEventError(ErrorLevel): - def code(self) -> str: - return "E004" - - def message(self) -> str: - return format_adapter_message(self.name, self.base_msg, self.args) - - -class NewConnection(DebugLevel): - def code(self) -> str: - return "E005" - - def message(self) -> str: - return f"Acquiring new {self.conn_type} connection '{self.conn_name}'" - - -class ConnectionReused(DebugLevel): - def code(self) -> str: - return "E006" - - def message(self) -> str: - return f"Re-using an available connection from the pool (formerly {self.orig_conn_name}, now {self.conn_name})" - - -class ConnectionLeftOpenInCleanup(DebugLevel): - def code(self) -> str: - return "E007" - - def message(self) -> str: - return f"Connection '{self.conn_name}' was left open." - - -class ConnectionClosedInCleanup(DebugLevel): - def code(self) -> str: - return "E008" - - def message(self) -> str: - return f"Connection '{self.conn_name}' was properly closed." - - -class RollbackFailed(DebugLevel): - def code(self) -> str: - return "E009" - - def message(self) -> str: - return f"Failed to rollback '{self.conn_name}'" - - -class ConnectionClosed(DebugLevel): - def code(self) -> str: - return "E010" - - def message(self) -> str: - return f"On {self.conn_name}: Close" - - -class ConnectionLeftOpen(DebugLevel): - def code(self) -> str: - return "E011" - - def message(self) -> str: - return f"On {self.conn_name}: No close available on handle" - - -class Rollback(DebugLevel): - def code(self) -> str: - return "E012" - - def message(self) -> str: - return f"On {self.conn_name}: ROLLBACK" - - -class CacheMiss(DebugLevel): - def code(self) -> str: - return "E013" - - def message(self) -> str: - return ( - f'On "{self.conn_name}": cache miss for schema ' - f'"{self.database}.{self.schema}", this is inefficient' - ) - - -class ListRelations(DebugLevel): - def code(self) -> str: - return "E014" - - def message(self) -> str: - identifiers_str = ", ".join(r.identifier for r in self.relations) - return f"While listing relations in database={self.database}, schema={self.schema}, found: {identifiers_str}" - - -class ConnectionUsed(DebugLevel): - def code(self) -> str: - return "E015" - - def message(self) -> str: - return f'Using {self.conn_type} connection "{self.conn_name}"' - - -class SQLQuery(DebugLevel): - def code(self) -> str: - return "E016" - - def message(self) -> str: - return f"On {self.conn_name}: {self.sql}" - - -class SQLQueryStatus(DebugLevel): - def code(self) -> str: - return "E017" - - def message(self) -> str: - return f"SQL status: {self.status} in {self.elapsed} seconds" - - -class SQLCommit(DebugLevel): - def code(self) -> str: - return "E018" - - def message(self) -> str: - return f"On {self.conn_name}: COMMIT" - - -class ColTypeChange(DebugLevel): - def code(self) -> str: - return "E019" - - def message(self) -> str: - return f"Changing col type from {self.orig_type} to {self.new_type} in table {self.table}" - - -class SchemaCreation(DebugLevel): - def code(self) -> str: - return "E020" - - def message(self) -> str: - return f'Creating schema "{self.relation}"' - - -class SchemaDrop(DebugLevel): - def code(self) -> str: - return "E021" - - def message(self) -> str: - return f'Dropping schema "{self.relation}".' - - -class CacheAction(DebugLevel): - def code(self) -> str: - return "E022" - - def format_ref_key(self, ref_key) -> str: - return f"(database={ref_key.database}, schema={ref_key.schema}, identifier={ref_key.identifier})" - - def message(self) -> str: - ref_key = self.format_ref_key(self.ref_key) - ref_key_2 = self.format_ref_key(self.ref_key_2) - ref_key_3 = self.format_ref_key(self.ref_key_3) - ref_list = [] - for rfk in self.ref_list: - ref_list.append(self.format_ref_key(rfk)) - if self.action == "add_link": - return f"adding link, {ref_key} references {ref_key_2}" - elif self.action == "add_relation": - return f"adding relation: {ref_key}" - elif self.action == "drop_missing_relation": - return f"dropped a nonexistent relationship: {ref_key}" - elif self.action == "drop_cascade": - return f"drop {ref_key} is cascading to {ref_list}" - elif self.action == "drop_relation": - return f"Dropping relation: {ref_key}" - elif self.action == "update_reference": - return ( - f"updated reference from {ref_key} -> {ref_key_3} to " - f"{ref_key_2} -> {ref_key_3}" - ) - elif self.action == "temporary_relation": - return f"old key {ref_key} not found in self.relations, assuming temporary" - elif self.action == "rename_relation": - return f"Renaming relation {ref_key} to {ref_key_2}" - elif self.action == "uncached_relation": - return ( - f"{ref_key_2} references {ref_key} " - f"but {self.ref_key.database}.{self.ref_key.schema}" - "is not in the cache, skipping assumed external relation" - ) - else: - return ref_key - - -# Skipping E023, E024, E025, E026, E027, E028, E029, E030 - - -class CacheDumpGraph(DebugLevel): - def code(self) -> str: - return "E031" - - def message(self) -> str: - return f"dump {self.before_after} {self.action} : {self.dump}" - - -# Skipping E032, E033, E034 - - -class AdapterRegistered(InfoLevel): - def code(self) -> str: - return "E034" - - def message(self) -> str: - return f"Registered adapter: {self.adapter_name}{self.adapter_version}" - - -class AdapterImportError(InfoLevel): - def code(self) -> str: - return "E035" - - def message(self) -> str: - return f"Error importing adapter: {self.exc}" - - -class PluginLoadError(DebugLevel): - def code(self) -> str: - return "E036" - - def message(self) -> str: - return f"{self.exc_info}" - - -class NewConnectionOpening(DebugLevel): - def code(self) -> str: - return "E037" - - def message(self) -> str: - return f"Opening a new connection, currently in state {self.connection_state}" - - -class CodeExecution(DebugLevel): - def code(self) -> str: - return "E038" - - def message(self) -> str: - return f"On {self.conn_name}: {self.code_content}" - - -class CodeExecutionStatus(DebugLevel): - def code(self) -> str: - return "E039" - - def message(self) -> str: - return f"Execution status: {self.status} in {self.elapsed} seconds" - - -class CatalogGenerationError(WarnLevel): - def code(self) -> str: - return "E040" - - def message(self) -> str: - return f"Encountered an error while generating catalog: {self.exc}" - - -class WriteCatalogFailure(ErrorLevel): - def code(self) -> str: - return "E041" - - def message(self) -> str: - return ( - f"dbt encountered {self.num_exceptions} failure{(self.num_exceptions != 1) * 's'} " - "while writing the catalog" - ) - - -class CatalogWritten(InfoLevel): - def code(self) -> str: - return "E042" - - def message(self) -> str: - return f"Catalog written to {self.path}" - - -class CannotGenerateDocs(InfoLevel): - def code(self) -> str: - return "E043" - - def message(self) -> str: - return "compile failed, cannot generate docs" - - -class BuildingCatalog(InfoLevel): - def code(self) -> str: - return "E044" - - def message(self) -> str: - return "Building catalog" - - -class DatabaseErrorRunningHook(InfoLevel): - def code(self) -> str: - return "E045" - - def message(self) -> str: - return f"Database error while running {self.hook_type}" - - -class HooksRunning(InfoLevel): - def code(self) -> str: - return "E046" - - def message(self) -> str: - plural = "hook" if self.num_hooks == 1 else "hooks" - return f"Running {self.num_hooks} {self.hook_type} {plural}" - - -class FinishedRunningStats(InfoLevel): - def code(self) -> str: - return "E047" - - def message(self) -> str: - return f"Finished running {self.stat_line}{self.execution} ({self.execution_time:0.2f}s)." - - -class ConstraintNotEnforced(WarnLevel): - def code(self) -> str: - return "E048" - - def message(self) -> str: - msg = ( - f"The constraint type {self.constraint} is not enforced by {self.adapter}. " - "The constraint will be included in this model's DDL statement, but it will not " - "guarantee anything about the underlying data. Set 'warn_unenforced: false' on " - "this constraint to ignore this warning." - ) - return line_wrap_message(warning_tag(msg)) - - -class ConstraintNotSupported(WarnLevel): - def code(self) -> str: - return "E049" - - def message(self) -> str: - msg = ( - f"The constraint type {self.constraint} is not supported by {self.adapter}, and will " - "be ignored. Set 'warn_unsupported: false' on this constraint to ignore this warning." - ) - return line_wrap_message(warning_tag(msg)) - - # ======================================================= # I - Project parsing # ======================================================= @@ -1151,19 +592,6 @@ def message(self) -> str: return msg -class DeprecatedModel(WarnLevel): - def code(self) -> str: - return "I065" - - def message(self) -> str: - version = ".v" + self.model_version if self.model_version else "" - msg = ( - f"Model {self.model_name}{version} has passed its deprecation date of {self.deprecation_date}. " - "This model should be disabled or removed." - ) - return warning_tag(msg) - - class UpcomingReferenceDeprecation(WarnLevel): def code(self) -> str: return "I066" diff --git a/core/dbt/common/events/types_pb2.py b/core/dbt/common/events/types_pb2.py index 54cf5819b63..2fd42f641ae 100644 --- a/core/dbt/common/events/types_pb2.py +++ b/core/dbt/common/events/types_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: types.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -15,10 +15,11 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"\\\n\nColumnType\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x1c\n\x14previous_column_type\x18\x02 \x01(\t\x12\x1b\n\x13\x63urrent_column_type\x18\x03 \x01(\t\"Y\n\x10\x43olumnConstraint\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x03 \x01(\t\"T\n\x0fModelConstraint\x12\x17\n\x0f\x63onstraint_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x02 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x03 \x03(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation\"\x1f\n\x1dPackageInstallPathDeprecation\"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation\"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation\"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed\"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t\"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation\"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation\"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed\"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation\"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x86\x01\n\"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t\"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"\x8a\x03\n\x19UnversionedBreakingChange\x12\x18\n\x10\x62reaking_changes\x18\x01 \x03(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0fmodel_file_path\x18\x03 \x01(\t\x12\"\n\x1a\x63ontract_enforced_disabled\x18\x04 \x01(\x08\x12\x17\n\x0f\x63olumns_removed\x18\x05 \x03(\t\x12\x34\n\x13\x63olumn_type_changes\x18\x06 \x03(\x0b\x32\x17.proto_types.ColumnType\x12I\n\"enforced_column_constraint_removed\x18\x07 \x03(\x0b\x32\x1d.proto_types.ColumnConstraint\x12G\n!enforced_model_constraint_removed\x18\x08 \x03(\x0b\x32\x1c.proto_types.ModelConstraint\x12\x1f\n\x17materialization_changed\x18\t \x03(\t\"z\n\x1cUnversionedBreakingChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.UnversionedBreakingChange\"*\n\x14WarnStateTargetEqual\x12\x12\n\nstate_path\x18\x01 \x01(\t\"p\n\x17WarnStateTargetEqualMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.WarnStateTargetEqual\"%\n\x16\x46reshnessConfigProblem\x12\x0b\n\x03msg\x18\x01 \x01(\t\"t\n\x19\x46reshnessConfigProblemMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessConfigProblem\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\")\n\x10\x44\x65psLockUpdating\x12\x15\n\rlock_filepath\x18\x01 \x01(\t\"h\n\x13\x44\x65psLockUpdatingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.DepsLockUpdating\"R\n\x0e\x44\x65psAddPackage\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x11packages_filepath\x18\x03 \x01(\t\"d\n\x11\x44\x65psAddPackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DepsAddPackage\"\xa7\x01\n\x19\x44\x65psFoundDuplicatePackage\x12S\n\x0fremoved_package\x18\x01 \x03(\x0b\x32:.proto_types.DepsFoundDuplicatePackage.RemovedPackageEntry\x1a\x35\n\x13RemovedPackageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"z\n\x1c\x44\x65psFoundDuplicatePackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.DepsFoundDuplicatePackage\"$\n\x12\x44\x65psVersionMissing\x12\x0e\n\x06source\x18\x01 \x01(\t\"l\n\x15\x44\x65psVersionMissingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.DepsVersionMissing\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Note\"\xec\x01\n\x0eResourceReport\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ommand_success\x18\x03 \x01(\x08\x12\x1f\n\x17\x63ommand_wall_clock_time\x18\x04 \x01(\x02\x12\x19\n\x11process_user_time\x18\x05 \x01(\x02\x12\x1b\n\x13process_kernel_time\x18\x06 \x01(\x02\x12\x1b\n\x13process_mem_max_rss\x18\x07 \x01(\x03\x12\x19\n\x11process_in_blocks\x18\x08 \x01(\x03\x12\x1a\n\x12process_out_blocks\x18\t \x01(\x03\"d\n\x11ResourceReportMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ResourceReportb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"\\\n\nColumnType\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x1c\n\x14previous_column_type\x18\x02 \x01(\t\x12\x1b\n\x13\x63urrent_column_type\x18\x03 \x01(\t\"Y\n\x10\x43olumnConstraint\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x03 \x01(\t\"T\n\x0fModelConstraint\x12\x17\n\x0f\x63onstraint_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x02 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x03 \x03(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"\x8a\x03\n\x19UnversionedBreakingChange\x12\x18\n\x10\x62reaking_changes\x18\x01 \x03(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0fmodel_file_path\x18\x03 \x01(\t\x12\"\n\x1a\x63ontract_enforced_disabled\x18\x04 \x01(\x08\x12\x17\n\x0f\x63olumns_removed\x18\x05 \x03(\t\x12\x34\n\x13\x63olumn_type_changes\x18\x06 \x03(\x0b\x32\x17.proto_types.ColumnType\x12I\n\"enforced_column_constraint_removed\x18\x07 \x03(\x0b\x32\x1d.proto_types.ColumnConstraint\x12G\n!enforced_model_constraint_removed\x18\x08 \x03(\x0b\x32\x1c.proto_types.ModelConstraint\x12\x1f\n\x17materialization_changed\x18\t \x03(\t\"z\n\x1cUnversionedBreakingChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.UnversionedBreakingChange\"*\n\x14WarnStateTargetEqual\x12\x12\n\nstate_path\x18\x01 \x01(\t\"p\n\x17WarnStateTargetEqualMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.WarnStateTargetEqual\"%\n\x16\x46reshnessConfigProblem\x12\x0b\n\x03msg\x18\x01 \x01(\t\"t\n\x19\x46reshnessConfigProblemMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessConfigProblem\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\")\n\x10\x44\x65psLockUpdating\x12\x15\n\rlock_filepath\x18\x01 \x01(\t\"h\n\x13\x44\x65psLockUpdatingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.DepsLockUpdating\"R\n\x0e\x44\x65psAddPackage\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x11packages_filepath\x18\x03 \x01(\t\"d\n\x11\x44\x65psAddPackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DepsAddPackage\"\xa7\x01\n\x19\x44\x65psFoundDuplicatePackage\x12S\n\x0fremoved_package\x18\x01 \x03(\x0b\x32:.proto_types.DepsFoundDuplicatePackage.RemovedPackageEntry\x1a\x35\n\x13RemovedPackageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"z\n\x1c\x44\x65psFoundDuplicatePackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.DepsFoundDuplicatePackage\"$\n\x12\x44\x65psVersionMissing\x12\x0e\n\x06source\x18\x01 \x01(\t\"l\n\x15\x44\x65psVersionMissingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.DepsVersionMissing\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Note\"\xec\x01\n\x0eResourceReport\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ommand_success\x18\x03 \x01(\x08\x12\x1f\n\x17\x63ommand_wall_clock_time\x18\x04 \x01(\x02\x12\x19\n\x11process_user_time\x18\x05 \x01(\x02\x12\x1b\n\x13process_kernel_time\x18\x06 \x01(\x02\x12\x1b\n\x13process_mem_max_rss\x18\x07 \x01(\x03\x12\x19\n\x11process_in_blocks\x18\x08 \x01(\x03\x12\x1a\n\x12process_out_blocks\x18\t \x01(\x03\"d\n\x11ResourceReportMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ResourceReportb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -26,8 +27,6 @@ _EVENTINFO_EXTRAENTRY._serialized_options = b'8\001' _MAINREPORTARGS_ARGSENTRY._options = None _MAINREPORTARGS_ARGSENTRY._serialized_options = b'8\001' - _CACHEDUMPGRAPH_DUMPENTRY._options = None - _CACHEDUMPGRAPH_DUMPENTRY._serialized_options = b'8\001' _PARTIALPARSINGERROR_EXCINFOENTRY._options = None _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_options = b'8\001' _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._options = None @@ -36,902 +35,690 @@ _LOGSNAPSHOTRESULT_CFGENTRY._serialized_options = b'8\001' _STATSLINE_STATSENTRY._options = None _STATSLINE_STATSENTRY._serialized_options = b'8\001' - _EVENTINFO._serialized_start=92 - _EVENTINFO._serialized_end=365 - _EVENTINFO_EXTRAENTRY._serialized_start=321 - _EVENTINFO_EXTRAENTRY._serialized_end=365 - _TIMINGINFOMSG._serialized_start=367 - _TIMINGINFOMSG._serialized_end=494 - _NODERELATION._serialized_start=496 - _NODERELATION._serialized_end=582 - _NODEINFO._serialized_start=585 - _NODEINFO._serialized_end=858 - _RUNRESULTMSG._serialized_start=861 - _RUNRESULTMSG._serialized_end=1070 - _REFERENCEKEYMSG._serialized_start=1072 - _REFERENCEKEYMSG._serialized_end=1143 - _COLUMNTYPE._serialized_start=1145 - _COLUMNTYPE._serialized_end=1237 - _COLUMNCONSTRAINT._serialized_start=1239 - _COLUMNCONSTRAINT._serialized_end=1328 - _MODELCONSTRAINT._serialized_start=1330 - _MODELCONSTRAINT._serialized_end=1414 - _GENERICMESSAGE._serialized_start=1416 - _GENERICMESSAGE._serialized_end=1470 - _MAINREPORTVERSION._serialized_start=1472 - _MAINREPORTVERSION._serialized_end=1529 - _MAINREPORTVERSIONMSG._serialized_start=1531 - _MAINREPORTVERSIONMSG._serialized_end=1637 - _MAINREPORTARGS._serialized_start=1639 - _MAINREPORTARGS._serialized_end=1753 - _MAINREPORTARGS_ARGSENTRY._serialized_start=1710 - _MAINREPORTARGS_ARGSENTRY._serialized_end=1753 - _MAINREPORTARGSMSG._serialized_start=1755 - _MAINREPORTARGSMSG._serialized_end=1855 - _MAINTRACKINGUSERSTATE._serialized_start=1857 - _MAINTRACKINGUSERSTATE._serialized_end=1900 - _MAINTRACKINGUSERSTATEMSG._serialized_start=1902 - _MAINTRACKINGUSERSTATEMSG._serialized_end=2016 - _MERGEDFROMSTATE._serialized_start=2018 - _MERGEDFROMSTATE._serialized_end=2071 - _MERGEDFROMSTATEMSG._serialized_start=2073 - _MERGEDFROMSTATEMSG._serialized_end=2175 - _MISSINGPROFILETARGET._serialized_start=2177 - _MISSINGPROFILETARGET._serialized_end=2242 - _MISSINGPROFILETARGETMSG._serialized_start=2244 - _MISSINGPROFILETARGETMSG._serialized_end=2356 - _INVALIDOPTIONYAML._serialized_start=2358 - _INVALIDOPTIONYAML._serialized_end=2398 - _INVALIDOPTIONYAMLMSG._serialized_start=2400 - _INVALIDOPTIONYAMLMSG._serialized_end=2506 - _LOGDBTPROJECTERROR._serialized_start=2508 - _LOGDBTPROJECTERROR._serialized_end=2541 - _LOGDBTPROJECTERRORMSG._serialized_start=2543 - _LOGDBTPROJECTERRORMSG._serialized_end=2651 - _LOGDBTPROFILEERROR._serialized_start=2653 - _LOGDBTPROFILEERROR._serialized_end=2704 - _LOGDBTPROFILEERRORMSG._serialized_start=2706 - _LOGDBTPROFILEERRORMSG._serialized_end=2814 - _STARTERPROJECTPATH._serialized_start=2816 - _STARTERPROJECTPATH._serialized_end=2849 - _STARTERPROJECTPATHMSG._serialized_start=2851 - _STARTERPROJECTPATHMSG._serialized_end=2959 - _CONFIGFOLDERDIRECTORY._serialized_start=2961 - _CONFIGFOLDERDIRECTORY._serialized_end=2997 - _CONFIGFOLDERDIRECTORYMSG._serialized_start=2999 - _CONFIGFOLDERDIRECTORYMSG._serialized_end=3113 - _NOSAMPLEPROFILEFOUND._serialized_start=3115 - _NOSAMPLEPROFILEFOUND._serialized_end=3154 - _NOSAMPLEPROFILEFOUNDMSG._serialized_start=3156 - _NOSAMPLEPROFILEFOUNDMSG._serialized_end=3268 - _PROFILEWRITTENWITHSAMPLE._serialized_start=3270 - _PROFILEWRITTENWITHSAMPLE._serialized_end=3324 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_start=3326 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_end=3446 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_start=3448 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_end=3514 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_start=3517 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_end=3661 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_start=3663 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_end=3730 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_start=3733 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_end=3879 - _SETTINGUPPROFILE._serialized_start=3881 - _SETTINGUPPROFILE._serialized_end=3899 - _SETTINGUPPROFILEMSG._serialized_start=3901 - _SETTINGUPPROFILEMSG._serialized_end=4005 - _INVALIDPROFILETEMPLATEYAML._serialized_start=4007 - _INVALIDPROFILETEMPLATEYAML._serialized_end=4035 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_start=4037 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_end=4161 - _PROJECTNAMEALREADYEXISTS._serialized_start=4163 - _PROJECTNAMEALREADYEXISTS._serialized_end=4203 - _PROJECTNAMEALREADYEXISTSMSG._serialized_start=4205 - _PROJECTNAMEALREADYEXISTSMSG._serialized_end=4325 - _PROJECTCREATED._serialized_start=4327 - _PROJECTCREATED._serialized_end=4402 - _PROJECTCREATEDMSG._serialized_start=4404 - _PROJECTCREATEDMSG._serialized_end=4504 - _PACKAGEREDIRECTDEPRECATION._serialized_start=4506 - _PACKAGEREDIRECTDEPRECATION._serialized_end=4570 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_start=4572 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_end=4696 - _PACKAGEINSTALLPATHDEPRECATION._serialized_start=4698 - _PACKAGEINSTALLPATHDEPRECATION._serialized_end=4729 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_start=4732 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_end=4862 - _CONFIGSOURCEPATHDEPRECATION._serialized_start=4864 - _CONFIGSOURCEPATHDEPRECATION._serialized_end=4936 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_start=4938 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_end=5064 - _CONFIGDATAPATHDEPRECATION._serialized_start=5066 - _CONFIGDATAPATHDEPRECATION._serialized_end=5136 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_start=5138 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_end=5260 - _ADAPTERDEPRECATIONWARNING._serialized_start=5262 - _ADAPTERDEPRECATIONWARNING._serialized_end=5325 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_start=5327 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_end=5449 - _METRICATTRIBUTESRENAMED._serialized_start=5451 - _METRICATTRIBUTESRENAMED._serialized_end=5497 - _METRICATTRIBUTESRENAMEDMSG._serialized_start=5499 - _METRICATTRIBUTESRENAMEDMSG._serialized_end=5617 - _EXPOSURENAMEDEPRECATION._serialized_start=5619 - _EXPOSURENAMEDEPRECATION._serialized_end=5662 - _EXPOSURENAMEDEPRECATIONMSG._serialized_start=5664 - _EXPOSURENAMEDEPRECATIONMSG._serialized_end=5782 - _INTERNALDEPRECATION._serialized_start=5784 - _INTERNALDEPRECATION._serialized_end=5878 - _INTERNALDEPRECATIONMSG._serialized_start=5880 - _INTERNALDEPRECATIONMSG._serialized_end=5990 - _ENVIRONMENTVARIABLERENAMED._serialized_start=5992 - _ENVIRONMENTVARIABLERENAMED._serialized_end=6056 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_start=6058 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_end=6182 - _CONFIGLOGPATHDEPRECATION._serialized_start=6184 - _CONFIGLOGPATHDEPRECATION._serialized_end=6235 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_start=6237 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_end=6357 - _CONFIGTARGETPATHDEPRECATION._serialized_start=6359 - _CONFIGTARGETPATHDEPRECATION._serialized_end=6413 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_start=6415 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_end=6541 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_start=6543 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_end=6576 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_start=6579 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_end=6713 - _ADAPTEREVENTDEBUG._serialized_start=6716 - _ADAPTEREVENTDEBUG._serialized_end=6851 - _ADAPTEREVENTDEBUGMSG._serialized_start=6853 - _ADAPTEREVENTDEBUGMSG._serialized_end=6959 - _ADAPTEREVENTINFO._serialized_start=6962 - _ADAPTEREVENTINFO._serialized_end=7096 - _ADAPTEREVENTINFOMSG._serialized_start=7098 - _ADAPTEREVENTINFOMSG._serialized_end=7202 - _ADAPTEREVENTWARNING._serialized_start=7205 - _ADAPTEREVENTWARNING._serialized_end=7342 - _ADAPTEREVENTWARNINGMSG._serialized_start=7344 - _ADAPTEREVENTWARNINGMSG._serialized_end=7454 - _ADAPTEREVENTERROR._serialized_start=7457 - _ADAPTEREVENTERROR._serialized_end=7610 - _ADAPTEREVENTERRORMSG._serialized_start=7612 - _ADAPTEREVENTERRORMSG._serialized_end=7718 - _NEWCONNECTION._serialized_start=7720 - _NEWCONNECTION._serialized_end=7815 - _NEWCONNECTIONMSG._serialized_start=7817 - _NEWCONNECTIONMSG._serialized_end=7915 - _CONNECTIONREUSED._serialized_start=7917 - _CONNECTIONREUSED._serialized_end=7978 - _CONNECTIONREUSEDMSG._serialized_start=7980 - _CONNECTIONREUSEDMSG._serialized_end=8084 - _CONNECTIONLEFTOPENINCLEANUP._serialized_start=8086 - _CONNECTIONLEFTOPENINCLEANUP._serialized_end=8134 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_start=8136 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_end=8262 - _CONNECTIONCLOSEDINCLEANUP._serialized_start=8264 - _CONNECTIONCLOSEDINCLEANUP._serialized_end=8310 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_start=8312 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_end=8434 - _ROLLBACKFAILED._serialized_start=8436 - _ROLLBACKFAILED._serialized_end=8531 - _ROLLBACKFAILEDMSG._serialized_start=8533 - _ROLLBACKFAILEDMSG._serialized_end=8633 - _CONNECTIONCLOSED._serialized_start=8635 - _CONNECTIONCLOSED._serialized_end=8714 - _CONNECTIONCLOSEDMSG._serialized_start=8716 - _CONNECTIONCLOSEDMSG._serialized_end=8820 - _CONNECTIONLEFTOPEN._serialized_start=8822 - _CONNECTIONLEFTOPEN._serialized_end=8903 - _CONNECTIONLEFTOPENMSG._serialized_start=8905 - _CONNECTIONLEFTOPENMSG._serialized_end=9013 - _ROLLBACK._serialized_start=9015 - _ROLLBACK._serialized_end=9086 - _ROLLBACKMSG._serialized_start=9088 - _ROLLBACKMSG._serialized_end=9176 - _CACHEMISS._serialized_start=9178 - _CACHEMISS._serialized_end=9242 - _CACHEMISSMSG._serialized_start=9244 - _CACHEMISSMSG._serialized_end=9334 - _LISTRELATIONS._serialized_start=9336 - _LISTRELATIONS._serialized_end=9434 - _LISTRELATIONSMSG._serialized_start=9436 - _LISTRELATIONSMSG._serialized_end=9534 - _CONNECTIONUSED._serialized_start=9536 - _CONNECTIONUSED._serialized_end=9632 - _CONNECTIONUSEDMSG._serialized_start=9634 - _CONNECTIONUSEDMSG._serialized_end=9734 - _SQLQUERY._serialized_start=9736 - _SQLQUERY._serialized_end=9820 - _SQLQUERYMSG._serialized_start=9822 - _SQLQUERYMSG._serialized_end=9910 - _SQLQUERYSTATUS._serialized_start=9912 - _SQLQUERYSTATUS._serialized_end=10003 - _SQLQUERYSTATUSMSG._serialized_start=10005 - _SQLQUERYSTATUSMSG._serialized_end=10105 - _SQLCOMMIT._serialized_start=10107 - _SQLCOMMIT._serialized_end=10179 - _SQLCOMMITMSG._serialized_start=10181 - _SQLCOMMITMSG._serialized_end=10271 - _COLTYPECHANGE._serialized_start=10273 - _COLTYPECHANGE._serialized_end=10370 - _COLTYPECHANGEMSG._serialized_start=10372 - _COLTYPECHANGEMSG._serialized_end=10470 - _SCHEMACREATION._serialized_start=10472 - _SCHEMACREATION._serialized_end=10536 - _SCHEMACREATIONMSG._serialized_start=10538 - _SCHEMACREATIONMSG._serialized_end=10638 - _SCHEMADROP._serialized_start=10640 - _SCHEMADROP._serialized_end=10700 - _SCHEMADROPMSG._serialized_start=10702 - _SCHEMADROPMSG._serialized_end=10794 - _CACHEACTION._serialized_start=10797 - _CACHEACTION._serialized_end=11019 - _CACHEACTIONMSG._serialized_start=11021 - _CACHEACTIONMSG._serialized_end=11115 - _CACHEDUMPGRAPH._serialized_start=11118 - _CACHEDUMPGRAPH._serialized_end=11270 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_start=11227 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_end=11270 - _CACHEDUMPGRAPHMSG._serialized_start=11272 - _CACHEDUMPGRAPHMSG._serialized_end=11372 - _ADAPTERREGISTERED._serialized_start=11374 - _ADAPTERREGISTERED._serialized_end=11440 - _ADAPTERREGISTEREDMSG._serialized_start=11442 - _ADAPTERREGISTEREDMSG._serialized_end=11548 - _ADAPTERIMPORTERROR._serialized_start=11550 - _ADAPTERIMPORTERROR._serialized_end=11583 - _ADAPTERIMPORTERRORMSG._serialized_start=11585 - _ADAPTERIMPORTERRORMSG._serialized_end=11693 - _PLUGINLOADERROR._serialized_start=11695 - _PLUGINLOADERROR._serialized_end=11730 - _PLUGINLOADERRORMSG._serialized_start=11732 - _PLUGINLOADERRORMSG._serialized_end=11834 - _NEWCONNECTIONOPENING._serialized_start=11836 - _NEWCONNECTIONOPENING._serialized_end=11926 - _NEWCONNECTIONOPENINGMSG._serialized_start=11928 - _NEWCONNECTIONOPENINGMSG._serialized_end=12040 - _CODEEXECUTION._serialized_start=12042 - _CODEEXECUTION._serialized_end=12098 - _CODEEXECUTIONMSG._serialized_start=12100 - _CODEEXECUTIONMSG._serialized_end=12198 - _CODEEXECUTIONSTATUS._serialized_start=12200 - _CODEEXECUTIONSTATUS._serialized_end=12254 - _CODEEXECUTIONSTATUSMSG._serialized_start=12256 - _CODEEXECUTIONSTATUSMSG._serialized_end=12366 - _CATALOGGENERATIONERROR._serialized_start=12368 - _CATALOGGENERATIONERROR._serialized_end=12405 - _CATALOGGENERATIONERRORMSG._serialized_start=12407 - _CATALOGGENERATIONERRORMSG._serialized_end=12523 - _WRITECATALOGFAILURE._serialized_start=12525 - _WRITECATALOGFAILURE._serialized_end=12570 - _WRITECATALOGFAILUREMSG._serialized_start=12572 - _WRITECATALOGFAILUREMSG._serialized_end=12682 - _CATALOGWRITTEN._serialized_start=12684 - _CATALOGWRITTEN._serialized_end=12714 - _CATALOGWRITTENMSG._serialized_start=12716 - _CATALOGWRITTENMSG._serialized_end=12816 - _CANNOTGENERATEDOCS._serialized_start=12818 - _CANNOTGENERATEDOCS._serialized_end=12838 - _CANNOTGENERATEDOCSMSG._serialized_start=12840 - _CANNOTGENERATEDOCSMSG._serialized_end=12948 - _BUILDINGCATALOG._serialized_start=12950 - _BUILDINGCATALOG._serialized_end=12967 - _BUILDINGCATALOGMSG._serialized_start=12969 - _BUILDINGCATALOGMSG._serialized_end=13071 - _DATABASEERRORRUNNINGHOOK._serialized_start=13073 - _DATABASEERRORRUNNINGHOOK._serialized_end=13118 - _DATABASEERRORRUNNINGHOOKMSG._serialized_start=13120 - _DATABASEERRORRUNNINGHOOKMSG._serialized_end=13240 - _HOOKSRUNNING._serialized_start=13242 - _HOOKSRUNNING._serialized_end=13294 - _HOOKSRUNNINGMSG._serialized_start=13296 - _HOOKSRUNNINGMSG._serialized_end=13392 - _FINISHEDRUNNINGSTATS._serialized_start=13394 - _FINISHEDRUNNINGSTATS._serialized_end=13478 - _FINISHEDRUNNINGSTATSMSG._serialized_start=13480 - _FINISHEDRUNNINGSTATSMSG._serialized_end=13592 - _CONSTRAINTNOTENFORCED._serialized_start=13594 - _CONSTRAINTNOTENFORCED._serialized_end=13654 - _CONSTRAINTNOTENFORCEDMSG._serialized_start=13656 - _CONSTRAINTNOTENFORCEDMSG._serialized_end=13770 - _CONSTRAINTNOTSUPPORTED._serialized_start=13772 - _CONSTRAINTNOTSUPPORTED._serialized_end=13833 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_start=13835 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_end=13951 - _INPUTFILEDIFFERROR._serialized_start=13953 - _INPUTFILEDIFFERROR._serialized_end=14008 - _INPUTFILEDIFFERRORMSG._serialized_start=14010 - _INPUTFILEDIFFERRORMSG._serialized_end=14118 - _INVALIDVALUEFORFIELD._serialized_start=14120 - _INVALIDVALUEFORFIELD._serialized_end=14183 - _INVALIDVALUEFORFIELDMSG._serialized_start=14185 - _INVALIDVALUEFORFIELDMSG._serialized_end=14297 - _VALIDATIONWARNING._serialized_start=14299 - _VALIDATIONWARNING._serialized_end=14380 - _VALIDATIONWARNINGMSG._serialized_start=14382 - _VALIDATIONWARNINGMSG._serialized_end=14488 - _PARSEPERFINFOPATH._serialized_start=14490 - _PARSEPERFINFOPATH._serialized_end=14523 - _PARSEPERFINFOPATHMSG._serialized_start=14525 - _PARSEPERFINFOPATHMSG._serialized_end=14631 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_start=14633 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_end=14682 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_start=14685 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_end=14823 - _PARTIALPARSINGERROR._serialized_start=14826 - _PARTIALPARSINGERROR._serialized_end=14960 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_start=14914 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_end=14960 - _PARTIALPARSINGERRORMSG._serialized_start=14962 - _PARTIALPARSINGERRORMSG._serialized_end=15072 - _PARTIALPARSINGSKIPPARSING._serialized_start=15074 - _PARTIALPARSINGSKIPPARSING._serialized_end=15101 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_start=15103 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_end=15225 - _UNABLETOPARTIALPARSE._serialized_start=15227 - _UNABLETOPARTIALPARSE._serialized_end=15265 - _UNABLETOPARTIALPARSEMSG._serialized_start=15267 - _UNABLETOPARTIALPARSEMSG._serialized_end=15379 - _STATECHECKVARSHASH._serialized_start=15381 - _STATECHECKVARSHASH._serialized_end=15483 - _STATECHECKVARSHASHMSG._serialized_start=15485 - _STATECHECKVARSHASHMSG._serialized_end=15593 - _PARTIALPARSINGNOTENABLED._serialized_start=15595 - _PARTIALPARSINGNOTENABLED._serialized_end=15621 - _PARTIALPARSINGNOTENABLEDMSG._serialized_start=15623 - _PARTIALPARSINGNOTENABLEDMSG._serialized_end=15743 - _PARSEDFILELOADFAILED._serialized_start=15745 - _PARSEDFILELOADFAILED._serialized_end=15812 - _PARSEDFILELOADFAILEDMSG._serialized_start=15814 - _PARSEDFILELOADFAILEDMSG._serialized_end=15926 - _PARTIALPARSINGENABLED._serialized_start=15928 - _PARTIALPARSINGENABLED._serialized_end=16000 - _PARTIALPARSINGENABLEDMSG._serialized_start=16002 - _PARTIALPARSINGENABLEDMSG._serialized_end=16116 - _PARTIALPARSINGFILE._serialized_start=16118 - _PARTIALPARSINGFILE._serialized_end=16174 - _PARTIALPARSINGFILEMSG._serialized_start=16176 - _PARTIALPARSINGFILEMSG._serialized_end=16284 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_start=16287 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_end=16462 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_start=16465 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_end=16599 - _UNUSEDRESOURCECONFIGPATH._serialized_start=16601 - _UNUSEDRESOURCECONFIGPATH._serialized_end=16656 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_start=16658 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_end=16778 - _SEEDINCREASED._serialized_start=16780 - _SEEDINCREASED._serialized_end=16831 - _SEEDINCREASEDMSG._serialized_start=16833 - _SEEDINCREASEDMSG._serialized_end=16931 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_start=16933 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_end=16995 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_start=16997 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_end=17117 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_start=17119 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_end=17187 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_start=17190 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_end=17322 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_start=17324 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_end=17416 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_start=17419 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_end=17553 - _UNUSEDTABLES._serialized_start=17555 - _UNUSEDTABLES._serialized_end=17592 - _UNUSEDTABLESMSG._serialized_start=17594 - _UNUSEDTABLESMSG._serialized_end=17690 - _WRONGRESOURCESCHEMAFILE._serialized_start=17693 - _WRONGRESOURCESCHEMAFILE._serialized_end=17828 - _WRONGRESOURCESCHEMAFILEMSG._serialized_start=17830 - _WRONGRESOURCESCHEMAFILEMSG._serialized_end=17948 - _NONODEFORYAMLKEY._serialized_start=17950 - _NONODEFORYAMLKEY._serialized_end=18025 - _NONODEFORYAMLKEYMSG._serialized_start=18027 - _NONODEFORYAMLKEYMSG._serialized_end=18131 - _MACRONOTFOUNDFORPATCH._serialized_start=18133 - _MACRONOTFOUNDFORPATCH._serialized_end=18176 - _MACRONOTFOUNDFORPATCHMSG._serialized_start=18178 - _MACRONOTFOUNDFORPATCHMSG._serialized_end=18292 - _NODENOTFOUNDORDISABLED._serialized_start=18295 - _NODENOTFOUNDORDISABLED._serialized_end=18479 - _NODENOTFOUNDORDISABLEDMSG._serialized_start=18481 - _NODENOTFOUNDORDISABLEDMSG._serialized_end=18597 - _JINJALOGWARNING._serialized_start=18599 - _JINJALOGWARNING._serialized_end=18671 - _JINJALOGWARNINGMSG._serialized_start=18673 - _JINJALOGWARNINGMSG._serialized_end=18775 - _JINJALOGINFO._serialized_start=18777 - _JINJALOGINFO._serialized_end=18846 - _JINJALOGINFOMSG._serialized_start=18848 - _JINJALOGINFOMSG._serialized_end=18944 - _JINJALOGDEBUG._serialized_start=18946 - _JINJALOGDEBUG._serialized_end=19016 - _JINJALOGDEBUGMSG._serialized_start=19018 - _JINJALOGDEBUGMSG._serialized_end=19116 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_start=19119 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_end=19293 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_start=19296 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_end=19428 - _DEPRECATEDMODEL._serialized_start=19430 - _DEPRECATEDMODEL._serialized_end=19516 - _DEPRECATEDMODELMSG._serialized_start=19518 - _DEPRECATEDMODELMSG._serialized_end=19620 - _UPCOMINGREFERENCEDEPRECATION._serialized_start=19623 - _UPCOMINGREFERENCEDEPRECATION._serialized_end=19821 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_start=19824 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_end=19952 - _DEPRECATEDREFERENCE._serialized_start=19955 - _DEPRECATEDREFERENCE._serialized_end=20144 - _DEPRECATEDREFERENCEMSG._serialized_start=20146 - _DEPRECATEDREFERENCEMSG._serialized_end=20256 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_start=20258 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_end=20318 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_start=20321 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_end=20465 - _PARSEINLINENODEERROR._serialized_start=20467 - _PARSEINLINENODEERROR._serialized_end=20544 - _PARSEINLINENODEERRORMSG._serialized_start=20546 - _PARSEINLINENODEERRORMSG._serialized_end=20658 - _SEMANTICVALIDATIONFAILURE._serialized_start=20660 - _SEMANTICVALIDATIONFAILURE._serialized_end=20700 - _SEMANTICVALIDATIONFAILUREMSG._serialized_start=20702 - _SEMANTICVALIDATIONFAILUREMSG._serialized_end=20824 - _UNVERSIONEDBREAKINGCHANGE._serialized_start=20827 - _UNVERSIONEDBREAKINGCHANGE._serialized_end=21221 - _UNVERSIONEDBREAKINGCHANGEMSG._serialized_start=21223 - _UNVERSIONEDBREAKINGCHANGEMSG._serialized_end=21345 - _WARNSTATETARGETEQUAL._serialized_start=21347 - _WARNSTATETARGETEQUAL._serialized_end=21389 - _WARNSTATETARGETEQUALMSG._serialized_start=21391 - _WARNSTATETARGETEQUALMSG._serialized_end=21503 - _FRESHNESSCONFIGPROBLEM._serialized_start=21505 - _FRESHNESSCONFIGPROBLEM._serialized_end=21542 - _FRESHNESSCONFIGPROBLEMMSG._serialized_start=21544 - _FRESHNESSCONFIGPROBLEMMSG._serialized_end=21660 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_start=21662 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_end=21709 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_start=21712 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_end=21842 - _GITPROGRESSCHECKOUTREVISION._serialized_start=21844 - _GITPROGRESSCHECKOUTREVISION._serialized_end=21891 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_start=21893 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_end=22019 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_start=22021 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_end=22073 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_start=22076 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_end=22222 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_start=22224 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_end=22270 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_start=22273 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_end=22407 - _GITNOTHINGTODO._serialized_start=22409 - _GITNOTHINGTODO._serialized_end=22438 - _GITNOTHINGTODOMSG._serialized_start=22440 - _GITNOTHINGTODOMSG._serialized_end=22540 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_start=22542 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_end=22611 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_start=22614 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_end=22748 - _GITPROGRESSCHECKEDOUTAT._serialized_start=22750 - _GITPROGRESSCHECKEDOUTAT._serialized_end=22792 - _GITPROGRESSCHECKEDOUTATMSG._serialized_start=22794 - _GITPROGRESSCHECKEDOUTATMSG._serialized_end=22912 - _REGISTRYPROGRESSGETREQUEST._serialized_start=22914 - _REGISTRYPROGRESSGETREQUEST._serialized_end=22955 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_start=22957 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_end=23081 - _REGISTRYPROGRESSGETRESPONSE._serialized_start=23083 - _REGISTRYPROGRESSGETRESPONSE._serialized_end=23144 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_start=23146 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_end=23272 - _SELECTORREPORTINVALIDSELECTOR._serialized_start=23274 - _SELECTORREPORTINVALIDSELECTOR._serialized_end=23369 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_start=23372 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_end=23502 - _DEPSNOPACKAGESFOUND._serialized_start=23504 - _DEPSNOPACKAGESFOUND._serialized_end=23525 - _DEPSNOPACKAGESFOUNDMSG._serialized_start=23527 - _DEPSNOPACKAGESFOUNDMSG._serialized_end=23637 - _DEPSSTARTPACKAGEINSTALL._serialized_start=23639 - _DEPSSTARTPACKAGEINSTALL._serialized_end=23686 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_start=23688 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_end=23806 - _DEPSINSTALLINFO._serialized_start=23808 - _DEPSINSTALLINFO._serialized_end=23847 - _DEPSINSTALLINFOMSG._serialized_start=23849 - _DEPSINSTALLINFOMSG._serialized_end=23951 - _DEPSUPDATEAVAILABLE._serialized_start=23953 - _DEPSUPDATEAVAILABLE._serialized_end=23998 - _DEPSUPDATEAVAILABLEMSG._serialized_start=24000 - _DEPSUPDATEAVAILABLEMSG._serialized_end=24110 - _DEPSUPTODATE._serialized_start=24112 - _DEPSUPTODATE._serialized_end=24126 - _DEPSUPTODATEMSG._serialized_start=24128 - _DEPSUPTODATEMSG._serialized_end=24224 - _DEPSLISTSUBDIRECTORY._serialized_start=24226 - _DEPSLISTSUBDIRECTORY._serialized_end=24270 - _DEPSLISTSUBDIRECTORYMSG._serialized_start=24272 - _DEPSLISTSUBDIRECTORYMSG._serialized_end=24384 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_start=24386 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_end=24432 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_start=24434 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_end=24558 - _RETRYEXTERNALCALL._serialized_start=24560 - _RETRYEXTERNALCALL._serialized_end=24609 - _RETRYEXTERNALCALLMSG._serialized_start=24611 - _RETRYEXTERNALCALLMSG._serialized_end=24717 - _RECORDRETRYEXCEPTION._serialized_start=24719 - _RECORDRETRYEXCEPTION._serialized_end=24754 - _RECORDRETRYEXCEPTIONMSG._serialized_start=24756 - _RECORDRETRYEXCEPTIONMSG._serialized_end=24868 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_start=24870 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_end=24916 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_start=24919 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_end=25053 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_start=25055 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_end=25121 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_start=25124 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_end=25260 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_start=25262 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_end=25312 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_start=25315 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_end=25447 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_start=25449 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_end=25499 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_start=25502 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_end=25634 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_start=25636 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_end=25689 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_start=25692 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_end=25830 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_start=25832 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_end=25883 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_start=25886 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_end=26020 - _DEPSSETDOWNLOADDIRECTORY._serialized_start=26022 - _DEPSSETDOWNLOADDIRECTORY._serialized_end=26062 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_start=26064 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_end=26184 - _DEPSUNPINNED._serialized_start=26186 - _DEPSUNPINNED._serialized_end=26231 - _DEPSUNPINNEDMSG._serialized_start=26233 - _DEPSUNPINNEDMSG._serialized_end=26329 - _NONODESFORSELECTIONCRITERIA._serialized_start=26331 - _NONODESFORSELECTIONCRITERIA._serialized_end=26378 - _NONODESFORSELECTIONCRITERIAMSG._serialized_start=26380 - _NONODESFORSELECTIONCRITERIAMSG._serialized_end=26506 - _DEPSLOCKUPDATING._serialized_start=26508 - _DEPSLOCKUPDATING._serialized_end=26549 - _DEPSLOCKUPDATINGMSG._serialized_start=26551 - _DEPSLOCKUPDATINGMSG._serialized_end=26655 - _DEPSADDPACKAGE._serialized_start=26657 - _DEPSADDPACKAGE._serialized_end=26739 - _DEPSADDPACKAGEMSG._serialized_start=26741 - _DEPSADDPACKAGEMSG._serialized_end=26841 - _DEPSFOUNDDUPLICATEPACKAGE._serialized_start=26844 - _DEPSFOUNDDUPLICATEPACKAGE._serialized_end=27011 - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_start=26958 - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_end=27011 - _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_start=27013 - _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_end=27135 - _DEPSVERSIONMISSING._serialized_start=27137 - _DEPSVERSIONMISSING._serialized_end=27173 - _DEPSVERSIONMISSINGMSG._serialized_start=27175 - _DEPSVERSIONMISSINGMSG._serialized_end=27283 - _RUNNINGOPERATIONCAUGHTERROR._serialized_start=27285 - _RUNNINGOPERATIONCAUGHTERROR._serialized_end=27327 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_start=27329 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_end=27455 - _COMPILECOMPLETE._serialized_start=27457 - _COMPILECOMPLETE._serialized_end=27474 - _COMPILECOMPLETEMSG._serialized_start=27476 - _COMPILECOMPLETEMSG._serialized_end=27578 - _FRESHNESSCHECKCOMPLETE._serialized_start=27580 - _FRESHNESSCHECKCOMPLETE._serialized_end=27604 - _FRESHNESSCHECKCOMPLETEMSG._serialized_start=27606 - _FRESHNESSCHECKCOMPLETEMSG._serialized_end=27722 - _SEEDHEADER._serialized_start=27724 - _SEEDHEADER._serialized_end=27752 - _SEEDHEADERMSG._serialized_start=27754 - _SEEDHEADERMSG._serialized_end=27846 - _SQLRUNNEREXCEPTION._serialized_start=27848 - _SQLRUNNEREXCEPTION._serialized_end=27899 - _SQLRUNNEREXCEPTIONMSG._serialized_start=27901 - _SQLRUNNEREXCEPTIONMSG._serialized_end=28009 - _LOGTESTRESULT._serialized_start=28012 - _LOGTESTRESULT._serialized_end=28180 - _LOGTESTRESULTMSG._serialized_start=28182 - _LOGTESTRESULTMSG._serialized_end=28280 - _LOGSTARTLINE._serialized_start=28282 - _LOGSTARTLINE._serialized_end=28389 - _LOGSTARTLINEMSG._serialized_start=28391 - _LOGSTARTLINEMSG._serialized_end=28487 - _LOGMODELRESULT._serialized_start=28490 - _LOGMODELRESULT._serialized_end=28639 - _LOGMODELRESULTMSG._serialized_start=28641 - _LOGMODELRESULTMSG._serialized_end=28741 - _LOGSNAPSHOTRESULT._serialized_start=28744 - _LOGSNAPSHOTRESULT._serialized_end=29018 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_start=28976 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_end=29018 - _LOGSNAPSHOTRESULTMSG._serialized_start=29020 - _LOGSNAPSHOTRESULTMSG._serialized_end=29126 - _LOGSEEDRESULT._serialized_start=29129 - _LOGSEEDRESULT._serialized_end=29314 - _LOGSEEDRESULTMSG._serialized_start=29316 - _LOGSEEDRESULTMSG._serialized_end=29414 - _LOGFRESHNESSRESULT._serialized_start=29417 - _LOGFRESHNESSRESULT._serialized_end=29590 - _LOGFRESHNESSRESULTMSG._serialized_start=29592 - _LOGFRESHNESSRESULTMSG._serialized_end=29700 - _LOGCANCELLINE._serialized_start=29702 - _LOGCANCELLINE._serialized_end=29736 - _LOGCANCELLINEMSG._serialized_start=29738 - _LOGCANCELLINEMSG._serialized_end=29836 - _DEFAULTSELECTOR._serialized_start=29838 - _DEFAULTSELECTOR._serialized_end=29869 - _DEFAULTSELECTORMSG._serialized_start=29871 - _DEFAULTSELECTORMSG._serialized_end=29973 - _NODESTART._serialized_start=29975 - _NODESTART._serialized_end=30028 - _NODESTARTMSG._serialized_start=30030 - _NODESTARTMSG._serialized_end=30120 - _NODEFINISHED._serialized_start=30122 - _NODEFINISHED._serialized_end=30225 - _NODEFINISHEDMSG._serialized_start=30227 - _NODEFINISHEDMSG._serialized_end=30323 - _QUERYCANCELATIONUNSUPPORTED._serialized_start=30325 - _QUERYCANCELATIONUNSUPPORTED._serialized_end=30368 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_start=30370 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_end=30496 - _CONCURRENCYLINE._serialized_start=30498 - _CONCURRENCYLINE._serialized_end=30577 - _CONCURRENCYLINEMSG._serialized_start=30579 - _CONCURRENCYLINEMSG._serialized_end=30681 - _WRITINGINJECTEDSQLFORNODE._serialized_start=30683 - _WRITINGINJECTEDSQLFORNODE._serialized_end=30752 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_start=30754 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_end=30876 - _NODECOMPILING._serialized_start=30878 - _NODECOMPILING._serialized_end=30935 - _NODECOMPILINGMSG._serialized_start=30937 - _NODECOMPILINGMSG._serialized_end=31035 - _NODEEXECUTING._serialized_start=31037 - _NODEEXECUTING._serialized_end=31094 - _NODEEXECUTINGMSG._serialized_start=31096 - _NODEEXECUTINGMSG._serialized_end=31194 - _LOGHOOKSTARTLINE._serialized_start=31196 - _LOGHOOKSTARTLINE._serialized_end=31305 - _LOGHOOKSTARTLINEMSG._serialized_start=31307 - _LOGHOOKSTARTLINEMSG._serialized_end=31411 - _LOGHOOKENDLINE._serialized_start=31414 - _LOGHOOKENDLINE._serialized_end=31561 - _LOGHOOKENDLINEMSG._serialized_start=31563 - _LOGHOOKENDLINEMSG._serialized_end=31663 - _SKIPPINGDETAILS._serialized_start=31666 - _SKIPPINGDETAILS._serialized_end=31813 - _SKIPPINGDETAILSMSG._serialized_start=31815 - _SKIPPINGDETAILSMSG._serialized_end=31917 - _NOTHINGTODO._serialized_start=31919 - _NOTHINGTODO._serialized_end=31932 - _NOTHINGTODOMSG._serialized_start=31934 - _NOTHINGTODOMSG._serialized_end=32028 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_start=32030 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_end=32074 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_start=32077 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_end=32207 - _ENDRUNRESULT._serialized_start=32210 - _ENDRUNRESULT._serialized_end=32357 - _ENDRUNRESULTMSG._serialized_start=32359 - _ENDRUNRESULTMSG._serialized_end=32455 - _NONODESSELECTED._serialized_start=32457 - _NONODESSELECTED._serialized_end=32474 - _NONODESSELECTEDMSG._serialized_start=32476 - _NONODESSELECTEDMSG._serialized_end=32578 - _COMMANDCOMPLETED._serialized_start=32580 - _COMMANDCOMPLETED._serialized_end=32699 - _COMMANDCOMPLETEDMSG._serialized_start=32701 - _COMMANDCOMPLETEDMSG._serialized_end=32805 - _SHOWNODE._serialized_start=32807 - _SHOWNODE._serialized_end=32914 - _SHOWNODEMSG._serialized_start=32916 - _SHOWNODEMSG._serialized_end=33004 - _COMPILEDNODE._serialized_start=33006 - _COMPILEDNODE._serialized_end=33118 - _COMPILEDNODEMSG._serialized_start=33120 - _COMPILEDNODEMSG._serialized_end=33216 - _CATCHABLEEXCEPTIONONRUN._serialized_start=33218 - _CATCHABLEEXCEPTIONONRUN._serialized_end=33316 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_start=33318 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_end=33436 - _INTERNALERRORONRUN._serialized_start=33438 - _INTERNALERRORONRUN._serialized_end=33491 - _INTERNALERRORONRUNMSG._serialized_start=33493 - _INTERNALERRORONRUNMSG._serialized_end=33601 - _GENERICEXCEPTIONONRUN._serialized_start=33603 - _GENERICEXCEPTIONONRUN._serialized_end=33678 - _GENERICEXCEPTIONONRUNMSG._serialized_start=33680 - _GENERICEXCEPTIONONRUNMSG._serialized_end=33794 - _NODECONNECTIONRELEASEERROR._serialized_start=33796 - _NODECONNECTIONRELEASEERROR._serialized_end=33874 - _NODECONNECTIONRELEASEERRORMSG._serialized_start=33876 - _NODECONNECTIONRELEASEERRORMSG._serialized_end=34000 - _FOUNDSTATS._serialized_start=34002 - _FOUNDSTATS._serialized_end=34033 - _FOUNDSTATSMSG._serialized_start=34035 - _FOUNDSTATSMSG._serialized_end=34127 - _MAINKEYBOARDINTERRUPT._serialized_start=34129 - _MAINKEYBOARDINTERRUPT._serialized_end=34152 - _MAINKEYBOARDINTERRUPTMSG._serialized_start=34154 - _MAINKEYBOARDINTERRUPTMSG._serialized_end=34268 - _MAINENCOUNTEREDERROR._serialized_start=34270 - _MAINENCOUNTEREDERROR._serialized_end=34305 - _MAINENCOUNTEREDERRORMSG._serialized_start=34307 - _MAINENCOUNTEREDERRORMSG._serialized_end=34419 - _MAINSTACKTRACE._serialized_start=34421 - _MAINSTACKTRACE._serialized_end=34458 - _MAINSTACKTRACEMSG._serialized_start=34460 - _MAINSTACKTRACEMSG._serialized_end=34560 - _SYSTEMCOULDNOTWRITE._serialized_start=34562 - _SYSTEMCOULDNOTWRITE._serialized_end=34626 - _SYSTEMCOULDNOTWRITEMSG._serialized_start=34628 - _SYSTEMCOULDNOTWRITEMSG._serialized_end=34738 - _SYSTEMEXECUTINGCMD._serialized_start=34740 - _SYSTEMEXECUTINGCMD._serialized_end=34773 - _SYSTEMEXECUTINGCMDMSG._serialized_start=34775 - _SYSTEMEXECUTINGCMDMSG._serialized_end=34883 - _SYSTEMSTDOUT._serialized_start=34885 - _SYSTEMSTDOUT._serialized_end=34913 - _SYSTEMSTDOUTMSG._serialized_start=34915 - _SYSTEMSTDOUTMSG._serialized_end=35011 - _SYSTEMSTDERR._serialized_start=35013 - _SYSTEMSTDERR._serialized_end=35041 - _SYSTEMSTDERRMSG._serialized_start=35043 - _SYSTEMSTDERRMSG._serialized_end=35139 - _SYSTEMREPORTRETURNCODE._serialized_start=35141 - _SYSTEMREPORTRETURNCODE._serialized_end=35185 - _SYSTEMREPORTRETURNCODEMSG._serialized_start=35187 - _SYSTEMREPORTRETURNCODEMSG._serialized_end=35303 - _TIMINGINFOCOLLECTED._serialized_start=35305 - _TIMINGINFOCOLLECTED._serialized_end=35417 - _TIMINGINFOCOLLECTEDMSG._serialized_start=35419 - _TIMINGINFOCOLLECTEDMSG._serialized_end=35529 - _LOGDEBUGSTACKTRACE._serialized_start=35531 - _LOGDEBUGSTACKTRACE._serialized_end=35569 - _LOGDEBUGSTACKTRACEMSG._serialized_start=35571 - _LOGDEBUGSTACKTRACEMSG._serialized_end=35679 - _CHECKCLEANPATH._serialized_start=35681 - _CHECKCLEANPATH._serialized_end=35711 - _CHECKCLEANPATHMSG._serialized_start=35713 - _CHECKCLEANPATHMSG._serialized_end=35813 - _CONFIRMCLEANPATH._serialized_start=35815 - _CONFIRMCLEANPATH._serialized_end=35847 - _CONFIRMCLEANPATHMSG._serialized_start=35849 - _CONFIRMCLEANPATHMSG._serialized_end=35953 - _PROTECTEDCLEANPATH._serialized_start=35955 - _PROTECTEDCLEANPATH._serialized_end=35989 - _PROTECTEDCLEANPATHMSG._serialized_start=35991 - _PROTECTEDCLEANPATHMSG._serialized_end=36099 - _FINISHEDCLEANPATHS._serialized_start=36101 - _FINISHEDCLEANPATHS._serialized_end=36121 - _FINISHEDCLEANPATHSMSG._serialized_start=36123 - _FINISHEDCLEANPATHSMSG._serialized_end=36231 - _OPENCOMMAND._serialized_start=36233 - _OPENCOMMAND._serialized_end=36286 - _OPENCOMMANDMSG._serialized_start=36288 - _OPENCOMMANDMSG._serialized_end=36382 - _FORMATTING._serialized_start=36384 - _FORMATTING._serialized_end=36409 - _FORMATTINGMSG._serialized_start=36411 - _FORMATTINGMSG._serialized_end=36503 - _SERVINGDOCSPORT._serialized_start=36505 - _SERVINGDOCSPORT._serialized_end=36553 - _SERVINGDOCSPORTMSG._serialized_start=36555 - _SERVINGDOCSPORTMSG._serialized_end=36657 - _SERVINGDOCSACCESSINFO._serialized_start=36659 - _SERVINGDOCSACCESSINFO._serialized_end=36696 - _SERVINGDOCSACCESSINFOMSG._serialized_start=36698 - _SERVINGDOCSACCESSINFOMSG._serialized_end=36812 - _SERVINGDOCSEXITINFO._serialized_start=36814 - _SERVINGDOCSEXITINFO._serialized_end=36835 - _SERVINGDOCSEXITINFOMSG._serialized_start=36837 - _SERVINGDOCSEXITINFOMSG._serialized_end=36947 - _RUNRESULTWARNING._serialized_start=36949 - _RUNRESULTWARNING._serialized_end=37023 - _RUNRESULTWARNINGMSG._serialized_start=37025 - _RUNRESULTWARNINGMSG._serialized_end=37129 - _RUNRESULTFAILURE._serialized_start=37131 - _RUNRESULTFAILURE._serialized_end=37205 - _RUNRESULTFAILUREMSG._serialized_start=37207 - _RUNRESULTFAILUREMSG._serialized_end=37311 - _STATSLINE._serialized_start=37313 - _STATSLINE._serialized_end=37420 - _STATSLINE_STATSENTRY._serialized_start=37376 - _STATSLINE_STATSENTRY._serialized_end=37420 - _STATSLINEMSG._serialized_start=37422 - _STATSLINEMSG._serialized_end=37512 - _RUNRESULTERROR._serialized_start=37514 - _RUNRESULTERROR._serialized_end=37543 - _RUNRESULTERRORMSG._serialized_start=37545 - _RUNRESULTERRORMSG._serialized_end=37645 - _RUNRESULTERRORNOMESSAGE._serialized_start=37647 - _RUNRESULTERRORNOMESSAGE._serialized_end=37688 - _RUNRESULTERRORNOMESSAGEMSG._serialized_start=37690 - _RUNRESULTERRORNOMESSAGEMSG._serialized_end=37808 - _SQLCOMPILEDPATH._serialized_start=37810 - _SQLCOMPILEDPATH._serialized_end=37841 - _SQLCOMPILEDPATHMSG._serialized_start=37843 - _SQLCOMPILEDPATHMSG._serialized_end=37945 - _CHECKNODETESTFAILURE._serialized_start=37947 - _CHECKNODETESTFAILURE._serialized_end=37992 - _CHECKNODETESTFAILUREMSG._serialized_start=37994 - _CHECKNODETESTFAILUREMSG._serialized_end=38106 - _ENDOFRUNSUMMARY._serialized_start=38108 - _ENDOFRUNSUMMARY._serialized_end=38195 - _ENDOFRUNSUMMARYMSG._serialized_start=38197 - _ENDOFRUNSUMMARYMSG._serialized_end=38299 - _LOGSKIPBECAUSEERROR._serialized_start=38301 - _LOGSKIPBECAUSEERROR._serialized_end=38386 - _LOGSKIPBECAUSEERRORMSG._serialized_start=38388 - _LOGSKIPBECAUSEERRORMSG._serialized_end=38498 - _ENSUREGITINSTALLED._serialized_start=38500 - _ENSUREGITINSTALLED._serialized_end=38520 - _ENSUREGITINSTALLEDMSG._serialized_start=38522 - _ENSUREGITINSTALLEDMSG._serialized_end=38630 - _DEPSCREATINGLOCALSYMLINK._serialized_start=38632 - _DEPSCREATINGLOCALSYMLINK._serialized_end=38658 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_start=38660 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_end=38780 - _DEPSSYMLINKNOTAVAILABLE._serialized_start=38782 - _DEPSSYMLINKNOTAVAILABLE._serialized_end=38807 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_start=38809 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_end=38927 - _DISABLETRACKING._serialized_start=38929 - _DISABLETRACKING._serialized_end=38946 - _DISABLETRACKINGMSG._serialized_start=38948 - _DISABLETRACKINGMSG._serialized_end=39050 - _SENDINGEVENT._serialized_start=39052 - _SENDINGEVENT._serialized_end=39082 - _SENDINGEVENTMSG._serialized_start=39084 - _SENDINGEVENTMSG._serialized_end=39180 - _SENDEVENTFAILURE._serialized_start=39182 - _SENDEVENTFAILURE._serialized_end=39200 - _SENDEVENTFAILUREMSG._serialized_start=39202 - _SENDEVENTFAILUREMSG._serialized_end=39306 - _FLUSHEVENTS._serialized_start=39308 - _FLUSHEVENTS._serialized_end=39321 - _FLUSHEVENTSMSG._serialized_start=39323 - _FLUSHEVENTSMSG._serialized_end=39417 - _FLUSHEVENTSFAILURE._serialized_start=39419 - _FLUSHEVENTSFAILURE._serialized_end=39439 - _FLUSHEVENTSFAILUREMSG._serialized_start=39441 - _FLUSHEVENTSFAILUREMSG._serialized_end=39549 - _TRACKINGINITIALIZEFAILURE._serialized_start=39551 - _TRACKINGINITIALIZEFAILURE._serialized_end=39596 - _TRACKINGINITIALIZEFAILUREMSG._serialized_start=39598 - _TRACKINGINITIALIZEFAILUREMSG._serialized_end=39720 - _RUNRESULTWARNINGMESSAGE._serialized_start=39722 - _RUNRESULTWARNINGMESSAGE._serialized_end=39760 - _RUNRESULTWARNINGMESSAGEMSG._serialized_start=39762 - _RUNRESULTWARNINGMESSAGEMSG._serialized_end=39880 - _DEBUGCMDOUT._serialized_start=39882 - _DEBUGCMDOUT._serialized_end=39908 - _DEBUGCMDOUTMSG._serialized_start=39910 - _DEBUGCMDOUTMSG._serialized_end=40004 - _DEBUGCMDRESULT._serialized_start=40006 - _DEBUGCMDRESULT._serialized_end=40035 - _DEBUGCMDRESULTMSG._serialized_start=40037 - _DEBUGCMDRESULTMSG._serialized_end=40137 - _LISTCMDOUT._serialized_start=40139 - _LISTCMDOUT._serialized_end=40164 - _LISTCMDOUTMSG._serialized_start=40166 - _LISTCMDOUTMSG._serialized_end=40258 - _NOTE._serialized_start=40260 - _NOTE._serialized_end=40279 - _NOTEMSG._serialized_start=40281 - _NOTEMSG._serialized_end=40361 - _RESOURCEREPORT._serialized_start=40364 - _RESOURCEREPORT._serialized_end=40600 - _RESOURCEREPORTMSG._serialized_start=40602 - _RESOURCEREPORTMSG._serialized_end=40702 + _globals['_EVENTINFO']._serialized_start=92 + _globals['_EVENTINFO']._serialized_end=365 + _globals['_EVENTINFO_EXTRAENTRY']._serialized_start=321 + _globals['_EVENTINFO_EXTRAENTRY']._serialized_end=365 + _globals['_TIMINGINFOMSG']._serialized_start=367 + _globals['_TIMINGINFOMSG']._serialized_end=494 + _globals['_NODERELATION']._serialized_start=496 + _globals['_NODERELATION']._serialized_end=582 + _globals['_NODEINFO']._serialized_start=585 + _globals['_NODEINFO']._serialized_end=858 + _globals['_RUNRESULTMSG']._serialized_start=861 + _globals['_RUNRESULTMSG']._serialized_end=1070 + _globals['_COLUMNTYPE']._serialized_start=1072 + _globals['_COLUMNTYPE']._serialized_end=1164 + _globals['_COLUMNCONSTRAINT']._serialized_start=1166 + _globals['_COLUMNCONSTRAINT']._serialized_end=1255 + _globals['_MODELCONSTRAINT']._serialized_start=1257 + _globals['_MODELCONSTRAINT']._serialized_end=1341 + _globals['_GENERICMESSAGE']._serialized_start=1343 + _globals['_GENERICMESSAGE']._serialized_end=1397 + _globals['_MAINREPORTVERSION']._serialized_start=1399 + _globals['_MAINREPORTVERSION']._serialized_end=1456 + _globals['_MAINREPORTVERSIONMSG']._serialized_start=1458 + _globals['_MAINREPORTVERSIONMSG']._serialized_end=1564 + _globals['_MAINREPORTARGS']._serialized_start=1566 + _globals['_MAINREPORTARGS']._serialized_end=1680 + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_start=1637 + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_end=1680 + _globals['_MAINREPORTARGSMSG']._serialized_start=1682 + _globals['_MAINREPORTARGSMSG']._serialized_end=1782 + _globals['_MAINTRACKINGUSERSTATE']._serialized_start=1784 + _globals['_MAINTRACKINGUSERSTATE']._serialized_end=1827 + _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_start=1829 + _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_end=1943 + _globals['_MERGEDFROMSTATE']._serialized_start=1945 + _globals['_MERGEDFROMSTATE']._serialized_end=1998 + _globals['_MERGEDFROMSTATEMSG']._serialized_start=2000 + _globals['_MERGEDFROMSTATEMSG']._serialized_end=2102 + _globals['_MISSINGPROFILETARGET']._serialized_start=2104 + _globals['_MISSINGPROFILETARGET']._serialized_end=2169 + _globals['_MISSINGPROFILETARGETMSG']._serialized_start=2171 + _globals['_MISSINGPROFILETARGETMSG']._serialized_end=2283 + _globals['_INVALIDOPTIONYAML']._serialized_start=2285 + _globals['_INVALIDOPTIONYAML']._serialized_end=2325 + _globals['_INVALIDOPTIONYAMLMSG']._serialized_start=2327 + _globals['_INVALIDOPTIONYAMLMSG']._serialized_end=2433 + _globals['_LOGDBTPROJECTERROR']._serialized_start=2435 + _globals['_LOGDBTPROJECTERROR']._serialized_end=2468 + _globals['_LOGDBTPROJECTERRORMSG']._serialized_start=2470 + _globals['_LOGDBTPROJECTERRORMSG']._serialized_end=2578 + _globals['_LOGDBTPROFILEERROR']._serialized_start=2580 + _globals['_LOGDBTPROFILEERROR']._serialized_end=2631 + _globals['_LOGDBTPROFILEERRORMSG']._serialized_start=2633 + _globals['_LOGDBTPROFILEERRORMSG']._serialized_end=2741 + _globals['_STARTERPROJECTPATH']._serialized_start=2743 + _globals['_STARTERPROJECTPATH']._serialized_end=2776 + _globals['_STARTERPROJECTPATHMSG']._serialized_start=2778 + _globals['_STARTERPROJECTPATHMSG']._serialized_end=2886 + _globals['_CONFIGFOLDERDIRECTORY']._serialized_start=2888 + _globals['_CONFIGFOLDERDIRECTORY']._serialized_end=2924 + _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_start=2926 + _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_end=3040 + _globals['_NOSAMPLEPROFILEFOUND']._serialized_start=3042 + _globals['_NOSAMPLEPROFILEFOUND']._serialized_end=3081 + _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_start=3083 + _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_end=3195 + _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_start=3197 + _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_end=3251 + _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_start=3253 + _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_end=3373 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_start=3375 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_end=3441 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_start=3444 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_end=3588 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_start=3590 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_end=3657 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_start=3660 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_end=3806 + _globals['_SETTINGUPPROFILE']._serialized_start=3808 + _globals['_SETTINGUPPROFILE']._serialized_end=3826 + _globals['_SETTINGUPPROFILEMSG']._serialized_start=3828 + _globals['_SETTINGUPPROFILEMSG']._serialized_end=3932 + _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_start=3934 + _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_end=3962 + _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_start=3964 + _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_end=4088 + _globals['_PROJECTNAMEALREADYEXISTS']._serialized_start=4090 + _globals['_PROJECTNAMEALREADYEXISTS']._serialized_end=4130 + _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_start=4132 + _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_end=4252 + _globals['_PROJECTCREATED']._serialized_start=4254 + _globals['_PROJECTCREATED']._serialized_end=4329 + _globals['_PROJECTCREATEDMSG']._serialized_start=4331 + _globals['_PROJECTCREATEDMSG']._serialized_end=4431 + _globals['_INPUTFILEDIFFERROR']._serialized_start=4433 + _globals['_INPUTFILEDIFFERROR']._serialized_end=4488 + _globals['_INPUTFILEDIFFERRORMSG']._serialized_start=4490 + _globals['_INPUTFILEDIFFERRORMSG']._serialized_end=4598 + _globals['_INVALIDVALUEFORFIELD']._serialized_start=4600 + _globals['_INVALIDVALUEFORFIELD']._serialized_end=4663 + _globals['_INVALIDVALUEFORFIELDMSG']._serialized_start=4665 + _globals['_INVALIDVALUEFORFIELDMSG']._serialized_end=4777 + _globals['_VALIDATIONWARNING']._serialized_start=4779 + _globals['_VALIDATIONWARNING']._serialized_end=4860 + _globals['_VALIDATIONWARNINGMSG']._serialized_start=4862 + _globals['_VALIDATIONWARNINGMSG']._serialized_end=4968 + _globals['_PARSEPERFINFOPATH']._serialized_start=4970 + _globals['_PARSEPERFINFOPATH']._serialized_end=5003 + _globals['_PARSEPERFINFOPATHMSG']._serialized_start=5005 + _globals['_PARSEPERFINFOPATHMSG']._serialized_end=5111 + _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_start=5113 + _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_end=5162 + _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_start=5165 + _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_end=5303 + _globals['_PARTIALPARSINGERROR']._serialized_start=5306 + _globals['_PARTIALPARSINGERROR']._serialized_end=5440 + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_start=5394 + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_end=5440 + _globals['_PARTIALPARSINGERRORMSG']._serialized_start=5442 + _globals['_PARTIALPARSINGERRORMSG']._serialized_end=5552 + _globals['_PARTIALPARSINGSKIPPARSING']._serialized_start=5554 + _globals['_PARTIALPARSINGSKIPPARSING']._serialized_end=5581 + _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_start=5583 + _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_end=5705 + _globals['_UNABLETOPARTIALPARSE']._serialized_start=5707 + _globals['_UNABLETOPARTIALPARSE']._serialized_end=5745 + _globals['_UNABLETOPARTIALPARSEMSG']._serialized_start=5747 + _globals['_UNABLETOPARTIALPARSEMSG']._serialized_end=5859 + _globals['_STATECHECKVARSHASH']._serialized_start=5861 + _globals['_STATECHECKVARSHASH']._serialized_end=5963 + _globals['_STATECHECKVARSHASHMSG']._serialized_start=5965 + _globals['_STATECHECKVARSHASHMSG']._serialized_end=6073 + _globals['_PARTIALPARSINGNOTENABLED']._serialized_start=6075 + _globals['_PARTIALPARSINGNOTENABLED']._serialized_end=6101 + _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_start=6103 + _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_end=6223 + _globals['_PARSEDFILELOADFAILED']._serialized_start=6225 + _globals['_PARSEDFILELOADFAILED']._serialized_end=6292 + _globals['_PARSEDFILELOADFAILEDMSG']._serialized_start=6294 + _globals['_PARSEDFILELOADFAILEDMSG']._serialized_end=6406 + _globals['_PARTIALPARSINGENABLED']._serialized_start=6408 + _globals['_PARTIALPARSINGENABLED']._serialized_end=6480 + _globals['_PARTIALPARSINGENABLEDMSG']._serialized_start=6482 + _globals['_PARTIALPARSINGENABLEDMSG']._serialized_end=6596 + _globals['_PARTIALPARSINGFILE']._serialized_start=6598 + _globals['_PARTIALPARSINGFILE']._serialized_end=6654 + _globals['_PARTIALPARSINGFILEMSG']._serialized_start=6656 + _globals['_PARTIALPARSINGFILEMSG']._serialized_end=6764 + _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_start=6767 + _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_end=6942 + _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_start=6945 + _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_end=7079 + _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_start=7081 + _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_end=7136 + _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_start=7138 + _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_end=7258 + _globals['_SEEDINCREASED']._serialized_start=7260 + _globals['_SEEDINCREASED']._serialized_end=7311 + _globals['_SEEDINCREASEDMSG']._serialized_start=7313 + _globals['_SEEDINCREASEDMSG']._serialized_end=7411 + _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_start=7413 + _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_end=7475 + _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_start=7477 + _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_end=7597 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_start=7599 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_end=7667 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_start=7670 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_end=7802 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_start=7804 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_end=7896 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_start=7899 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_end=8033 + _globals['_UNUSEDTABLES']._serialized_start=8035 + _globals['_UNUSEDTABLES']._serialized_end=8072 + _globals['_UNUSEDTABLESMSG']._serialized_start=8074 + _globals['_UNUSEDTABLESMSG']._serialized_end=8170 + _globals['_WRONGRESOURCESCHEMAFILE']._serialized_start=8173 + _globals['_WRONGRESOURCESCHEMAFILE']._serialized_end=8308 + _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_start=8310 + _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_end=8428 + _globals['_NONODEFORYAMLKEY']._serialized_start=8430 + _globals['_NONODEFORYAMLKEY']._serialized_end=8505 + _globals['_NONODEFORYAMLKEYMSG']._serialized_start=8507 + _globals['_NONODEFORYAMLKEYMSG']._serialized_end=8611 + _globals['_MACRONOTFOUNDFORPATCH']._serialized_start=8613 + _globals['_MACRONOTFOUNDFORPATCH']._serialized_end=8656 + _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_start=8658 + _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_end=8772 + _globals['_NODENOTFOUNDORDISABLED']._serialized_start=8775 + _globals['_NODENOTFOUNDORDISABLED']._serialized_end=8959 + _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_start=8961 + _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_end=9077 + _globals['_JINJALOGWARNING']._serialized_start=9079 + _globals['_JINJALOGWARNING']._serialized_end=9151 + _globals['_JINJALOGWARNINGMSG']._serialized_start=9153 + _globals['_JINJALOGWARNINGMSG']._serialized_end=9255 + _globals['_JINJALOGINFO']._serialized_start=9257 + _globals['_JINJALOGINFO']._serialized_end=9326 + _globals['_JINJALOGINFOMSG']._serialized_start=9328 + _globals['_JINJALOGINFOMSG']._serialized_end=9424 + _globals['_JINJALOGDEBUG']._serialized_start=9426 + _globals['_JINJALOGDEBUG']._serialized_end=9496 + _globals['_JINJALOGDEBUGMSG']._serialized_start=9498 + _globals['_JINJALOGDEBUGMSG']._serialized_end=9596 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_start=9599 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_end=9773 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_start=9776 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_end=9908 + _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_start=9911 + _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_end=10109 + _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_start=10112 + _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_end=10240 + _globals['_DEPRECATEDREFERENCE']._serialized_start=10243 + _globals['_DEPRECATEDREFERENCE']._serialized_end=10432 + _globals['_DEPRECATEDREFERENCEMSG']._serialized_start=10434 + _globals['_DEPRECATEDREFERENCEMSG']._serialized_end=10544 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_start=10546 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_end=10606 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_start=10609 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_end=10753 + _globals['_PARSEINLINENODEERROR']._serialized_start=10755 + _globals['_PARSEINLINENODEERROR']._serialized_end=10832 + _globals['_PARSEINLINENODEERRORMSG']._serialized_start=10834 + _globals['_PARSEINLINENODEERRORMSG']._serialized_end=10946 + _globals['_SEMANTICVALIDATIONFAILURE']._serialized_start=10948 + _globals['_SEMANTICVALIDATIONFAILURE']._serialized_end=10988 + _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_start=10990 + _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_end=11112 + _globals['_UNVERSIONEDBREAKINGCHANGE']._serialized_start=11115 + _globals['_UNVERSIONEDBREAKINGCHANGE']._serialized_end=11509 + _globals['_UNVERSIONEDBREAKINGCHANGEMSG']._serialized_start=11511 + _globals['_UNVERSIONEDBREAKINGCHANGEMSG']._serialized_end=11633 + _globals['_WARNSTATETARGETEQUAL']._serialized_start=11635 + _globals['_WARNSTATETARGETEQUAL']._serialized_end=11677 + _globals['_WARNSTATETARGETEQUALMSG']._serialized_start=11679 + _globals['_WARNSTATETARGETEQUALMSG']._serialized_end=11791 + _globals['_FRESHNESSCONFIGPROBLEM']._serialized_start=11793 + _globals['_FRESHNESSCONFIGPROBLEM']._serialized_end=11830 + _globals['_FRESHNESSCONFIGPROBLEMMSG']._serialized_start=11832 + _globals['_FRESHNESSCONFIGPROBLEMMSG']._serialized_end=11948 + _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_start=11950 + _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_end=11997 + _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_start=12000 + _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_end=12130 + _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_start=12132 + _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_end=12179 + _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_start=12181 + _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_end=12307 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_start=12309 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_end=12361 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_start=12364 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_end=12510 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_start=12512 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_end=12558 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_start=12561 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_end=12695 + _globals['_GITNOTHINGTODO']._serialized_start=12697 + _globals['_GITNOTHINGTODO']._serialized_end=12726 + _globals['_GITNOTHINGTODOMSG']._serialized_start=12728 + _globals['_GITNOTHINGTODOMSG']._serialized_end=12828 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_start=12830 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_end=12899 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_start=12902 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_end=13036 + _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_start=13038 + _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_end=13080 + _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_start=13082 + _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_end=13200 + _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_start=13202 + _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_end=13243 + _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_start=13245 + _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_end=13369 + _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_start=13371 + _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_end=13432 + _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_start=13434 + _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_end=13560 + _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_start=13562 + _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_end=13657 + _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_start=13660 + _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_end=13790 + _globals['_DEPSNOPACKAGESFOUND']._serialized_start=13792 + _globals['_DEPSNOPACKAGESFOUND']._serialized_end=13813 + _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_start=13815 + _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_end=13925 + _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_start=13927 + _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_end=13974 + _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_start=13976 + _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_end=14094 + _globals['_DEPSINSTALLINFO']._serialized_start=14096 + _globals['_DEPSINSTALLINFO']._serialized_end=14135 + _globals['_DEPSINSTALLINFOMSG']._serialized_start=14137 + _globals['_DEPSINSTALLINFOMSG']._serialized_end=14239 + _globals['_DEPSUPDATEAVAILABLE']._serialized_start=14241 + _globals['_DEPSUPDATEAVAILABLE']._serialized_end=14286 + _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_start=14288 + _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_end=14398 + _globals['_DEPSUPTODATE']._serialized_start=14400 + _globals['_DEPSUPTODATE']._serialized_end=14414 + _globals['_DEPSUPTODATEMSG']._serialized_start=14416 + _globals['_DEPSUPTODATEMSG']._serialized_end=14512 + _globals['_DEPSLISTSUBDIRECTORY']._serialized_start=14514 + _globals['_DEPSLISTSUBDIRECTORY']._serialized_end=14558 + _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_start=14560 + _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_end=14672 + _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_start=14674 + _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_end=14720 + _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_start=14722 + _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_end=14846 + _globals['_RETRYEXTERNALCALL']._serialized_start=14848 + _globals['_RETRYEXTERNALCALL']._serialized_end=14897 + _globals['_RETRYEXTERNALCALLMSG']._serialized_start=14899 + _globals['_RETRYEXTERNALCALLMSG']._serialized_end=15005 + _globals['_RECORDRETRYEXCEPTION']._serialized_start=15007 + _globals['_RECORDRETRYEXCEPTION']._serialized_end=15042 + _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_start=15044 + _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_end=15156 + _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_start=15158 + _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_end=15204 + _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_start=15207 + _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_end=15341 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_start=15343 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_end=15409 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_start=15412 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_end=15548 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_start=15550 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_end=15600 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_start=15603 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_end=15735 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_start=15737 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_end=15787 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_start=15790 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_end=15922 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_start=15924 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_end=15977 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_start=15980 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_end=16118 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_start=16120 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_end=16171 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_start=16174 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_end=16308 + _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_start=16310 + _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_end=16350 + _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_start=16352 + _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_end=16472 + _globals['_DEPSUNPINNED']._serialized_start=16474 + _globals['_DEPSUNPINNED']._serialized_end=16519 + _globals['_DEPSUNPINNEDMSG']._serialized_start=16521 + _globals['_DEPSUNPINNEDMSG']._serialized_end=16617 + _globals['_NONODESFORSELECTIONCRITERIA']._serialized_start=16619 + _globals['_NONODESFORSELECTIONCRITERIA']._serialized_end=16666 + _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_start=16668 + _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_end=16794 + _globals['_DEPSLOCKUPDATING']._serialized_start=16796 + _globals['_DEPSLOCKUPDATING']._serialized_end=16837 + _globals['_DEPSLOCKUPDATINGMSG']._serialized_start=16839 + _globals['_DEPSLOCKUPDATINGMSG']._serialized_end=16943 + _globals['_DEPSADDPACKAGE']._serialized_start=16945 + _globals['_DEPSADDPACKAGE']._serialized_end=17027 + _globals['_DEPSADDPACKAGEMSG']._serialized_start=17029 + _globals['_DEPSADDPACKAGEMSG']._serialized_end=17129 + _globals['_DEPSFOUNDDUPLICATEPACKAGE']._serialized_start=17132 + _globals['_DEPSFOUNDDUPLICATEPACKAGE']._serialized_end=17299 + _globals['_DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY']._serialized_start=17246 + _globals['_DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY']._serialized_end=17299 + _globals['_DEPSFOUNDDUPLICATEPACKAGEMSG']._serialized_start=17301 + _globals['_DEPSFOUNDDUPLICATEPACKAGEMSG']._serialized_end=17423 + _globals['_DEPSVERSIONMISSING']._serialized_start=17425 + _globals['_DEPSVERSIONMISSING']._serialized_end=17461 + _globals['_DEPSVERSIONMISSINGMSG']._serialized_start=17463 + _globals['_DEPSVERSIONMISSINGMSG']._serialized_end=17571 + _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_start=17573 + _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_end=17615 + _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_start=17617 + _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_end=17743 + _globals['_COMPILECOMPLETE']._serialized_start=17745 + _globals['_COMPILECOMPLETE']._serialized_end=17762 + _globals['_COMPILECOMPLETEMSG']._serialized_start=17764 + _globals['_COMPILECOMPLETEMSG']._serialized_end=17866 + _globals['_FRESHNESSCHECKCOMPLETE']._serialized_start=17868 + _globals['_FRESHNESSCHECKCOMPLETE']._serialized_end=17892 + _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_start=17894 + _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_end=18010 + _globals['_SEEDHEADER']._serialized_start=18012 + _globals['_SEEDHEADER']._serialized_end=18040 + _globals['_SEEDHEADERMSG']._serialized_start=18042 + _globals['_SEEDHEADERMSG']._serialized_end=18134 + _globals['_SQLRUNNEREXCEPTION']._serialized_start=18136 + _globals['_SQLRUNNEREXCEPTION']._serialized_end=18187 + _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_start=18189 + _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_end=18297 + _globals['_LOGTESTRESULT']._serialized_start=18300 + _globals['_LOGTESTRESULT']._serialized_end=18468 + _globals['_LOGTESTRESULTMSG']._serialized_start=18470 + _globals['_LOGTESTRESULTMSG']._serialized_end=18568 + _globals['_LOGSTARTLINE']._serialized_start=18570 + _globals['_LOGSTARTLINE']._serialized_end=18677 + _globals['_LOGSTARTLINEMSG']._serialized_start=18679 + _globals['_LOGSTARTLINEMSG']._serialized_end=18775 + _globals['_LOGMODELRESULT']._serialized_start=18778 + _globals['_LOGMODELRESULT']._serialized_end=18927 + _globals['_LOGMODELRESULTMSG']._serialized_start=18929 + _globals['_LOGMODELRESULTMSG']._serialized_end=19029 + _globals['_LOGSNAPSHOTRESULT']._serialized_start=19032 + _globals['_LOGSNAPSHOTRESULT']._serialized_end=19306 + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_start=19264 + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_end=19306 + _globals['_LOGSNAPSHOTRESULTMSG']._serialized_start=19308 + _globals['_LOGSNAPSHOTRESULTMSG']._serialized_end=19414 + _globals['_LOGSEEDRESULT']._serialized_start=19417 + _globals['_LOGSEEDRESULT']._serialized_end=19602 + _globals['_LOGSEEDRESULTMSG']._serialized_start=19604 + _globals['_LOGSEEDRESULTMSG']._serialized_end=19702 + _globals['_LOGFRESHNESSRESULT']._serialized_start=19705 + _globals['_LOGFRESHNESSRESULT']._serialized_end=19878 + _globals['_LOGFRESHNESSRESULTMSG']._serialized_start=19880 + _globals['_LOGFRESHNESSRESULTMSG']._serialized_end=19988 + _globals['_LOGCANCELLINE']._serialized_start=19990 + _globals['_LOGCANCELLINE']._serialized_end=20024 + _globals['_LOGCANCELLINEMSG']._serialized_start=20026 + _globals['_LOGCANCELLINEMSG']._serialized_end=20124 + _globals['_DEFAULTSELECTOR']._serialized_start=20126 + _globals['_DEFAULTSELECTOR']._serialized_end=20157 + _globals['_DEFAULTSELECTORMSG']._serialized_start=20159 + _globals['_DEFAULTSELECTORMSG']._serialized_end=20261 + _globals['_NODESTART']._serialized_start=20263 + _globals['_NODESTART']._serialized_end=20316 + _globals['_NODESTARTMSG']._serialized_start=20318 + _globals['_NODESTARTMSG']._serialized_end=20408 + _globals['_NODEFINISHED']._serialized_start=20410 + _globals['_NODEFINISHED']._serialized_end=20513 + _globals['_NODEFINISHEDMSG']._serialized_start=20515 + _globals['_NODEFINISHEDMSG']._serialized_end=20611 + _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_start=20613 + _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_end=20656 + _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_start=20658 + _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_end=20784 + _globals['_CONCURRENCYLINE']._serialized_start=20786 + _globals['_CONCURRENCYLINE']._serialized_end=20865 + _globals['_CONCURRENCYLINEMSG']._serialized_start=20867 + _globals['_CONCURRENCYLINEMSG']._serialized_end=20969 + _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_start=20971 + _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_end=21040 + _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_start=21042 + _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_end=21164 + _globals['_NODECOMPILING']._serialized_start=21166 + _globals['_NODECOMPILING']._serialized_end=21223 + _globals['_NODECOMPILINGMSG']._serialized_start=21225 + _globals['_NODECOMPILINGMSG']._serialized_end=21323 + _globals['_NODEEXECUTING']._serialized_start=21325 + _globals['_NODEEXECUTING']._serialized_end=21382 + _globals['_NODEEXECUTINGMSG']._serialized_start=21384 + _globals['_NODEEXECUTINGMSG']._serialized_end=21482 + _globals['_LOGHOOKSTARTLINE']._serialized_start=21484 + _globals['_LOGHOOKSTARTLINE']._serialized_end=21593 + _globals['_LOGHOOKSTARTLINEMSG']._serialized_start=21595 + _globals['_LOGHOOKSTARTLINEMSG']._serialized_end=21699 + _globals['_LOGHOOKENDLINE']._serialized_start=21702 + _globals['_LOGHOOKENDLINE']._serialized_end=21849 + _globals['_LOGHOOKENDLINEMSG']._serialized_start=21851 + _globals['_LOGHOOKENDLINEMSG']._serialized_end=21951 + _globals['_SKIPPINGDETAILS']._serialized_start=21954 + _globals['_SKIPPINGDETAILS']._serialized_end=22101 + _globals['_SKIPPINGDETAILSMSG']._serialized_start=22103 + _globals['_SKIPPINGDETAILSMSG']._serialized_end=22205 + _globals['_NOTHINGTODO']._serialized_start=22207 + _globals['_NOTHINGTODO']._serialized_end=22220 + _globals['_NOTHINGTODOMSG']._serialized_start=22222 + _globals['_NOTHINGTODOMSG']._serialized_end=22316 + _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_start=22318 + _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_end=22362 + _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_start=22365 + _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_end=22495 + _globals['_ENDRUNRESULT']._serialized_start=22498 + _globals['_ENDRUNRESULT']._serialized_end=22645 + _globals['_ENDRUNRESULTMSG']._serialized_start=22647 + _globals['_ENDRUNRESULTMSG']._serialized_end=22743 + _globals['_NONODESSELECTED']._serialized_start=22745 + _globals['_NONODESSELECTED']._serialized_end=22762 + _globals['_NONODESSELECTEDMSG']._serialized_start=22764 + _globals['_NONODESSELECTEDMSG']._serialized_end=22866 + _globals['_COMMANDCOMPLETED']._serialized_start=22868 + _globals['_COMMANDCOMPLETED']._serialized_end=22987 + _globals['_COMMANDCOMPLETEDMSG']._serialized_start=22989 + _globals['_COMMANDCOMPLETEDMSG']._serialized_end=23093 + _globals['_SHOWNODE']._serialized_start=23095 + _globals['_SHOWNODE']._serialized_end=23202 + _globals['_SHOWNODEMSG']._serialized_start=23204 + _globals['_SHOWNODEMSG']._serialized_end=23292 + _globals['_COMPILEDNODE']._serialized_start=23294 + _globals['_COMPILEDNODE']._serialized_end=23406 + _globals['_COMPILEDNODEMSG']._serialized_start=23408 + _globals['_COMPILEDNODEMSG']._serialized_end=23504 + _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_start=23506 + _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_end=23604 + _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_start=23606 + _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_end=23724 + _globals['_INTERNALERRORONRUN']._serialized_start=23726 + _globals['_INTERNALERRORONRUN']._serialized_end=23779 + _globals['_INTERNALERRORONRUNMSG']._serialized_start=23781 + _globals['_INTERNALERRORONRUNMSG']._serialized_end=23889 + _globals['_GENERICEXCEPTIONONRUN']._serialized_start=23891 + _globals['_GENERICEXCEPTIONONRUN']._serialized_end=23966 + _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_start=23968 + _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_end=24082 + _globals['_NODECONNECTIONRELEASEERROR']._serialized_start=24084 + _globals['_NODECONNECTIONRELEASEERROR']._serialized_end=24162 + _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_start=24164 + _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_end=24288 + _globals['_FOUNDSTATS']._serialized_start=24290 + _globals['_FOUNDSTATS']._serialized_end=24321 + _globals['_FOUNDSTATSMSG']._serialized_start=24323 + _globals['_FOUNDSTATSMSG']._serialized_end=24415 + _globals['_MAINKEYBOARDINTERRUPT']._serialized_start=24417 + _globals['_MAINKEYBOARDINTERRUPT']._serialized_end=24440 + _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_start=24442 + _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_end=24556 + _globals['_MAINENCOUNTEREDERROR']._serialized_start=24558 + _globals['_MAINENCOUNTEREDERROR']._serialized_end=24593 + _globals['_MAINENCOUNTEREDERRORMSG']._serialized_start=24595 + _globals['_MAINENCOUNTEREDERRORMSG']._serialized_end=24707 + _globals['_MAINSTACKTRACE']._serialized_start=24709 + _globals['_MAINSTACKTRACE']._serialized_end=24746 + _globals['_MAINSTACKTRACEMSG']._serialized_start=24748 + _globals['_MAINSTACKTRACEMSG']._serialized_end=24848 + _globals['_SYSTEMCOULDNOTWRITE']._serialized_start=24850 + _globals['_SYSTEMCOULDNOTWRITE']._serialized_end=24914 + _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_start=24916 + _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_end=25026 + _globals['_SYSTEMEXECUTINGCMD']._serialized_start=25028 + _globals['_SYSTEMEXECUTINGCMD']._serialized_end=25061 + _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_start=25063 + _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_end=25171 + _globals['_SYSTEMSTDOUT']._serialized_start=25173 + _globals['_SYSTEMSTDOUT']._serialized_end=25201 + _globals['_SYSTEMSTDOUTMSG']._serialized_start=25203 + _globals['_SYSTEMSTDOUTMSG']._serialized_end=25299 + _globals['_SYSTEMSTDERR']._serialized_start=25301 + _globals['_SYSTEMSTDERR']._serialized_end=25329 + _globals['_SYSTEMSTDERRMSG']._serialized_start=25331 + _globals['_SYSTEMSTDERRMSG']._serialized_end=25427 + _globals['_SYSTEMREPORTRETURNCODE']._serialized_start=25429 + _globals['_SYSTEMREPORTRETURNCODE']._serialized_end=25473 + _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_start=25475 + _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_end=25591 + _globals['_TIMINGINFOCOLLECTED']._serialized_start=25593 + _globals['_TIMINGINFOCOLLECTED']._serialized_end=25705 + _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_start=25707 + _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_end=25817 + _globals['_LOGDEBUGSTACKTRACE']._serialized_start=25819 + _globals['_LOGDEBUGSTACKTRACE']._serialized_end=25857 + _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_start=25859 + _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_end=25967 + _globals['_CHECKCLEANPATH']._serialized_start=25969 + _globals['_CHECKCLEANPATH']._serialized_end=25999 + _globals['_CHECKCLEANPATHMSG']._serialized_start=26001 + _globals['_CHECKCLEANPATHMSG']._serialized_end=26101 + _globals['_CONFIRMCLEANPATH']._serialized_start=26103 + _globals['_CONFIRMCLEANPATH']._serialized_end=26135 + _globals['_CONFIRMCLEANPATHMSG']._serialized_start=26137 + _globals['_CONFIRMCLEANPATHMSG']._serialized_end=26241 + _globals['_PROTECTEDCLEANPATH']._serialized_start=26243 + _globals['_PROTECTEDCLEANPATH']._serialized_end=26277 + _globals['_PROTECTEDCLEANPATHMSG']._serialized_start=26279 + _globals['_PROTECTEDCLEANPATHMSG']._serialized_end=26387 + _globals['_FINISHEDCLEANPATHS']._serialized_start=26389 + _globals['_FINISHEDCLEANPATHS']._serialized_end=26409 + _globals['_FINISHEDCLEANPATHSMSG']._serialized_start=26411 + _globals['_FINISHEDCLEANPATHSMSG']._serialized_end=26519 + _globals['_OPENCOMMAND']._serialized_start=26521 + _globals['_OPENCOMMAND']._serialized_end=26574 + _globals['_OPENCOMMANDMSG']._serialized_start=26576 + _globals['_OPENCOMMANDMSG']._serialized_end=26670 + _globals['_FORMATTING']._serialized_start=26672 + _globals['_FORMATTING']._serialized_end=26697 + _globals['_FORMATTINGMSG']._serialized_start=26699 + _globals['_FORMATTINGMSG']._serialized_end=26791 + _globals['_SERVINGDOCSPORT']._serialized_start=26793 + _globals['_SERVINGDOCSPORT']._serialized_end=26841 + _globals['_SERVINGDOCSPORTMSG']._serialized_start=26843 + _globals['_SERVINGDOCSPORTMSG']._serialized_end=26945 + _globals['_SERVINGDOCSACCESSINFO']._serialized_start=26947 + _globals['_SERVINGDOCSACCESSINFO']._serialized_end=26984 + _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_start=26986 + _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_end=27100 + _globals['_SERVINGDOCSEXITINFO']._serialized_start=27102 + _globals['_SERVINGDOCSEXITINFO']._serialized_end=27123 + _globals['_SERVINGDOCSEXITINFOMSG']._serialized_start=27125 + _globals['_SERVINGDOCSEXITINFOMSG']._serialized_end=27235 + _globals['_RUNRESULTWARNING']._serialized_start=27237 + _globals['_RUNRESULTWARNING']._serialized_end=27311 + _globals['_RUNRESULTWARNINGMSG']._serialized_start=27313 + _globals['_RUNRESULTWARNINGMSG']._serialized_end=27417 + _globals['_RUNRESULTFAILURE']._serialized_start=27419 + _globals['_RUNRESULTFAILURE']._serialized_end=27493 + _globals['_RUNRESULTFAILUREMSG']._serialized_start=27495 + _globals['_RUNRESULTFAILUREMSG']._serialized_end=27599 + _globals['_STATSLINE']._serialized_start=27601 + _globals['_STATSLINE']._serialized_end=27708 + _globals['_STATSLINE_STATSENTRY']._serialized_start=27664 + _globals['_STATSLINE_STATSENTRY']._serialized_end=27708 + _globals['_STATSLINEMSG']._serialized_start=27710 + _globals['_STATSLINEMSG']._serialized_end=27800 + _globals['_RUNRESULTERROR']._serialized_start=27802 + _globals['_RUNRESULTERROR']._serialized_end=27831 + _globals['_RUNRESULTERRORMSG']._serialized_start=27833 + _globals['_RUNRESULTERRORMSG']._serialized_end=27933 + _globals['_RUNRESULTERRORNOMESSAGE']._serialized_start=27935 + _globals['_RUNRESULTERRORNOMESSAGE']._serialized_end=27976 + _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_start=27978 + _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_end=28096 + _globals['_SQLCOMPILEDPATH']._serialized_start=28098 + _globals['_SQLCOMPILEDPATH']._serialized_end=28129 + _globals['_SQLCOMPILEDPATHMSG']._serialized_start=28131 + _globals['_SQLCOMPILEDPATHMSG']._serialized_end=28233 + _globals['_CHECKNODETESTFAILURE']._serialized_start=28235 + _globals['_CHECKNODETESTFAILURE']._serialized_end=28280 + _globals['_CHECKNODETESTFAILUREMSG']._serialized_start=28282 + _globals['_CHECKNODETESTFAILUREMSG']._serialized_end=28394 + _globals['_ENDOFRUNSUMMARY']._serialized_start=28396 + _globals['_ENDOFRUNSUMMARY']._serialized_end=28483 + _globals['_ENDOFRUNSUMMARYMSG']._serialized_start=28485 + _globals['_ENDOFRUNSUMMARYMSG']._serialized_end=28587 + _globals['_LOGSKIPBECAUSEERROR']._serialized_start=28589 + _globals['_LOGSKIPBECAUSEERROR']._serialized_end=28674 + _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_start=28676 + _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_end=28786 + _globals['_ENSUREGITINSTALLED']._serialized_start=28788 + _globals['_ENSUREGITINSTALLED']._serialized_end=28808 + _globals['_ENSUREGITINSTALLEDMSG']._serialized_start=28810 + _globals['_ENSUREGITINSTALLEDMSG']._serialized_end=28918 + _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_start=28920 + _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_end=28946 + _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_start=28948 + _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_end=29068 + _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_start=29070 + _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_end=29095 + _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_start=29097 + _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_end=29215 + _globals['_DISABLETRACKING']._serialized_start=29217 + _globals['_DISABLETRACKING']._serialized_end=29234 + _globals['_DISABLETRACKINGMSG']._serialized_start=29236 + _globals['_DISABLETRACKINGMSG']._serialized_end=29338 + _globals['_SENDINGEVENT']._serialized_start=29340 + _globals['_SENDINGEVENT']._serialized_end=29370 + _globals['_SENDINGEVENTMSG']._serialized_start=29372 + _globals['_SENDINGEVENTMSG']._serialized_end=29468 + _globals['_SENDEVENTFAILURE']._serialized_start=29470 + _globals['_SENDEVENTFAILURE']._serialized_end=29488 + _globals['_SENDEVENTFAILUREMSG']._serialized_start=29490 + _globals['_SENDEVENTFAILUREMSG']._serialized_end=29594 + _globals['_FLUSHEVENTS']._serialized_start=29596 + _globals['_FLUSHEVENTS']._serialized_end=29609 + _globals['_FLUSHEVENTSMSG']._serialized_start=29611 + _globals['_FLUSHEVENTSMSG']._serialized_end=29705 + _globals['_FLUSHEVENTSFAILURE']._serialized_start=29707 + _globals['_FLUSHEVENTSFAILURE']._serialized_end=29727 + _globals['_FLUSHEVENTSFAILUREMSG']._serialized_start=29729 + _globals['_FLUSHEVENTSFAILUREMSG']._serialized_end=29837 + _globals['_TRACKINGINITIALIZEFAILURE']._serialized_start=29839 + _globals['_TRACKINGINITIALIZEFAILURE']._serialized_end=29884 + _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_start=29886 + _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_end=30008 + _globals['_RUNRESULTWARNINGMESSAGE']._serialized_start=30010 + _globals['_RUNRESULTWARNINGMESSAGE']._serialized_end=30048 + _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_start=30050 + _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_end=30168 + _globals['_DEBUGCMDOUT']._serialized_start=30170 + _globals['_DEBUGCMDOUT']._serialized_end=30196 + _globals['_DEBUGCMDOUTMSG']._serialized_start=30198 + _globals['_DEBUGCMDOUTMSG']._serialized_end=30292 + _globals['_DEBUGCMDRESULT']._serialized_start=30294 + _globals['_DEBUGCMDRESULT']._serialized_end=30323 + _globals['_DEBUGCMDRESULTMSG']._serialized_start=30325 + _globals['_DEBUGCMDRESULTMSG']._serialized_end=30425 + _globals['_LISTCMDOUT']._serialized_start=30427 + _globals['_LISTCMDOUT']._serialized_end=30452 + _globals['_LISTCMDOUTMSG']._serialized_start=30454 + _globals['_LISTCMDOUTMSG']._serialized_end=30546 + _globals['_NOTE']._serialized_start=30548 + _globals['_NOTE']._serialized_end=30567 + _globals['_NOTEMSG']._serialized_start=30569 + _globals['_NOTEMSG']._serialized_end=30649 + _globals['_RESOURCEREPORT']._serialized_start=30652 + _globals['_RESOURCEREPORT']._serialized_end=30888 + _globals['_RESOURCEREPORTMSG']._serialized_start=30890 + _globals['_RESOURCEREPORTMSG']._serialized_end=30990 # @@protoc_insertion_point(module_scope) diff --git a/core/dbt/deprecations.py b/core/dbt/deprecations.py index 5f140f485c9..4dea5dae5ac 100644 --- a/core/dbt/deprecations.py +++ b/core/dbt/deprecations.py @@ -1,10 +1,10 @@ import abc from typing import Optional, Set, List, Dict, ClassVar -import dbt.exceptions - import dbt.tracking +from dbt.events import types as core_types + class DBTDeprecation: _name: ClassVar[Optional[str]] = None @@ -23,7 +23,7 @@ def track_deprecation_warn(self) -> None: @property def event(self) -> abc.ABCMeta: if self._event is not None: - module_path = dbt.common.events.types + module_path = core_types class_name = self._event try: @@ -61,16 +61,6 @@ class ConfigDataPathDeprecation(DBTDeprecation): _event = "ConfigDataPathDeprecation" -def renamed_method(old_name: str, new_name: str): - class AdapterDeprecationWarning(DBTDeprecation): - _name = "adapter:{}".format(old_name) - _event = "AdapterDeprecationWarning" - - dep = AdapterDeprecationWarning() - deprecations_list.append(dep) - deprecations[dep.name] = dep - - class MetricAttributesRenamed(DBTDeprecation): _name = "metric-attr-renamed" _event = "MetricAttributesRenamed" @@ -91,11 +81,6 @@ class ConfigTargetPathDeprecation(DBTDeprecation): _event = "ConfigTargetPathDeprecation" -class CollectFreshnessReturnSignature(DBTDeprecation): - _name = "collect-freshness-return-signature" - _event = "CollectFreshnessReturnSignature" - - def renamed_env_var(old_name: str, new_name: str): class EnvironmentVariableRenamed(DBTDeprecation): _name = f"environment-variable-renamed:{old_name}" @@ -133,7 +118,6 @@ def warn(name, *args, **kwargs): ExposureNameDeprecation(), ConfigLogPathDeprecation(), ConfigTargetPathDeprecation(), - CollectFreshnessReturnSignature(), ] deprecations: Dict[str, DBTDeprecation] = {d.name: d for d in deprecations_list} diff --git a/core/dbt/events/README.md b/core/dbt/events/README.md new file mode 100644 index 00000000000..0f770a12c04 --- /dev/null +++ b/core/dbt/events/README.md @@ -0,0 +1,42 @@ +# Events Module +The Events module is responsible for communicating internal dbt structures into a consumable interface. Because the "event" classes are based entirely on protobuf definitions, the interface is really clearly defined, whether or not protobufs are used to consume it. We use Betterproto for compiling the protobuf message definitions into Python classes. + +# Using the Events Module +The event module provides types that represent what is happening in dbt in `events.types`. These types are intended to represent an exhaustive list of all things happening within dbt that will need to be logged, streamed, or printed. To fire an event, `common.events.functions::fire_event` is the entry point to the module from everywhere in dbt. + +# Logging +When events are processed via `fire_event`, nearly everything is logged. Whether or not the user has enabled the debug flag, all debug messages are still logged to the file. However, some events are particularly time consuming to construct because they return a huge amount of data. Today, the only messages in this category are cache events and are only logged if the `--log-cache-events` flag is on. This is important because these messages should not be created unless they are going to be logged, because they cause a noticable performance degredation. These events use a "fire_event_if" functions. + +# Adding a New Event +* Add a new message in types.proto, and a second message with the same name + "Msg". The "Msg" message should have two fields, an "info" field of EventInfo, and a "data" field referring to the message name without "Msg" +* run the protoc compiler to update core_types_pb2.py: make core_proto_types +* Add a wrapping class in core/dbt/event/core_types.py with a Level superclass plus code and message methods +* Add the class to tests/unit/test_events.py + +We have switched from using betterproto to using google protobuf, because of a lack of support for Struct fields in betterproto. + +The google protobuf interface is janky and very much non-Pythonic. The "generated" classes in types_pb2.py do not resemble regular Python classes. They do not have normal constructors; they can only be constructed empty. They can be "filled" by setting fields individually or using a json_format method like ParseDict. We have wrapped the logging events with a class (in types.py) which allows using a constructor -- keywords only, no positional parameters. + +## Required for Every Event + +- a method `code`, that's unique across events +- assign a log level by using the Level mixin: `DebugLevel`, `InfoLevel`, `WarnLevel`, or `ErrorLevel` +- a message() + +Example +``` +class PartialParsingDeletedExposure(DebugLevel): + def code(self): + return "I049" + + def message(self) -> str: + return f"Partial parsing: deleted exposure {self.unique_id}" + +``` + + +## Compiling core_types.proto + +After adding a new message in `types.proto`, either: +- In the repository root directory: `make core_proto_types` +- In the `core/dbt/events` directory: `protoc -I=. --python_out=. types.proto` diff --git a/core/dbt/events/__init__.py b/core/dbt/events/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/events/base_types.py b/core/dbt/events/base_types.py new file mode 100644 index 00000000000..40b5ab32892 --- /dev/null +++ b/core/dbt/events/base_types.py @@ -0,0 +1,39 @@ +# Aliasing common Level classes in order to make custom, but not overly-verbose versions that have PROTO_TYPES_MODULE set to the core-specific generated types_pb2 module +from dbt.common.events.base_types import ( + BaseEvent, + DynamicLevel as CommonDyanicLevel, + TestLevel as CommonTestLevel, + DebugLevel as CommonDebugLevel, + InfoLevel as CommonInfoLevel, + WarnLevel as CommonWarnLevel, + ErrorLevel as CommonErrorLevel, +) +from dbt.events import core_types_pb2 + + +class CoreBaseEvent(BaseEvent): + PROTO_TYPES_MODULE = core_types_pb2 + + +class DynamicLevel(CommonDyanicLevel, CoreBaseEvent): + pass + + +class TestLevel(CommonTestLevel, CoreBaseEvent): + pass + + +class DebugLevel(CommonDebugLevel, CoreBaseEvent): + pass + + +class InfoLevel(CommonInfoLevel, CoreBaseEvent): + pass + + +class WarnLevel(CommonWarnLevel, CoreBaseEvent): + pass + + +class ErrorLevel(CommonErrorLevel, CoreBaseEvent): + pass diff --git a/core/dbt/events/core_types.proto b/core/dbt/events/core_types.proto new file mode 100644 index 00000000000..ff1d45def56 --- /dev/null +++ b/core/dbt/events/core_types.proto @@ -0,0 +1,139 @@ +syntax = "proto3"; + +package proto_types; + +import "google/protobuf/timestamp.proto"; + +// Common event info +message CoreEventInfo { + string name = 1; + string code = 2; + string msg = 3; + string level = 4; + string invocation_id = 5; + int32 pid = 6; + string thread = 7; + google.protobuf.Timestamp ts = 8; + map extra = 9; + string category = 10; +} + +// D - Deprecation + +// D001 +message PackageRedirectDeprecation { + string old_name = 1; + string new_name = 2; +} + +message PackageRedirectDeprecationMsg { + CoreEventInfo info = 1; + PackageRedirectDeprecation data = 2; +} + +// D002 +message PackageInstallPathDeprecation { +} + +message PackageInstallPathDeprecationMsg { + CoreEventInfo info = 1; + PackageInstallPathDeprecation data = 2; +} + +// D003 +message ConfigSourcePathDeprecation { + string deprecated_path = 1; + string exp_path = 2; +} + +message ConfigSourcePathDeprecationMsg { + CoreEventInfo info = 1; + ConfigSourcePathDeprecation data = 2; +} + +// D004 +message ConfigDataPathDeprecation { + string deprecated_path = 1; + string exp_path = 2; +} + +message ConfigDataPathDeprecationMsg { + CoreEventInfo info = 1; + ConfigDataPathDeprecation data = 2; +} + +// D006 +message MetricAttributesRenamed { + string metric_name = 1; +} + +message MetricAttributesRenamedMsg { + CoreEventInfo info = 1; + MetricAttributesRenamed data = 2; +} + +// D007 +message ExposureNameDeprecation { + string exposure = 1; +} + +message ExposureNameDeprecationMsg { + CoreEventInfo info = 1; + ExposureNameDeprecation data = 2; +} + +// D008 +message InternalDeprecation { + string name = 1; + string reason = 2; + string suggested_action = 3; + string version = 4; +} + +message InternalDeprecationMsg { + CoreEventInfo info = 1; + InternalDeprecation data = 2; +} + +// D009 +message EnvironmentVariableRenamed { + string old_name = 1; + string new_name = 2; +} + +message EnvironmentVariableRenamedMsg { + CoreEventInfo info = 1; + EnvironmentVariableRenamed data = 2; +} + +// D010 +message ConfigLogPathDeprecation { + string deprecated_path = 1; +} + +message ConfigLogPathDeprecationMsg { + CoreEventInfo info = 1; + ConfigLogPathDeprecation data = 2; +} + +// D011 +message ConfigTargetPathDeprecation { + string deprecated_path = 1; +} + +message ConfigTargetPathDeprecationMsg { + CoreEventInfo info = 1; + ConfigTargetPathDeprecation data = 2; +} + +// I065 +message DeprecatedModel { + string model_name = 1; + string model_version = 2; + string deprecation_date = 3; +} + +message DeprecatedModelMsg { + CoreEventInfo info = 1; + DeprecatedModel data = 2; +} diff --git a/core/dbt/events/core_types_pb2.py b/core/dbt/events/core_types_pb2.py new file mode 100644 index 00000000000..2385f5cd1b9 --- /dev/null +++ b/core/dbt/events/core_types_pb2.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: core_types.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x10\x63ore_types.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto"\x99\x02\n\rCoreEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x05\x65xtra\x18\t \x03(\x0b\x32%.proto_types.CoreEventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t"\x80\x01\n\x1dPackageRedirectDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation"\x1f\n\x1dPackageInstallPathDeprecation"\x86\x01\n PackageInstallPathDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t"\x82\x01\n\x1e\x43onfigSourcePathDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t"~\n\x1c\x43onfigDataPathDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t"z\n\x1aMetricAttributesRenamedMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t"z\n\x1a\x45xposureNameDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t"r\n\x16InternalDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t"\x80\x01\n\x1d\x45nvironmentVariableRenamedMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t"|\n\x1b\x43onfigLogPathDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t"\x82\x01\n\x1e\x43onfigTargetPathDeprecationMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t"j\n\x12\x44\x65precatedModelMsg\x12(\n\x04info\x18\x01 \x01(\x0b\x32\x1a.proto_types.CoreEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModelb\x06proto3' +) + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "core_types_pb2", _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _COREEVENTINFO_EXTRAENTRY._options = None + _COREEVENTINFO_EXTRAENTRY._serialized_options = b"8\001" + _globals["_COREEVENTINFO"]._serialized_start = 67 + _globals["_COREEVENTINFO"]._serialized_end = 348 + _globals["_COREEVENTINFO_EXTRAENTRY"]._serialized_start = 304 + _globals["_COREEVENTINFO_EXTRAENTRY"]._serialized_end = 348 + _globals["_PACKAGEREDIRECTDEPRECATION"]._serialized_start = 350 + _globals["_PACKAGEREDIRECTDEPRECATION"]._serialized_end = 414 + _globals["_PACKAGEREDIRECTDEPRECATIONMSG"]._serialized_start = 417 + _globals["_PACKAGEREDIRECTDEPRECATIONMSG"]._serialized_end = 545 + _globals["_PACKAGEINSTALLPATHDEPRECATION"]._serialized_start = 547 + _globals["_PACKAGEINSTALLPATHDEPRECATION"]._serialized_end = 578 + _globals["_PACKAGEINSTALLPATHDEPRECATIONMSG"]._serialized_start = 581 + _globals["_PACKAGEINSTALLPATHDEPRECATIONMSG"]._serialized_end = 715 + _globals["_CONFIGSOURCEPATHDEPRECATION"]._serialized_start = 717 + _globals["_CONFIGSOURCEPATHDEPRECATION"]._serialized_end = 789 + _globals["_CONFIGSOURCEPATHDEPRECATIONMSG"]._serialized_start = 792 + _globals["_CONFIGSOURCEPATHDEPRECATIONMSG"]._serialized_end = 922 + _globals["_CONFIGDATAPATHDEPRECATION"]._serialized_start = 924 + _globals["_CONFIGDATAPATHDEPRECATION"]._serialized_end = 994 + _globals["_CONFIGDATAPATHDEPRECATIONMSG"]._serialized_start = 996 + _globals["_CONFIGDATAPATHDEPRECATIONMSG"]._serialized_end = 1122 + _globals["_METRICATTRIBUTESRENAMED"]._serialized_start = 1124 + _globals["_METRICATTRIBUTESRENAMED"]._serialized_end = 1170 + _globals["_METRICATTRIBUTESRENAMEDMSG"]._serialized_start = 1172 + _globals["_METRICATTRIBUTESRENAMEDMSG"]._serialized_end = 1294 + _globals["_EXPOSURENAMEDEPRECATION"]._serialized_start = 1296 + _globals["_EXPOSURENAMEDEPRECATION"]._serialized_end = 1339 + _globals["_EXPOSURENAMEDEPRECATIONMSG"]._serialized_start = 1341 + _globals["_EXPOSURENAMEDEPRECATIONMSG"]._serialized_end = 1463 + _globals["_INTERNALDEPRECATION"]._serialized_start = 1465 + _globals["_INTERNALDEPRECATION"]._serialized_end = 1559 + _globals["_INTERNALDEPRECATIONMSG"]._serialized_start = 1561 + _globals["_INTERNALDEPRECATIONMSG"]._serialized_end = 1675 + _globals["_ENVIRONMENTVARIABLERENAMED"]._serialized_start = 1677 + _globals["_ENVIRONMENTVARIABLERENAMED"]._serialized_end = 1741 + _globals["_ENVIRONMENTVARIABLERENAMEDMSG"]._serialized_start = 1744 + _globals["_ENVIRONMENTVARIABLERENAMEDMSG"]._serialized_end = 1872 + _globals["_CONFIGLOGPATHDEPRECATION"]._serialized_start = 1874 + _globals["_CONFIGLOGPATHDEPRECATION"]._serialized_end = 1925 + _globals["_CONFIGLOGPATHDEPRECATIONMSG"]._serialized_start = 1927 + _globals["_CONFIGLOGPATHDEPRECATIONMSG"]._serialized_end = 2051 + _globals["_CONFIGTARGETPATHDEPRECATION"]._serialized_start = 2053 + _globals["_CONFIGTARGETPATHDEPRECATION"]._serialized_end = 2107 + _globals["_CONFIGTARGETPATHDEPRECATIONMSG"]._serialized_start = 2110 + _globals["_CONFIGTARGETPATHDEPRECATIONMSG"]._serialized_end = 2240 + _globals["_DEPRECATEDMODEL"]._serialized_start = 2242 + _globals["_DEPRECATEDMODEL"]._serialized_end = 2328 + _globals["_DEPRECATEDMODELMSG"]._serialized_start = 2330 + _globals["_DEPRECATEDMODELMSG"]._serialized_end = 2436 +# @@protoc_insertion_point(module_scope) diff --git a/core/dbt/events/types.py b/core/dbt/events/types.py new file mode 100644 index 00000000000..3a1ce6bdecd --- /dev/null +++ b/core/dbt/events/types.py @@ -0,0 +1,164 @@ +from dbt.events.base_types import WarnLevel +from dbt.common.ui import warning_tag, line_wrap_message + + +# ======================================================= +# D - Deprecations +# ======================================================= + + +class DeprecatedModel(WarnLevel): + def code(self) -> str: + return "I065" + + def message(self) -> str: + version = ".v" + self.model_version if self.model_version else "" + msg = ( + f"Model {self.model_name}{version} has passed its deprecation date of {self.deprecation_date}. " + "This model should be disabled or removed." + ) + return warning_tag(msg) + + +class PackageRedirectDeprecation(WarnLevel): + def code(self) -> str: + return "D001" + + def message(self) -> str: + description = ( + f"The `{self.old_name}` package is deprecated in favor of `{self.new_name}`. Please " + f"update your `packages.yml` configuration to use `{self.new_name}` instead." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class PackageInstallPathDeprecation(WarnLevel): + def code(self) -> str: + return "D002" + + def message(self) -> str: + description = """\ + The default package install path has changed from `dbt_modules` to `dbt_packages`. + Please update `clean-targets` in `dbt_project.yml` and check `.gitignore` as well. + Or, set `packages-install-path: dbt_modules` if you'd like to keep the current value. + """ + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class ConfigSourcePathDeprecation(WarnLevel): + def code(self) -> str: + return "D003" + + def message(self) -> str: + description = ( + f"The `{self.deprecated_path}` config has been renamed to `{self.exp_path}`. " + "Please update your `dbt_project.yml` configuration to reflect this change." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class ConfigDataPathDeprecation(WarnLevel): + def code(self) -> str: + return "D004" + + def message(self) -> str: + description = ( + f"The `{self.deprecated_path}` config has been renamed to `{self.exp_path}`. " + "Please update your `dbt_project.yml` configuration to reflect this change." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class MetricAttributesRenamed(WarnLevel): + def code(self) -> str: + return "D006" + + def message(self) -> str: + description = ( + "dbt-core v1.3 renamed attributes for metrics:" + "\n 'sql' -> 'expression'" + "\n 'type' -> 'calculation_method'" + "\n 'type: expression' -> 'calculation_method: derived'" + f"\nPlease remove them from the metric definition of metric '{self.metric_name}'" + "\nRelevant issue here: https://github.com/dbt-labs/dbt-core/issues/5849" + ) + + return warning_tag(f"Deprecated functionality\n\n{description}") + + +class ExposureNameDeprecation(WarnLevel): + def code(self) -> str: + return "D007" + + def message(self) -> str: + description = ( + "Starting in v1.3, the 'name' of an exposure should contain only letters, " + "numbers, and underscores. Exposures support a new property, 'label', which may " + f"contain spaces, capital letters, and special characters. {self.exposure} does not " + "follow this pattern. Please update the 'name', and use the 'label' property for a " + "human-friendly title. This will raise an error in a future version of dbt-core." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class InternalDeprecation(WarnLevel): + def code(self) -> str: + return "D008" + + def message(self) -> str: + extra_reason = "" + if self.reason: + extra_reason = f"\n{self.reason}" + msg = ( + f"`{self.name}` is deprecated and will be removed in dbt-core version {self.version}\n\n" + f"Adapter maintainers can resolve this deprecation by {self.suggested_action}. {extra_reason}" + ) + return warning_tag(msg) + + +class EnvironmentVariableRenamed(WarnLevel): + def code(self) -> str: + return "D009" + + def message(self) -> str: + description = ( + f"The environment variable `{self.old_name}` has been renamed as `{self.new_name}`.\n" + f"If `{self.old_name}` is currently set, its value will be used instead of `{self.new_name}`.\n" + f"Set `{self.new_name}` and unset `{self.old_name}` to avoid this deprecation warning and " + "ensure it works properly in a future release." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class ConfigLogPathDeprecation(WarnLevel): + def code(self) -> str: + return "D010" + + def message(self) -> str: + output = "logs" + cli_flag = "--log-path" + env_var = "DBT_LOG_PATH" + description = ( + f"The `{self.deprecated_path}` config in `dbt_project.yml` has been deprecated, " + f"and will no longer be supported in a future version of dbt-core. " + f"If you wish to write dbt {output} to a custom directory, please use " + f"the {cli_flag} CLI flag or {env_var} env var instead." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) + + +class ConfigTargetPathDeprecation(WarnLevel): + def code(self) -> str: + return "D011" + + def message(self) -> str: + output = "artifacts" + cli_flag = "--target-path" + env_var = "DBT_TARGET_PATH" + description = ( + f"The `{self.deprecated_path}` config in `dbt_project.yml` has been deprecated, " + f"and will no longer be supported in a future version of dbt-core. " + f"If you wish to write dbt {output} to a custom directory, please use " + f"the {cli_flag} CLI flag or {env_var} env var instead." + ) + return line_wrap_message(warning_tag(f"Deprecated functionality\n\n{description}")) diff --git a/core/dbt/internal_deprecations.py b/core/dbt/internal_deprecations.py index 98212017e57..de3984ed9d5 100644 --- a/core/dbt/internal_deprecations.py +++ b/core/dbt/internal_deprecations.py @@ -2,7 +2,7 @@ from typing import Optional from dbt.common.events.functions import warn_or_error -from dbt.common.events.types import InternalDeprecation +from dbt.events.types import InternalDeprecation def deprecated(suggested_action: str, version: str, reason: Optional[str]): diff --git a/core/dbt/parser/manifest.py b/core/dbt/parser/manifest.py index e10342b9f21..d1dabeaf213 100644 --- a/core/dbt/parser/manifest.py +++ b/core/dbt/parser/manifest.py @@ -54,10 +54,12 @@ NodeNotFoundOrDisabled, StateCheckVarsHash, Note, - DeprecatedModel, DeprecatedReference, UpcomingReferenceDeprecation, ) +from dbt.events.types import ( + DeprecatedModel, +) from dbt.logger import DbtProcessState from dbt.node_types import NodeType, AccessType from dbt.clients.jinja import get_rendered, MacroStack diff --git a/core/dbt/task/generate.py b/core/dbt/task/generate.py index dd4cb837bbc..ceff4033275 100644 --- a/core/dbt/task/generate.py +++ b/core/dbt/task/generate.py @@ -30,7 +30,7 @@ from dbt.node_types import NodeType from dbt.include.global_project import DOCS_INDEX_FILE_PATH from dbt.common.events.functions import fire_event -from dbt.common.events.types import ( +from dbt.adapters.events.types import ( WriteCatalogFailure, CatalogWritten, CannotGenerateDocs, diff --git a/core/dbt/task/run.py b/core/dbt/task/run.py index 76c2d456a95..352f4b6f9d0 100644 --- a/core/dbt/task/run.py +++ b/core/dbt/task/run.py @@ -27,12 +27,14 @@ ) from dbt.common.exceptions import DbtValidationError from dbt.adapters.exceptions import MissingMaterializationError -from dbt.common.events.functions import fire_event, get_invocation_id -from dbt.common.events.types import ( +from dbt.adapters.events.types import ( DatabaseErrorRunningHook, - Formatting, HooksRunning, FinishedRunningStats, +) +from dbt.common.events.functions import fire_event, get_invocation_id +from dbt.common.events.types import ( + Formatting, LogModelResult, LogStartLine, LogHookEndLine, diff --git a/core/dbt/tests/fixtures/project.py b/core/dbt/tests/fixtures/project.py index cf617eeee4f..cfe8423a776 100644 --- a/core/dbt/tests/fixtures/project.py +++ b/core/dbt/tests/fixtures/project.py @@ -266,7 +266,13 @@ def clean_up_logging(): # into the project in the tests instead of putting them in the fixtures. @pytest.fixture(scope="class") def adapter( - unique_schema, project_root, profiles_root, profiles_yml, dbt_project_yml, clean_up_logging + logs_dir, + unique_schema, + project_root, + profiles_root, + profiles_yml, + dbt_project_yml, + clean_up_logging, ): # The profiles.yml and dbt_project.yml should already be written out args = Namespace( diff --git a/tests/functional/deprecations/test_deprecations.py b/tests/functional/deprecations/test_deprecations.py index d95fc99da88..a6842ca06b4 100644 --- a/tests/functional/deprecations/test_deprecations.py +++ b/tests/functional/deprecations/test_deprecations.py @@ -66,24 +66,6 @@ def test_data_path_fail(self, project): assert expected_msg in exc_str -class TestAdapterDeprecations: - @pytest.fixture(scope="class") - def models(self): - return {"already_exists.sql": models__already_exists_sql} - - def test_adapter(self, project): - deprecations.reset_deprecations() - assert deprecations.active_deprecations == set() - run_dbt(["run"]) - expected = {"adapter:already_exists"} - assert expected == deprecations.active_deprecations - - def test_adapter_fail(self, project): - deprecations.reset_deprecations() - assert deprecations.active_deprecations == set() - run_dbt(["--warn-error", "run"], expect_pass=False) - - class TestPackageInstallPathDeprecation: @pytest.fixture(scope="class") def models_trivial(self): diff --git a/tests/functional/sources/test_source_freshness.py b/tests/functional/sources/test_source_freshness.py index b7c1c93916d..222dfa58d0f 100644 --- a/tests/functional/sources/test_source_freshness.py +++ b/tests/functional/sources/test_source_freshness.py @@ -2,6 +2,7 @@ import json import pytest from datetime import datetime, timedelta +import yaml import dbt.version from dbt.cli.main import dbtRunner @@ -15,7 +16,6 @@ freshness_via_metadata_schema_yml, ) from dbt.tests.util import AnyStringWith, AnyFloat -from dbt import deprecations class SuccessfulSourceFreshnessTest(BaseSourcesTest): @@ -368,15 +368,16 @@ def macros(self): def test_source_freshness(self, project): # ensure that the deprecation warning is raised - deprecations.reset_deprecations() - assert deprecations.active_deprecations == set() - self.run_dbt_with_vars( - project, - ["source", "freshness"], - expect_pass=False, + vars_dict = { + "test_run_schema": project.test_schema, + "test_loaded_at": project.adapter.quote("updated_at"), + } + events = [] + dbtRunner(callbacks=[events.append]).invoke( + ["source", "freshness", "--vars", yaml.safe_dump(vars_dict)] ) - expected = {"collect-freshness-return-signature"} - assert expected == deprecations.active_deprecations + matches = list([e for e in events if e.info.name == "CollectFreshnessReturnSignature"]) + assert matches class TestMetadataFreshnessFails: diff --git a/tests/unit/test_events.py b/tests/unit/test_events.py index 81b46e46f62..39090ef3a1e 100644 --- a/tests/unit/test_events.py +++ b/tests/unit/test_events.py @@ -5,17 +5,19 @@ import pytest +from dbt.adapters.events import types as adapter_types from dbt.contracts.results import TimingInfo, RunResult, RunStatus from dbt.common.events import AdapterLogger, types -from dbt.common.events.base_types import ( - BaseEvent, +from dbt.common.events.base_types import msg_from_base_event +from dbt.events import types as core_types +from dbt.events.base_types import ( + CoreBaseEvent, DebugLevel, DynamicLevel, ErrorLevel, InfoLevel, TestLevel, WarnLevel, - msg_from_base_event, ) from dbt.common.events.eventmgr import TestEventManager, EventManager from dbt.common.events.functions import msg_to_dict, msg_to_json, ctx_set_event_manager @@ -56,14 +58,16 @@ def test_formatting(self): logger.debug("hello {}", "world") # enters lower in the call stack to test that it formats correctly - event = types.AdapterEventDebug(name="dbt_tests", base_msg="hello {}", args=["world"]) + event = adapter_types.AdapterEventDebug( + name="dbt_tests", base_msg="hello {}", args=["world"] + ) assert "hello world" in event.message() # tests that it doesn't throw logger.debug("1 2 {}", "3") # enters lower in the call stack to test that it formats correctly - event = types.AdapterEventDebug(name="dbt_tests", base_msg="1 2 {}", args=[3]) + event = adapter_types.AdapterEventDebug(name="dbt_tests", base_msg="1 2 {}", args=[3]) assert "1 2 3" in event.message() # tests that it doesn't throw @@ -72,13 +76,13 @@ def test_formatting(self): # enters lower in the call stack to test that it formats correctly # in this case it's that we didn't attempt to replace anything since there # were no args passed after the initial message - event = types.AdapterEventDebug(name="dbt_tests", base_msg="boop{x}boop", args=[]) + event = adapter_types.AdapterEventDebug(name="dbt_tests", base_msg="boop{x}boop", args=[]) assert "boop{x}boop" in event.message() # ensure AdapterLogger and subclasses makes all base_msg members # of type string; when someone writes logger.debug(a) where a is # any non-string object - event = types.AdapterEventDebug(name="dbt_tests", base_msg=[1, 2, 3], args=[3]) + event = adapter_types.AdapterEventDebug(name="dbt_tests", base_msg=[1, 2, 3], args=[3]) assert isinstance(event.base_msg, str) event = types.JinjaLogDebug(msg=[1, 2, 3]) @@ -96,7 +100,7 @@ class TestEventCodes: # checks to see if event codes are duplicated to keep codes singluar and clear. # also checks that event codes follow correct namming convention ex. E001 def test_event_codes(self): - all_concrete = get_all_subclasses(BaseEvent) + all_concrete = get_all_subclasses(CoreBaseEvent) all_codes = set() for event_cls in all_concrete: @@ -133,66 +137,66 @@ def test_event_codes(self): types.ProjectNameAlreadyExists(name=""), types.ProjectCreated(project_name=""), # D - Deprecations ====================== - types.PackageRedirectDeprecation(old_name="", new_name=""), - types.PackageInstallPathDeprecation(), - types.ConfigSourcePathDeprecation(deprecated_path="", exp_path=""), - types.ConfigDataPathDeprecation(deprecated_path="", exp_path=""), - types.AdapterDeprecationWarning(old_name="", new_name=""), - types.MetricAttributesRenamed(metric_name=""), - types.ExposureNameDeprecation(exposure=""), - types.InternalDeprecation(name="", reason="", suggested_action="", version=""), - types.EnvironmentVariableRenamed(old_name="", new_name=""), - types.ConfigLogPathDeprecation(deprecated_path=""), - types.ConfigTargetPathDeprecation(deprecated_path=""), - types.CollectFreshnessReturnSignature(), + core_types.PackageRedirectDeprecation(old_name="", new_name=""), + core_types.PackageInstallPathDeprecation(), + core_types.ConfigSourcePathDeprecation(deprecated_path="", exp_path=""), + core_types.ConfigDataPathDeprecation(deprecated_path="", exp_path=""), + adapter_types.AdapterDeprecationWarning(old_name="", new_name=""), + core_types.MetricAttributesRenamed(metric_name=""), + core_types.ExposureNameDeprecation(exposure=""), + core_types.InternalDeprecation(name="", reason="", suggested_action="", version=""), + core_types.EnvironmentVariableRenamed(old_name="", new_name=""), + core_types.ConfigLogPathDeprecation(deprecated_path=""), + core_types.ConfigTargetPathDeprecation(deprecated_path=""), + adapter_types.CollectFreshnessReturnSignature(), # E - DB Adapter ====================== - types.AdapterEventDebug(), - types.AdapterEventInfo(), - types.AdapterEventWarning(), - types.AdapterEventError(), - types.AdapterRegistered(adapter_name="dbt-awesome", adapter_version="1.2.3"), - types.NewConnection(conn_type="", conn_name=""), - types.ConnectionReused(conn_name=""), - types.ConnectionLeftOpenInCleanup(conn_name=""), - types.ConnectionClosedInCleanup(conn_name=""), - types.RollbackFailed(conn_name=""), - types.ConnectionClosed(conn_name=""), - types.ConnectionLeftOpen(conn_name=""), - types.Rollback(conn_name=""), - types.CacheMiss(conn_name="", database="", schema=""), - types.ListRelations(database="", schema=""), - types.ConnectionUsed(conn_type="", conn_name=""), - types.SQLQuery(conn_name="", sql=""), - types.SQLQueryStatus(status="", elapsed=0.1), - types.SQLCommit(conn_name=""), - types.ColTypeChange( + adapter_types.AdapterEventDebug(), + adapter_types.AdapterEventInfo(), + adapter_types.AdapterEventWarning(), + adapter_types.AdapterEventError(), + adapter_types.AdapterRegistered(adapter_name="dbt-awesome", adapter_version="1.2.3"), + adapter_types.NewConnection(conn_type="", conn_name=""), + adapter_types.ConnectionReused(conn_name=""), + adapter_types.ConnectionLeftOpenInCleanup(conn_name=""), + adapter_types.ConnectionClosedInCleanup(conn_name=""), + adapter_types.RollbackFailed(conn_name=""), + adapter_types.ConnectionClosed(conn_name=""), + adapter_types.ConnectionLeftOpen(conn_name=""), + adapter_types.Rollback(conn_name=""), + adapter_types.CacheMiss(conn_name="", database="", schema=""), + adapter_types.ListRelations(database="", schema=""), + adapter_types.ConnectionUsed(conn_type="", conn_name=""), + adapter_types.SQLQuery(conn_name="", sql=""), + adapter_types.SQLQueryStatus(status="", elapsed=0.1), + adapter_types.SQLCommit(conn_name=""), + adapter_types.ColTypeChange( orig_type="", new_type="", table={"database": "", "schema": "", "identifier": ""}, ), - types.SchemaCreation(relation={"database": "", "schema": "", "identifier": ""}), - types.SchemaDrop(relation={"database": "", "schema": "", "identifier": ""}), - types.CacheAction( + adapter_types.SchemaCreation(relation={"database": "", "schema": "", "identifier": ""}), + adapter_types.SchemaDrop(relation={"database": "", "schema": "", "identifier": ""}), + adapter_types.CacheAction( action="adding_relation", ref_key={"database": "", "schema": "", "identifier": ""}, ref_key_2={"database": "", "schema": "", "identifier": ""}, ), - types.CacheDumpGraph(before_after="before", action="rename", dump=dict()), - types.AdapterImportError(exc=""), - types.PluginLoadError(exc_info=""), - types.NewConnectionOpening(connection_state=""), - types.CodeExecution(conn_name="", code_content=""), - types.CodeExecutionStatus(status="", elapsed=0.1), - types.CatalogGenerationError(exc=""), - types.WriteCatalogFailure(num_exceptions=0), - types.CatalogWritten(path=""), - types.CannotGenerateDocs(), - types.BuildingCatalog(), - types.DatabaseErrorRunningHook(hook_type=""), - types.HooksRunning(num_hooks=0, hook_type=""), - types.FinishedRunningStats(stat_line="", execution="", execution_time=0), - types.ConstraintNotEnforced(constraint="", adapter=""), - types.ConstraintNotSupported(constraint="", adapter=""), + adapter_types.CacheDumpGraph(before_after="before", action="rename", dump=dict()), + adapter_types.AdapterImportError(exc=""), + adapter_types.PluginLoadError(exc_info=""), + adapter_types.NewConnectionOpening(connection_state=""), + adapter_types.CodeExecution(conn_name="", code_content=""), + adapter_types.CodeExecutionStatus(status="", elapsed=0.1), + adapter_types.CatalogGenerationError(exc=""), + adapter_types.WriteCatalogFailure(num_exceptions=0), + adapter_types.CatalogWritten(path=""), + adapter_types.CannotGenerateDocs(), + adapter_types.BuildingCatalog(), + adapter_types.DatabaseErrorRunningHook(hook_type=""), + adapter_types.HooksRunning(num_hooks=0, hook_type=""), + adapter_types.FinishedRunningStats(stat_line="", execution="", execution_time=0), + adapter_types.ConstraintNotEnforced(constraint="", adapter=""), + adapter_types.ConstraintNotSupported(constraint="", adapter=""), # I - Project parsing ====================== types.InputFileDiffError(category="testing", file_id="my_file"), types.InvalidValueForField(field_name="test", field_value="test"), @@ -242,7 +246,7 @@ def test_event_codes(self): types.UnpinnedRefNewVersionAvailable( ref_node_name="", ref_node_package="", ref_node_version="", ref_max_version="" ), - types.DeprecatedModel(model_name="", model_version="", deprecation_date=""), + core_types.DeprecatedModel(model_name="", model_version="", deprecation_date=""), types.DeprecatedReference( model_name="", ref_model_name="", @@ -447,7 +451,7 @@ class TestEventJSONSerialization: # just fine and others won't. def test_all_serializable(self): all_non_abstract_events = set( - get_all_subclasses(BaseEvent), + get_all_subclasses(CoreBaseEvent), ) all_event_values_list = list(map(lambda x: x.__class__, sample_values)) diff = all_non_abstract_events.difference(set(all_event_values_list)) diff --git a/tests/unit/test_proto_events.py b/tests/unit/test_proto_events.py index 0b8967e7444..aca222841de 100644 --- a/tests/unit/test_proto_events.py +++ b/tests/unit/test_proto_events.py @@ -1,9 +1,11 @@ +from dbt.adapters.events.types import ( + RollbackFailed, + PluginLoadError, +) from dbt.common.events.types import ( MainReportVersion, MainReportArgs, - RollbackFailed, MainEncounteredError, - PluginLoadError, LogStartLine, LogTestResult, ) From 2ab0f7b26b2f72ed0f240c062d9e911ef84d6365 Mon Sep 17 00:00:00 2001 From: Peter Webb Date: Tue, 21 Nov 2023 12:16:39 -0500 Subject: [PATCH 14/40] Decouple adapter constraints from core (#9054) * Move constraints to dbt.common * Move constraints to contracts folder, per review * Add a changelog entry. --- .../Under the Hood-20231120-183214.yaml | 7 +++ core/dbt/adapters/base/impl.py | 6 ++- core/dbt/common/contracts/constraints.py | 43 ++++++++++++++++++ core/dbt/contracts/graph/nodes.py | 44 +++---------------- core/dbt/parser/common.py | 8 +--- core/dbt/parser/schemas.py | 3 +- .../postgres/dbt/adapters/postgres/impl.py | 2 +- 7 files changed, 64 insertions(+), 49 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231120-183214.yaml create mode 100644 core/dbt/common/contracts/constraints.py diff --git a/.changes/unreleased/Under the Hood-20231120-183214.yaml b/.changes/unreleased/Under the Hood-20231120-183214.yaml new file mode 100644 index 00000000000..570dd360d8c --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231120-183214.yaml @@ -0,0 +1,7 @@ +kind: Under the Hood +body: Move column constraints into common/contracts, removing another dependency of + adapters on core. +time: 2023-11-20T18:32:14.859503-05:00 +custom: + Author: peterallenwebb + Issue: "9024" diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 8915a7770b2..56f44c201f1 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -23,7 +23,11 @@ from multiprocessing.context import SpawnContext from dbt.adapters.capability import Capability, CapabilityDict -from dbt.contracts.graph.nodes import ColumnLevelConstraint, ConstraintType, ModelLevelConstraint +from dbt.common.contracts.constraints import ( + ColumnLevelConstraint, + ConstraintType, + ModelLevelConstraint, +) import agate import pytz diff --git a/core/dbt/common/contracts/constraints.py b/core/dbt/common/contracts/constraints.py new file mode 100644 index 00000000000..1c8643b86af --- /dev/null +++ b/core/dbt/common/contracts/constraints.py @@ -0,0 +1,43 @@ +from dataclasses import dataclass, field +from enum import Enum +from typing import Optional, List + +from dbt.common.dataclass_schema import dbtClassMixin + + +class ConstraintType(str, Enum): + check = "check" + not_null = "not_null" + unique = "unique" + primary_key = "primary_key" + foreign_key = "foreign_key" + custom = "custom" + + @classmethod + def is_valid(cls, item) -> bool: + try: + cls(item) + except ValueError: + return False + return True + + +@dataclass +class ColumnLevelConstraint(dbtClassMixin): + type: ConstraintType + name: Optional[str] = None + # expression is a user-provided field that will depend on the constraint type. + # It could be a predicate (check type), or a sequence sql keywords (e.g. unique type), + # so the vague naming of 'expression' is intended to capture this range. + expression: Optional[str] = None + warn_unenforced: bool = ( + True # Warn if constraint cannot be enforced by platform but will be in DDL + ) + warn_unsupported: bool = ( + True # Warn if constraint is not supported by the platform and won't be in DDL + ) + + +@dataclass +class ModelLevelConstraint(ColumnLevelConstraint): + columns: List[str] = field(default_factory=list) diff --git a/core/dbt/contracts/graph/nodes.py b/core/dbt/contracts/graph/nodes.py index 62f491c2894..fad8a427016 100644 --- a/core/dbt/contracts/graph/nodes.py +++ b/core/dbt/contracts/graph/nodes.py @@ -2,12 +2,16 @@ from datetime import datetime import time from dataclasses import dataclass, field -from enum import Enum import hashlib from mashumaro.types import SerializableType from typing import Optional, Union, List, Dict, Any, Sequence, Tuple, Iterator, Literal +from dbt.common.contracts.constraints import ( + ColumnLevelConstraint, + ConstraintType, + ModelLevelConstraint, +) from dbt.common.dataclass_schema import dbtClassMixin, ExtensibleDbtClassMixin from dbt.clients.system import write_file @@ -178,44 +182,6 @@ def keyword_args(self) -> Dict[str, Optional[NodeVersion]]: return {} -class ConstraintType(str, Enum): - check = "check" - not_null = "not_null" - unique = "unique" - primary_key = "primary_key" - foreign_key = "foreign_key" - custom = "custom" - - @classmethod - def is_valid(cls, item): - try: - cls(item) - except ValueError: - return False - return True - - -@dataclass -class ColumnLevelConstraint(dbtClassMixin): - type: ConstraintType - name: Optional[str] = None - # expression is a user-provided field that will depend on the constraint type. - # It could be a predicate (check type), or a sequence sql keywords (e.g. unique type), - # so the vague naming of 'expression' is intended to capture this range. - expression: Optional[str] = None - warn_unenforced: bool = ( - True # Warn if constraint cannot be enforced by platform but will be in DDL - ) - warn_unsupported: bool = ( - True # Warn if constraint is not supported by the platform and won't be in DDL - ) - - -@dataclass -class ModelLevelConstraint(ColumnLevelConstraint): - columns: List[str] = field(default_factory=list) - - @dataclass class ColumnInfo(AdditionalPropertiesMixin, ExtensibleDbtClassMixin, Replaceable): """Used in all ManifestNodes and SourceDefinition""" diff --git a/core/dbt/parser/common.py b/core/dbt/parser/common.py index 8947eea1364..4c030a776d4 100644 --- a/core/dbt/parser/common.py +++ b/core/dbt/parser/common.py @@ -1,3 +1,4 @@ +from dbt.common.contracts.constraints import ColumnLevelConstraint, ConstraintType from dbt.contracts.graph.unparsed import ( HasColumnProps, UnparsedColumn, @@ -8,12 +9,7 @@ UnparsedModelUpdate, ) from dbt.contracts.graph.unparsed import NodeVersion, HasColumnTests, HasColumnDocs -from dbt.contracts.graph.nodes import ( - UnpatchedSourceDefinition, - ColumnInfo, - ColumnLevelConstraint, - ConstraintType, -) +from dbt.contracts.graph.nodes import UnpatchedSourceDefinition, ColumnInfo from dbt.parser.search import FileBlock from typing import List, Dict, Any, TypeVar, Generic, Union, Optional from dataclasses import dataclass diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py index 391d5847674..216e8caaec8 100644 --- a/core/dbt/parser/schemas.py +++ b/core/dbt/parser/schemas.py @@ -5,6 +5,7 @@ from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, Type, TypeVar from dataclasses import dataclass, field +from dbt.common.contracts.constraints import ConstraintType, ModelLevelConstraint from dbt.common.dataclass_schema import ValidationError, dbtClassMixin from dbt.clients.yaml_helper import load_yaml_text @@ -17,9 +18,7 @@ ParsedNodePatch, ParsedMacroPatch, UnpatchedSourceDefinition, - ConstraintType, ModelNode, - ModelLevelConstraint, ) from dbt.contracts.graph.unparsed import ( HasColumnDocs, diff --git a/plugins/postgres/dbt/adapters/postgres/impl.py b/plugins/postgres/dbt/adapters/postgres/impl.py index 2cc9e5079a4..8dc5c487245 100644 --- a/plugins/postgres/dbt/adapters/postgres/impl.py +++ b/plugins/postgres/dbt/adapters/postgres/impl.py @@ -9,9 +9,9 @@ from dbt.adapters.postgres import PostgresConnectionManager from dbt.adapters.postgres.column import PostgresColumn from dbt.adapters.postgres import PostgresRelation +from dbt.common.contracts.constraints import ConstraintType from dbt.common.dataclass_schema import dbtClassMixin, ValidationError from dbt.common.exceptions import DbtRuntimeError -from dbt.contracts.graph.nodes import ConstraintType from dbt.adapters.exceptions import ( CrossDbReferenceProhibitedError, IndexConfigNotDictError, From 615ad1fe2dc570b43fc405a20d337d6c8aa8a589 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Mon, 27 Nov 2023 18:14:02 -0500 Subject: [PATCH 15/40] move include/global_project to adapters (#8930) --- .../Under the Hood-20231026-184953.yaml | 6 + .gitattributes | 2 +- ARCHITECTURE.md | 2 +- core/dbt/adapters/factory.py | 4 +- .../include/global_project/__init__.py | 4 + .../include/global_project/dbt_project.yml | 0 .../include/global_project/docs/overview.md | 0 .../macros/adapters/apply_grants.sql | 0 .../macros/adapters/columns.sql | 0 .../macros/adapters/freshness.sql | 0 .../macros/adapters/indexes.sql | 0 .../macros/adapters/metadata.sql | 0 .../macros/adapters/persist_docs.sql | 0 .../macros/adapters/relation.sql | 0 .../global_project/macros/adapters/schema.sql | 0 .../global_project/macros/adapters/show.sql | 0 .../macros/adapters/timestamps.sql | 0 .../macros/adapters/validate_sql.sql | 0 .../global_project/macros/etc/datetime.sql | 0 .../global_project/macros/etc/statement.sql | 0 .../generic_test_sql/accepted_values.sql | 0 .../macros/generic_test_sql/not_null.sql | 0 .../macros/generic_test_sql/relationships.sql | 0 .../macros/generic_test_sql/unique.sql | 0 .../get_custom_name/get_custom_alias.sql | 0 .../get_custom_name/get_custom_database.sql | 0 .../get_custom_name/get_custom_schema.sql | 0 .../macros/materializations/configs.sql | 0 .../macros/materializations/hooks.sql | 0 .../models/clone/can_clone_table.sql | 0 .../materializations/models/clone/clone.sql | 0 .../models/clone/create_or_replace_clone.sql | 0 .../models/incremental/column_helpers.sql | 0 .../models/incremental/incremental.sql | 0 .../models/incremental/is_incremental.sql | 0 .../models/incremental/merge.sql | 0 .../models/incremental/on_schema_change.sql | 0 .../models/incremental/strategies.sql | 0 .../models/materialized_view.sql | 0 .../macros/materializations/models/table.sql | 0 .../macros/materializations/models/view.sql | 0 .../macros/materializations/seeds/helpers.sql | 0 .../macros/materializations/seeds/seed.sql | 0 .../materializations/snapshots/helpers.sql | 0 .../materializations/snapshots/snapshot.sql | 0 .../snapshots/snapshot_merge.sql | 0 .../materializations/snapshots/strategies.sql | 0 .../macros/materializations/tests/helpers.sql | 0 .../macros/materializations/tests/test.sql | 0 .../materializations/tests/where_subquery.sql | 0 .../macros/python_model/python.sql | 0 .../relations/column/columns_spec_ddl.sql | 0 .../macros/relations/create.sql | 0 .../macros/relations/create_backup.sql | 0 .../macros/relations/create_intermediate.sql | 0 .../global_project/macros/relations/drop.sql | 0 .../macros/relations/drop_backup.sql | 0 .../relations/materialized_view/alter.sql | 0 .../relations/materialized_view/create.sql | 0 .../relations/materialized_view/drop.sql | 0 .../relations/materialized_view/refresh.sql | 0 .../relations/materialized_view/rename.sql | 0 .../relations/materialized_view/replace.sql | 0 .../macros/relations/rename.sql | 0 .../macros/relations/rename_intermediate.sql | 0 .../macros/relations/replace.sql | 0 .../macros/relations/schema.sql | 0 .../macros/relations/table/create.sql | 0 .../macros/relations/table/drop.sql | 0 .../macros/relations/table/rename.sql | 0 .../macros/relations/table/replace.sql | 0 .../macros/relations/view/create.sql | 0 .../macros/relations/view/drop.sql | 0 .../macros/relations/view/rename.sql | 0 .../macros/relations/view/replace.sql | 0 .../global_project/macros/utils/any_value.sql | 0 .../macros/utils/array_append.sql | 0 .../macros/utils/array_concat.sql | 0 .../macros/utils/array_construct.sql | 0 .../global_project/macros/utils/bool_or.sql | 0 .../macros/utils/cast_bool_to_text.sql | 0 .../global_project/macros/utils/concat.sql | 0 .../macros/utils/data_types.sql | 0 .../macros/utils/date_spine.sql | 0 .../macros/utils/date_trunc.sql | 0 .../global_project/macros/utils/dateadd.sql | 0 .../global_project/macros/utils/datediff.sql | 0 .../macros/utils/escape_single_quotes.sql | 0 .../global_project/macros/utils/except.sql | 0 .../macros/utils/generate_series.sql | 0 .../global_project/macros/utils/hash.sql | 0 .../global_project/macros/utils/intersect.sql | 0 .../global_project/macros/utils/last_day.sql | 0 .../global_project/macros/utils/length.sql | 0 .../global_project/macros/utils/listagg.sql | 0 .../global_project/macros/utils/literal.sql | 0 .../global_project/macros/utils/position.sql | 0 .../global_project/macros/utils/replace.sql | 0 .../global_project/macros/utils/right.sql | 0 .../global_project/macros/utils/safe_cast.sql | 0 .../macros/utils/split_part.sql | 0 .../global_project/tests/generic/builtin.sql | 0 core/dbt/cli/main.py | 4 +- core/dbt/context/macro_resolver.py | 2 +- core/dbt/context/macros.py | 2 +- core/dbt/include/global_project/__init__.py | 6 - core/dbt/include/index.html | 102 ------- core/dbt/task/docs/__init__.py | 3 + core/dbt/task/{ => docs}/generate.py | 4 +- core/dbt/task/docs/index.html | 255 ++++++++++++++++++ core/dbt/task/{ => docs}/serve.py | 2 +- core/dbt/task/init.py | 2 +- core/dbt/task/retry.py | 2 +- tests/functional/docs/test_static.py | 2 +- tests/unit/test_adapter_factory.py | 2 +- tests/unit/test_docs_generate.py | 4 +- 116 files changed, 285 insertions(+), 125 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231026-184953.yaml create mode 100644 core/dbt/adapters/include/global_project/__init__.py rename core/dbt/{ => adapters}/include/global_project/dbt_project.yml (100%) rename core/dbt/{ => adapters}/include/global_project/docs/overview.md (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/apply_grants.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/columns.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/freshness.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/indexes.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/metadata.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/persist_docs.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/relation.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/schema.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/show.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/timestamps.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/adapters/validate_sql.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/etc/datetime.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/etc/statement.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/generic_test_sql/accepted_values.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/generic_test_sql/not_null.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/generic_test_sql/relationships.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/generic_test_sql/unique.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/get_custom_name/get_custom_alias.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/get_custom_name/get_custom_database.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/get_custom_name/get_custom_schema.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/configs.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/hooks.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/clone/can_clone_table.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/clone/clone.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/incremental/column_helpers.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/incremental/incremental.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/incremental/is_incremental.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/incremental/merge.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/incremental/on_schema_change.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/incremental/strategies.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/materialized_view.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/table.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/models/view.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/seeds/helpers.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/seeds/seed.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/snapshots/helpers.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/snapshots/snapshot.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/snapshots/snapshot_merge.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/snapshots/strategies.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/tests/helpers.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/tests/test.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/materializations/tests/where_subquery.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/python_model/python.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/column/columns_spec_ddl.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/create.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/create_backup.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/create_intermediate.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/drop.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/drop_backup.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/materialized_view/alter.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/materialized_view/create.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/materialized_view/drop.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/materialized_view/refresh.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/materialized_view/rename.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/materialized_view/replace.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/rename.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/rename_intermediate.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/replace.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/schema.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/table/create.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/table/drop.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/table/rename.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/table/replace.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/view/create.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/view/drop.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/view/rename.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/relations/view/replace.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/any_value.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/array_append.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/array_concat.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/array_construct.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/bool_or.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/cast_bool_to_text.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/concat.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/data_types.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/date_spine.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/date_trunc.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/dateadd.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/datediff.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/escape_single_quotes.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/except.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/generate_series.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/hash.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/intersect.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/last_day.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/length.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/listagg.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/literal.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/position.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/replace.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/right.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/safe_cast.sql (100%) rename core/dbt/{ => adapters}/include/global_project/macros/utils/split_part.sql (100%) rename core/dbt/{ => adapters}/include/global_project/tests/generic/builtin.sql (100%) delete mode 100644 core/dbt/include/global_project/__init__.py delete mode 100644 core/dbt/include/index.html create mode 100644 core/dbt/task/docs/__init__.py rename core/dbt/task/{ => docs}/generate.py (99%) create mode 100644 core/dbt/task/docs/index.html rename core/dbt/task/{ => docs}/serve.py (93%) diff --git a/.changes/unreleased/Under the Hood-20231026-184953.yaml b/.changes/unreleased/Under the Hood-20231026-184953.yaml new file mode 100644 index 00000000000..cdfbf25be5f --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231026-184953.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Remove usage of dbt.include.global_project in dbt/adapters +time: 2023-10-26T18:49:53.36449-04:00 +custom: + Author: michelleark + Issue: "8925" diff --git a/.gitattributes b/.gitattributes index 2cc23be887c..b963dbdc1c5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -core/dbt/include/index.html binary +core/dbt/task/docs/index.html binary tests/functional/artifacts/data/state/*/manifest.json binary core/dbt/docs/build/html/searchindex.js binary core/dbt/docs/build/html/index.html binary diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index e689d32f2ee..5373f780aa1 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -26,7 +26,7 @@ Legacy tests are found in the 'test' directory: The "tasks" map to top-level dbt commands. So `dbt run` => task.run.RunTask, etc. Some are more like abstract base classes (GraphRunnableTask, for example) but all the concrete types outside of task should map to tasks. Currently one executes at a time. The tasks kick off their “Runners” and those do execute in parallel. The parallelism is managed via a thread pool, in GraphRunnableTask. -core/dbt/include/index.html +core/dbt/task/docs/index.html This is the docs website code. It comes from the dbt-docs repository, and is generated when a release is packaged. ## Adapters diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index 79d6564aa0f..f79585ecd1d 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -11,8 +11,8 @@ from dbt.common.events.functions import fire_event from dbt.adapters.events.types import AdapterImportError, PluginLoadError, AdapterRegistered from dbt.common.exceptions import DbtInternalError, DbtRuntimeError -from dbt.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH -from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME +from dbt.adapters.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH +from dbt.adapters.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME from dbt.semver import VersionSpecifier from dbt.mp_context import get_mp_context diff --git a/core/dbt/adapters/include/global_project/__init__.py b/core/dbt/adapters/include/global_project/__init__.py new file mode 100644 index 00000000000..4043ffebb6e --- /dev/null +++ b/core/dbt/adapters/include/global_project/__init__.py @@ -0,0 +1,4 @@ +import os + +PACKAGE_PATH = os.path.dirname(__file__) +PROJECT_NAME = "dbt" diff --git a/core/dbt/include/global_project/dbt_project.yml b/core/dbt/adapters/include/global_project/dbt_project.yml similarity index 100% rename from core/dbt/include/global_project/dbt_project.yml rename to core/dbt/adapters/include/global_project/dbt_project.yml diff --git a/core/dbt/include/global_project/docs/overview.md b/core/dbt/adapters/include/global_project/docs/overview.md similarity index 100% rename from core/dbt/include/global_project/docs/overview.md rename to core/dbt/adapters/include/global_project/docs/overview.md diff --git a/core/dbt/include/global_project/macros/adapters/apply_grants.sql b/core/dbt/adapters/include/global_project/macros/adapters/apply_grants.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/apply_grants.sql rename to core/dbt/adapters/include/global_project/macros/adapters/apply_grants.sql diff --git a/core/dbt/include/global_project/macros/adapters/columns.sql b/core/dbt/adapters/include/global_project/macros/adapters/columns.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/columns.sql rename to core/dbt/adapters/include/global_project/macros/adapters/columns.sql diff --git a/core/dbt/include/global_project/macros/adapters/freshness.sql b/core/dbt/adapters/include/global_project/macros/adapters/freshness.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/freshness.sql rename to core/dbt/adapters/include/global_project/macros/adapters/freshness.sql diff --git a/core/dbt/include/global_project/macros/adapters/indexes.sql b/core/dbt/adapters/include/global_project/macros/adapters/indexes.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/indexes.sql rename to core/dbt/adapters/include/global_project/macros/adapters/indexes.sql diff --git a/core/dbt/include/global_project/macros/adapters/metadata.sql b/core/dbt/adapters/include/global_project/macros/adapters/metadata.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/metadata.sql rename to core/dbt/adapters/include/global_project/macros/adapters/metadata.sql diff --git a/core/dbt/include/global_project/macros/adapters/persist_docs.sql b/core/dbt/adapters/include/global_project/macros/adapters/persist_docs.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/persist_docs.sql rename to core/dbt/adapters/include/global_project/macros/adapters/persist_docs.sql diff --git a/core/dbt/include/global_project/macros/adapters/relation.sql b/core/dbt/adapters/include/global_project/macros/adapters/relation.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/relation.sql rename to core/dbt/adapters/include/global_project/macros/adapters/relation.sql diff --git a/core/dbt/include/global_project/macros/adapters/schema.sql b/core/dbt/adapters/include/global_project/macros/adapters/schema.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/schema.sql rename to core/dbt/adapters/include/global_project/macros/adapters/schema.sql diff --git a/core/dbt/include/global_project/macros/adapters/show.sql b/core/dbt/adapters/include/global_project/macros/adapters/show.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/show.sql rename to core/dbt/adapters/include/global_project/macros/adapters/show.sql diff --git a/core/dbt/include/global_project/macros/adapters/timestamps.sql b/core/dbt/adapters/include/global_project/macros/adapters/timestamps.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/timestamps.sql rename to core/dbt/adapters/include/global_project/macros/adapters/timestamps.sql diff --git a/core/dbt/include/global_project/macros/adapters/validate_sql.sql b/core/dbt/adapters/include/global_project/macros/adapters/validate_sql.sql similarity index 100% rename from core/dbt/include/global_project/macros/adapters/validate_sql.sql rename to core/dbt/adapters/include/global_project/macros/adapters/validate_sql.sql diff --git a/core/dbt/include/global_project/macros/etc/datetime.sql b/core/dbt/adapters/include/global_project/macros/etc/datetime.sql similarity index 100% rename from core/dbt/include/global_project/macros/etc/datetime.sql rename to core/dbt/adapters/include/global_project/macros/etc/datetime.sql diff --git a/core/dbt/include/global_project/macros/etc/statement.sql b/core/dbt/adapters/include/global_project/macros/etc/statement.sql similarity index 100% rename from core/dbt/include/global_project/macros/etc/statement.sql rename to core/dbt/adapters/include/global_project/macros/etc/statement.sql diff --git a/core/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql b/core/dbt/adapters/include/global_project/macros/generic_test_sql/accepted_values.sql similarity index 100% rename from core/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql rename to core/dbt/adapters/include/global_project/macros/generic_test_sql/accepted_values.sql diff --git a/core/dbt/include/global_project/macros/generic_test_sql/not_null.sql b/core/dbt/adapters/include/global_project/macros/generic_test_sql/not_null.sql similarity index 100% rename from core/dbt/include/global_project/macros/generic_test_sql/not_null.sql rename to core/dbt/adapters/include/global_project/macros/generic_test_sql/not_null.sql diff --git a/core/dbt/include/global_project/macros/generic_test_sql/relationships.sql b/core/dbt/adapters/include/global_project/macros/generic_test_sql/relationships.sql similarity index 100% rename from core/dbt/include/global_project/macros/generic_test_sql/relationships.sql rename to core/dbt/adapters/include/global_project/macros/generic_test_sql/relationships.sql diff --git a/core/dbt/include/global_project/macros/generic_test_sql/unique.sql b/core/dbt/adapters/include/global_project/macros/generic_test_sql/unique.sql similarity index 100% rename from core/dbt/include/global_project/macros/generic_test_sql/unique.sql rename to core/dbt/adapters/include/global_project/macros/generic_test_sql/unique.sql diff --git a/core/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql b/core/dbt/adapters/include/global_project/macros/get_custom_name/get_custom_alias.sql similarity index 100% rename from core/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql rename to core/dbt/adapters/include/global_project/macros/get_custom_name/get_custom_alias.sql diff --git a/core/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql b/core/dbt/adapters/include/global_project/macros/get_custom_name/get_custom_database.sql similarity index 100% rename from core/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql rename to core/dbt/adapters/include/global_project/macros/get_custom_name/get_custom_database.sql diff --git a/core/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql b/core/dbt/adapters/include/global_project/macros/get_custom_name/get_custom_schema.sql similarity index 100% rename from core/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql rename to core/dbt/adapters/include/global_project/macros/get_custom_name/get_custom_schema.sql diff --git a/core/dbt/include/global_project/macros/materializations/configs.sql b/core/dbt/adapters/include/global_project/macros/materializations/configs.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/configs.sql rename to core/dbt/adapters/include/global_project/macros/materializations/configs.sql diff --git a/core/dbt/include/global_project/macros/materializations/hooks.sql b/core/dbt/adapters/include/global_project/macros/materializations/hooks.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/hooks.sql rename to core/dbt/adapters/include/global_project/macros/materializations/hooks.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/clone/can_clone_table.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/clone/can_clone_table.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/clone/clone.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/clone/clone.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/clone/clone.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/clone/clone.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/incremental/column_helpers.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/incremental/column_helpers.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/incremental/incremental.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/incremental/incremental.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/incremental/is_incremental.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/incremental/is_incremental.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/incremental/merge.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/incremental/merge.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/incremental/merge.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/incremental/merge.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/incremental/on_schema_change.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/incremental/on_schema_change.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/incremental/strategies.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/incremental/strategies.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/materialized_view.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/materialized_view.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/materialized_view.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/materialized_view.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/table.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/table.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/table.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/table.sql diff --git a/core/dbt/include/global_project/macros/materializations/models/view.sql b/core/dbt/adapters/include/global_project/macros/materializations/models/view.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/models/view.sql rename to core/dbt/adapters/include/global_project/macros/materializations/models/view.sql diff --git a/core/dbt/include/global_project/macros/materializations/seeds/helpers.sql b/core/dbt/adapters/include/global_project/macros/materializations/seeds/helpers.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/seeds/helpers.sql rename to core/dbt/adapters/include/global_project/macros/materializations/seeds/helpers.sql diff --git a/core/dbt/include/global_project/macros/materializations/seeds/seed.sql b/core/dbt/adapters/include/global_project/macros/materializations/seeds/seed.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/seeds/seed.sql rename to core/dbt/adapters/include/global_project/macros/materializations/seeds/seed.sql diff --git a/core/dbt/include/global_project/macros/materializations/snapshots/helpers.sql b/core/dbt/adapters/include/global_project/macros/materializations/snapshots/helpers.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/snapshots/helpers.sql rename to core/dbt/adapters/include/global_project/macros/materializations/snapshots/helpers.sql diff --git a/core/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql b/core/dbt/adapters/include/global_project/macros/materializations/snapshots/snapshot.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql rename to core/dbt/adapters/include/global_project/macros/materializations/snapshots/snapshot.sql diff --git a/core/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql b/core/dbt/adapters/include/global_project/macros/materializations/snapshots/snapshot_merge.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql rename to core/dbt/adapters/include/global_project/macros/materializations/snapshots/snapshot_merge.sql diff --git a/core/dbt/include/global_project/macros/materializations/snapshots/strategies.sql b/core/dbt/adapters/include/global_project/macros/materializations/snapshots/strategies.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/snapshots/strategies.sql rename to core/dbt/adapters/include/global_project/macros/materializations/snapshots/strategies.sql diff --git a/core/dbt/include/global_project/macros/materializations/tests/helpers.sql b/core/dbt/adapters/include/global_project/macros/materializations/tests/helpers.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/tests/helpers.sql rename to core/dbt/adapters/include/global_project/macros/materializations/tests/helpers.sql diff --git a/core/dbt/include/global_project/macros/materializations/tests/test.sql b/core/dbt/adapters/include/global_project/macros/materializations/tests/test.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/tests/test.sql rename to core/dbt/adapters/include/global_project/macros/materializations/tests/test.sql diff --git a/core/dbt/include/global_project/macros/materializations/tests/where_subquery.sql b/core/dbt/adapters/include/global_project/macros/materializations/tests/where_subquery.sql similarity index 100% rename from core/dbt/include/global_project/macros/materializations/tests/where_subquery.sql rename to core/dbt/adapters/include/global_project/macros/materializations/tests/where_subquery.sql diff --git a/core/dbt/include/global_project/macros/python_model/python.sql b/core/dbt/adapters/include/global_project/macros/python_model/python.sql similarity index 100% rename from core/dbt/include/global_project/macros/python_model/python.sql rename to core/dbt/adapters/include/global_project/macros/python_model/python.sql diff --git a/core/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql b/core/dbt/adapters/include/global_project/macros/relations/column/columns_spec_ddl.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql rename to core/dbt/adapters/include/global_project/macros/relations/column/columns_spec_ddl.sql diff --git a/core/dbt/include/global_project/macros/relations/create.sql b/core/dbt/adapters/include/global_project/macros/relations/create.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/create.sql rename to core/dbt/adapters/include/global_project/macros/relations/create.sql diff --git a/core/dbt/include/global_project/macros/relations/create_backup.sql b/core/dbt/adapters/include/global_project/macros/relations/create_backup.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/create_backup.sql rename to core/dbt/adapters/include/global_project/macros/relations/create_backup.sql diff --git a/core/dbt/include/global_project/macros/relations/create_intermediate.sql b/core/dbt/adapters/include/global_project/macros/relations/create_intermediate.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/create_intermediate.sql rename to core/dbt/adapters/include/global_project/macros/relations/create_intermediate.sql diff --git a/core/dbt/include/global_project/macros/relations/drop.sql b/core/dbt/adapters/include/global_project/macros/relations/drop.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/drop.sql rename to core/dbt/adapters/include/global_project/macros/relations/drop.sql diff --git a/core/dbt/include/global_project/macros/relations/drop_backup.sql b/core/dbt/adapters/include/global_project/macros/relations/drop_backup.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/drop_backup.sql rename to core/dbt/adapters/include/global_project/macros/relations/drop_backup.sql diff --git a/core/dbt/include/global_project/macros/relations/materialized_view/alter.sql b/core/dbt/adapters/include/global_project/macros/relations/materialized_view/alter.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/materialized_view/alter.sql rename to core/dbt/adapters/include/global_project/macros/relations/materialized_view/alter.sql diff --git a/core/dbt/include/global_project/macros/relations/materialized_view/create.sql b/core/dbt/adapters/include/global_project/macros/relations/materialized_view/create.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/materialized_view/create.sql rename to core/dbt/adapters/include/global_project/macros/relations/materialized_view/create.sql diff --git a/core/dbt/include/global_project/macros/relations/materialized_view/drop.sql b/core/dbt/adapters/include/global_project/macros/relations/materialized_view/drop.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/materialized_view/drop.sql rename to core/dbt/adapters/include/global_project/macros/relations/materialized_view/drop.sql diff --git a/core/dbt/include/global_project/macros/relations/materialized_view/refresh.sql b/core/dbt/adapters/include/global_project/macros/relations/materialized_view/refresh.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/materialized_view/refresh.sql rename to core/dbt/adapters/include/global_project/macros/relations/materialized_view/refresh.sql diff --git a/core/dbt/include/global_project/macros/relations/materialized_view/rename.sql b/core/dbt/adapters/include/global_project/macros/relations/materialized_view/rename.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/materialized_view/rename.sql rename to core/dbt/adapters/include/global_project/macros/relations/materialized_view/rename.sql diff --git a/core/dbt/include/global_project/macros/relations/materialized_view/replace.sql b/core/dbt/adapters/include/global_project/macros/relations/materialized_view/replace.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/materialized_view/replace.sql rename to core/dbt/adapters/include/global_project/macros/relations/materialized_view/replace.sql diff --git a/core/dbt/include/global_project/macros/relations/rename.sql b/core/dbt/adapters/include/global_project/macros/relations/rename.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/rename.sql rename to core/dbt/adapters/include/global_project/macros/relations/rename.sql diff --git a/core/dbt/include/global_project/macros/relations/rename_intermediate.sql b/core/dbt/adapters/include/global_project/macros/relations/rename_intermediate.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/rename_intermediate.sql rename to core/dbt/adapters/include/global_project/macros/relations/rename_intermediate.sql diff --git a/core/dbt/include/global_project/macros/relations/replace.sql b/core/dbt/adapters/include/global_project/macros/relations/replace.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/replace.sql rename to core/dbt/adapters/include/global_project/macros/relations/replace.sql diff --git a/core/dbt/include/global_project/macros/relations/schema.sql b/core/dbt/adapters/include/global_project/macros/relations/schema.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/schema.sql rename to core/dbt/adapters/include/global_project/macros/relations/schema.sql diff --git a/core/dbt/include/global_project/macros/relations/table/create.sql b/core/dbt/adapters/include/global_project/macros/relations/table/create.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/table/create.sql rename to core/dbt/adapters/include/global_project/macros/relations/table/create.sql diff --git a/core/dbt/include/global_project/macros/relations/table/drop.sql b/core/dbt/adapters/include/global_project/macros/relations/table/drop.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/table/drop.sql rename to core/dbt/adapters/include/global_project/macros/relations/table/drop.sql diff --git a/core/dbt/include/global_project/macros/relations/table/rename.sql b/core/dbt/adapters/include/global_project/macros/relations/table/rename.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/table/rename.sql rename to core/dbt/adapters/include/global_project/macros/relations/table/rename.sql diff --git a/core/dbt/include/global_project/macros/relations/table/replace.sql b/core/dbt/adapters/include/global_project/macros/relations/table/replace.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/table/replace.sql rename to core/dbt/adapters/include/global_project/macros/relations/table/replace.sql diff --git a/core/dbt/include/global_project/macros/relations/view/create.sql b/core/dbt/adapters/include/global_project/macros/relations/view/create.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/view/create.sql rename to core/dbt/adapters/include/global_project/macros/relations/view/create.sql diff --git a/core/dbt/include/global_project/macros/relations/view/drop.sql b/core/dbt/adapters/include/global_project/macros/relations/view/drop.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/view/drop.sql rename to core/dbt/adapters/include/global_project/macros/relations/view/drop.sql diff --git a/core/dbt/include/global_project/macros/relations/view/rename.sql b/core/dbt/adapters/include/global_project/macros/relations/view/rename.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/view/rename.sql rename to core/dbt/adapters/include/global_project/macros/relations/view/rename.sql diff --git a/core/dbt/include/global_project/macros/relations/view/replace.sql b/core/dbt/adapters/include/global_project/macros/relations/view/replace.sql similarity index 100% rename from core/dbt/include/global_project/macros/relations/view/replace.sql rename to core/dbt/adapters/include/global_project/macros/relations/view/replace.sql diff --git a/core/dbt/include/global_project/macros/utils/any_value.sql b/core/dbt/adapters/include/global_project/macros/utils/any_value.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/any_value.sql rename to core/dbt/adapters/include/global_project/macros/utils/any_value.sql diff --git a/core/dbt/include/global_project/macros/utils/array_append.sql b/core/dbt/adapters/include/global_project/macros/utils/array_append.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/array_append.sql rename to core/dbt/adapters/include/global_project/macros/utils/array_append.sql diff --git a/core/dbt/include/global_project/macros/utils/array_concat.sql b/core/dbt/adapters/include/global_project/macros/utils/array_concat.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/array_concat.sql rename to core/dbt/adapters/include/global_project/macros/utils/array_concat.sql diff --git a/core/dbt/include/global_project/macros/utils/array_construct.sql b/core/dbt/adapters/include/global_project/macros/utils/array_construct.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/array_construct.sql rename to core/dbt/adapters/include/global_project/macros/utils/array_construct.sql diff --git a/core/dbt/include/global_project/macros/utils/bool_or.sql b/core/dbt/adapters/include/global_project/macros/utils/bool_or.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/bool_or.sql rename to core/dbt/adapters/include/global_project/macros/utils/bool_or.sql diff --git a/core/dbt/include/global_project/macros/utils/cast_bool_to_text.sql b/core/dbt/adapters/include/global_project/macros/utils/cast_bool_to_text.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/cast_bool_to_text.sql rename to core/dbt/adapters/include/global_project/macros/utils/cast_bool_to_text.sql diff --git a/core/dbt/include/global_project/macros/utils/concat.sql b/core/dbt/adapters/include/global_project/macros/utils/concat.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/concat.sql rename to core/dbt/adapters/include/global_project/macros/utils/concat.sql diff --git a/core/dbt/include/global_project/macros/utils/data_types.sql b/core/dbt/adapters/include/global_project/macros/utils/data_types.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/data_types.sql rename to core/dbt/adapters/include/global_project/macros/utils/data_types.sql diff --git a/core/dbt/include/global_project/macros/utils/date_spine.sql b/core/dbt/adapters/include/global_project/macros/utils/date_spine.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/date_spine.sql rename to core/dbt/adapters/include/global_project/macros/utils/date_spine.sql diff --git a/core/dbt/include/global_project/macros/utils/date_trunc.sql b/core/dbt/adapters/include/global_project/macros/utils/date_trunc.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/date_trunc.sql rename to core/dbt/adapters/include/global_project/macros/utils/date_trunc.sql diff --git a/core/dbt/include/global_project/macros/utils/dateadd.sql b/core/dbt/adapters/include/global_project/macros/utils/dateadd.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/dateadd.sql rename to core/dbt/adapters/include/global_project/macros/utils/dateadd.sql diff --git a/core/dbt/include/global_project/macros/utils/datediff.sql b/core/dbt/adapters/include/global_project/macros/utils/datediff.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/datediff.sql rename to core/dbt/adapters/include/global_project/macros/utils/datediff.sql diff --git a/core/dbt/include/global_project/macros/utils/escape_single_quotes.sql b/core/dbt/adapters/include/global_project/macros/utils/escape_single_quotes.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/escape_single_quotes.sql rename to core/dbt/adapters/include/global_project/macros/utils/escape_single_quotes.sql diff --git a/core/dbt/include/global_project/macros/utils/except.sql b/core/dbt/adapters/include/global_project/macros/utils/except.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/except.sql rename to core/dbt/adapters/include/global_project/macros/utils/except.sql diff --git a/core/dbt/include/global_project/macros/utils/generate_series.sql b/core/dbt/adapters/include/global_project/macros/utils/generate_series.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/generate_series.sql rename to core/dbt/adapters/include/global_project/macros/utils/generate_series.sql diff --git a/core/dbt/include/global_project/macros/utils/hash.sql b/core/dbt/adapters/include/global_project/macros/utils/hash.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/hash.sql rename to core/dbt/adapters/include/global_project/macros/utils/hash.sql diff --git a/core/dbt/include/global_project/macros/utils/intersect.sql b/core/dbt/adapters/include/global_project/macros/utils/intersect.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/intersect.sql rename to core/dbt/adapters/include/global_project/macros/utils/intersect.sql diff --git a/core/dbt/include/global_project/macros/utils/last_day.sql b/core/dbt/adapters/include/global_project/macros/utils/last_day.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/last_day.sql rename to core/dbt/adapters/include/global_project/macros/utils/last_day.sql diff --git a/core/dbt/include/global_project/macros/utils/length.sql b/core/dbt/adapters/include/global_project/macros/utils/length.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/length.sql rename to core/dbt/adapters/include/global_project/macros/utils/length.sql diff --git a/core/dbt/include/global_project/macros/utils/listagg.sql b/core/dbt/adapters/include/global_project/macros/utils/listagg.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/listagg.sql rename to core/dbt/adapters/include/global_project/macros/utils/listagg.sql diff --git a/core/dbt/include/global_project/macros/utils/literal.sql b/core/dbt/adapters/include/global_project/macros/utils/literal.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/literal.sql rename to core/dbt/adapters/include/global_project/macros/utils/literal.sql diff --git a/core/dbt/include/global_project/macros/utils/position.sql b/core/dbt/adapters/include/global_project/macros/utils/position.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/position.sql rename to core/dbt/adapters/include/global_project/macros/utils/position.sql diff --git a/core/dbt/include/global_project/macros/utils/replace.sql b/core/dbt/adapters/include/global_project/macros/utils/replace.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/replace.sql rename to core/dbt/adapters/include/global_project/macros/utils/replace.sql diff --git a/core/dbt/include/global_project/macros/utils/right.sql b/core/dbt/adapters/include/global_project/macros/utils/right.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/right.sql rename to core/dbt/adapters/include/global_project/macros/utils/right.sql diff --git a/core/dbt/include/global_project/macros/utils/safe_cast.sql b/core/dbt/adapters/include/global_project/macros/utils/safe_cast.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/safe_cast.sql rename to core/dbt/adapters/include/global_project/macros/utils/safe_cast.sql diff --git a/core/dbt/include/global_project/macros/utils/split_part.sql b/core/dbt/adapters/include/global_project/macros/utils/split_part.sql similarity index 100% rename from core/dbt/include/global_project/macros/utils/split_part.sql rename to core/dbt/adapters/include/global_project/macros/utils/split_part.sql diff --git a/core/dbt/include/global_project/tests/generic/builtin.sql b/core/dbt/adapters/include/global_project/tests/generic/builtin.sql similarity index 100% rename from core/dbt/include/global_project/tests/generic/builtin.sql rename to core/dbt/adapters/include/global_project/tests/generic/builtin.sql diff --git a/core/dbt/cli/main.py b/core/dbt/cli/main.py index a19e1058903..03a6cbfb01c 100644 --- a/core/dbt/cli/main.py +++ b/core/dbt/cli/main.py @@ -28,15 +28,15 @@ from dbt.task.compile import CompileTask from dbt.task.debug import DebugTask from dbt.task.deps import DepsTask +from dbt.task.docs.generate import GenerateTask +from dbt.task.docs.serve import ServeTask from dbt.task.freshness import FreshnessTask -from dbt.task.generate import GenerateTask from dbt.task.init import InitTask from dbt.task.list import ListTask from dbt.task.retry import RetryTask from dbt.task.run import RunTask from dbt.task.run_operation import RunOperationTask from dbt.task.seed import SeedTask -from dbt.task.serve import ServeTask from dbt.task.show import ShowTask from dbt.task.snapshot import SnapshotTask from dbt.task.test import TestTask diff --git a/core/dbt/context/macro_resolver.py b/core/dbt/context/macro_resolver.py index d897c754049..dbeaf53ed78 100644 --- a/core/dbt/context/macro_resolver.py +++ b/core/dbt/context/macro_resolver.py @@ -1,7 +1,7 @@ from typing import Dict, MutableMapping, Optional from dbt.contracts.graph.nodes import Macro from dbt.exceptions import DuplicateMacroNameError, PackageNotFoundForMacroError -from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME +from dbt.adapters.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME from dbt.clients.jinja import MacroGenerator MacroNamespace = Dict[str, Macro] diff --git a/core/dbt/context/macros.py b/core/dbt/context/macros.py index 1c61e564e06..f37aa02d20f 100644 --- a/core/dbt/context/macros.py +++ b/core/dbt/context/macros.py @@ -2,7 +2,7 @@ from dbt.clients.jinja import MacroGenerator, MacroStack from dbt.contracts.graph.nodes import Macro -from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME +from dbt.adapters.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME from dbt.exceptions import DuplicateMacroNameError, PackageNotFoundForMacroError diff --git a/core/dbt/include/global_project/__init__.py b/core/dbt/include/global_project/__init__.py deleted file mode 100644 index 1ef0113c7d8..00000000000 --- a/core/dbt/include/global_project/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -import os - -PACKAGE_PATH = os.path.dirname(__file__) -PROJECT_NAME = "dbt" - -DOCS_INDEX_FILE_PATH = os.path.normpath(os.path.join(PACKAGE_PATH, "..", "index.html")) diff --git a/core/dbt/include/index.html b/core/dbt/include/index.html deleted file mode 100644 index ca1e6f8832d..00000000000 --- a/core/dbt/include/index.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - dbt Docs - - - - - - - - - - - - - - - - - -
icons
-
- - diff --git a/core/dbt/task/docs/__init__.py b/core/dbt/task/docs/__init__.py new file mode 100644 index 00000000000..3cd9e13e846 --- /dev/null +++ b/core/dbt/task/docs/__init__.py @@ -0,0 +1,3 @@ +import os + +DOCS_INDEX_FILE_PATH = os.path.normpath(os.path.join(os.path.dirname(__file__), "index.html")) diff --git a/core/dbt/task/generate.py b/core/dbt/task/docs/generate.py similarity index 99% rename from core/dbt/task/generate.py rename to core/dbt/task/docs/generate.py index ceff4033275..71496dea2a3 100644 --- a/core/dbt/task/generate.py +++ b/core/dbt/task/docs/generate.py @@ -7,7 +7,8 @@ from dbt.common.dataclass_schema import ValidationError from dbt.clients.system import load_file_contents -from .compile import CompileTask +from dbt.task.docs import DOCS_INDEX_FILE_PATH +from dbt.task.compile import CompileTask from dbt.adapters.factory import get_adapter from dbt.contracts.graph.nodes import ResultNode @@ -28,7 +29,6 @@ from dbt.exceptions import AmbiguousCatalogMatchError from dbt.graph import ResourceTypeSelector from dbt.node_types import NodeType -from dbt.include.global_project import DOCS_INDEX_FILE_PATH from dbt.common.events.functions import fire_event from dbt.adapters.events.types import ( WriteCatalogFailure, diff --git a/core/dbt/task/docs/index.html b/core/dbt/task/docs/index.html new file mode 100644 index 00000000000..3da725b2e59 --- /dev/null +++ b/core/dbt/task/docs/index.html @@ -0,0 +1,255 @@ + + + + + + + + dbt Docs + + + + + + + + + + + + + + + + + + +
+ icons + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/core/dbt/task/serve.py b/core/dbt/task/docs/serve.py similarity index 93% rename from core/dbt/task/serve.py rename to core/dbt/task/docs/serve.py index 060c4c93d17..c3e6fda61fa 100644 --- a/core/dbt/task/serve.py +++ b/core/dbt/task/docs/serve.py @@ -6,7 +6,7 @@ import click -from dbt.include.global_project import DOCS_INDEX_FILE_PATH +from dbt.task.docs import DOCS_INDEX_FILE_PATH from dbt.task.base import ConfiguredTask diff --git a/core/dbt/task/init.py b/core/dbt/task/init.py index 11fe14406b8..483cdd991bc 100644 --- a/core/dbt/task/init.py +++ b/core/dbt/task/init.py @@ -34,7 +34,7 @@ from dbt.include.starter_project import PACKAGE_PATH as starter_project_directory -from dbt.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME +from dbt.adapters.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME from dbt.task.base import BaseTask, move_to_nearest_project_dir diff --git a/core/dbt/task/retry.py b/core/dbt/task/retry.py index a982880adaa..f02381b789f 100644 --- a/core/dbt/task/retry.py +++ b/core/dbt/task/retry.py @@ -11,7 +11,7 @@ from dbt.task.build import BuildTask from dbt.task.clone import CloneTask from dbt.task.compile import CompileTask -from dbt.task.generate import GenerateTask +from dbt.task.docs.generate import GenerateTask from dbt.task.run import RunTask from dbt.task.run_operation import RunOperationTask from dbt.task.seed import SeedTask diff --git a/tests/functional/docs/test_static.py b/tests/functional/docs/test_static.py index 2196db779be..ad820c36fc2 100644 --- a/tests/functional/docs/test_static.py +++ b/tests/functional/docs/test_static.py @@ -1,7 +1,7 @@ import pytest from dbt.clients.system import load_file_contents -from dbt.include.global_project import DOCS_INDEX_FILE_PATH +from dbt.task.docs import DOCS_INDEX_FILE_PATH from dbt.tests.util import run_dbt import os diff --git a/tests/unit/test_adapter_factory.py b/tests/unit/test_adapter_factory.py index c67b61d7fc0..49974d14dfb 100644 --- a/tests/unit/test_adapter_factory.py +++ b/tests/unit/test_adapter_factory.py @@ -3,7 +3,7 @@ from unittest import mock from dbt.adapters.factory import AdapterContainer from dbt.adapters.base.plugin import AdapterPlugin -from dbt.include.global_project import ( +from dbt.adapters.include.global_project import ( PROJECT_NAME as GLOBAL_PROJECT_NAME, ) diff --git a/tests/unit/test_docs_generate.py b/tests/unit/test_docs_generate.py index 8daf767e96b..25cb2655a72 100644 --- a/tests/unit/test_docs_generate.py +++ b/tests/unit/test_docs_generate.py @@ -2,14 +2,14 @@ from unittest import mock import unittest -from dbt.task import generate +from dbt.task.docs import generate class GenerateTest(unittest.TestCase): def setUp(self): self.maxDiff = None self.manifest = mock.MagicMock() - self.patcher = mock.patch("dbt.task.generate.get_unique_id_mapping") + self.patcher = mock.patch("dbt.task.docs.generate.get_unique_id_mapping") self.mock_get_unique_id_mapping = self.patcher.start() def tearDown(self): From 220f56d8d2f71c5c3cfbfd5ab1f49f3d851231e2 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Tue, 28 Nov 2023 09:27:00 -0500 Subject: [PATCH 16/40] remove adapter.get_compiler (#9134) --- .../Breaking Changes-20231127-114757.yaml | 6 +++++ core/dbt/adapters/base/impl.py | 5 ---- core/dbt/adapters/protocol.py | 24 +------------------ core/dbt/compilation.py | 9 ++----- core/dbt/task/base.py | 9 ++++--- core/dbt/task/build.py | 5 +--- core/dbt/task/compile.py | 3 +-- core/dbt/task/run.py | 6 +++-- core/dbt/task/sql.py | 3 +-- 9 files changed, 20 insertions(+), 50 deletions(-) create mode 100644 .changes/unreleased/Breaking Changes-20231127-114757.yaml diff --git a/.changes/unreleased/Breaking Changes-20231127-114757.yaml b/.changes/unreleased/Breaking Changes-20231127-114757.yaml new file mode 100644 index 00000000000..b7b8d030d6a --- /dev/null +++ b/.changes/unreleased/Breaking Changes-20231127-114757.yaml @@ -0,0 +1,6 @@ +kind: Breaking Changes +body: Remove adapter.get_compiler interface +time: 2023-11-27T11:47:57.443202-05:00 +custom: + Author: michelleark + Issue: "9148" diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index 56f44c201f1..a9c7ad9f8f8 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -1370,11 +1370,6 @@ def post_model_hook(self, config: Mapping[str, Any], context: Any) -> None: """ pass - def get_compiler(self): - from dbt.compilation import Compiler - - return Compiler(self.config) - # Methods used in adapter tests def update_column_sql( self, diff --git a/core/dbt/adapters/protocol.py b/core/dbt/adapters/protocol.py index 8d8364939d4..04c1b2fd0c5 100644 --- a/core/dbt/adapters/protocol.py +++ b/core/dbt/adapters/protocol.py @@ -8,21 +8,17 @@ Generic, TypeVar, Tuple, - Dict, - Any, ) from typing_extensions import Protocol import agate from dbt.adapters.contracts.connection import Connection, AdapterRequiredConfig, AdapterResponse -from dbt.contracts.graph.nodes import ResultNode, ManifestNode +from dbt.contracts.graph.nodes import ResultNode from dbt.contracts.graph.model_config import BaseConfig from dbt.contracts.graph.manifest import Manifest from dbt.contracts.relation import Policy, HasQuoting -from dbt.graph import Graph - @dataclass class AdapterConfig(BaseConfig): @@ -50,24 +46,10 @@ def create_from(cls: Type[Self], config: HasQuoting, node: ResultNode) -> Self: ... -class CompilerProtocol(Protocol): - def compile(self, manifest: Manifest, write=True) -> Graph: - ... - - def compile_node( - self, - node: ManifestNode, - manifest: Manifest, - extra_context: Optional[Dict[str, Any]] = None, - ) -> ManifestNode: - ... - - AdapterConfig_T = TypeVar("AdapterConfig_T", bound=AdapterConfig) ConnectionManager_T = TypeVar("ConnectionManager_T", bound=ConnectionManagerProtocol) Relation_T = TypeVar("Relation_T", bound=RelationProtocol) Column_T = TypeVar("Column_T", bound=ColumnProtocol) -Compiler_T = TypeVar("Compiler_T", bound=CompilerProtocol) # TODO CT-211 @@ -78,7 +60,6 @@ class AdapterProtocol( # type: ignore[misc] ConnectionManager_T, Relation_T, Column_T, - Compiler_T, ], ): # N.B. Technically these are ClassVars, but mypy doesn't support putting type vars in a @@ -153,6 +134,3 @@ def execute( self, sql: str, auto_begin: bool = False, fetch: bool = False ) -> Tuple[AdapterResponse, agate.Table]: ... - - def get_compiler(self) -> Compiler_T: - ... diff --git a/core/dbt/compilation.py b/core/dbt/compilation.py index f436f653d56..5dd68105062 100644 --- a/core/dbt/compilation.py +++ b/core/dbt/compilation.py @@ -1,4 +1,3 @@ -import argparse import json import networkx as nx # type: ignore @@ -34,7 +33,6 @@ from dbt.node_types import NodeType, ModelLanguage from dbt.common.events.format import pluralize import dbt.tracking -import dbt.task.list as list_task import sqlparse graph_file_name = "graph.gpickle" @@ -485,11 +483,8 @@ def compile(self, manifest: Manifest, write=True, add_test_edges=False) -> Graph if write: self.write_graph_file(linker, manifest) - # Do not print these for ListTask's - if not ( - self.config.args.__class__ == argparse.Namespace - and self.config.args.cls == list_task.ListTask - ): + # Do not print these for list command + if self.config.args.which != "list": stats = _generate_stats(manifest) print_compile_stats(stats) diff --git a/core/dbt/task/base.py b/core/dbt/task/base.py index 49ba909eeff..59664a72686 100644 --- a/core/dbt/task/base.py +++ b/core/dbt/task/base.py @@ -8,10 +8,10 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Type, Union +from dbt.compilation import Compiler import dbt.common.exceptions.base import dbt.exceptions from dbt import tracking -from dbt.adapters.factory import get_adapter from dbt.config import RuntimeConfig, Project from dbt.config.profile import read_profile from dbt.constants import DBT_PROJECT_FILE_NAME @@ -161,6 +161,7 @@ def __init__(self, args, config, manifest: Optional[Manifest] = None) -> None: super().__init__(args, config) self.graph: Optional[Graph] = None self.manifest = manifest + self.compiler = Compiler(self.config) def compile_manifest(self): if self.manifest is None: @@ -168,10 +169,7 @@ def compile_manifest(self): start_compile_manifest = time.perf_counter() - # we cannot get adapter in init since it will break rpc #5579 - adapter = get_adapter(self.config) - compiler = adapter.get_compiler() - self.graph = compiler.compile(self.manifest) + self.graph = self.compiler.compile(self.manifest) compile_time = time.perf_counter() - start_compile_manifest if dbt.tracking.active_user is not None: @@ -196,6 +194,7 @@ def __init__(self, node) -> None: class BaseRunner(metaclass=ABCMeta): def __init__(self, config, adapter, node, node_index, num_nodes) -> None: self.config = config + self.compiler = Compiler(config) self.adapter = adapter self.node = node self.node_index = node_index diff --git a/core/dbt/task/build.py b/core/dbt/task/build.py index 83fc5262803..683710c1e42 100644 --- a/core/dbt/task/build.py +++ b/core/dbt/task/build.py @@ -5,7 +5,6 @@ from .seed import SeedRunner as seed_runner from .test import TestRunner as test_runner -from dbt.adapters.factory import get_adapter from dbt.contracts.results import NodeStatus from dbt.common.exceptions import DbtInternalError from dbt.graph import ResourceTypeSelector @@ -129,6 +128,4 @@ def get_runner_type(self, node): def compile_manifest(self): if self.manifest is None: raise DbtInternalError("compile_manifest called before manifest was loaded") - adapter = get_adapter(self.config) - compiler = adapter.get_compiler() - self.graph = compiler.compile(self.manifest, add_test_edges=True) + self.graph = self.compiler.compile(self.manifest, add_test_edges=True) diff --git a/core/dbt/task/compile.py b/core/dbt/task/compile.py index 829127a9ad4..89d5b94d4de 100644 --- a/core/dbt/task/compile.py +++ b/core/dbt/task/compile.py @@ -40,8 +40,7 @@ def execute(self, compiled_node, manifest): ) def compile(self, manifest): - compiler = self.adapter.get_compiler() - return compiler.compile_node(self.node, manifest, {}) + return self.compiler.compile_node(self.node, manifest, {}) class CompileTask(GraphRunnableTask): diff --git a/core/dbt/task/run.py b/core/dbt/task/run.py index 352f4b6f9d0..afd8410b950 100644 --- a/core/dbt/task/run.py +++ b/core/dbt/task/run.py @@ -315,8 +315,10 @@ def raise_on_first_error(self) -> bool: return False def get_hook_sql(self, adapter, hook, idx, num_hooks, extra_context) -> str: - compiler = adapter.get_compiler() - compiled = compiler.compile_node(hook, self.manifest, extra_context) + if self.manifest is None: + raise DbtInternalError("compile_node called before manifest was loaded") + + compiled = self.compiler.compile_node(hook, self.manifest, extra_context) statement = compiled.compiled_code hook_index = hook.index or num_hooks hook_obj = get_hook(statement, index=hook_index) diff --git a/core/dbt/task/sql.py b/core/dbt/task/sql.py index 18c402ebac9..4b7d57d5989 100644 --- a/core/dbt/task/sql.py +++ b/core/dbt/task/sql.py @@ -37,8 +37,7 @@ def after_execute(self, result): pass def compile(self, manifest): - compiler = self.adapter.get_compiler() - return compiler.compile_node(self.node, manifest, {}, write=False) + return self.compiler.compile_node(self.node, manifest, {}, write=False) @abstractmethod def execute(self, compiled_node, manifest) -> SQLResult: From 8bad75c65bcfc6bb58926184c55dd5ac6399a34a Mon Sep 17 00:00:00 2001 From: colin-rogers-dbt <111200756+colin-rogers-dbt@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:05:30 -0800 Subject: [PATCH 17/40] Move adapter logger to adapters (#9165) * moving types_pb2.py to common/events * Move AdapterLogger to adapter folder * add changie --- .../Breaking Changes-20231128-134356.yaml | 6 ++++++ core/dbt/adapters/base/connections.py | 2 +- core/dbt/adapters/events/README.md | 5 ++++- .../events/logging.py} | 7 +++---- core/dbt/common/events/README.md | 14 -------------- core/dbt/common/events/__init__.py | 1 - .../postgres/dbt/adapters/postgres/connections.py | 2 +- tests/unit/test_adapter_connection_manager.py | 2 +- tests/unit/test_events.py | 3 ++- 9 files changed, 18 insertions(+), 24 deletions(-) create mode 100644 .changes/unreleased/Breaking Changes-20231128-134356.yaml rename core/dbt/{common/events/adapter_endpoint.py => adapters/events/logging.py} (97%) diff --git a/.changes/unreleased/Breaking Changes-20231128-134356.yaml b/.changes/unreleased/Breaking Changes-20231128-134356.yaml new file mode 100644 index 00000000000..b3204c1418b --- /dev/null +++ b/.changes/unreleased/Breaking Changes-20231128-134356.yaml @@ -0,0 +1,6 @@ +kind: Breaking Changes +body: Move AdapterLogger to adapters folder +time: 2023-11-28T13:43:56.853925-08:00 +custom: + Author: colin-rogers-dbt + Issue: "9151" diff --git a/core/dbt/adapters/base/connections.py b/core/dbt/adapters/base/connections.py index 2f344e4a493..244295994ee 100644 --- a/core/dbt/adapters/base/connections.py +++ b/core/dbt/adapters/base/connections.py @@ -38,7 +38,7 @@ from dbt.adapters.base.query_headers import ( MacroQueryStringSetter, ) -from dbt.common.events import AdapterLogger +from dbt.adapters.events.logging import AdapterLogger from dbt.common.events.functions import fire_event from dbt.adapters.events.types import ( NewConnection, diff --git a/core/dbt/adapters/events/README.md b/core/dbt/adapters/events/README.md index 8b3cc6bdeed..cdb7852aed6 100644 --- a/core/dbt/adapters/events/README.md +++ b/core/dbt/adapters/events/README.md @@ -41,8 +41,11 @@ from dbt.logger import GLOBAL_LOGGER as logger ``` Simply change it to these two lines with your adapter's database name, and all your existing call sites will now use the new system for v1.0: + ```python -from dbt.common.events import AdapterLogger + +from dbt.adapter.events.logging import AdapterLogger + logger = AdapterLogger("") # e.g. AdapterLogger("Snowflake") ``` diff --git a/core/dbt/common/events/adapter_endpoint.py b/core/dbt/adapters/events/logging.py similarity index 97% rename from core/dbt/common/events/adapter_endpoint.py rename to core/dbt/adapters/events/logging.py index a042493cf16..74ed8012b3c 100644 --- a/core/dbt/common/events/adapter_endpoint.py +++ b/core/dbt/adapters/events/logging.py @@ -1,18 +1,17 @@ import traceback from dataclasses import dataclass -from dbt.common.events.event_handler import set_package_logging -from dbt.common.events.functions import fire_event, EVENT_MANAGER -from dbt.common.events.contextvars import get_node_info from dbt.adapters.events.types import ( AdapterEventDebug, AdapterEventInfo, AdapterEventWarning, AdapterEventError, ) +from dbt.common.events.contextvars import get_node_info +from dbt.common.events.event_handler import set_package_logging +from dbt.common.events.functions import fire_event, EVENT_MANAGER -# N.B. No guarantees for what type param msg is. @dataclass class AdapterLogger: name: str diff --git a/core/dbt/common/events/README.md b/core/dbt/common/events/README.md index 7249c95f749..78207fc1e62 100644 --- a/core/dbt/common/events/README.md +++ b/core/dbt/common/events/README.md @@ -34,20 +34,6 @@ class PartialParsingDeletedExposure(DebugLevel): ``` - -# Adapter Maintainers -To integrate existing log messages from adapters, you likely have a line of code like this in your adapter already: -```python -from dbt.logger import GLOBAL_LOGGER as logger -``` - -Simply change it to these two lines with your adapter's database name, and all your existing call sites will now use the new system for v1.0: -```python -from dbt.common.events import AdapterLogger -logger = AdapterLogger("") -# e.g. AdapterLogger("Snowflake") -``` - ## Compiling types.proto After adding a new message in `types.proto`, either: diff --git a/core/dbt/common/events/__init__.py b/core/dbt/common/events/__init__.py index d0fc24d7bb5..e69de29bb2d 100644 --- a/core/dbt/common/events/__init__.py +++ b/core/dbt/common/events/__init__.py @@ -1 +0,0 @@ -from .adapter_endpoint import AdapterLogger # noqa: F401 diff --git a/plugins/postgres/dbt/adapters/postgres/connections.py b/plugins/postgres/dbt/adapters/postgres/connections.py index 3ba81c11a8c..227672826d4 100644 --- a/plugins/postgres/dbt/adapters/postgres/connections.py +++ b/plugins/postgres/dbt/adapters/postgres/connections.py @@ -7,7 +7,7 @@ from dbt.adapters.base import Credentials from dbt.adapters.sql import SQLConnectionManager from dbt.adapters.contracts.connection import AdapterResponse -from dbt.common.events import AdapterLogger +from dbt.adapters.events.logging import AdapterLogger from dbt.common.helper_types import Port from dataclasses import dataclass diff --git a/tests/unit/test_adapter_connection_manager.py b/tests/unit/test_adapter_connection_manager.py index dfcd76a7b18..19c4f309b0f 100644 --- a/tests/unit/test_adapter_connection_manager.py +++ b/tests/unit/test_adapter_connection_manager.py @@ -10,7 +10,7 @@ from dbt.adapters.contracts.connection import Connection from dbt.adapters.base import BaseConnectionManager from dbt.adapters.postgres import PostgresCredentials, PostgresConnectionManager -from dbt.common.events import AdapterLogger +from dbt.adapters.events.logging import AdapterLogger class BaseConnectionManagerTest(unittest.TestCase): diff --git a/tests/unit/test_events.py b/tests/unit/test_events.py index 39090ef3a1e..7fe44d8ff8e 100644 --- a/tests/unit/test_events.py +++ b/tests/unit/test_events.py @@ -7,7 +7,8 @@ from dbt.adapters.events import types as adapter_types from dbt.contracts.results import TimingInfo, RunResult, RunStatus -from dbt.common.events import AdapterLogger, types +from dbt.common.events import types +from dbt.adapters.events.logging import AdapterLogger from dbt.common.events.base_types import msg_from_base_event from dbt.events import types as core_types from dbt.events.base_types import ( From 294ad82e50e5400a21262b5d8f582249024c51e5 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Tue, 28 Nov 2023 20:20:59 -0500 Subject: [PATCH 18/40] delete accidentally merged types_pb2.py --- core/dbt/events/types_pb2.py | 944 ----------------------------------- 1 file changed, 944 deletions(-) delete mode 100644 core/dbt/events/types_pb2.py diff --git a/core/dbt/events/types_pb2.py b/core/dbt/events/types_pb2.py deleted file mode 100644 index 155620f1192..00000000000 --- a/core/dbt/events/types_pb2.py +++ /dev/null @@ -1,944 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: types.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database - -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t"\\\n\nColumnType\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x1c\n\x14previous_column_type\x18\x02 \x01(\t\x12\x1b\n\x13\x63urrent_column_type\x18\x03 \x01(\t"Y\n\x10\x43olumnConstraint\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x03 \x01(\t"T\n\x0fModelConstraint\x12\x17\n\x0f\x63onstraint_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63onstraint_type\x18\x02 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x03 \x03(\t"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.MainTrackingUserState"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.ConfigFolderDirectory"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML"\x12\n\x10SettingUpProfile"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile"\x1c\n\x1aInvalidProfileTemplateYAML"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation"\x1f\n\x1dPackageInstallPathDeprecation"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation"!\n\x1f\x43ollectFreshnessReturnSignature"\x86\x01\n"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten"\x14\n\x12\x43\x61nnotGenerateDocs"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs"\x11\n\x0f\x42uildingCatalog"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.ConstraintNotEnforced"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError"\x1b\n\x19PartialParsingSkipParsing"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash"\x1a\n\x18PartialParsingNotEnabled"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.PartialParsingEnabled"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t"\x86\x01\n"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t"\x86\x01\n"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.MacroNotFoundForPatch"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure"\x8a\x03\n\x19UnversionedBreakingChange\x12\x18\n\x10\x62reaking_changes\x18\x01 \x03(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0fmodel_file_path\x18\x03 \x01(\t\x12"\n\x1a\x63ontract_enforced_disabled\x18\x04 \x01(\x08\x12\x17\n\x0f\x63olumns_removed\x18\x05 \x03(\t\x12\x34\n\x13\x63olumn_type_changes\x18\x06 \x03(\x0b\x32\x17.proto_types.ColumnType\x12I\n"enforced_column_constraint_removed\x18\x07 \x03(\x0b\x32\x1d.proto_types.ColumnConstraint\x12G\n!enforced_model_constraint_removed\x18\x08 \x03(\x0b\x32\x1c.proto_types.ModelConstraint\x12\x1f\n\x17materialization_changed\x18\t \x03(\t"z\n\x1cUnversionedBreakingChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.UnversionedBreakingChange"*\n\x14WarnStateTargetEqual\x12\x12\n\nstate_path\x18\x01 \x01(\t"p\n\x17WarnStateTargetEqualMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.WarnStateTargetEqual"%\n\x16\x46reshnessConfigProblem\x12\x0b\n\x03msg\x18\x01 \x01(\t"t\n\x19\x46reshnessConfigProblemMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessConfigProblem"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t"\x86\x01\n"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t"\x86\x01\n"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector"\x15\n\x13\x44\x65psNoPackagesFound"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable"\x0e\n\x0c\x44\x65psUpToDate"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t"\x86\x01\n"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t"\x86\x01\n"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria")\n\x10\x44\x65psLockUpdating\x12\x15\n\rlock_filepath\x18\x01 \x01(\t"h\n\x13\x44\x65psLockUpdatingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.DepsLockUpdating"R\n\x0e\x44\x65psAddPackage\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x11packages_filepath\x18\x03 \x01(\t"d\n\x11\x44\x65psAddPackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DepsAddPackage"\xa7\x01\n\x19\x44\x65psFoundDuplicatePackage\x12S\n\x0fremoved_package\x18\x01 \x03(\x0b\x32:.proto_types.DepsFoundDuplicatePackage.RemovedPackageEntry\x1a\x35\n\x13RemovedPackageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"z\n\x1c\x44\x65psFoundDuplicatePackageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.DepsFoundDuplicatePackage"$\n\x12\x44\x65psVersionMissing\x12\x0e\n\x06source\x18\x01 \x01(\t"l\n\x15\x44\x65psVersionMissingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.DepsVersionMissing"/\n\x17\x44\x65psScrubbedPackageName\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t"v\n\x1a\x44\x65psScrubbedPackageNameMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsScrubbedPackageName"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError"\x11\n\x0f\x43ompileComplete"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete"\x18\n\x16\x46reshnessCheckComplete"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult""\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails"\r\n\x0bNothingToDo"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult"\x11\n\x0fNoNodesSelected"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.GenericExceptionOnRun"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats"\x17\n\x15MainKeyboardInterrupt"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.MainKeyboardInterrupt"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath""\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath"\x14\n\x12\x46inishedCleanPaths"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32".proto_types.ServingDocsAccessInfo"\x15\n\x13ServingDocsExitInfo"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError"\x14\n\x12\x45nsureGitInstalled"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled"\x1a\n\x18\x44\x65psCreatingLocalSymlink"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink"\x19\n\x17\x44\x65psSymlinkNotAvailable"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable"\x11\n\x0f\x44isableTracking"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent"\x12\n\x10SendEventFailure"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure"\r\n\x0b\x46lushEvents"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents"\x14\n\x12\x46lushEventsFailure"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Note"\xec\x01\n\x0eResourceReport\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ommand_success\x18\x03 \x01(\x08\x12\x1f\n\x17\x63ommand_wall_clock_time\x18\x04 \x01(\x02\x12\x19\n\x11process_user_time\x18\x05 \x01(\x02\x12\x1b\n\x13process_kernel_time\x18\x06 \x01(\x02\x12\x1b\n\x13process_mem_max_rss\x18\x07 \x01(\x03\x12\x19\n\x11process_in_blocks\x18\x08 \x01(\x03\x12\x1a\n\x12process_out_blocks\x18\t \x01(\x03"d\n\x11ResourceReportMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ResourceReportb\x06proto3' -) - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "types_pb2", globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _EVENTINFO_EXTRAENTRY._options = None - _EVENTINFO_EXTRAENTRY._serialized_options = b"8\001" - _MAINREPORTARGS_ARGSENTRY._options = None - _MAINREPORTARGS_ARGSENTRY._serialized_options = b"8\001" - _CACHEDUMPGRAPH_DUMPENTRY._options = None - _CACHEDUMPGRAPH_DUMPENTRY._serialized_options = b"8\001" - _PARTIALPARSINGERROR_EXCINFOENTRY._options = None - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_options = b"8\001" - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._options = None - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_options = b"8\001" - _LOGSNAPSHOTRESULT_CFGENTRY._options = None - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_options = b"8\001" - _STATSLINE_STATSENTRY._options = None - _STATSLINE_STATSENTRY._serialized_options = b"8\001" - _EVENTINFO._serialized_start = 92 - _EVENTINFO._serialized_end = 365 - _EVENTINFO_EXTRAENTRY._serialized_start = 321 - _EVENTINFO_EXTRAENTRY._serialized_end = 365 - _TIMINGINFOMSG._serialized_start = 367 - _TIMINGINFOMSG._serialized_end = 494 - _NODERELATION._serialized_start = 496 - _NODERELATION._serialized_end = 582 - _NODEINFO._serialized_start = 585 - _NODEINFO._serialized_end = 858 - _RUNRESULTMSG._serialized_start = 861 - _RUNRESULTMSG._serialized_end = 1070 - _REFERENCEKEYMSG._serialized_start = 1072 - _REFERENCEKEYMSG._serialized_end = 1143 - _COLUMNTYPE._serialized_start = 1145 - _COLUMNTYPE._serialized_end = 1237 - _COLUMNCONSTRAINT._serialized_start = 1239 - _COLUMNCONSTRAINT._serialized_end = 1328 - _MODELCONSTRAINT._serialized_start = 1330 - _MODELCONSTRAINT._serialized_end = 1414 - _GENERICMESSAGE._serialized_start = 1416 - _GENERICMESSAGE._serialized_end = 1470 - _MAINREPORTVERSION._serialized_start = 1472 - _MAINREPORTVERSION._serialized_end = 1529 - _MAINREPORTVERSIONMSG._serialized_start = 1531 - _MAINREPORTVERSIONMSG._serialized_end = 1637 - _MAINREPORTARGS._serialized_start = 1639 - _MAINREPORTARGS._serialized_end = 1753 - _MAINREPORTARGS_ARGSENTRY._serialized_start = 1710 - _MAINREPORTARGS_ARGSENTRY._serialized_end = 1753 - _MAINREPORTARGSMSG._serialized_start = 1755 - _MAINREPORTARGSMSG._serialized_end = 1855 - _MAINTRACKINGUSERSTATE._serialized_start = 1857 - _MAINTRACKINGUSERSTATE._serialized_end = 1900 - _MAINTRACKINGUSERSTATEMSG._serialized_start = 1902 - _MAINTRACKINGUSERSTATEMSG._serialized_end = 2016 - _MERGEDFROMSTATE._serialized_start = 2018 - _MERGEDFROMSTATE._serialized_end = 2071 - _MERGEDFROMSTATEMSG._serialized_start = 2073 - _MERGEDFROMSTATEMSG._serialized_end = 2175 - _MISSINGPROFILETARGET._serialized_start = 2177 - _MISSINGPROFILETARGET._serialized_end = 2242 - _MISSINGPROFILETARGETMSG._serialized_start = 2244 - _MISSINGPROFILETARGETMSG._serialized_end = 2356 - _INVALIDOPTIONYAML._serialized_start = 2358 - _INVALIDOPTIONYAML._serialized_end = 2398 - _INVALIDOPTIONYAMLMSG._serialized_start = 2400 - _INVALIDOPTIONYAMLMSG._serialized_end = 2506 - _LOGDBTPROJECTERROR._serialized_start = 2508 - _LOGDBTPROJECTERROR._serialized_end = 2541 - _LOGDBTPROJECTERRORMSG._serialized_start = 2543 - _LOGDBTPROJECTERRORMSG._serialized_end = 2651 - _LOGDBTPROFILEERROR._serialized_start = 2653 - _LOGDBTPROFILEERROR._serialized_end = 2704 - _LOGDBTPROFILEERRORMSG._serialized_start = 2706 - _LOGDBTPROFILEERRORMSG._serialized_end = 2814 - _STARTERPROJECTPATH._serialized_start = 2816 - _STARTERPROJECTPATH._serialized_end = 2849 - _STARTERPROJECTPATHMSG._serialized_start = 2851 - _STARTERPROJECTPATHMSG._serialized_end = 2959 - _CONFIGFOLDERDIRECTORY._serialized_start = 2961 - _CONFIGFOLDERDIRECTORY._serialized_end = 2997 - _CONFIGFOLDERDIRECTORYMSG._serialized_start = 2999 - _CONFIGFOLDERDIRECTORYMSG._serialized_end = 3113 - _NOSAMPLEPROFILEFOUND._serialized_start = 3115 - _NOSAMPLEPROFILEFOUND._serialized_end = 3154 - _NOSAMPLEPROFILEFOUNDMSG._serialized_start = 3156 - _NOSAMPLEPROFILEFOUNDMSG._serialized_end = 3268 - _PROFILEWRITTENWITHSAMPLE._serialized_start = 3270 - _PROFILEWRITTENWITHSAMPLE._serialized_end = 3324 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_start = 3326 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_end = 3446 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_start = 3448 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_end = 3514 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_start = 3517 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_end = 3661 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_start = 3663 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_end = 3730 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_start = 3733 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_end = 3879 - _SETTINGUPPROFILE._serialized_start = 3881 - _SETTINGUPPROFILE._serialized_end = 3899 - _SETTINGUPPROFILEMSG._serialized_start = 3901 - _SETTINGUPPROFILEMSG._serialized_end = 4005 - _INVALIDPROFILETEMPLATEYAML._serialized_start = 4007 - _INVALIDPROFILETEMPLATEYAML._serialized_end = 4035 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_start = 4037 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_end = 4161 - _PROJECTNAMEALREADYEXISTS._serialized_start = 4163 - _PROJECTNAMEALREADYEXISTS._serialized_end = 4203 - _PROJECTNAMEALREADYEXISTSMSG._serialized_start = 4205 - _PROJECTNAMEALREADYEXISTSMSG._serialized_end = 4325 - _PROJECTCREATED._serialized_start = 4327 - _PROJECTCREATED._serialized_end = 4402 - _PROJECTCREATEDMSG._serialized_start = 4404 - _PROJECTCREATEDMSG._serialized_end = 4504 - _PACKAGEREDIRECTDEPRECATION._serialized_start = 4506 - _PACKAGEREDIRECTDEPRECATION._serialized_end = 4570 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_start = 4572 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_end = 4696 - _PACKAGEINSTALLPATHDEPRECATION._serialized_start = 4698 - _PACKAGEINSTALLPATHDEPRECATION._serialized_end = 4729 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_start = 4732 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_end = 4862 - _CONFIGSOURCEPATHDEPRECATION._serialized_start = 4864 - _CONFIGSOURCEPATHDEPRECATION._serialized_end = 4936 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_start = 4938 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_end = 5064 - _CONFIGDATAPATHDEPRECATION._serialized_start = 5066 - _CONFIGDATAPATHDEPRECATION._serialized_end = 5136 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_start = 5138 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_end = 5260 - _ADAPTERDEPRECATIONWARNING._serialized_start = 5262 - _ADAPTERDEPRECATIONWARNING._serialized_end = 5325 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_start = 5327 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_end = 5449 - _METRICATTRIBUTESRENAMED._serialized_start = 5451 - _METRICATTRIBUTESRENAMED._serialized_end = 5497 - _METRICATTRIBUTESRENAMEDMSG._serialized_start = 5499 - _METRICATTRIBUTESRENAMEDMSG._serialized_end = 5617 - _EXPOSURENAMEDEPRECATION._serialized_start = 5619 - _EXPOSURENAMEDEPRECATION._serialized_end = 5662 - _EXPOSURENAMEDEPRECATIONMSG._serialized_start = 5664 - _EXPOSURENAMEDEPRECATIONMSG._serialized_end = 5782 - _INTERNALDEPRECATION._serialized_start = 5784 - _INTERNALDEPRECATION._serialized_end = 5878 - _INTERNALDEPRECATIONMSG._serialized_start = 5880 - _INTERNALDEPRECATIONMSG._serialized_end = 5990 - _ENVIRONMENTVARIABLERENAMED._serialized_start = 5992 - _ENVIRONMENTVARIABLERENAMED._serialized_end = 6056 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_start = 6058 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_end = 6182 - _CONFIGLOGPATHDEPRECATION._serialized_start = 6184 - _CONFIGLOGPATHDEPRECATION._serialized_end = 6235 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_start = 6237 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_end = 6357 - _CONFIGTARGETPATHDEPRECATION._serialized_start = 6359 - _CONFIGTARGETPATHDEPRECATION._serialized_end = 6413 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_start = 6415 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_end = 6541 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_start = 6543 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_end = 6576 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_start = 6579 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_end = 6713 - _ADAPTEREVENTDEBUG._serialized_start = 6716 - _ADAPTEREVENTDEBUG._serialized_end = 6851 - _ADAPTEREVENTDEBUGMSG._serialized_start = 6853 - _ADAPTEREVENTDEBUGMSG._serialized_end = 6959 - _ADAPTEREVENTINFO._serialized_start = 6962 - _ADAPTEREVENTINFO._serialized_end = 7096 - _ADAPTEREVENTINFOMSG._serialized_start = 7098 - _ADAPTEREVENTINFOMSG._serialized_end = 7202 - _ADAPTEREVENTWARNING._serialized_start = 7205 - _ADAPTEREVENTWARNING._serialized_end = 7342 - _ADAPTEREVENTWARNINGMSG._serialized_start = 7344 - _ADAPTEREVENTWARNINGMSG._serialized_end = 7454 - _ADAPTEREVENTERROR._serialized_start = 7457 - _ADAPTEREVENTERROR._serialized_end = 7610 - _ADAPTEREVENTERRORMSG._serialized_start = 7612 - _ADAPTEREVENTERRORMSG._serialized_end = 7718 - _NEWCONNECTION._serialized_start = 7720 - _NEWCONNECTION._serialized_end = 7815 - _NEWCONNECTIONMSG._serialized_start = 7817 - _NEWCONNECTIONMSG._serialized_end = 7915 - _CONNECTIONREUSED._serialized_start = 7917 - _CONNECTIONREUSED._serialized_end = 7978 - _CONNECTIONREUSEDMSG._serialized_start = 7980 - _CONNECTIONREUSEDMSG._serialized_end = 8084 - _CONNECTIONLEFTOPENINCLEANUP._serialized_start = 8086 - _CONNECTIONLEFTOPENINCLEANUP._serialized_end = 8134 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_start = 8136 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_end = 8262 - _CONNECTIONCLOSEDINCLEANUP._serialized_start = 8264 - _CONNECTIONCLOSEDINCLEANUP._serialized_end = 8310 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_start = 8312 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_end = 8434 - _ROLLBACKFAILED._serialized_start = 8436 - _ROLLBACKFAILED._serialized_end = 8531 - _ROLLBACKFAILEDMSG._serialized_start = 8533 - _ROLLBACKFAILEDMSG._serialized_end = 8633 - _CONNECTIONCLOSED._serialized_start = 8635 - _CONNECTIONCLOSED._serialized_end = 8714 - _CONNECTIONCLOSEDMSG._serialized_start = 8716 - _CONNECTIONCLOSEDMSG._serialized_end = 8820 - _CONNECTIONLEFTOPEN._serialized_start = 8822 - _CONNECTIONLEFTOPEN._serialized_end = 8903 - _CONNECTIONLEFTOPENMSG._serialized_start = 8905 - _CONNECTIONLEFTOPENMSG._serialized_end = 9013 - _ROLLBACK._serialized_start = 9015 - _ROLLBACK._serialized_end = 9086 - _ROLLBACKMSG._serialized_start = 9088 - _ROLLBACKMSG._serialized_end = 9176 - _CACHEMISS._serialized_start = 9178 - _CACHEMISS._serialized_end = 9242 - _CACHEMISSMSG._serialized_start = 9244 - _CACHEMISSMSG._serialized_end = 9334 - _LISTRELATIONS._serialized_start = 9336 - _LISTRELATIONS._serialized_end = 9434 - _LISTRELATIONSMSG._serialized_start = 9436 - _LISTRELATIONSMSG._serialized_end = 9534 - _CONNECTIONUSED._serialized_start = 9536 - _CONNECTIONUSED._serialized_end = 9632 - _CONNECTIONUSEDMSG._serialized_start = 9634 - _CONNECTIONUSEDMSG._serialized_end = 9734 - _SQLQUERY._serialized_start = 9736 - _SQLQUERY._serialized_end = 9820 - _SQLQUERYMSG._serialized_start = 9822 - _SQLQUERYMSG._serialized_end = 9910 - _SQLQUERYSTATUS._serialized_start = 9912 - _SQLQUERYSTATUS._serialized_end = 10003 - _SQLQUERYSTATUSMSG._serialized_start = 10005 - _SQLQUERYSTATUSMSG._serialized_end = 10105 - _SQLCOMMIT._serialized_start = 10107 - _SQLCOMMIT._serialized_end = 10179 - _SQLCOMMITMSG._serialized_start = 10181 - _SQLCOMMITMSG._serialized_end = 10271 - _COLTYPECHANGE._serialized_start = 10273 - _COLTYPECHANGE._serialized_end = 10370 - _COLTYPECHANGEMSG._serialized_start = 10372 - _COLTYPECHANGEMSG._serialized_end = 10470 - _SCHEMACREATION._serialized_start = 10472 - _SCHEMACREATION._serialized_end = 10536 - _SCHEMACREATIONMSG._serialized_start = 10538 - _SCHEMACREATIONMSG._serialized_end = 10638 - _SCHEMADROP._serialized_start = 10640 - _SCHEMADROP._serialized_end = 10700 - _SCHEMADROPMSG._serialized_start = 10702 - _SCHEMADROPMSG._serialized_end = 10794 - _CACHEACTION._serialized_start = 10797 - _CACHEACTION._serialized_end = 11019 - _CACHEACTIONMSG._serialized_start = 11021 - _CACHEACTIONMSG._serialized_end = 11115 - _CACHEDUMPGRAPH._serialized_start = 11118 - _CACHEDUMPGRAPH._serialized_end = 11270 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_start = 11227 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_end = 11270 - _CACHEDUMPGRAPHMSG._serialized_start = 11272 - _CACHEDUMPGRAPHMSG._serialized_end = 11372 - _ADAPTERREGISTERED._serialized_start = 11374 - _ADAPTERREGISTERED._serialized_end = 11440 - _ADAPTERREGISTEREDMSG._serialized_start = 11442 - _ADAPTERREGISTEREDMSG._serialized_end = 11548 - _ADAPTERIMPORTERROR._serialized_start = 11550 - _ADAPTERIMPORTERROR._serialized_end = 11583 - _ADAPTERIMPORTERRORMSG._serialized_start = 11585 - _ADAPTERIMPORTERRORMSG._serialized_end = 11693 - _PLUGINLOADERROR._serialized_start = 11695 - _PLUGINLOADERROR._serialized_end = 11730 - _PLUGINLOADERRORMSG._serialized_start = 11732 - _PLUGINLOADERRORMSG._serialized_end = 11834 - _NEWCONNECTIONOPENING._serialized_start = 11836 - _NEWCONNECTIONOPENING._serialized_end = 11926 - _NEWCONNECTIONOPENINGMSG._serialized_start = 11928 - _NEWCONNECTIONOPENINGMSG._serialized_end = 12040 - _CODEEXECUTION._serialized_start = 12042 - _CODEEXECUTION._serialized_end = 12098 - _CODEEXECUTIONMSG._serialized_start = 12100 - _CODEEXECUTIONMSG._serialized_end = 12198 - _CODEEXECUTIONSTATUS._serialized_start = 12200 - _CODEEXECUTIONSTATUS._serialized_end = 12254 - _CODEEXECUTIONSTATUSMSG._serialized_start = 12256 - _CODEEXECUTIONSTATUSMSG._serialized_end = 12366 - _CATALOGGENERATIONERROR._serialized_start = 12368 - _CATALOGGENERATIONERROR._serialized_end = 12405 - _CATALOGGENERATIONERRORMSG._serialized_start = 12407 - _CATALOGGENERATIONERRORMSG._serialized_end = 12523 - _WRITECATALOGFAILURE._serialized_start = 12525 - _WRITECATALOGFAILURE._serialized_end = 12570 - _WRITECATALOGFAILUREMSG._serialized_start = 12572 - _WRITECATALOGFAILUREMSG._serialized_end = 12682 - _CATALOGWRITTEN._serialized_start = 12684 - _CATALOGWRITTEN._serialized_end = 12714 - _CATALOGWRITTENMSG._serialized_start = 12716 - _CATALOGWRITTENMSG._serialized_end = 12816 - _CANNOTGENERATEDOCS._serialized_start = 12818 - _CANNOTGENERATEDOCS._serialized_end = 12838 - _CANNOTGENERATEDOCSMSG._serialized_start = 12840 - _CANNOTGENERATEDOCSMSG._serialized_end = 12948 - _BUILDINGCATALOG._serialized_start = 12950 - _BUILDINGCATALOG._serialized_end = 12967 - _BUILDINGCATALOGMSG._serialized_start = 12969 - _BUILDINGCATALOGMSG._serialized_end = 13071 - _DATABASEERRORRUNNINGHOOK._serialized_start = 13073 - _DATABASEERRORRUNNINGHOOK._serialized_end = 13118 - _DATABASEERRORRUNNINGHOOKMSG._serialized_start = 13120 - _DATABASEERRORRUNNINGHOOKMSG._serialized_end = 13240 - _HOOKSRUNNING._serialized_start = 13242 - _HOOKSRUNNING._serialized_end = 13294 - _HOOKSRUNNINGMSG._serialized_start = 13296 - _HOOKSRUNNINGMSG._serialized_end = 13392 - _FINISHEDRUNNINGSTATS._serialized_start = 13394 - _FINISHEDRUNNINGSTATS._serialized_end = 13478 - _FINISHEDRUNNINGSTATSMSG._serialized_start = 13480 - _FINISHEDRUNNINGSTATSMSG._serialized_end = 13592 - _CONSTRAINTNOTENFORCED._serialized_start = 13594 - _CONSTRAINTNOTENFORCED._serialized_end = 13654 - _CONSTRAINTNOTENFORCEDMSG._serialized_start = 13656 - _CONSTRAINTNOTENFORCEDMSG._serialized_end = 13770 - _CONSTRAINTNOTSUPPORTED._serialized_start = 13772 - _CONSTRAINTNOTSUPPORTED._serialized_end = 13833 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_start = 13835 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_end = 13951 - _INPUTFILEDIFFERROR._serialized_start = 13953 - _INPUTFILEDIFFERROR._serialized_end = 14008 - _INPUTFILEDIFFERRORMSG._serialized_start = 14010 - _INPUTFILEDIFFERRORMSG._serialized_end = 14118 - _INVALIDVALUEFORFIELD._serialized_start = 14120 - _INVALIDVALUEFORFIELD._serialized_end = 14183 - _INVALIDVALUEFORFIELDMSG._serialized_start = 14185 - _INVALIDVALUEFORFIELDMSG._serialized_end = 14297 - _VALIDATIONWARNING._serialized_start = 14299 - _VALIDATIONWARNING._serialized_end = 14380 - _VALIDATIONWARNINGMSG._serialized_start = 14382 - _VALIDATIONWARNINGMSG._serialized_end = 14488 - _PARSEPERFINFOPATH._serialized_start = 14490 - _PARSEPERFINFOPATH._serialized_end = 14523 - _PARSEPERFINFOPATHMSG._serialized_start = 14525 - _PARSEPERFINFOPATHMSG._serialized_end = 14631 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_start = 14633 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_end = 14682 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_start = 14685 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_end = 14823 - _PARTIALPARSINGERROR._serialized_start = 14826 - _PARTIALPARSINGERROR._serialized_end = 14960 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_start = 14914 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_end = 14960 - _PARTIALPARSINGERRORMSG._serialized_start = 14962 - _PARTIALPARSINGERRORMSG._serialized_end = 15072 - _PARTIALPARSINGSKIPPARSING._serialized_start = 15074 - _PARTIALPARSINGSKIPPARSING._serialized_end = 15101 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_start = 15103 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_end = 15225 - _UNABLETOPARTIALPARSE._serialized_start = 15227 - _UNABLETOPARTIALPARSE._serialized_end = 15265 - _UNABLETOPARTIALPARSEMSG._serialized_start = 15267 - _UNABLETOPARTIALPARSEMSG._serialized_end = 15379 - _STATECHECKVARSHASH._serialized_start = 15381 - _STATECHECKVARSHASH._serialized_end = 15483 - _STATECHECKVARSHASHMSG._serialized_start = 15485 - _STATECHECKVARSHASHMSG._serialized_end = 15593 - _PARTIALPARSINGNOTENABLED._serialized_start = 15595 - _PARTIALPARSINGNOTENABLED._serialized_end = 15621 - _PARTIALPARSINGNOTENABLEDMSG._serialized_start = 15623 - _PARTIALPARSINGNOTENABLEDMSG._serialized_end = 15743 - _PARSEDFILELOADFAILED._serialized_start = 15745 - _PARSEDFILELOADFAILED._serialized_end = 15812 - _PARSEDFILELOADFAILEDMSG._serialized_start = 15814 - _PARSEDFILELOADFAILEDMSG._serialized_end = 15926 - _PARTIALPARSINGENABLED._serialized_start = 15928 - _PARTIALPARSINGENABLED._serialized_end = 16000 - _PARTIALPARSINGENABLEDMSG._serialized_start = 16002 - _PARTIALPARSINGENABLEDMSG._serialized_end = 16116 - _PARTIALPARSINGFILE._serialized_start = 16118 - _PARTIALPARSINGFILE._serialized_end = 16174 - _PARTIALPARSINGFILEMSG._serialized_start = 16176 - _PARTIALPARSINGFILEMSG._serialized_end = 16284 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_start = 16287 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_end = 16462 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_start = 16465 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_end = 16599 - _UNUSEDRESOURCECONFIGPATH._serialized_start = 16601 - _UNUSEDRESOURCECONFIGPATH._serialized_end = 16656 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_start = 16658 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_end = 16778 - _SEEDINCREASED._serialized_start = 16780 - _SEEDINCREASED._serialized_end = 16831 - _SEEDINCREASEDMSG._serialized_start = 16833 - _SEEDINCREASEDMSG._serialized_end = 16931 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_start = 16933 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_end = 16995 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_start = 16997 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_end = 17117 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_start = 17119 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_end = 17187 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_start = 17190 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_end = 17322 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_start = 17324 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_end = 17416 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_start = 17419 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_end = 17553 - _UNUSEDTABLES._serialized_start = 17555 - _UNUSEDTABLES._serialized_end = 17592 - _UNUSEDTABLESMSG._serialized_start = 17594 - _UNUSEDTABLESMSG._serialized_end = 17690 - _WRONGRESOURCESCHEMAFILE._serialized_start = 17693 - _WRONGRESOURCESCHEMAFILE._serialized_end = 17828 - _WRONGRESOURCESCHEMAFILEMSG._serialized_start = 17830 - _WRONGRESOURCESCHEMAFILEMSG._serialized_end = 17948 - _NONODEFORYAMLKEY._serialized_start = 17950 - _NONODEFORYAMLKEY._serialized_end = 18025 - _NONODEFORYAMLKEYMSG._serialized_start = 18027 - _NONODEFORYAMLKEYMSG._serialized_end = 18131 - _MACRONOTFOUNDFORPATCH._serialized_start = 18133 - _MACRONOTFOUNDFORPATCH._serialized_end = 18176 - _MACRONOTFOUNDFORPATCHMSG._serialized_start = 18178 - _MACRONOTFOUNDFORPATCHMSG._serialized_end = 18292 - _NODENOTFOUNDORDISABLED._serialized_start = 18295 - _NODENOTFOUNDORDISABLED._serialized_end = 18479 - _NODENOTFOUNDORDISABLEDMSG._serialized_start = 18481 - _NODENOTFOUNDORDISABLEDMSG._serialized_end = 18597 - _JINJALOGWARNING._serialized_start = 18599 - _JINJALOGWARNING._serialized_end = 18671 - _JINJALOGWARNINGMSG._serialized_start = 18673 - _JINJALOGWARNINGMSG._serialized_end = 18775 - _JINJALOGINFO._serialized_start = 18777 - _JINJALOGINFO._serialized_end = 18846 - _JINJALOGINFOMSG._serialized_start = 18848 - _JINJALOGINFOMSG._serialized_end = 18944 - _JINJALOGDEBUG._serialized_start = 18946 - _JINJALOGDEBUG._serialized_end = 19016 - _JINJALOGDEBUGMSG._serialized_start = 19018 - _JINJALOGDEBUGMSG._serialized_end = 19116 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_start = 19119 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_end = 19293 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_start = 19296 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_end = 19428 - _DEPRECATEDMODEL._serialized_start = 19430 - _DEPRECATEDMODEL._serialized_end = 19516 - _DEPRECATEDMODELMSG._serialized_start = 19518 - _DEPRECATEDMODELMSG._serialized_end = 19620 - _UPCOMINGREFERENCEDEPRECATION._serialized_start = 19623 - _UPCOMINGREFERENCEDEPRECATION._serialized_end = 19821 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_start = 19824 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_end = 19952 - _DEPRECATEDREFERENCE._serialized_start = 19955 - _DEPRECATEDREFERENCE._serialized_end = 20144 - _DEPRECATEDREFERENCEMSG._serialized_start = 20146 - _DEPRECATEDREFERENCEMSG._serialized_end = 20256 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_start = 20258 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_end = 20318 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_start = 20321 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_end = 20465 - _PARSEINLINENODEERROR._serialized_start = 20467 - _PARSEINLINENODEERROR._serialized_end = 20544 - _PARSEINLINENODEERRORMSG._serialized_start = 20546 - _PARSEINLINENODEERRORMSG._serialized_end = 20658 - _SEMANTICVALIDATIONFAILURE._serialized_start = 20660 - _SEMANTICVALIDATIONFAILURE._serialized_end = 20700 - _SEMANTICVALIDATIONFAILUREMSG._serialized_start = 20702 - _SEMANTICVALIDATIONFAILUREMSG._serialized_end = 20824 - _UNVERSIONEDBREAKINGCHANGE._serialized_start = 20827 - _UNVERSIONEDBREAKINGCHANGE._serialized_end = 21221 - _UNVERSIONEDBREAKINGCHANGEMSG._serialized_start = 21223 - _UNVERSIONEDBREAKINGCHANGEMSG._serialized_end = 21345 - _WARNSTATETARGETEQUAL._serialized_start = 21347 - _WARNSTATETARGETEQUAL._serialized_end = 21389 - _WARNSTATETARGETEQUALMSG._serialized_start = 21391 - _WARNSTATETARGETEQUALMSG._serialized_end = 21503 - _FRESHNESSCONFIGPROBLEM._serialized_start = 21505 - _FRESHNESSCONFIGPROBLEM._serialized_end = 21542 - _FRESHNESSCONFIGPROBLEMMSG._serialized_start = 21544 - _FRESHNESSCONFIGPROBLEMMSG._serialized_end = 21660 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_start = 21662 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_end = 21709 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_start = 21712 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_end = 21842 - _GITPROGRESSCHECKOUTREVISION._serialized_start = 21844 - _GITPROGRESSCHECKOUTREVISION._serialized_end = 21891 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_start = 21893 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_end = 22019 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_start = 22021 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_end = 22073 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_start = 22076 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_end = 22222 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_start = 22224 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_end = 22270 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_start = 22273 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_end = 22407 - _GITNOTHINGTODO._serialized_start = 22409 - _GITNOTHINGTODO._serialized_end = 22438 - _GITNOTHINGTODOMSG._serialized_start = 22440 - _GITNOTHINGTODOMSG._serialized_end = 22540 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_start = 22542 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_end = 22611 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_start = 22614 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_end = 22748 - _GITPROGRESSCHECKEDOUTAT._serialized_start = 22750 - _GITPROGRESSCHECKEDOUTAT._serialized_end = 22792 - _GITPROGRESSCHECKEDOUTATMSG._serialized_start = 22794 - _GITPROGRESSCHECKEDOUTATMSG._serialized_end = 22912 - _REGISTRYPROGRESSGETREQUEST._serialized_start = 22914 - _REGISTRYPROGRESSGETREQUEST._serialized_end = 22955 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_start = 22957 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_end = 23081 - _REGISTRYPROGRESSGETRESPONSE._serialized_start = 23083 - _REGISTRYPROGRESSGETRESPONSE._serialized_end = 23144 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_start = 23146 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_end = 23272 - _SELECTORREPORTINVALIDSELECTOR._serialized_start = 23274 - _SELECTORREPORTINVALIDSELECTOR._serialized_end = 23369 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_start = 23372 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_end = 23502 - _DEPSNOPACKAGESFOUND._serialized_start = 23504 - _DEPSNOPACKAGESFOUND._serialized_end = 23525 - _DEPSNOPACKAGESFOUNDMSG._serialized_start = 23527 - _DEPSNOPACKAGESFOUNDMSG._serialized_end = 23637 - _DEPSSTARTPACKAGEINSTALL._serialized_start = 23639 - _DEPSSTARTPACKAGEINSTALL._serialized_end = 23686 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_start = 23688 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_end = 23806 - _DEPSINSTALLINFO._serialized_start = 23808 - _DEPSINSTALLINFO._serialized_end = 23847 - _DEPSINSTALLINFOMSG._serialized_start = 23849 - _DEPSINSTALLINFOMSG._serialized_end = 23951 - _DEPSUPDATEAVAILABLE._serialized_start = 23953 - _DEPSUPDATEAVAILABLE._serialized_end = 23998 - _DEPSUPDATEAVAILABLEMSG._serialized_start = 24000 - _DEPSUPDATEAVAILABLEMSG._serialized_end = 24110 - _DEPSUPTODATE._serialized_start = 24112 - _DEPSUPTODATE._serialized_end = 24126 - _DEPSUPTODATEMSG._serialized_start = 24128 - _DEPSUPTODATEMSG._serialized_end = 24224 - _DEPSLISTSUBDIRECTORY._serialized_start = 24226 - _DEPSLISTSUBDIRECTORY._serialized_end = 24270 - _DEPSLISTSUBDIRECTORYMSG._serialized_start = 24272 - _DEPSLISTSUBDIRECTORYMSG._serialized_end = 24384 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_start = 24386 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_end = 24432 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_start = 24434 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_end = 24558 - _RETRYEXTERNALCALL._serialized_start = 24560 - _RETRYEXTERNALCALL._serialized_end = 24609 - _RETRYEXTERNALCALLMSG._serialized_start = 24611 - _RETRYEXTERNALCALLMSG._serialized_end = 24717 - _RECORDRETRYEXCEPTION._serialized_start = 24719 - _RECORDRETRYEXCEPTION._serialized_end = 24754 - _RECORDRETRYEXCEPTIONMSG._serialized_start = 24756 - _RECORDRETRYEXCEPTIONMSG._serialized_end = 24868 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_start = 24870 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_end = 24916 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_start = 24919 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_end = 25053 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_start = 25055 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_end = 25121 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_start = 25124 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_end = 25260 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_start = 25262 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_end = 25312 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_start = 25315 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_end = 25447 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_start = 25449 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_end = 25499 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_start = 25502 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_end = 25634 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_start = 25636 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_end = 25689 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_start = 25692 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_end = 25830 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_start = 25832 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_end = 25883 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_start = 25886 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_end = 26020 - _DEPSSETDOWNLOADDIRECTORY._serialized_start = 26022 - _DEPSSETDOWNLOADDIRECTORY._serialized_end = 26062 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_start = 26064 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_end = 26184 - _DEPSUNPINNED._serialized_start = 26186 - _DEPSUNPINNED._serialized_end = 26231 - _DEPSUNPINNEDMSG._serialized_start = 26233 - _DEPSUNPINNEDMSG._serialized_end = 26329 - _NONODESFORSELECTIONCRITERIA._serialized_start = 26331 - _NONODESFORSELECTIONCRITERIA._serialized_end = 26378 - _NONODESFORSELECTIONCRITERIAMSG._serialized_start = 26380 - _NONODESFORSELECTIONCRITERIAMSG._serialized_end = 26506 - _DEPSLOCKUPDATING._serialized_start = 26508 - _DEPSLOCKUPDATING._serialized_end = 26549 - _DEPSLOCKUPDATINGMSG._serialized_start = 26551 - _DEPSLOCKUPDATINGMSG._serialized_end = 26655 - _DEPSADDPACKAGE._serialized_start = 26657 - _DEPSADDPACKAGE._serialized_end = 26739 - _DEPSADDPACKAGEMSG._serialized_start = 26741 - _DEPSADDPACKAGEMSG._serialized_end = 26841 - _DEPSFOUNDDUPLICATEPACKAGE._serialized_start = 26844 - _DEPSFOUNDDUPLICATEPACKAGE._serialized_end = 27011 - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_start = 26958 - _DEPSFOUNDDUPLICATEPACKAGE_REMOVEDPACKAGEENTRY._serialized_end = 27011 - _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_start = 27013 - _DEPSFOUNDDUPLICATEPACKAGEMSG._serialized_end = 27135 - _DEPSVERSIONMISSING._serialized_start = 27137 - _DEPSVERSIONMISSING._serialized_end = 27173 - _DEPSVERSIONMISSINGMSG._serialized_start = 27175 - _DEPSVERSIONMISSINGMSG._serialized_end = 27283 - _DEPSSCRUBBEDPACKAGENAME._serialized_start = 27285 - _DEPSSCRUBBEDPACKAGENAME._serialized_end = 27332 - _DEPSSCRUBBEDPACKAGENAMEMSG._serialized_start = 27334 - _DEPSSCRUBBEDPACKAGENAMEMSG._serialized_end = 27452 - _RUNNINGOPERATIONCAUGHTERROR._serialized_start = 27454 - _RUNNINGOPERATIONCAUGHTERROR._serialized_end = 27496 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_start = 27498 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_end = 27624 - _COMPILECOMPLETE._serialized_start = 27626 - _COMPILECOMPLETE._serialized_end = 27643 - _COMPILECOMPLETEMSG._serialized_start = 27645 - _COMPILECOMPLETEMSG._serialized_end = 27747 - _FRESHNESSCHECKCOMPLETE._serialized_start = 27749 - _FRESHNESSCHECKCOMPLETE._serialized_end = 27773 - _FRESHNESSCHECKCOMPLETEMSG._serialized_start = 27775 - _FRESHNESSCHECKCOMPLETEMSG._serialized_end = 27891 - _SEEDHEADER._serialized_start = 27893 - _SEEDHEADER._serialized_end = 27921 - _SEEDHEADERMSG._serialized_start = 27923 - _SEEDHEADERMSG._serialized_end = 28015 - _SQLRUNNEREXCEPTION._serialized_start = 28017 - _SQLRUNNEREXCEPTION._serialized_end = 28068 - _SQLRUNNEREXCEPTIONMSG._serialized_start = 28070 - _SQLRUNNEREXCEPTIONMSG._serialized_end = 28178 - _LOGTESTRESULT._serialized_start = 28181 - _LOGTESTRESULT._serialized_end = 28349 - _LOGTESTRESULTMSG._serialized_start = 28351 - _LOGTESTRESULTMSG._serialized_end = 28449 - _LOGSTARTLINE._serialized_start = 28451 - _LOGSTARTLINE._serialized_end = 28558 - _LOGSTARTLINEMSG._serialized_start = 28560 - _LOGSTARTLINEMSG._serialized_end = 28656 - _LOGMODELRESULT._serialized_start = 28659 - _LOGMODELRESULT._serialized_end = 28808 - _LOGMODELRESULTMSG._serialized_start = 28810 - _LOGMODELRESULTMSG._serialized_end = 28910 - _LOGSNAPSHOTRESULT._serialized_start = 28913 - _LOGSNAPSHOTRESULT._serialized_end = 29187 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_start = 29145 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_end = 29187 - _LOGSNAPSHOTRESULTMSG._serialized_start = 29189 - _LOGSNAPSHOTRESULTMSG._serialized_end = 29295 - _LOGSEEDRESULT._serialized_start = 29298 - _LOGSEEDRESULT._serialized_end = 29483 - _LOGSEEDRESULTMSG._serialized_start = 29485 - _LOGSEEDRESULTMSG._serialized_end = 29583 - _LOGFRESHNESSRESULT._serialized_start = 29586 - _LOGFRESHNESSRESULT._serialized_end = 29759 - _LOGFRESHNESSRESULTMSG._serialized_start = 29761 - _LOGFRESHNESSRESULTMSG._serialized_end = 29869 - _LOGCANCELLINE._serialized_start = 29871 - _LOGCANCELLINE._serialized_end = 29905 - _LOGCANCELLINEMSG._serialized_start = 29907 - _LOGCANCELLINEMSG._serialized_end = 30005 - _DEFAULTSELECTOR._serialized_start = 30007 - _DEFAULTSELECTOR._serialized_end = 30038 - _DEFAULTSELECTORMSG._serialized_start = 30040 - _DEFAULTSELECTORMSG._serialized_end = 30142 - _NODESTART._serialized_start = 30144 - _NODESTART._serialized_end = 30197 - _NODESTARTMSG._serialized_start = 30199 - _NODESTARTMSG._serialized_end = 30289 - _NODEFINISHED._serialized_start = 30291 - _NODEFINISHED._serialized_end = 30394 - _NODEFINISHEDMSG._serialized_start = 30396 - _NODEFINISHEDMSG._serialized_end = 30492 - _QUERYCANCELATIONUNSUPPORTED._serialized_start = 30494 - _QUERYCANCELATIONUNSUPPORTED._serialized_end = 30537 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_start = 30539 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_end = 30665 - _CONCURRENCYLINE._serialized_start = 30667 - _CONCURRENCYLINE._serialized_end = 30746 - _CONCURRENCYLINEMSG._serialized_start = 30748 - _CONCURRENCYLINEMSG._serialized_end = 30850 - _WRITINGINJECTEDSQLFORNODE._serialized_start = 30852 - _WRITINGINJECTEDSQLFORNODE._serialized_end = 30921 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_start = 30923 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_end = 31045 - _NODECOMPILING._serialized_start = 31047 - _NODECOMPILING._serialized_end = 31104 - _NODECOMPILINGMSG._serialized_start = 31106 - _NODECOMPILINGMSG._serialized_end = 31204 - _NODEEXECUTING._serialized_start = 31206 - _NODEEXECUTING._serialized_end = 31263 - _NODEEXECUTINGMSG._serialized_start = 31265 - _NODEEXECUTINGMSG._serialized_end = 31363 - _LOGHOOKSTARTLINE._serialized_start = 31365 - _LOGHOOKSTARTLINE._serialized_end = 31474 - _LOGHOOKSTARTLINEMSG._serialized_start = 31476 - _LOGHOOKSTARTLINEMSG._serialized_end = 31580 - _LOGHOOKENDLINE._serialized_start = 31583 - _LOGHOOKENDLINE._serialized_end = 31730 - _LOGHOOKENDLINEMSG._serialized_start = 31732 - _LOGHOOKENDLINEMSG._serialized_end = 31832 - _SKIPPINGDETAILS._serialized_start = 31835 - _SKIPPINGDETAILS._serialized_end = 31982 - _SKIPPINGDETAILSMSG._serialized_start = 31984 - _SKIPPINGDETAILSMSG._serialized_end = 32086 - _NOTHINGTODO._serialized_start = 32088 - _NOTHINGTODO._serialized_end = 32101 - _NOTHINGTODOMSG._serialized_start = 32103 - _NOTHINGTODOMSG._serialized_end = 32197 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_start = 32199 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_end = 32243 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_start = 32246 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_end = 32376 - _ENDRUNRESULT._serialized_start = 32379 - _ENDRUNRESULT._serialized_end = 32526 - _ENDRUNRESULTMSG._serialized_start = 32528 - _ENDRUNRESULTMSG._serialized_end = 32624 - _NONODESSELECTED._serialized_start = 32626 - _NONODESSELECTED._serialized_end = 32643 - _NONODESSELECTEDMSG._serialized_start = 32645 - _NONODESSELECTEDMSG._serialized_end = 32747 - _COMMANDCOMPLETED._serialized_start = 32749 - _COMMANDCOMPLETED._serialized_end = 32868 - _COMMANDCOMPLETEDMSG._serialized_start = 32870 - _COMMANDCOMPLETEDMSG._serialized_end = 32974 - _SHOWNODE._serialized_start = 32976 - _SHOWNODE._serialized_end = 33083 - _SHOWNODEMSG._serialized_start = 33085 - _SHOWNODEMSG._serialized_end = 33173 - _COMPILEDNODE._serialized_start = 33175 - _COMPILEDNODE._serialized_end = 33287 - _COMPILEDNODEMSG._serialized_start = 33289 - _COMPILEDNODEMSG._serialized_end = 33385 - _CATCHABLEEXCEPTIONONRUN._serialized_start = 33387 - _CATCHABLEEXCEPTIONONRUN._serialized_end = 33485 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_start = 33487 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_end = 33605 - _INTERNALERRORONRUN._serialized_start = 33607 - _INTERNALERRORONRUN._serialized_end = 33660 - _INTERNALERRORONRUNMSG._serialized_start = 33662 - _INTERNALERRORONRUNMSG._serialized_end = 33770 - _GENERICEXCEPTIONONRUN._serialized_start = 33772 - _GENERICEXCEPTIONONRUN._serialized_end = 33847 - _GENERICEXCEPTIONONRUNMSG._serialized_start = 33849 - _GENERICEXCEPTIONONRUNMSG._serialized_end = 33963 - _NODECONNECTIONRELEASEERROR._serialized_start = 33965 - _NODECONNECTIONRELEASEERROR._serialized_end = 34043 - _NODECONNECTIONRELEASEERRORMSG._serialized_start = 34045 - _NODECONNECTIONRELEASEERRORMSG._serialized_end = 34169 - _FOUNDSTATS._serialized_start = 34171 - _FOUNDSTATS._serialized_end = 34202 - _FOUNDSTATSMSG._serialized_start = 34204 - _FOUNDSTATSMSG._serialized_end = 34296 - _MAINKEYBOARDINTERRUPT._serialized_start = 34298 - _MAINKEYBOARDINTERRUPT._serialized_end = 34321 - _MAINKEYBOARDINTERRUPTMSG._serialized_start = 34323 - _MAINKEYBOARDINTERRUPTMSG._serialized_end = 34437 - _MAINENCOUNTEREDERROR._serialized_start = 34439 - _MAINENCOUNTEREDERROR._serialized_end = 34474 - _MAINENCOUNTEREDERRORMSG._serialized_start = 34476 - _MAINENCOUNTEREDERRORMSG._serialized_end = 34588 - _MAINSTACKTRACE._serialized_start = 34590 - _MAINSTACKTRACE._serialized_end = 34627 - _MAINSTACKTRACEMSG._serialized_start = 34629 - _MAINSTACKTRACEMSG._serialized_end = 34729 - _SYSTEMCOULDNOTWRITE._serialized_start = 34731 - _SYSTEMCOULDNOTWRITE._serialized_end = 34795 - _SYSTEMCOULDNOTWRITEMSG._serialized_start = 34797 - _SYSTEMCOULDNOTWRITEMSG._serialized_end = 34907 - _SYSTEMEXECUTINGCMD._serialized_start = 34909 - _SYSTEMEXECUTINGCMD._serialized_end = 34942 - _SYSTEMEXECUTINGCMDMSG._serialized_start = 34944 - _SYSTEMEXECUTINGCMDMSG._serialized_end = 35052 - _SYSTEMSTDOUT._serialized_start = 35054 - _SYSTEMSTDOUT._serialized_end = 35082 - _SYSTEMSTDOUTMSG._serialized_start = 35084 - _SYSTEMSTDOUTMSG._serialized_end = 35180 - _SYSTEMSTDERR._serialized_start = 35182 - _SYSTEMSTDERR._serialized_end = 35210 - _SYSTEMSTDERRMSG._serialized_start = 35212 - _SYSTEMSTDERRMSG._serialized_end = 35308 - _SYSTEMREPORTRETURNCODE._serialized_start = 35310 - _SYSTEMREPORTRETURNCODE._serialized_end = 35354 - _SYSTEMREPORTRETURNCODEMSG._serialized_start = 35356 - _SYSTEMREPORTRETURNCODEMSG._serialized_end = 35472 - _TIMINGINFOCOLLECTED._serialized_start = 35474 - _TIMINGINFOCOLLECTED._serialized_end = 35586 - _TIMINGINFOCOLLECTEDMSG._serialized_start = 35588 - _TIMINGINFOCOLLECTEDMSG._serialized_end = 35698 - _LOGDEBUGSTACKTRACE._serialized_start = 35700 - _LOGDEBUGSTACKTRACE._serialized_end = 35738 - _LOGDEBUGSTACKTRACEMSG._serialized_start = 35740 - _LOGDEBUGSTACKTRACEMSG._serialized_end = 35848 - _CHECKCLEANPATH._serialized_start = 35850 - _CHECKCLEANPATH._serialized_end = 35880 - _CHECKCLEANPATHMSG._serialized_start = 35882 - _CHECKCLEANPATHMSG._serialized_end = 35982 - _CONFIRMCLEANPATH._serialized_start = 35984 - _CONFIRMCLEANPATH._serialized_end = 36016 - _CONFIRMCLEANPATHMSG._serialized_start = 36018 - _CONFIRMCLEANPATHMSG._serialized_end = 36122 - _PROTECTEDCLEANPATH._serialized_start = 36124 - _PROTECTEDCLEANPATH._serialized_end = 36158 - _PROTECTEDCLEANPATHMSG._serialized_start = 36160 - _PROTECTEDCLEANPATHMSG._serialized_end = 36268 - _FINISHEDCLEANPATHS._serialized_start = 36270 - _FINISHEDCLEANPATHS._serialized_end = 36290 - _FINISHEDCLEANPATHSMSG._serialized_start = 36292 - _FINISHEDCLEANPATHSMSG._serialized_end = 36400 - _OPENCOMMAND._serialized_start = 36402 - _OPENCOMMAND._serialized_end = 36455 - _OPENCOMMANDMSG._serialized_start = 36457 - _OPENCOMMANDMSG._serialized_end = 36551 - _FORMATTING._serialized_start = 36553 - _FORMATTING._serialized_end = 36578 - _FORMATTINGMSG._serialized_start = 36580 - _FORMATTINGMSG._serialized_end = 36672 - _SERVINGDOCSPORT._serialized_start = 36674 - _SERVINGDOCSPORT._serialized_end = 36722 - _SERVINGDOCSPORTMSG._serialized_start = 36724 - _SERVINGDOCSPORTMSG._serialized_end = 36826 - _SERVINGDOCSACCESSINFO._serialized_start = 36828 - _SERVINGDOCSACCESSINFO._serialized_end = 36865 - _SERVINGDOCSACCESSINFOMSG._serialized_start = 36867 - _SERVINGDOCSACCESSINFOMSG._serialized_end = 36981 - _SERVINGDOCSEXITINFO._serialized_start = 36983 - _SERVINGDOCSEXITINFO._serialized_end = 37004 - _SERVINGDOCSEXITINFOMSG._serialized_start = 37006 - _SERVINGDOCSEXITINFOMSG._serialized_end = 37116 - _RUNRESULTWARNING._serialized_start = 37118 - _RUNRESULTWARNING._serialized_end = 37192 - _RUNRESULTWARNINGMSG._serialized_start = 37194 - _RUNRESULTWARNINGMSG._serialized_end = 37298 - _RUNRESULTFAILURE._serialized_start = 37300 - _RUNRESULTFAILURE._serialized_end = 37374 - _RUNRESULTFAILUREMSG._serialized_start = 37376 - _RUNRESULTFAILUREMSG._serialized_end = 37480 - _STATSLINE._serialized_start = 37482 - _STATSLINE._serialized_end = 37589 - _STATSLINE_STATSENTRY._serialized_start = 37545 - _STATSLINE_STATSENTRY._serialized_end = 37589 - _STATSLINEMSG._serialized_start = 37591 - _STATSLINEMSG._serialized_end = 37681 - _RUNRESULTERROR._serialized_start = 37683 - _RUNRESULTERROR._serialized_end = 37712 - _RUNRESULTERRORMSG._serialized_start = 37714 - _RUNRESULTERRORMSG._serialized_end = 37814 - _RUNRESULTERRORNOMESSAGE._serialized_start = 37816 - _RUNRESULTERRORNOMESSAGE._serialized_end = 37857 - _RUNRESULTERRORNOMESSAGEMSG._serialized_start = 37859 - _RUNRESULTERRORNOMESSAGEMSG._serialized_end = 37977 - _SQLCOMPILEDPATH._serialized_start = 37979 - _SQLCOMPILEDPATH._serialized_end = 38010 - _SQLCOMPILEDPATHMSG._serialized_start = 38012 - _SQLCOMPILEDPATHMSG._serialized_end = 38114 - _CHECKNODETESTFAILURE._serialized_start = 38116 - _CHECKNODETESTFAILURE._serialized_end = 38161 - _CHECKNODETESTFAILUREMSG._serialized_start = 38163 - _CHECKNODETESTFAILUREMSG._serialized_end = 38275 - _ENDOFRUNSUMMARY._serialized_start = 38277 - _ENDOFRUNSUMMARY._serialized_end = 38364 - _ENDOFRUNSUMMARYMSG._serialized_start = 38366 - _ENDOFRUNSUMMARYMSG._serialized_end = 38468 - _LOGSKIPBECAUSEERROR._serialized_start = 38470 - _LOGSKIPBECAUSEERROR._serialized_end = 38555 - _LOGSKIPBECAUSEERRORMSG._serialized_start = 38557 - _LOGSKIPBECAUSEERRORMSG._serialized_end = 38667 - _ENSUREGITINSTALLED._serialized_start = 38669 - _ENSUREGITINSTALLED._serialized_end = 38689 - _ENSUREGITINSTALLEDMSG._serialized_start = 38691 - _ENSUREGITINSTALLEDMSG._serialized_end = 38799 - _DEPSCREATINGLOCALSYMLINK._serialized_start = 38801 - _DEPSCREATINGLOCALSYMLINK._serialized_end = 38827 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_start = 38829 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_end = 38949 - _DEPSSYMLINKNOTAVAILABLE._serialized_start = 38951 - _DEPSSYMLINKNOTAVAILABLE._serialized_end = 38976 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_start = 38978 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_end = 39096 - _DISABLETRACKING._serialized_start = 39098 - _DISABLETRACKING._serialized_end = 39115 - _DISABLETRACKINGMSG._serialized_start = 39117 - _DISABLETRACKINGMSG._serialized_end = 39219 - _SENDINGEVENT._serialized_start = 39221 - _SENDINGEVENT._serialized_end = 39251 - _SENDINGEVENTMSG._serialized_start = 39253 - _SENDINGEVENTMSG._serialized_end = 39349 - _SENDEVENTFAILURE._serialized_start = 39351 - _SENDEVENTFAILURE._serialized_end = 39369 - _SENDEVENTFAILUREMSG._serialized_start = 39371 - _SENDEVENTFAILUREMSG._serialized_end = 39475 - _FLUSHEVENTS._serialized_start = 39477 - _FLUSHEVENTS._serialized_end = 39490 - _FLUSHEVENTSMSG._serialized_start = 39492 - _FLUSHEVENTSMSG._serialized_end = 39586 - _FLUSHEVENTSFAILURE._serialized_start = 39588 - _FLUSHEVENTSFAILURE._serialized_end = 39608 - _FLUSHEVENTSFAILUREMSG._serialized_start = 39610 - _FLUSHEVENTSFAILUREMSG._serialized_end = 39718 - _TRACKINGINITIALIZEFAILURE._serialized_start = 39720 - _TRACKINGINITIALIZEFAILURE._serialized_end = 39765 - _TRACKINGINITIALIZEFAILUREMSG._serialized_start = 39767 - _TRACKINGINITIALIZEFAILUREMSG._serialized_end = 39889 - _RUNRESULTWARNINGMESSAGE._serialized_start = 39891 - _RUNRESULTWARNINGMESSAGE._serialized_end = 39929 - _RUNRESULTWARNINGMESSAGEMSG._serialized_start = 39931 - _RUNRESULTWARNINGMESSAGEMSG._serialized_end = 40049 - _DEBUGCMDOUT._serialized_start = 40051 - _DEBUGCMDOUT._serialized_end = 40077 - _DEBUGCMDOUTMSG._serialized_start = 40079 - _DEBUGCMDOUTMSG._serialized_end = 40173 - _DEBUGCMDRESULT._serialized_start = 40175 - _DEBUGCMDRESULT._serialized_end = 40204 - _DEBUGCMDRESULTMSG._serialized_start = 40206 - _DEBUGCMDRESULTMSG._serialized_end = 40306 - _LISTCMDOUT._serialized_start = 40308 - _LISTCMDOUT._serialized_end = 40333 - _LISTCMDOUTMSG._serialized_start = 40335 - _LISTCMDOUTMSG._serialized_end = 40427 - _NOTE._serialized_start = 40429 - _NOTE._serialized_end = 40448 - _NOTEMSG._serialized_start = 40450 - _NOTEMSG._serialized_end = 40530 - _RESOURCEREPORT._serialized_start = 40533 - _RESOURCEREPORT._serialized_end = 40769 - _RESOURCEREPORTMSG._serialized_start = 40771 - _RESOURCEREPORTMSG._serialized_end = 40871 -# @@protoc_insertion_point(module_scope) From 373125ecb8d1d34b5dd73fe417fc5d2f0825bd57 Mon Sep 17 00:00:00 2001 From: Mila Page <67295367+VersusFacit@users.noreply.github.com> Date: Wed, 29 Nov 2023 11:03:13 -0800 Subject: [PATCH 19/40] Move the semver package to common and alter references. (#9166) * Move the semver package to common and alter references. * Alter leftover references to dbt.semver, this time using from syntax. --------- Co-authored-by: Mila Page --- .../Under the Hood-20231128-170732.yaml | 6 +++++ core/dbt/adapters/factory.py | 2 +- core/dbt/clients/registry.py | 4 +-- core/dbt/{ => common}/semver.py | 0 core/dbt/config/project.py | 5 +--- core/dbt/deps/registry.py | 2 +- core/dbt/version.py | 27 +++++++++---------- .../dependencies/test_local_dependency.py | 8 +++--- tests/unit/test_config.py | 2 +- tests/unit/test_deps.py | 4 +-- tests/unit/test_semver.py | 2 +- 11 files changed, 29 insertions(+), 33 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231128-170732.yaml rename core/dbt/{ => common}/semver.py (100%) diff --git a/.changes/unreleased/Under the Hood-20231128-170732.yaml b/.changes/unreleased/Under the Hood-20231128-170732.yaml new file mode 100644 index 00000000000..d1afc0086cd --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231128-170732.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Move dbt.semver to dbt.common.semver and update references. +time: 2023-11-28T17:07:32.172421-08:00 +custom: + Author: versusfacit + Issue: "9039" diff --git a/core/dbt/adapters/factory.py b/core/dbt/adapters/factory.py index f79585ecd1d..e5414ea4ccd 100644 --- a/core/dbt/adapters/factory.py +++ b/core/dbt/adapters/factory.py @@ -13,7 +13,7 @@ from dbt.common.exceptions import DbtInternalError, DbtRuntimeError from dbt.adapters.include.global_project import PACKAGE_PATH as GLOBAL_PROJECT_PATH from dbt.adapters.include.global_project import PROJECT_NAME as GLOBAL_PROJECT_NAME -from dbt.semver import VersionSpecifier +from dbt.common.semver import VersionSpecifier from dbt.mp_context import get_mp_context Adapter = AdapterProtocol diff --git a/core/dbt/clients/registry.py b/core/dbt/clients/registry.py index 7c4ee271f6a..05c69ba9049 100644 --- a/core/dbt/clients/registry.py +++ b/core/dbt/clients/registry.py @@ -14,7 +14,7 @@ ) from dbt.utils import memoized, _connection_exception_retry as connection_exception_retry from dbt import deprecations -from dbt import semver +from dbt.common import semver import os if os.getenv("DBT_PACKAGE_HUB_URL"): @@ -104,7 +104,6 @@ def package(package_name, registry_base_url=None) -> Dict[str, Any]: # redirectname redirects based on package name # Both can be present at the same time, or neither. Fails gracefully to old name if ("redirectnamespace" in response) or ("redirectname" in response): - if ("redirectnamespace" in response) and response["redirectnamespace"] is not None: use_namespace = response["redirectnamespace"] else: @@ -160,7 +159,6 @@ def get_compatible_versions(package_name, dbt_version, should_version_check) -> def _get_index(registry_base_url=None): - url = _get_url("index", registry_base_url) fire_event(RegistryIndexProgressGETRequest(url=url)) # all exceptions from requests get caught in the retry logic so no need to wrap this here diff --git a/core/dbt/semver.py b/core/dbt/common/semver.py similarity index 100% rename from core/dbt/semver.py rename to core/dbt/common/semver.py diff --git a/core/dbt/config/project.py b/core/dbt/config/project.py index 1e93bc0d2a0..dca2de05603 100644 --- a/core/dbt/config/project.py +++ b/core/dbt/config/project.py @@ -33,7 +33,7 @@ from dbt.common.exceptions import SemverError from dbt.graph import SelectionSpec from dbt.common.helper_types import NoValue -from dbt.semver import VersionSpecifier, versions_compatible +from dbt.common.semver import VersionSpecifier, versions_compatible from dbt.version import get_installed_version from dbt.utils import MultiDict, md5 from dbt.node_types import NodeType @@ -106,7 +106,6 @@ def load_yml_dict(file_path): def package_and_project_data_from_root(project_root): - packages_yml_dict = load_yml_dict(f"{project_root}/{PACKAGES_FILE_NAME}") dependencies_yml_dict = load_yml_dict(f"{project_root}/{DEPENDENCIES_FILE_NAME}") @@ -197,7 +196,6 @@ def value_or(value: Optional[T], default: T) -> T: def load_raw_project(project_root: str) -> Dict[str, Any]: - project_root = os.path.normpath(project_root) project_yaml_filepath = os.path.join(project_root, "dbt_project.yml") @@ -310,7 +308,6 @@ def get_rendered( self, renderer: DbtProjectYamlRenderer, ) -> RenderComponents: - rendered_project = renderer.render_project(self.project_dict, self.project_root) rendered_packages = renderer.render_packages( self.packages_dict, self.packages_specified_path diff --git a/core/dbt/deps/registry.py b/core/dbt/deps/registry.py index da861a530fd..aa8fda8a1f5 100644 --- a/core/dbt/deps/registry.py +++ b/core/dbt/deps/registry.py @@ -1,6 +1,6 @@ from typing import List, Dict -from dbt import semver +from dbt.common import semver from dbt.flags import get_flags from dbt.version import get_installed_version from dbt.clients import registry diff --git a/core/dbt/version.py b/core/dbt/version.py index ffbe7416c44..946d098d200 100644 --- a/core/dbt/version.py +++ b/core/dbt/version.py @@ -1,14 +1,13 @@ +import glob import importlib import importlib.util -import os -import glob import json -from typing import Iterator, List, Optional, Tuple - +import os import requests -import dbt.exceptions -import dbt.semver +from typing import Iterator, List, Optional, Tuple + +import dbt.common.semver as semver from dbt.common.ui import green, red, yellow @@ -34,13 +33,13 @@ def get_version_information() -> str: return "\n\n".join(msg_lines) -def get_installed_version() -> dbt.semver.VersionSpecifier: - return dbt.semver.VersionSpecifier.from_version_string(__version__) +def get_installed_version() -> semver.VersionSpecifier: + return semver.VersionSpecifier.from_version_string(__version__) def get_latest_version( version_url: str = PYPI_VERSION_URL, -) -> Optional[dbt.semver.VersionSpecifier]: +) -> Optional[semver.VersionSpecifier]: try: resp = requests.get(version_url, timeout=1) data = resp.json() @@ -48,7 +47,7 @@ def get_latest_version( except (json.JSONDecodeError, KeyError, requests.RequestException): return None - return dbt.semver.VersionSpecifier.from_version_string(version_string) + return semver.VersionSpecifier.from_version_string(version_string) def _get_core_msg_lines(installed, latest) -> Tuple[List[List[str]], str]: @@ -96,7 +95,7 @@ def _format_core_msg(lines: List[List[str]]) -> str: return msg + "\n".join(msg_lines) -def _get_plugins_msg(installed: dbt.semver.VersionSpecifier) -> str: +def _get_plugins_msg(installed: semver.VersionSpecifier) -> str: msg_lines = ["Plugins:"] plugins = [] @@ -122,9 +121,9 @@ def _get_plugins_msg(installed: dbt.semver.VersionSpecifier) -> str: def _get_plugin_msg_info( - name: str, version_s: str, core: dbt.semver.VersionSpecifier + name: str, version_s: str, core: semver.VersionSpecifier ) -> Tuple[str, bool]: - plugin = dbt.semver.VersionSpecifier.from_version_string(version_s) + plugin = semver.VersionSpecifier.from_version_string(version_s) latest_plugin = get_latest_version(version_url=get_package_pypi_url(name)) needs_update = False @@ -169,14 +168,12 @@ def _pad_lines(lines: List[List[str]], seperator: str = "") -> List[List[str]]: result: List[List[str]] = [] for i, line in enumerate(lines): - # add another list to hold padded strings if len(result) == i: result.append([""] * len(line)) # iterate over columns in the line for j, item in enumerate(line): - # the last column does not need padding if j == len(line) - 1: result[i][j] = item diff --git a/tests/functional/dependencies/test_local_dependency.py b/tests/functional/dependencies/test_local_dependency.py index 8d0ff0a1617..9736102f9fb 100644 --- a/tests/functional/dependencies/test_local_dependency.py +++ b/tests/functional/dependencies/test_local_dependency.py @@ -9,7 +9,7 @@ from pathlib import Path from unittest import mock -import dbt.semver +import dbt.common.semver as semver import dbt.config import dbt.exceptions @@ -219,7 +219,7 @@ def project_config(self): @mock.patch("dbt.config.project.get_installed_version") def test_local_dependency_out_of_date(self, mock_get, project): - mock_get.return_value = dbt.semver.VersionSpecifier.from_version_string("0.0.1") + mock_get.return_value = semver.VersionSpecifier.from_version_string("0.0.1") run_dbt(["deps"] + self.dbt_vargs(project.test_schema)) # check seed with pytest.raises(dbt.exceptions.DbtProjectError) as exc: @@ -232,7 +232,7 @@ def test_local_dependency_out_of_date(self, mock_get, project): @mock.patch("dbt.config.project.get_installed_version") def test_local_dependency_out_of_date_no_check(self, mock_get): - mock_get.return_value = dbt.semver.VersionSpecifier.from_version_string("0.0.1") + mock_get.return_value = semver.VersionSpecifier.from_version_string("0.0.1") run_dbt(["deps"]) run_dbt(["seed", "--no-version-check"]) results = run_dbt(["run", "--no-version-check"]) @@ -274,7 +274,7 @@ def test_local_dependency_out_of_date_no_check(self, mock_get, project): } ) - mock_get.return_value = dbt.semver.VersionSpecifier.from_version_string("0.0.1") + mock_get.return_value = semver.VersionSpecifier.from_version_string("0.0.1") run_dbt(["deps", "--vars", vars_arg]) run_dbt(["seed", "--vars", vars_arg]) results = run_dbt(["run", "--vars", vars_arg]) diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index eba7638e291..84db51a19ec 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -21,7 +21,7 @@ from dbt.adapters.contracts.connection import QueryComment, DEFAULT_QUERY_COMMENT from dbt.contracts.project import PackageConfig, LocalPackage, GitPackage from dbt.node_types import NodeType -from dbt.semver import VersionSpecifier +from dbt.common.semver import VersionSpecifier from dbt.task.base import ConfiguredTask from dbt.flags import set_from_args diff --git a/tests/unit/test_deps.py b/tests/unit/test_deps.py index c9c787f31a3..ff0bff2a9b4 100644 --- a/tests/unit/test_deps.py +++ b/tests/unit/test_deps.py @@ -20,7 +20,7 @@ ) from dbt.config.project import PartialProject from dbt.contracts.project import PackageConfig -from dbt.semver import VersionSpecifier +from dbt.common.semver import VersionSpecifier from dbt.version import get_installed_version from dbt.common.dataclass_schema import ValidationError from dbt.flags import set_from_args @@ -812,7 +812,6 @@ def test_dependency_resolution_allow_prerelease(self): self.assertEqual(resolved[0].version, "0.1.4a1") def test_validation_error_when_version_is_missing_from_package_config(self): - packages_data = {"packages": [{"package": "dbt-labs-test/b", "version": None}]} with self.assertRaises(ValidationError) as exc: @@ -822,7 +821,6 @@ def test_validation_error_when_version_is_missing_from_package_config(self): assert msg in str(exc.exception) def test_validation_error_when_namespace_is_missing_from_package_config(self): - packages_data = {"packages": [{"package": "dbt-labs", "version": "1.0.0"}]} with self.assertRaises(ValidationError) as exc: diff --git a/tests/unit/test_semver.py b/tests/unit/test_semver.py index f2417ad5c15..879721277c2 100644 --- a/tests/unit/test_semver.py +++ b/tests/unit/test_semver.py @@ -3,7 +3,7 @@ from typing import List from dbt.common.exceptions import VersionsNotCompatibleError -from dbt.semver import ( +from dbt.common.semver import ( VersionSpecifier, UnboundedVersionSpecifier, VersionRange, From 41ac915949e8d4e12c6e7cfe31c75bf689763960 Mon Sep 17 00:00:00 2001 From: colin-rogers-dbt <111200756+colin-rogers-dbt@users.noreply.github.com> Date: Fri, 1 Dec 2023 08:48:19 -0800 Subject: [PATCH 20/40] Refactor EventManager setup and interaction (#9180) * moving types_pb2.py to common/events * move event manager setup back to core, remove ref to global EVENT_MANAGER and clean up event manager functions * move invocation_id from events to first class common concept * move lowercase utils to common * move lowercase utils to common * ref CAPTURE_STREAM through method * add changie --- .../Breaking Changes-20231130-135348.yaml | 7 + .../Under the Hood-20231130-135432.yaml | 6 + core/dbt/adapters/cache.py | 2 +- core/dbt/adapters/events/logging.py | 5 +- core/dbt/cli/requires.py | 8 +- core/dbt/common/events/__init__.py | 9 + core/dbt/common/events/base_types.py | 8 +- core/dbt/common/events/event_handler.py | 2 +- .../events/{eventmgr.py => event_manager.py} | 3 - .../dbt/common/events/event_manager_client.py | 29 +++ core/dbt/common/events/functions.py | 172 +++--------------- core/dbt/common/invocation.py | 12 ++ core/dbt/common/utils/formatting.py | 8 + core/dbt/compilation.py | 3 +- core/dbt/contracts/results.py | 2 +- core/dbt/contracts/util.py | 3 +- core/dbt/events/logging.py | 107 +++++++++++ core/dbt/task/docs/generate.py | 3 +- core/dbt/task/runnable.py | 5 +- core/dbt/tests/fixtures/project.py | 3 +- core/dbt/utils.py | 7 - tests/unit/test_event_handler.py | 2 +- tests/unit/test_events.py | 5 +- tests/unit/test_functions.py | 3 +- tests/unit/test_graph.py | 2 +- tests/unit/test_manifest.py | 10 +- 26 files changed, 241 insertions(+), 185 deletions(-) create mode 100644 .changes/unreleased/Breaking Changes-20231130-135348.yaml create mode 100644 .changes/unreleased/Under the Hood-20231130-135432.yaml rename core/dbt/common/events/{eventmgr.py => event_manager.py} (95%) create mode 100644 core/dbt/common/events/event_manager_client.py create mode 100644 core/dbt/common/invocation.py create mode 100644 core/dbt/common/utils/formatting.py create mode 100644 core/dbt/events/logging.py diff --git a/.changes/unreleased/Breaking Changes-20231130-135348.yaml b/.changes/unreleased/Breaking Changes-20231130-135348.yaml new file mode 100644 index 00000000000..df673d69367 --- /dev/null +++ b/.changes/unreleased/Breaking Changes-20231130-135348.yaml @@ -0,0 +1,7 @@ +kind: Breaking Changes +body: move event manager setup back to core, remove ref to global EVENT_MANAGER and + clean up event manager functions +time: 2023-11-30T13:53:48.645192-08:00 +custom: + Author: colin-rogers-dbt + Issue: "9150" diff --git a/.changes/unreleased/Under the Hood-20231130-135432.yaml b/.changes/unreleased/Under the Hood-20231130-135432.yaml new file mode 100644 index 00000000000..bc683ea3307 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231130-135432.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Move lowercase utils method to common +time: 2023-11-30T13:54:32.561673-08:00 +custom: + Author: colin-rogers-dbt + Issue: "9180" diff --git a/core/dbt/adapters/cache.py b/core/dbt/adapters/cache.py index 63c26962c4f..9cf21c6a791 100644 --- a/core/dbt/adapters/cache.py +++ b/core/dbt/adapters/cache.py @@ -16,7 +16,7 @@ ) from dbt.common.events.functions import fire_event, fire_event_if from dbt.adapters.events.types import CacheAction, CacheDumpGraph -from dbt.utils import lowercase +from dbt.common.utils.formatting import lowercase def dot_separated(key: _ReferenceKey) -> str: diff --git a/core/dbt/adapters/events/logging.py b/core/dbt/adapters/events/logging.py index 74ed8012b3c..f85b3358520 100644 --- a/core/dbt/adapters/events/logging.py +++ b/core/dbt/adapters/events/logging.py @@ -7,9 +7,10 @@ AdapterEventWarning, AdapterEventError, ) +from dbt.common.events import get_event_manager from dbt.common.events.contextvars import get_node_info from dbt.common.events.event_handler import set_package_logging -from dbt.common.events.functions import fire_event, EVENT_MANAGER +from dbt.common.events.functions import fire_event @dataclass @@ -63,4 +64,4 @@ def set_adapter_dependency_log_level(package_name, level): """By default, dbt suppresses non-dbt package logs. This method allows you to set the log level for a specific package. """ - set_package_logging(package_name, level, EVENT_MANAGER) + set_package_logging(package_name, level, get_event_manager()) diff --git a/core/dbt/cli/requires.py b/core/dbt/cli/requires.py index 24a041c2c68..377ebcd066a 100644 --- a/core/dbt/cli/requires.py +++ b/core/dbt/cli/requires.py @@ -1,4 +1,5 @@ import dbt.tracking +from dbt.common.invocation import reset_invocation_id from dbt.version import installed as installed_version from dbt.adapters.factory import adapter_management, register_adapter from dbt.flags import set_flags, get_flag_dict @@ -14,9 +15,8 @@ from dbt.common.events.functions import ( fire_event, LOG_VERSION, - set_invocation_id, - setup_event_logger, ) +from dbt.events.logging import setup_event_logger from dbt.common.events.types import ( CommandCompleted, MainReportVersion, @@ -52,9 +52,11 @@ def wrapper(*args, **kwargs): ctx.obj["flags"] = flags set_flags(flags) + # Reset invocation_id for each 'invocation' of a dbt command (can happen multiple times in a single process) + reset_invocation_id() + # Logging callbacks = ctx.obj.get("callbacks", []) - set_invocation_id() setup_event_logger(flags=flags, callbacks=callbacks) # Tracking diff --git a/core/dbt/common/events/__init__.py b/core/dbt/common/events/__init__.py index e69de29bb2d..e4d1acb996b 100644 --- a/core/dbt/common/events/__init__.py +++ b/core/dbt/common/events/__init__.py @@ -0,0 +1,9 @@ +from dbt.common.events.base_types import EventLevel +from dbt.common.events.event_manager_client import get_event_manager +from dbt.common.events.functions import get_stdout_config +from dbt.common.events.logger import LineFormat + +# make sure event manager starts with a logger +get_event_manager().add_logger( + get_stdout_config(LineFormat.PlainText, True, EventLevel.INFO, False) +) diff --git a/core/dbt/common/events/base_types.py b/core/dbt/common/events/base_types.py index fadbe652609..2e385150c80 100644 --- a/core/dbt/common/events/base_types.py +++ b/core/dbt/common/events/base_types.py @@ -8,6 +8,8 @@ from dbt.common.events.helpers import get_json_string_utcnow from typing import Optional +from dbt.common.invocation import get_invocation_id + if sys.version_info >= (3, 8): from typing import Protocol else: @@ -26,12 +28,6 @@ def get_global_metadata_vars() -> dict: return get_metadata_vars() -def get_invocation_id() -> str: - from dbt.common.events.functions import get_invocation_id - - return get_invocation_id() - - # exactly one pid per concrete event def get_pid() -> int: return os.getpid() diff --git a/core/dbt/common/events/event_handler.py b/core/dbt/common/events/event_handler.py index afa771e87cb..e6c934f9c6c 100644 --- a/core/dbt/common/events/event_handler.py +++ b/core/dbt/common/events/event_handler.py @@ -3,7 +3,7 @@ from dbt.common.events.base_types import EventLevel from dbt.common.events.types import Note -from dbt.common.events.eventmgr import IEventManager +from dbt.common.events.event_manager import IEventManager _log_level_to_event_level_map = { diff --git a/core/dbt/common/events/eventmgr.py b/core/dbt/common/events/event_manager.py similarity index 95% rename from core/dbt/common/events/eventmgr.py rename to core/dbt/common/events/event_manager.py index 59b8d8e8365..df9c7f90eca 100644 --- a/core/dbt/common/events/eventmgr.py +++ b/core/dbt/common/events/event_manager.py @@ -1,7 +1,6 @@ import os import traceback from typing import Callable, List, Optional, Protocol, Tuple -from uuid import uuid4 from dbt.common.events.base_types import BaseEvent, EventLevel, msg_from_base_event, EventMsg from dbt.common.events.logger import LoggerConfig, _Logger, _TextLogger, _JsonLogger, LineFormat @@ -11,7 +10,6 @@ class EventManager: def __init__(self) -> None: self.loggers: List[_Logger] = [] self.callbacks: List[Callable[[EventMsg], None]] = [] - self.invocation_id: str = str(uuid4()) def fire_event(self, e: BaseEvent, level: Optional[EventLevel] = None) -> None: msg = msg_from_base_event(e, level=level) @@ -45,7 +43,6 @@ def flush(self) -> None: class IEventManager(Protocol): callbacks: List[Callable[[EventMsg], None]] - invocation_id: str loggers: List[_Logger] def fire_event(self, e: BaseEvent, level: Optional[EventLevel] = None) -> None: diff --git a/core/dbt/common/events/event_manager_client.py b/core/dbt/common/events/event_manager_client.py new file mode 100644 index 00000000000..294bbdef9a1 --- /dev/null +++ b/core/dbt/common/events/event_manager_client.py @@ -0,0 +1,29 @@ +# Since dbt-rpc does not do its own log setup, and since some events can +# currently fire before logs can be configured by setup_event_logger(), we +# create a default configuration with default settings and no file output. +from dbt.common.events.event_manager import IEventManager, EventManager + +_EVENT_MANAGER: IEventManager = EventManager() + + +def get_event_manager() -> IEventManager: + global _EVENT_MANAGER + return _EVENT_MANAGER + + +def add_logger_to_manager(logger) -> None: + global _EVENT_MANAGER + _EVENT_MANAGER.add_logger(logger) + + +def ctx_set_event_manager(event_manager: IEventManager) -> None: + global _EVENT_MANAGER + _EVENT_MANAGER = event_manager + + +def cleanup_event_logger() -> None: + # Reset to a no-op manager to release streams associated with logs. This is + # especially important for tests, since pytest replaces the stdout stream + # during test runs, and closes the stream after the test is over. + _EVENT_MANAGER.loggers.clear() + _EVENT_MANAGER.callbacks.clear() diff --git a/core/dbt/common/events/functions.py b/core/dbt/common/events/functions.py index d8e2fd17f0a..619d7462cd2 100644 --- a/core/dbt/common/events/functions.py +++ b/core/dbt/common/events/functions.py @@ -1,9 +1,10 @@ from pathlib import Path +from dbt.common.events.event_manager_client import get_event_manager +from dbt.common.invocation import get_invocation_id from dbt.common.helper_types import WarnErrorOptions from dbt.common.utils import ForgivingJSONEncoder from dbt.common.events.base_types import BaseEvent, EventLevel, EventMsg -from dbt.common.events.eventmgr import EventManager, IEventManager from dbt.common.events.logger import LoggerConfig, LineFormat from dbt.common.exceptions import scrub_secrets, env_secrets from dbt.common.events.types import Note @@ -11,85 +12,30 @@ import json import os import sys -from typing import Callable, Dict, List, Optional, TextIO, Union -import uuid +from typing import Callable, Dict, Optional, TextIO, Union from google.protobuf.json_format import MessageToDict LOG_VERSION = 3 metadata_vars: Optional[Dict[str, str]] = None _METADATA_ENV_PREFIX = "DBT_ENV_CUSTOM_ENV_" -# These are the logging events issued by the "clean" command, -# where we can't count on having a log directory. We've removed -# the "class" flags on the events in types.py. If necessary we -# could still use class or method flags, but we'd have to get -# the type class from the msg and then get the information from the class. -nofile_codes = ["Z012", "Z013", "Z014", "Z015"] WARN_ERROR_OPTIONS = WarnErrorOptions(include=[], exclude=[]) WARN_ERROR = False +# This global, and the following two functions for capturing stdout logs are +# an unpleasant hack we intend to remove as part of API-ification. The GitHub +# issue #6350 was opened for that work. +CAPTURE_STREAM: Optional[TextIO] = None -def make_log_dir_if_missing(log_path: Union[Path, str]) -> None: - if isinstance(log_path, str): - log_path = Path(log_path) - log_path.mkdir(parents=True, exist_ok=True) - - -def setup_event_logger(flags, callbacks: List[Callable[[EventMsg], None]] = []) -> None: - cleanup_event_logger() - make_log_dir_if_missing(flags.LOG_PATH) - EVENT_MANAGER.callbacks = callbacks.copy() - - if flags.LOG_LEVEL != "none": - line_format = _line_format_from_str(flags.LOG_FORMAT, LineFormat.PlainText) - log_level = ( - EventLevel.ERROR - if flags.QUIET - else EventLevel.DEBUG - if flags.DEBUG - else EventLevel(flags.LOG_LEVEL) - ) - console_config = _get_stdout_config( - line_format, - flags.USE_COLORS, - log_level, - flags.LOG_CACHE_EVENTS, - ) - EVENT_MANAGER.add_logger(console_config) - - if _CAPTURE_STREAM: - # Create second stdout logger to support test which want to know what's - # being sent to stdout. - console_config.output_stream = _CAPTURE_STREAM - EVENT_MANAGER.add_logger(console_config) - - if flags.LOG_LEVEL_FILE != "none": - # create and add the file logger to the event manager - log_file = os.path.join(flags.LOG_PATH, "dbt.log") - log_file_format = _line_format_from_str(flags.LOG_FORMAT_FILE, LineFormat.DebugText) - log_level_file = EventLevel.DEBUG if flags.DEBUG else EventLevel(flags.LOG_LEVEL_FILE) - EVENT_MANAGER.add_logger( - _get_logfile_config( - log_file, - flags.USE_COLORS_FILE, - log_file_format, - log_level_file, - flags.LOG_FILE_MAX_BYTES, - ) - ) - - -def _line_format_from_str(format_str: str, default: LineFormat) -> LineFormat: - if format_str == "text": - return LineFormat.PlainText - elif format_str == "debug": - return LineFormat.DebugText - elif format_str == "json": - return LineFormat.Json - return default +def stdout_filter( + log_cache_events: bool, + line_format: LineFormat, + msg: EventMsg, +) -> bool: + return msg.info.name not in ["CacheAction", "CacheDumpGraph"] or log_cache_events -def _get_stdout_config( +def get_stdout_config( line_format: LineFormat, use_colors: bool, level: EventLevel, @@ -102,83 +48,38 @@ def _get_stdout_config( line_format=line_format, scrubber=env_scrubber, filter=partial( - _stdout_filter, + stdout_filter, log_cache_events, line_format, ), - invocation_id=EVENT_MANAGER.invocation_id, + invocation_id=get_invocation_id(), output_stream=sys.stdout, ) -def _stdout_filter( - log_cache_events: bool, - line_format: LineFormat, - msg: EventMsg, -) -> bool: - return msg.info.name not in ["CacheAction", "CacheDumpGraph"] or log_cache_events - - -def _get_logfile_config( - log_path: str, - use_colors: bool, - line_format: LineFormat, - level: EventLevel, - log_file_max_bytes: int, - log_cache_events: bool = False, -) -> LoggerConfig: - return LoggerConfig( - name="file_log", - line_format=line_format, - use_colors=use_colors, - level=level, # File log is *always* debug level - scrubber=env_scrubber, - filter=partial(_logfile_filter, log_cache_events, line_format), - invocation_id=EVENT_MANAGER.invocation_id, - output_file_name=log_path, - output_file_max_bytes=log_file_max_bytes, - ) - - -def _logfile_filter(log_cache_events: bool, line_format: LineFormat, msg: EventMsg) -> bool: - return msg.info.code not in nofile_codes and not ( - msg.info.name in ["CacheAction", "CacheDumpGraph"] and not log_cache_events - ) +def make_log_dir_if_missing(log_path: Union[Path, str]) -> None: + if isinstance(log_path, str): + log_path = Path(log_path) + log_path.mkdir(parents=True, exist_ok=True) def env_scrubber(msg: str) -> str: return scrub_secrets(msg, env_secrets()) -def cleanup_event_logger() -> None: - # Reset to a no-op manager to release streams associated with logs. This is - # especially important for tests, since pytest replaces the stdout stream - # during test runs, and closes the stream after the test is over. - EVENT_MANAGER.loggers.clear() - EVENT_MANAGER.callbacks.clear() - - -# Since dbt-rpc does not do its own log setup, and since some events can -# currently fire before logs can be configured by setup_event_logger(), we -# create a default configuration with default settings and no file output. -EVENT_MANAGER: IEventManager = EventManager() -EVENT_MANAGER.add_logger(_get_stdout_config(LineFormat.PlainText, True, EventLevel.INFO, False)) - -# This global, and the following two functions for capturing stdout logs are -# an unpleasant hack we intend to remove as part of API-ification. The GitHub -# issue #6350 was opened for that work. -_CAPTURE_STREAM: Optional[TextIO] = None - - # used for integration tests def capture_stdout_logs(stream: TextIO) -> None: - global _CAPTURE_STREAM - _CAPTURE_STREAM = stream + global CAPTURE_STREAM + CAPTURE_STREAM = stream def stop_capture_stdout_logs() -> None: - global _CAPTURE_STREAM - _CAPTURE_STREAM = None + global CAPTURE_STREAM + CAPTURE_STREAM = None + + +def get_capture_stream() -> Optional[TextIO]: + return CAPTURE_STREAM # returns a dictionary representation of the event fields. @@ -242,7 +143,7 @@ def fire_event_if_test( # (i.e. - mutating the event history, printing to stdout, logging # to files, etc.) def fire_event(e: BaseEvent, level: Optional[EventLevel] = None) -> None: - EVENT_MANAGER.fire_event(e, level=level) + get_event_manager().fire_event(e, level=level) def get_metadata_vars() -> Dict[str, str]: @@ -259,18 +160,3 @@ def get_metadata_vars() -> Dict[str, str]: def reset_metadata_vars() -> None: global metadata_vars metadata_vars = None - - -def get_invocation_id() -> str: - return EVENT_MANAGER.invocation_id - - -def set_invocation_id() -> None: - # This is primarily for setting the invocation_id for separate - # commands in the dbt servers. It shouldn't be necessary for the CLI. - EVENT_MANAGER.invocation_id = str(uuid.uuid4()) - - -def ctx_set_event_manager(event_manager: IEventManager) -> None: - global EVENT_MANAGER - EVENT_MANAGER = event_manager diff --git a/core/dbt/common/invocation.py b/core/dbt/common/invocation.py new file mode 100644 index 00000000000..0e5d3206b12 --- /dev/null +++ b/core/dbt/common/invocation.py @@ -0,0 +1,12 @@ +import uuid + +_INVOCATION_ID = str(uuid.uuid4()) + + +def get_invocation_id() -> str: + return _INVOCATION_ID + + +def reset_invocation_id(): + global _INVOCATION_ID + _INVOCATION_ID = str(uuid.uuid4()) diff --git a/core/dbt/common/utils/formatting.py b/core/dbt/common/utils/formatting.py new file mode 100644 index 00000000000..08354b23e92 --- /dev/null +++ b/core/dbt/common/utils/formatting.py @@ -0,0 +1,8 @@ +from typing import Optional + + +def lowercase(value: Optional[str]) -> Optional[str]: + if value is None: + return None + else: + return value.lower() diff --git a/core/dbt/compilation.py b/core/dbt/compilation.py index 5dd68105062..cb9ff4f8ef9 100644 --- a/core/dbt/compilation.py +++ b/core/dbt/compilation.py @@ -7,6 +7,7 @@ from collections import defaultdict from typing import List, Dict, Any, Tuple, Optional +from dbt.common.invocation import get_invocation_id from dbt.flags import get_flags from dbt.adapters.factory import get_adapter from dbt.clients import jinja @@ -27,7 +28,7 @@ DbtRuntimeError, ) from dbt.graph import Graph -from dbt.common.events.functions import fire_event, get_invocation_id +from dbt.common.events.functions import fire_event from dbt.common.events.types import FoundStats, Note, WritingInjectedSQLForNode from dbt.common.events.contextvars import get_node_info from dbt.node_types import NodeType, ModelLanguage diff --git a/core/dbt/contracts/results.py b/core/dbt/contracts/results.py index ba88e503bb0..870c9c7c714 100644 --- a/core/dbt/contracts/results.py +++ b/core/dbt/contracts/results.py @@ -16,7 +16,7 @@ from dbt.common.events.contextvars import get_node_info from dbt.common.events.helpers import datetime_to_json_string from dbt.logger import TimingProcessor -from dbt.utils import lowercase +from dbt.common.utils.formatting import lowercase from dbt.common.utils import cast_to_str, cast_to_int from dbt.common.dataclass_schema import dbtClassMixin, StrEnum diff --git a/core/dbt/contracts/util.py b/core/dbt/contracts/util.py index c2dcd889cfc..c22efbd1220 100644 --- a/core/dbt/contracts/util.py +++ b/core/dbt/contracts/util.py @@ -10,7 +10,8 @@ ) from dbt.version import __version__ -from dbt.common.events.functions import get_invocation_id, get_metadata_vars +from dbt.common.events.functions import get_metadata_vars +from dbt.common.invocation import get_invocation_id from dbt.common.dataclass_schema import dbtClassMixin from dbt.common.dataclass_schema import ( diff --git a/core/dbt/events/logging.py b/core/dbt/events/logging.py new file mode 100644 index 00000000000..d529f1f51ab --- /dev/null +++ b/core/dbt/events/logging.py @@ -0,0 +1,107 @@ +import os +from functools import partial +from typing import List, Callable + +from dbt.common.events.base_types import EventMsg, EventLevel +from dbt.common.events.event_manager_client import ( + cleanup_event_logger, + get_event_manager, + add_logger_to_manager, +) +from dbt.common.events.functions import ( + make_log_dir_if_missing, + env_scrubber, + get_stdout_config, + get_capture_stream, +) +from dbt.common.invocation import get_invocation_id +from dbt.common.events.logger import LineFormat, LoggerConfig + +# These are the logging events issued by the "clean" command, +# where we can't count on having a log directory. We've removed +# the "class" flags on the events in types.py. If necessary we +# could still use class or method flags, but we'd have to get +# the type class from the msg and then get the information from the class. +_NOFILE_CODES = ["Z012", "Z013", "Z014", "Z015"] + + +def _line_format_from_str(format_str: str, default: LineFormat) -> LineFormat: + if format_str == "text": + return LineFormat.PlainText + elif format_str == "debug": + return LineFormat.DebugText + elif format_str == "json": + return LineFormat.Json + + return default + + +def _get_logfile_config( + log_path: str, + use_colors: bool, + line_format: LineFormat, + level: EventLevel, + log_file_max_bytes: int, + log_cache_events: bool = False, +) -> LoggerConfig: + return LoggerConfig( + name="file_log", + line_format=line_format, + use_colors=use_colors, + level=level, # File log is *always* debug level + scrubber=env_scrubber, + filter=partial(_logfile_filter, log_cache_events, line_format), + invocation_id=get_invocation_id(), + output_file_name=log_path, + output_file_max_bytes=log_file_max_bytes, + ) + + +def _logfile_filter(log_cache_events: bool, line_format: LineFormat, msg: EventMsg) -> bool: + return msg.info.code not in _NOFILE_CODES and not ( + msg.info.name in ["CacheAction", "CacheDumpGraph"] and not log_cache_events + ) + + +def setup_event_logger(flags, callbacks: List[Callable[[EventMsg], None]] = []) -> None: + cleanup_event_logger() + make_log_dir_if_missing(flags.LOG_PATH) + event_manager = get_event_manager() + event_manager.callbacks = callbacks.copy() + + if flags.LOG_LEVEL != "none": + line_format = _line_format_from_str(flags.LOG_FORMAT, LineFormat.PlainText) + log_level = ( + EventLevel.ERROR + if flags.QUIET + else EventLevel.DEBUG + if flags.DEBUG + else EventLevel(flags.LOG_LEVEL) + ) + console_config = get_stdout_config( + line_format, + flags.USE_COLORS, + log_level, + flags.LOG_CACHE_EVENTS, + ) + + if get_capture_stream(): + # Create second stdout logger to support test which want to know what's + # being sent to stdout. + console_config.output_stream = get_capture_stream() + add_logger_to_manager(console_config) + + if flags.LOG_LEVEL_FILE != "none": + # create and add the file logger to the event manager + log_file = os.path.join(flags.LOG_PATH, "dbt.log") + log_file_format = _line_format_from_str(flags.LOG_FORMAT_FILE, LineFormat.DebugText) + log_level_file = EventLevel.DEBUG if flags.DEBUG else EventLevel(flags.LOG_LEVEL_FILE) + add_logger_to_manager( + _get_logfile_config( + log_file, + flags.USE_COLORS_FILE, + log_file_format, + log_level_file, + flags.LOG_FILE_MAX_BYTES, + ) + ) diff --git a/core/dbt/task/docs/generate.py b/core/dbt/task/docs/generate.py index c2223190d2e..dfb3e5a9154 100644 --- a/core/dbt/task/docs/generate.py +++ b/core/dbt/task/docs/generate.py @@ -4,6 +4,7 @@ from typing import Dict, List, Any, Optional, Tuple, Set, Iterable import agate +import dbt.common.utils.formatting from dbt.common.dataclass_schema import ValidationError from dbt.clients.system import load_file_contents @@ -182,7 +183,7 @@ def format_stats(stats: PrimitiveDict) -> StatsDict: def mapping_key(node: ResultNode) -> CatalogKey: - dkey = dbt.utils.lowercase(node.database) + dkey = dbt.common.utils.formatting.lowercase(node.database) return CatalogKey(dkey, node.schema.lower(), node.identifier.lower()) diff --git a/core/dbt/task/runnable.py b/core/dbt/task/runnable.py index 18fe7ee0033..9a0c268c131 100644 --- a/core/dbt/task/runnable.py +++ b/core/dbt/task/runnable.py @@ -7,6 +7,7 @@ from pathlib import Path from typing import AbstractSet, Optional, Dict, List, Set, Tuple, Iterable +import dbt.common.utils.formatting import dbt.exceptions import dbt.tracking import dbt.utils @@ -538,7 +539,7 @@ def create_schemas(self, adapter, required_schemas: Set[BaseRelation]): def list_schemas(db_only: BaseRelation) -> List[Tuple[Optional[str], str]]: # the database can be None on some warehouses that don't support it database_quoted: Optional[str] - db_lowercase = dbt.utils.lowercase(db_only.database) + db_lowercase = dbt.common.utils.formatting.lowercase(db_only.database) if db_only.database is None: database_quoted = None else: @@ -578,7 +579,7 @@ def create_schema(relation: BaseRelation) -> None: # skip this continue db: Optional[str] = info.database - db_lower: Optional[str] = dbt.utils.lowercase(db) + db_lower: Optional[str] = dbt.common.utils.formatting.lowercase(db) schema: str = info.schema db_schema = (db_lower, schema.lower()) diff --git a/core/dbt/tests/fixtures/project.py b/core/dbt/tests/fixtures/project.py index cfe8423a776..429207e907d 100644 --- a/core/dbt/tests/fixtures/project.py +++ b/core/dbt/tests/fixtures/project.py @@ -11,7 +11,8 @@ import dbt.flags as flags from dbt.config.runtime import RuntimeConfig from dbt.adapters.factory import get_adapter, register_adapter, reset_adapters, get_adapter_by_type -from dbt.common.events.functions import setup_event_logger, cleanup_event_logger +from dbt.common.events.event_manager_client import cleanup_event_logger +from dbt.events.logging import setup_event_logger from dbt.tests.util import ( write_file, run_sql_with_adapter, diff --git a/core/dbt/utils.py b/core/dbt/utils.py index 57a650a4902..f06d6796964 100644 --- a/core/dbt/utils.py +++ b/core/dbt/utils.py @@ -292,13 +292,6 @@ def _coerce_decimal(value): return value -def lowercase(value: Optional[str]) -> Optional[str]: - if value is None: - return None - else: - return value.lower() - - def fqn_search(root: Dict[str, Any], fqn: List[str]) -> Iterator[Dict[str, Any]]: """Iterate into a nested dictionary, looking for keys in the fqn as levels. Yield the level config. diff --git a/tests/unit/test_event_handler.py b/tests/unit/test_event_handler.py index c0e4d3e95c9..7067e3bfac9 100644 --- a/tests/unit/test_event_handler.py +++ b/tests/unit/test_event_handler.py @@ -2,7 +2,7 @@ from dbt.common.events.base_types import EventLevel from dbt.common.events.event_handler import DbtEventLoggingHandler, set_package_logging -from dbt.common.events.eventmgr import TestEventManager +from dbt.common.events.event_manager import TestEventManager def test_event_logging_handler_emits_records_correctly(): diff --git a/tests/unit/test_events.py b/tests/unit/test_events.py index ae62cbcb49c..b1ef82cf12e 100644 --- a/tests/unit/test_events.py +++ b/tests/unit/test_events.py @@ -6,6 +6,7 @@ import pytest from dbt.adapters.events import types as adapter_types +from dbt.common.events.event_manager_client import ctx_set_event_manager from dbt.contracts.results import TimingInfo, RunResult, RunStatus from dbt.common.events import types from dbt.adapters.events.logging import AdapterLogger @@ -20,8 +21,8 @@ TestLevel, WarnLevel, ) -from dbt.common.events.eventmgr import TestEventManager, EventManager -from dbt.common.events.functions import msg_to_dict, msg_to_json, ctx_set_event_manager +from dbt.common.events.event_manager import TestEventManager, EventManager +from dbt.common.events.functions import msg_to_dict, msg_to_json from dbt.common.events.helpers import get_json_string_utcnow from dbt.common.events.types import RunResultError from dbt.flags import set_from_args diff --git a/tests/unit/test_functions.py b/tests/unit/test_functions.py index cfd371db1d2..a541602a86e 100644 --- a/tests/unit/test_functions.py +++ b/tests/unit/test_functions.py @@ -2,7 +2,8 @@ import pytest import dbt.flags as flags -from dbt.common.events.functions import msg_to_dict, warn_or_error, setup_event_logger +from dbt.common.events.functions import msg_to_dict, warn_or_error +from dbt.events.logging import setup_event_logger from dbt.common.events.types import InfoLevel, NoNodesForSelectionCriteria from dbt.common.exceptions import EventCompilationError diff --git a/tests/unit/test_graph.py b/tests/unit/test_graph.py index 51ea6ee4317..f4ed37c2765 100644 --- a/tests/unit/test_graph.py +++ b/tests/unit/test_graph.py @@ -18,7 +18,7 @@ from dbt.contracts.files import SourceFile, FileHash, FilePath from dbt.contracts.graph.manifest import MacroManifest, ManifestStateCheck from dbt.graph import NodeSelector, parse_difference -from dbt.common.events.functions import setup_event_logger +from dbt.events.logging import setup_event_logger try: from queue import Empty diff --git a/tests/unit/test_manifest.py b/tests/unit/test_manifest.py index 19af4c9b3c1..4a0ebb4d516 100644 --- a/tests/unit/test_manifest.py +++ b/tests/unit/test_manifest.py @@ -374,7 +374,7 @@ def test_no_nodes(self): saved_queries={}, ) - invocation_id = dbt.common.events.functions.EVENT_MANAGER.invocation_id + invocation_id = dbt.common.invocation._INVOCATION_ID self.assertEqual( manifest.writable_manifest().to_dict(omit_none=True), { @@ -511,9 +511,7 @@ def test_build_flat_graph(self): @mock.patch.object(tracking, "active_user") def test_metadata(self, mock_user): mock_user.id = "cfc9500f-dc7f-4c83-9ea7-2c581c1b38cf" - dbt.common.events.functions.EVENT_MANAGER.invocation_id = ( - "01234567-0123-0123-0123-0123456789ab" - ) + dbt.common.invocation._INVOCATION_ID = "01234567-0123-0123-0123-0123456789ab" set_from_args(Namespace(SEND_ANONYMOUS_USAGE_STATS=False), None) now = datetime.utcnow() self.assertEqual( @@ -536,9 +534,7 @@ def test_metadata(self, mock_user): @freezegun.freeze_time("2018-02-14T09:15:13Z") def test_no_nodes_with_metadata(self, mock_user): mock_user.id = "cfc9500f-dc7f-4c83-9ea7-2c581c1b38cf" - dbt.common.events.functions.EVENT_MANAGER.invocation_id = ( - "01234567-0123-0123-0123-0123456789ab" - ) + dbt.common.invocation._INVOCATION_ID = "01234567-0123-0123-0123-0123456789ab" set_from_args(Namespace(SEND_ANONYMOUS_USAGE_STATS=False), None) metadata = ManifestMetadata( project_id="098f6bcd4621d373cade4e832627b4f6", From 1bca662883c8ccbb615cab40d91d8fc2c7488a18 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Tue, 5 Dec 2023 08:41:11 +0900 Subject: [PATCH 21/40] first pass: adapter migration script (#9160) --- scripts/migrate-adapters.py | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 scripts/migrate-adapters.py diff --git a/scripts/migrate-adapters.py b/scripts/migrate-adapters.py new file mode 100644 index 00000000000..ead59bd271e --- /dev/null +++ b/scripts/migrate-adapters.py @@ -0,0 +1,60 @@ +import argparse +import ast +from collections import namedtuple +from pathlib import Path + +Import = namedtuple("Import", ["module", "name", "alias"]) + + +def get_imports(path): + with open(path) as fh: + root = ast.parse(fh.read(), path) + + for node in ast.iter_child_nodes(root): + if isinstance(node, ast.Import): + module = [] + elif isinstance(node, ast.ImportFrom): + module = node.module.split(".") + else: + continue + + for n in node.names: + yield Import(module, n.name.split("."), n.asname) + + +parser = argparse.ArgumentParser("migrate_adapters") +parser.add_argument("path", help="The path to run the migration tool over.", type=str) +args = parser.parse_args() + +path = Path(args.path) +pathlist = path.rglob("*.py") + +total_dbt_imports = 0 +invalid_dbt_imports = 0 +path_to_invalid_imports = {} +for path in pathlist: + path_to_invalid_imports[path] = [] + for imported_module in get_imports(str(path)): + if imported_module.module and imported_module.module[0] == "dbt": + total_dbt_imports += 1 + if imported_module.module[1] not in ("common", "adapters"): + invalid_dbt_imports += 1 + path_to_invalid_imports[path].append( + f"{'.'.join(imported_module.module)}::{imported_module.name[0]}" + ) + +migrated_imports = total_dbt_imports - invalid_dbt_imports +migrated_imports_progress = round((migrated_imports / total_dbt_imports) * 100, 2) + +for path, invalid_imports in path_to_invalid_imports.items(): + if invalid_imports: + print() + print(f"\033[92m{path}:\033[0m") + for invalid_import in invalid_imports: + print(f" - {invalid_import}") + +print() +print( + f"migration progress: {migrated_imports_progress}% of dbt imports are valid (from adapters or common)" +) +print(f"remaining core imports: {invalid_dbt_imports}") From 00f49206e9709641f55a7c26b0d1fd0b00cdc1be Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Tue, 5 Dec 2023 10:51:51 +0900 Subject: [PATCH 22/40] Decouple macro generator from adapters (#9149) --- .../Under the Hood-20231205-093544.yaml | 6 + core/dbt/adapters/base/impl.py | 6 +- core/dbt/adapters/base/query_headers.py | 2 +- core/dbt/adapters/clients/__init__.py | 0 core/dbt/adapters/clients/jinja.py | 23 + core/dbt/cli/flags.py | 8 +- core/dbt/clients/jinja.py | 513 +----------------- core/dbt/clients/jinja_static.py | 2 +- .../dbt/{ => common}/clients/_jinja_blocks.py | 0 core/dbt/common/clients/jinja.py | 505 +++++++++++++++++ core/dbt/common/exceptions/macros.py | 30 + core/dbt/common/utils/__init__.py | 8 + core/dbt/common/utils/jinja.py | 33 ++ core/dbt/config/renderer.py | 3 +- core/dbt/contracts/graph/manifest.py | 4 +- core/dbt/exceptions.py | 30 - core/dbt/parser/generic_test.py | 4 +- core/dbt/parser/macros.py | 7 +- core/dbt/parser/search.py | 2 +- core/dbt/utils.py | 33 -- tests/unit/common/test_jinja.py | 425 +++++++++++++++ tests/unit/test_jinja.py | 424 +-------------- 22 files changed, 1062 insertions(+), 1006 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20231205-093544.yaml create mode 100644 core/dbt/adapters/clients/__init__.py create mode 100644 core/dbt/adapters/clients/jinja.py rename core/dbt/{ => common}/clients/_jinja_blocks.py (100%) create mode 100644 core/dbt/common/clients/jinja.py create mode 100644 core/dbt/common/utils/jinja.py create mode 100644 tests/unit/common/test_jinja.py diff --git a/.changes/unreleased/Under the Hood-20231205-093544.yaml b/.changes/unreleased/Under the Hood-20231205-093544.yaml new file mode 100644 index 00000000000..fdb150c300b --- /dev/null +++ b/.changes/unreleased/Under the Hood-20231205-093544.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Remove usages of dbt.clients.jinja in dbt/adapters +time: 2023-12-05T09:35:44.845352+09:00 +custom: + Author: michelleark + Issue: "9205" diff --git a/core/dbt/adapters/base/impl.py b/core/dbt/adapters/base/impl.py index a9c7ad9f8f8..e4806fdc8b7 100644 --- a/core/dbt/adapters/base/impl.py +++ b/core/dbt/adapters/base/impl.py @@ -61,7 +61,7 @@ table_from_rows, Integer, ) -from dbt.clients.jinja import MacroGenerator +from dbt.common.clients.jinja import CallableMacroGenerator from dbt.contracts.graph.manifest import Manifest, MacroManifest from dbt.contracts.graph.nodes import ResultNode from dbt.common.events.functions import fire_event, warn_or_error @@ -1115,7 +1115,7 @@ def execute_macro( ) macro_context.update(context_override) - macro_function = MacroGenerator(macro, macro_context) + macro_function = CallableMacroGenerator(macro, macro_context) with self.connections.exception_handler(f"macro {macro_name}"): result = macro_function(**kwargs) @@ -1489,7 +1489,7 @@ def get_incremental_strategy_macro(self, model_context, strategy: str): strategy = strategy.replace("+", "_") macro_name = f"get_incremental_{strategy}_sql" - # The model_context should have MacroGenerator callable objects for all macros + # The model_context should have callable objects for all macros if macro_name not in model_context: raise DbtRuntimeError( 'dbt could not find an incremental strategy macro with the name "{}" in {}'.format( diff --git a/core/dbt/adapters/base/query_headers.py b/core/dbt/adapters/base/query_headers.py index 1dc2b143dde..249cf263d14 100644 --- a/core/dbt/adapters/base/query_headers.py +++ b/core/dbt/adapters/base/query_headers.py @@ -1,7 +1,7 @@ from threading import local from typing import Optional, Callable, Dict, Any -from dbt.clients.jinja import QueryStringGenerator +from dbt.adapters.clients.jinja import QueryStringGenerator from dbt.context.manifest import generate_query_header_context from dbt.adapters.contracts.connection import AdapterRequiredConfig, QueryComment diff --git a/core/dbt/adapters/clients/__init__.py b/core/dbt/adapters/clients/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/dbt/adapters/clients/jinja.py b/core/dbt/adapters/clients/jinja.py new file mode 100644 index 00000000000..ace89c0d1d4 --- /dev/null +++ b/core/dbt/adapters/clients/jinja.py @@ -0,0 +1,23 @@ +from typing import Dict, Any +from dbt.common.clients.jinja import BaseMacroGenerator, get_environment + + +class QueryStringGenerator(BaseMacroGenerator): + def __init__(self, template_str: str, context: Dict[str, Any]) -> None: + super().__init__(context) + self.template_str: str = template_str + env = get_environment() + self.template = env.from_string( + self.template_str, + globals=self.context, + ) + + def get_name(self) -> str: + return "query_comment_macro" + + def get_template(self): + """Don't use the template cache, we don't have a node""" + return self.template + + def __call__(self, connection_name: str, node) -> str: + return str(self.call_macro(connection_name, node)) diff --git a/core/dbt/cli/flags.py b/core/dbt/cli/flags.py index 1a03de0de96..6e3cf075d8b 100644 --- a/core/dbt/cli/flags.py +++ b/core/dbt/cli/flags.py @@ -12,9 +12,10 @@ from dbt.cli.types import Command as CliCommand from dbt.common import ui from dbt.common.events import functions +from dbt.common.exceptions import DbtInternalError +from dbt.common.clients import jinja from dbt.config.profile import read_user_config from dbt.contracts.project import UserConfig -from dbt.common.exceptions import DbtInternalError from dbt.deprecations import renamed_env_var from dbt.common.helper_types import WarnErrorOptions @@ -305,11 +306,14 @@ def set_common_global_flags(self): ui.USE_COLOR = getattr(self, "USE_COLORS") # Set globals for common.events.functions - # functions.WARN_ERROR = getattr(self, "WARN_ERROR", False) if getattr(self, "WARN_ERROR_OPTIONS", None) is not None: functions.WARN_ERROR_OPTIONS = getattr(self, "WARN_ERROR_OPTIONS") + # Set globals for common.jinja + if getattr(self, "MACRO_DEBUGGING", None) is not None: + jinja.MACRO_DEBUGGING = getattr(self, "MACRO_DEBUGGING") + CommandParams = List[str] diff --git a/core/dbt/clients/jinja.py b/core/dbt/clients/jinja.py index fb372956970..1c6e4ae4570 100644 --- a/core/dbt/clients/jinja.py +++ b/core/dbt/clients/jinja.py @@ -1,13 +1,7 @@ -import codecs -import linecache -import os import re -import tempfile import threading -from ast import literal_eval from contextlib import contextmanager -from itertools import chain, islice -from typing import List, Union, Set, Optional, Dict, Any, Iterator, Type, NoReturn, Tuple, Callable +from typing import List, Union, Optional, Dict, Any, NoReturn, Tuple import jinja2 import jinja2.ext @@ -16,246 +10,26 @@ import jinja2.parser import jinja2.sandbox -from dbt.utils import ( - get_dbt_macro_name, - get_docs_macro_name, - get_materialization_macro_name, - get_test_macro_name, +from dbt.common.clients.jinja import ( + render_template, + get_template, + CallableMacroGenerator, + MacroProtocol, ) from dbt.common.utils import deep_map_render -from dbt.clients._jinja_blocks import BlockIterator, BlockData, BlockTag from dbt.contracts.graph.nodes import GenericTestNode from dbt.exceptions import ( - CaughtMacroErrorWithNodeError, - CompilationError, DbtInternalError, - MaterializationArgError, - JinjaRenderingError, MaterializtionMacroNotUsedError, NoSupportedLanguagesFoundError, - UndefinedCompilationError, ) -from dbt.common.exceptions.macros import MacroReturn, UndefinedMacroError, CaughtMacroError -from dbt.flags import get_flags from dbt.node_types import ModelLanguage SUPPORTED_LANG_ARG = jinja2.nodes.Name("supported_languages", "param") -def _linecache_inject(source, write): - if write: - # this is the only reliable way to accomplish this. Obviously, it's - # really darn noisy and will fill your temporary directory - tmp_file = tempfile.NamedTemporaryFile( - prefix="dbt-macro-compiled-", - suffix=".py", - delete=False, - mode="w+", - encoding="utf-8", - ) - tmp_file.write(source) - filename = tmp_file.name - else: - # `codecs.encode` actually takes a `bytes` as the first argument if - # the second argument is 'hex' - mypy does not know this. - rnd = codecs.encode(os.urandom(12), "hex") # type: ignore - filename = rnd.decode("ascii") - - # put ourselves in the cache - cache_entry = (len(source), None, [line + "\n" for line in source.splitlines()], filename) - # linecache does in fact have an attribute `cache`, thanks - linecache.cache[filename] = cache_entry # type: ignore - return filename - - -class MacroFuzzParser(jinja2.parser.Parser): - def parse_macro(self): - node = jinja2.nodes.Macro(lineno=next(self.stream).lineno) - - # modified to fuzz macros defined in the same file. this way - # dbt can understand the stack of macros being called. - # - @cmcarthur - node.name = get_dbt_macro_name(self.parse_assign_target(name_only=True).name) - - self.parse_signature(node) - node.body = self.parse_statements(("name:endmacro",), drop_needle=True) - return node - - -class MacroFuzzEnvironment(jinja2.sandbox.SandboxedEnvironment): - def _parse(self, source, name, filename): - return MacroFuzzParser(self, source, name, filename).parse() - - def _compile(self, source, filename): - """Override jinja's compilation to stash the rendered source inside - the python linecache for debugging when the appropriate environment - variable is set. - - If the value is 'write', also write the files to disk. - WARNING: This can write a ton of data if you aren't careful. - """ - macro_debugging = get_flags().MACRO_DEBUGGING - if filename == "