|
@@ -562,19 +562,24 @@ class HS2Api(Api):
|
|
|
response = self._get_current_statement(notebook, snippet)
|
|
response = self._get_current_statement(notebook, snippet)
|
|
|
session = self._get_session(notebook, snippet['type'])
|
|
session = self._get_session(notebook, snippet['type'])
|
|
|
|
|
|
|
|
- query = self._prepare_hql_query(snippet, response.pop('statement'), session)
|
|
|
|
|
|
|
+ statement = response.pop('statement')
|
|
|
|
|
+ explanation = ''
|
|
|
|
|
|
|
|
- try:
|
|
|
|
|
- db.use(query.database)
|
|
|
|
|
|
|
+ query = self._prepare_hql_query(snippet, statement, session)
|
|
|
|
|
|
|
|
- explanation = db.explain(query)
|
|
|
|
|
- except QueryServerException as ex:
|
|
|
|
|
- raise QueryError(ex.message)
|
|
|
|
|
|
|
+ if statement:
|
|
|
|
|
+ try:
|
|
|
|
|
+ db.use(query.database)
|
|
|
|
|
+
|
|
|
|
|
+ explanation = db.explain(query).textual
|
|
|
|
|
+ statement = query.get_query_statement(0)
|
|
|
|
|
+ except QueryServerException as ex:
|
|
|
|
|
+ raise QueryError(ex.message)
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
'status': 0,
|
|
'status': 0,
|
|
|
- 'explanation': explanation.textual,
|
|
|
|
|
- 'statement': query.get_query_statement(0),
|
|
|
|
|
|
|
+ 'explanation': explanation,
|
|
|
|
|
+ 'statement': statement,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|