Support EXPLAIN on Greenplum. Fixes #3097 - Extract SQLEditor.execute and SQLEditor._poll into their own files and add test around them - Extract SQLEditor backend functions that start executing query to their own files and add tests around it - Move the Explain SQL from the front-end and now pass the Explain plan parameters as a JSON object in the start query call. - Extract the compile_template_name into a function that can be used by the different places that try to select the version of the template and the server type
Branch ------ master Details ------- https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=e16a95275336529a734bf0066889e39cc8ef0662 Author: Joao Pedro De Almeida Pereira <jdealmeidapere...@pivotal.io> Modified Files -------------- .../databases/schemas/tables/tests/test_utils.py | 0 web/pgadmin/static/js/sqleditor/execute_query.js | 287 ++++ .../js/sqleditor/is_new_transaction_required.js | 14 + .../static/js/sqleditor/query_tool_actions.js | 33 +- web/pgadmin/tools/sqleditor/__init__.py | 396 +---- web/pgadmin/tools/sqleditor/static/js/sqleditor.js | 227 +-- .../sqleditor/sql/10_plus/explain_plan.sql | 23 + .../sqleditor/sql/9.2_plus/explain_plan.sql | 20 + .../sqleditor/sql/default/explain_plan.sql | 17 + .../sqleditor/sql/gpdb_5.0_plus/explain_plan.sql | 5 + web/pgadmin/tools/sqleditor/tests/__init__.py | 8 + .../sqleditor/tests/test_explain_plan_templates.py | 152 ++ .../test_extract_sql_from_network_parameters.py | 59 + .../tools/sqleditor/tests/test_start_query_tool.py | 38 + web/pgadmin/tools/sqleditor/utils/__init__.py | 14 + .../sqleditor/utils/apply_explain_plan_wrapper.py | 24 + .../tools/sqleditor/utils/constant_definition.py | 32 + .../tools/sqleditor/utils/is_begin_required.py | 169 ++ .../tools/sqleditor/utils/start_running_query.py | 172 ++ .../tools/sqleditor/utils/tests/__init__.py | 8 + .../utils/tests/test_apply_explain_plan_wrapper.py | 121 ++ .../utils/tests/test_start_running_query.py | 445 +++++ .../utils/update_session_grid_transaction.py | 18 + web/pgadmin/utils/compile_template_name.py | 17 + .../utils/tests/test_compile_template_name.py | 34 + web/pgadmin/utils/versioned_template_loader.py | 2 +- web/regression/javascript/fake_endpoints.js | 6 +- .../javascript/sqleditor/execute_query_spec.js | 1702 ++++++++++++++++++++ .../sqleditor/is_new_transaction_required_spec.js | 65 + .../sqleditor/query_tool_actions_spec.js | 141 +- 30 files changed, 3670 insertions(+), 579 deletions(-)