Skip to content

Commit ef51938

Browse files
authored
6165: Added truncate_table function. (#29)
Added truncate_table function to API
1 parent 7895429 commit ef51938

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

labkey/query.py

+20
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,26 @@ def delete_rows(server_context, schema_name, query_name, rows, container_path=No
8484
return server_context.make_request(url, json_dumps(payload, sort_keys=True), headers=_query_headers, timeout=timeout)
8585

8686

87+
def truncate_table(server_context, schema_name, query_name, container_path=None, timeout=_default_timeout):
88+
"""
89+
Delete all rows from the schema.query
90+
:param server_context: A LabKey server context. See utils.create_server_context.
91+
:param schema_name: schema of table
92+
:param query_name: table name to delete from
93+
:param container_path: labkey container path if not already set in context
94+
:param timeout: timeout of request in seconds (defaults to 30s)
95+
:return:
96+
"""
97+
url = server_context.build_url('query', 'truncateTable.api', container_path=container_path)
98+
99+
payload = {
100+
'schemaName': schema_name,
101+
'queryName': query_name
102+
}
103+
104+
return server_context.make_request(url, json_dumps(payload, sort_keys=True), headers=_query_headers, timeout=timeout)
105+
106+
87107
def execute_sql(server_context, schema_name, sql, container_path=None,
88108
max_rows=None,
89109
sort=None,

samples/query_examples.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from labkey.utils import create_server_context
2626
from labkey.exceptions import RequestError, QueryNotFoundError, ServerContextError, ServerNotFoundError
2727
from labkey.query import select_rows, update_rows, Pagination, QueryFilter, \
28-
insert_rows, delete_rows, execute_sql
28+
insert_rows, delete_rows, truncate_table, execute_sql
2929
from requests.exceptions import Timeout
3030

3131
import copy
@@ -214,6 +214,13 @@
214214
print('Delete Rows: after row count [ ' + str(all_rows['rowCount']) + ' ]')
215215

216216

217+
###################
218+
# Test truncate_table
219+
###################
220+
truncate_info = truncate_table(server_context, schema, table)
221+
print('Delete all rows in table: [ ' + str(truncate_info['deletedRows']) + ' ] rows deleted')
222+
223+
217224
###################
218225
# Test execute_sql
219226
###################

0 commit comments

Comments
 (0)