Use on-demand loading for results in the query tool. Fixes #2137 With a 27420 row query, pgAdmin III runs the query in 5.873s on my laptop. pgAdmin 4 now takes ~1s.
Branch ------ master Details ------- https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=c65158312d6db6425abfde67d4f228910af223c3 Author: Harshal Dhumal <harshal.dhu...@enterprisedb.com> Modified Files -------------- web/config.py | 6 + .../connect_to_server_feature_test.py | 4 + .../feature_tests/pg_datatype_validation_test.py | 46 +- web/pgadmin/feature_tests/query_tool_tests.py | 734 ++++++++++++++++++++ web/pgadmin/feature_tests/view_data_dml_queries.py | 25 +- .../xss_checks_panels_and_query_tool_test.py | 17 +- .../xss_checks_pgadmin_debugger_test.py | 1 + web/pgadmin/static/bundle/slickgrid.js | 1 + web/pgadmin/static/js/selection/column_selector.js | 22 +- web/pgadmin/static/js/selection/copy_data.js | 6 +- web/pgadmin/static/js/selection/grid_selector.js | 31 +- .../js/selection/range_boundary_navigator.js | 4 +- web/pgadmin/static/js/selection/row_selector.js | 3 +- web/pgadmin/static/js/selection/set_staged_rows.js | 41 +- .../static/js/slickgrid/slick.pgadmin.editors.js | 34 +- web/pgadmin/tools/sqleditor/__init__.py | 321 ++++++--- web/pgadmin/tools/sqleditor/command.py | 137 ++-- .../tools/sqleditor/static/css/sqleditor.css | 11 +- .../sqleditor/templates/sqleditor/js/sqleditor.js | 762 +++++++++++---------- web/pgadmin/utils/driver/abstract.py | 14 +- web/pgadmin/utils/driver/psycopg2/__init__.py | 86 ++- web/regression/feature_utils/pgadmin_page.py | 33 +- .../javascript/selection/copy_data_spec.js | 24 +- .../selection/range_boundary_navigator_spec.js | 22 +- .../javascript/selection/row_selector_spec.js | 12 +- .../javascript/selection/set_staged_rows_spec.js | 373 +++++----- .../selection/xcell_selection_model_spec.js | 9 +- .../handle_query_output_keyboard_event_spec.js | 23 +- 28 files changed, 1934 insertions(+), 868 deletions(-)