File size: 1,058 Bytes
570f7bd
 
c1bc4eb
570f7bd
 
c1bc4eb
570f7bd
 
 
 
 
c1bc4eb
570f7bd
 
c1bc4eb
570f7bd
 
c1bc4eb
570f7bd
 
 
 
 
c1bc4eb
570f7bd
 
c1bc4eb
570f7bd
 
c1bc4eb
570f7bd
 
 
 
 
c1bc4eb
570f7bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from nl2sql.types import StageResult, StageTrace


class NoOpExecutor:
    name = "executor"

    def run(self, sql: str) -> StageResult:
        # pretend success, return empty result set
        return StageResult(
            ok=True,
            data={"rows": [], "columns": []},
            trace=StageTrace(stage=self.name, duration_ms=0.0, notes={"noop": True}),
        )


class NoOpVerifier:
    name = "verifier"

    def run(self, sql: str, exec_result: StageResult) -> StageResult:
        # always verified for legacy tests
        return StageResult(
            ok=True,
            data={"verified": True},
            trace=StageTrace(stage=self.name, duration_ms=0.0, notes={"noop": True}),
        )


class NoOpRepair:
    name = "repair"

    def run(self, sql: str, error_msg: str, schema_preview: str) -> StageResult:
        # return original SQL unchanged
        return StageResult(
            ok=True,
            data={"sql": sql},
            trace=StageTrace(stage=self.name, duration_ms=0.0, notes={"noop": True}),
        )