What happens?
When we execute a lineage query, and then try to execute another query, we get this error:
Invalid Input Error: Required module 'duckdb' failed to import, due to the following Python exception:\nImportError: generic_type: type "ExplainType" is already registered!\n\nAt:\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/duckdb/functional/init.py(1): \n (228): _call_with_frames_removed\n (850): exec_module\n (695): _load_unlocked\n (986): _find_and_load_unlocked\n (1007): _find_and_load\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/duckdb/init.py(4): \n (228): _call_with_frames_removed\n (850): exec_module\n (695): _load_unlocked\n (986): _find_and_load_unlocked\n (1007): _find_and_load\n /Users/williamwang/projects/Research/TD_server/app.py(57): log_query\n /Users/williamwang/projects/Research/TD_server/app.py(109): query_df\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(855): dispatch_request\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(870): full_dispatch_request\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(1463): wsgi_app\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(1488): call\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/debug/init.py(330): debug_application\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/serving.py(325): execute\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/serving.py(362): run_wsgi\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/http/server.py(421): handle_one_request\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/http/server.py(433): handle\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/serving.py(390): handle\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/socketserver.py(747): init\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/socketserver.py(360): finish_request\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/socketserver.py(683): process_request_thread\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/threading.py(917): run\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/threading.py(980): _bootstrap_inner\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/threading.py(937): _bootstrap\n
To Reproduce
result_df = con.execute(query, 'lineage').df()
log_query(query, analyst_id, con.query_id)
def generate_new_log_id():
print('bar')
result = con.execute("SELECT MAX(log_id) FROM query_log", None).fetchone()[0]
print('baz')
if(result != None):
return result + 1
else:
return 0
def log_query(query, user_id=None, query_id=None):
print(query, user_id, query_id)
log_id = generate_new_log_id()
print('bin')
con.duckdb_conn.execute("INSERT INTO query_log (query_id, query_text, user_id, log_id) VALUES (?, ?, ?, ?)", (query_id, query, user_id, log_id))
print('foo')
print(con.execute("SELECT * FROM query_log"), None)
OS:
MacOS
DuckDB Version:
22
DuckDB Client:
Python
Full Name:
William
Affiliation:
Columbia University
Have you tried this on the latest main branch?
I have tested with a main build
Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?
What happens?
When we execute a lineage query, and then try to execute another query, we get this error:
Invalid Input Error: Required module 'duckdb' failed to import, due to the following Python exception:\nImportError: generic_type: type "ExplainType" is already registered!\n\nAt:\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/duckdb/functional/init.py(1): \n (228): _call_with_frames_removed\n (850): exec_module\n (695): _load_unlocked\n (986): _find_and_load_unlocked\n (1007): _find_and_load\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/duckdb/init.py(4): \n (228): _call_with_frames_removed\n (850): exec_module\n (695): _load_unlocked\n (986): _find_and_load_unlocked\n (1007): _find_and_load\n /Users/williamwang/projects/Research/TD_server/app.py(57): log_query\n /Users/williamwang/projects/Research/TD_server/app.py(109): query_df\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(855): dispatch_request\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(870): full_dispatch_request\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(1463): wsgi_app\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/flask/app.py(1488): call\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/debug/init.py(330): debug_application\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/serving.py(325): execute\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/serving.py(362): run_wsgi\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/http/server.py(421): handle_one_request\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/http/server.py(433): handle\n /Users/williamwang/projects/Research/TD_server/venv/lib/python3.9/site-packages/werkzeug/serving.py(390): handle\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/socketserver.py(747): init\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/socketserver.py(360): finish_request\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/socketserver.py(683): process_request_thread\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/threading.py(917): run\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/threading.py(980): _bootstrap_inner\n /Users/williamwang/Anaconda/anaconda3/lib/python3.9/threading.py(937): _bootstrap\n
To Reproduce
result_df = con.execute(query, 'lineage').df()
log_query(query, analyst_id, con.query_id)
def generate_new_log_id():
print('bar')
result = con.execute("SELECT MAX(log_id) FROM query_log", None).fetchone()[0]
print('baz')
if(result != None):
return result + 1
else:
return 0
def log_query(query, user_id=None, query_id=None):
print(query, user_id, query_id)
log_id = generate_new_log_id()
print('bin')
con.duckdb_conn.execute("INSERT INTO query_log (query_id, query_text, user_id, log_id) VALUES (?, ?, ?, ?)", (query_id, query, user_id, log_id))
print('foo')
print(con.execute("SELECT * FROM query_log"), None)
OS:
MacOS
DuckDB Version:
22
DuckDB Client:
Python
Full Name:
William
Affiliation:
Columbia University
Have you tried this on the latest
mainbranch?I have tested with a main build
Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?