Skip to content

Commit 55830c7

Browse files
salamehsameeraSameera Salameh
andauthored
Add language field to exec_async (#98)
* add language to exec_async * language is a default field * default value in exec_async to not break exec * add language field to run function Co-authored-by: Sameera Salameh <[email protected]>
1 parent bcf15e7 commit 55830c7

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

examples/execute_async.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
from railib import api, config, show
1818

1919

20-
def run(database: str, engine: str, command: str, readonly: bool, profile: str):
20+
def run(database: str, engine: str, command: str, language: str, readonly: bool, profile: str):
2121
cfg = config.read(profile=profile)
2222
ctx = api.Context(**cfg)
23-
rsp = api.exec_async(ctx, database, engine, command, readonly=readonly)
23+
rsp = api.exec_async(ctx, database, engine, command, language, readonly=readonly)
2424
print(rsp)
2525
show.results(rsp)
2626

@@ -30,6 +30,7 @@ def run(database: str, engine: str, command: str, readonly: bool, profile: str):
3030
p.add_argument("database", type=str, help="database name")
3131
p.add_argument("engine", type=str, help="engine name")
3232
p.add_argument("command", type=str, help="rel source string")
33+
p.add_argument("--language", type=str, help="query language")
3334
p.add_argument(
3435
"--readonly",
3536
action="store_true",
@@ -39,6 +40,6 @@ def run(database: str, engine: str, command: str, readonly: bool, profile: str):
3940
p.add_argument("-p", "--profile", type=str, default="default", help="profile name")
4041
args = p.parse_args()
4142
try:
42-
run(args.database, args.engine, args.command, args.readonly, args.profile)
43+
run(args.database, args.engine, args.command, args.language, args.readonly, args.profile)
4344
except HTTPError as e:
4445
show.http_error(e)

railib/api.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -578,9 +578,10 @@ def data(self):
578578
result["engine_name"] = self.engine
579579
return result
580580

581-
def run(self, ctx: Context, command: str, inputs: dict = None) -> Union[dict, list]:
581+
def run(self, ctx: Context, command: str, language: str, inputs: dict = None) -> Union[dict, list]:
582582
data = self.data
583583
data["query"] = command
584+
data["language"] = language
584585
if inputs is not None:
585586
inputs = [_query_action_input(k, v) for k, v in inputs.items()]
586587
data["v1_inputs"] = inputs
@@ -860,11 +861,12 @@ def exec_async(
860861
database: str,
861862
engine: str,
862863
command: str,
864+
language: str = "",
863865
readonly: bool = True,
864866
inputs: dict = None,
865867
) -> TransactionAsyncResponse:
866868
tx = TransactionAsync(database, engine, readonly=readonly)
867-
rsp = tx.run(ctx, command, inputs=inputs)
869+
rsp = tx.run(ctx, command, language=language, inputs=inputs)
868870

869871
if isinstance(rsp, dict):
870872
return TransactionAsyncResponse(rsp, None, None, None)

0 commit comments

Comments
 (0)