-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create base class for parameter types - include arbitrary "task_tags" parameter - include "timeout" so we can extract/document full/valid json schemas - this includes some extra-fiddly behavior around numbers Add output to ps and poll results (including errors) Fix a number of type annotation issues along the way
- Loading branch information
Jacob Beck
committed
Oct 11, 2019
1 parent
2815b33
commit fb9747b
Showing
12 changed files
with
429 additions
and
221 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
from dataclasses import dataclass, field | ||
from numbers import Real | ||
from typing import Optional, Union, List, Any, Dict | ||
|
||
from hologram import JsonSchemaMixin | ||
|
||
from dbt.contracts.graph.compiled import CompileResultNode | ||
from dbt.contracts.results import ( | ||
TimingInfo, | ||
CatalogResults, | ||
ExecutionResult, | ||
) | ||
from dbt.logger import LogMessage | ||
|
||
# Inputs | ||
|
||
|
||
@dataclass | ||
class RPCParameters(JsonSchemaMixin): | ||
timeout: Optional[Real] | ||
task_tags: Optional[Dict[str, Any]] | ||
|
||
|
||
@dataclass | ||
class RPCExecParameters(RPCParameters): | ||
name: str | ||
sql: str | ||
macros: Optional[str] | ||
|
||
|
||
@dataclass | ||
class RPCCompileParameters(RPCParameters): | ||
models: Union[None, str, List[str]] = None | ||
exclude: Union[None, str, List[str]] = None | ||
|
||
|
||
@dataclass | ||
class RPCTestParameters(RPCCompileParameters): | ||
data: bool = False | ||
schema: bool = False | ||
|
||
|
||
@dataclass | ||
class RPCSeedParameters(RPCParameters): | ||
show: bool = False | ||
|
||
|
||
@dataclass | ||
class RPCDocsGenerateParameters(RPCParameters): | ||
compile: bool = True | ||
|
||
|
||
@dataclass | ||
class RPCCliParameters(RPCParameters): | ||
cli: str | ||
|
||
|
||
# Outputs | ||
|
||
|
||
@dataclass | ||
class RemoteCatalogResults(CatalogResults): | ||
logs: List[LogMessage] = field(default_factory=list) | ||
|
||
|
||
@dataclass | ||
class RemoteCompileResult(JsonSchemaMixin): | ||
raw_sql: str | ||
compiled_sql: str | ||
node: CompileResultNode | ||
timing: List[TimingInfo] | ||
logs: List[LogMessage] | ||
|
||
@property | ||
def error(self): | ||
return None | ||
|
||
|
||
@dataclass | ||
class RemoteExecutionResult(ExecutionResult): | ||
logs: List[LogMessage] | ||
|
||
|
||
@dataclass | ||
class ResultTable(JsonSchemaMixin): | ||
column_names: List[str] | ||
rows: List[Any] | ||
|
||
|
||
@dataclass | ||
class RemoteRunResult(RemoteCompileResult): | ||
table: ResultTable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.