|
@@ -663,64 +663,55 @@ def describe_table(request, database, table):
|
|
|
raise PopupException(_('Problem accessing table metadata'), detail=e)
|
|
raise PopupException(_('Problem accessing table metadata'), detail=e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+@error_handler
|
|
|
def get_sample_data(request, database, table):
|
|
def get_sample_data(request, database, table):
|
|
|
query_server = dbms.get_query_server_config(get_app_name(request))
|
|
query_server = dbms.get_query_server_config(get_app_name(request))
|
|
|
db = dbms.get(request.user, query_server)
|
|
db = dbms.get(request.user, query_server)
|
|
|
response = {'status': -1, 'error_message': ''}
|
|
response = {'status': -1, 'error_message': ''}
|
|
|
|
|
|
|
|
- try:
|
|
|
|
|
- table_obj = db.get_table(database, table)
|
|
|
|
|
- sample_data = db.get_sample(database, table_obj)
|
|
|
|
|
- if sample_data:
|
|
|
|
|
- response['status'] = 0
|
|
|
|
|
- response['headers'] = sample_data.cols()
|
|
|
|
|
- response['rows'] = escape_rows(sample_data.rows(), nulls_only=True)
|
|
|
|
|
- else:
|
|
|
|
|
- response['error_message'] = _('Sample data took too long to be generated')
|
|
|
|
|
- except Exception, ex:
|
|
|
|
|
- error_message, logs = dbms.expand_exception(ex, db)
|
|
|
|
|
- response['error_message'] = error_message
|
|
|
|
|
|
|
+ table_obj = db.get_table(database, table)
|
|
|
|
|
+ sample_data = db.get_sample(database, table_obj)
|
|
|
|
|
+ if sample_data:
|
|
|
|
|
+ response['status'] = 0
|
|
|
|
|
+ response['headers'] = sample_data.cols()
|
|
|
|
|
+ response['rows'] = escape_rows(sample_data.rows(), nulls_only=True)
|
|
|
|
|
+ else:
|
|
|
|
|
+ response['error_message'] = _('Sample data took too long to be generated')
|
|
|
|
|
|
|
|
return JsonResponse(response)
|
|
return JsonResponse(response)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+@error_handler
|
|
|
def get_indexes(request, database, table):
|
|
def get_indexes(request, database, table):
|
|
|
query_server = dbms.get_query_server_config(get_app_name(request))
|
|
query_server = dbms.get_query_server_config(get_app_name(request))
|
|
|
db = dbms.get(request.user, query_server)
|
|
db = dbms.get(request.user, query_server)
|
|
|
response = {'status': -1, 'error_message': ''}
|
|
response = {'status': -1, 'error_message': ''}
|
|
|
|
|
|
|
|
- try:
|
|
|
|
|
- indexes = db.get_indexes(database, table)
|
|
|
|
|
- if indexes:
|
|
|
|
|
- response['status'] = 0
|
|
|
|
|
- response['headers'] = indexes.cols()
|
|
|
|
|
- response['rows'] = escape_rows(indexes.rows(), nulls_only=True)
|
|
|
|
|
- else:
|
|
|
|
|
- response['error_message'] = _('Index data took too long to be generated')
|
|
|
|
|
- except Exception, ex:
|
|
|
|
|
- error_message, logs = dbms.expand_exception(ex, db)
|
|
|
|
|
- response['error_message'] = error_message
|
|
|
|
|
|
|
+ indexes = db.get_indexes(database, table)
|
|
|
|
|
+ if indexes:
|
|
|
|
|
+ response['status'] = 0
|
|
|
|
|
+ response['headers'] = indexes.cols()
|
|
|
|
|
+ response['rows'] = escape_rows(indexes.rows(), nulls_only=True)
|
|
|
|
|
+ else:
|
|
|
|
|
+ response['error_message'] = _('Index data took too long to be generated')
|
|
|
|
|
|
|
|
return JsonResponse(response)
|
|
return JsonResponse(response)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+@error_handler
|
|
|
def get_functions(request):
|
|
def get_functions(request):
|
|
|
query_server = dbms.get_query_server_config(get_app_name(request))
|
|
query_server = dbms.get_query_server_config(get_app_name(request))
|
|
|
db = dbms.get(request.user, query_server)
|
|
db = dbms.get(request.user, query_server)
|
|
|
response = {'status': -1, 'error_message': ''}
|
|
response = {'status': -1, 'error_message': ''}
|
|
|
|
|
|
|
|
- try:
|
|
|
|
|
- prefix = request.GET.get('prefix', None)
|
|
|
|
|
- functions = db.get_functions(prefix)
|
|
|
|
|
- if functions:
|
|
|
|
|
- response['status'] = 0
|
|
|
|
|
- rows = escape_rows(functions.rows(), nulls_only=True)
|
|
|
|
|
- response['functions'] = [row[0] for row in rows]
|
|
|
|
|
- else:
|
|
|
|
|
- response['error_message'] = _('Fetching functions timed out.')
|
|
|
|
|
- except Exception, ex:
|
|
|
|
|
- error_message, logs = dbms.expand_exception(ex, db)
|
|
|
|
|
- response['error_message'] = error_message
|
|
|
|
|
|
|
+ prefix = request.GET.get('prefix', None)
|
|
|
|
|
+ functions = db.get_functions(prefix)
|
|
|
|
|
+ if functions:
|
|
|
|
|
+ response['status'] = 0
|
|
|
|
|
+ rows = escape_rows(functions.rows(), nulls_only=True)
|
|
|
|
|
+ response['functions'] = [row[0] for row in rows]
|
|
|
|
|
+ else:
|
|
|
|
|
+ response['error_message'] = _('Fetching functions timed out.')
|
|
|
|
|
|
|
|
return JsonResponse(response)
|
|
return JsonResponse(response)
|
|
|
|
|
|