Skip to content
This repository was archived by the owner on Dec 29, 2023. It is now read-only.

Commit eb9ff75

Browse files
authored
Support database URL parameter
1 parent 8423eef commit eb9ff75

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

Diff for: main.py

+12-7
Original file line numberDiff line numberDiff line change
@@ -31,30 +31,32 @@ def chdb_query_with_errmsg(query, format):
3131
os.dup2(new_stderr.fileno(), 2)
3232
# Call the function
3333
output = driver.query(query, format).bytes()
34-
34+
3535
new_stderr.flush()
3636
new_stderr.seek(0)
3737
errmsg = new_stderr.read()
38-
38+
3939
# cleanup and recover
4040
new_stderr.close()
4141
os.dup2(old_stderr_fd, 2)
4242
except Exception as e:
4343
# An error occurred, print it to stderr
4444
print(f"An error occurred: {e}")
4545
return output, errmsg
46-
4746

4847
@app.route('/', methods=["GET"])
4948
@auth.login_required
5049
def clickhouse():
5150
query = request.args.get('query', default="", type=str)
5251
format = request.args.get('default_format', default="TSV", type=str)
52+
database = request.args.get('database', default="", type=str)
5353
if not query:
54-
# return "Ok", 200
5554
return app.send_static_file('play.html')
5655

57-
result, errmsg = chdb_query_with_errmsg(query, format)
56+
if database:
57+
database = "USE " + database + "; "
58+
59+
result, errmsg = chdb_query_with_errmsg(database + query, format)
5860
if len(errmsg) == 0:
5961
return result
6062
return errmsg
@@ -65,11 +67,14 @@ def clickhouse():
6567
def play():
6668
query = request.data or None
6769
format = request.args.get('default_format', default="TSV", type=str)
70+
database = request.args.get('database', default="", type=str)
6871
if not query:
6972
return "Ok", 200
70-
# return app.send_static_file('play.html')
7173

72-
result, errmsg = chdb_query_with_errmsg(query, format)
74+
if database:
75+
database = "USE " + database + "; "
76+
77+
result, errmsg = chdb_query_with_errmsg(database + query, format)
7378
if len(errmsg) == 0:
7479
return result
7580
return errmsg

0 commit comments

Comments
 (0)