From eeff75ba203aa2115bdf46537f49b691a4bcbc16 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Thu, 2 Sep 2021 12:23:10 +0530 Subject: [PATCH] Remove GPDB support completely. Fixes #6692 --- .../servers/databases/casts/__init__.py | 1 - .../databases/casts/tests/test_cast_create.py | 1 - .../tests/test_cast_create_get_functions.py | 1 - .../casts/tests/test_cast_create_get_type.py | 1 - .../databases/casts/tests/test_cast_delete.py | 1 - .../casts/tests/test_cast_delete_multiple.py | 1 - .../databases/casts/tests/test_cast_get.py | 1 - .../test_cast_get_dependencies_dependent.py | 1 - .../casts/tests/test_cast_get_node.py | 1 - .../casts/tests/test_cast_get_sql.py | 1 - .../databases/casts/tests/test_cast_put.py | 1 - .../databases/event_triggers/__init__.py | 1 - .../servers/databases/extensions/__init__.py | 1 - .../extensions/tests/test_extension_add.py | 1 - .../extensions/tests/test_extension_delete.py | 1 - .../tests/test_extension_delete_multiple.py | 1 - .../extensions/tests/test_extension_get.py | 1 - .../extensions/tests/test_extension_put.py | 1 - .../databases/external_tables/__init__.py | 276 ----------- .../external_tables/actions/__init__.py | 0 .../external_tables/mapping_utils.py | 164 ------- .../databases/external_tables/properties.py | 78 ---- .../external_tables/reverse_engineer_ddl.py | 69 --- .../static/img/coll-external_table.svg | 1 - .../static/img/external_table.svg | 1 - .../templates/sql/gpdb_5.0_plus/create.sql | 60 --- .../sql/gpdb_5.0_plus/get_columns.sql | 12 - .../gpdb_5.0_plus/get_table_information.sql | 22 - .../templates/sql/gpdb_5.0_plus/list.sql | 6 - .../templates/sql/gpdb_5.0_plus/node.sql | 5 - .../external_tables/tests/__init__.py | 0 .../tests/test_external_tables_module.py | 101 ---- .../tests/test_external_tables_view.py | 430 ------------------ .../tests/test_mapping_utils.py | 375 --------------- .../external_tables/tests/test_properties.py | 151 ------ .../tests/test_reverse_engineer_ddl.py | 255 ----------- .../test_sql_template_create_integration.py | 0 .../foreign_data_wrappers/__init__.py | 1 - .../foreign_servers/sql/gpdb_5.0_plus/acl.sql | 7 - .../tests/test_foreign_servers_add.py | 1 - .../tests/test_foreign_servers_delete.py | 1 - .../test_foreign_servers_delete_multiple.py | 1 - ...st_foreign_servers_dependent_dependency.py | 1 - .../tests/test_foreign_servers_get.py | 1 - .../tests/test_foreign_servers_msql.py | 1 - .../tests/test_foreign_servers_node.py | 1 - .../tests/test_foreign_servers_put.py | 1 - .../tests/test_foreign_servers_sql.py | 1 - .../tests/test_user_mapping_add.py | 1 - .../tests/test_user_mapping_delete.py | 1 - .../test_user_mapping_delete_multiple.py | 1 - .../test_user_mapping_dependent_dependency.py | 1 - .../tests/test_user_mapping_get.py | 1 - .../tests/test_user_mapping_msql.py | 1 - .../tests/test_user_mapping_node.py | 1 - .../tests/test_user_mapping_put.py | 1 - .../tests/test_user_mapping_sql.py | 1 - .../sql/gpdb_5.0_plus/acl.sql | 7 - .../tests/test_fdw_add.py | 1 - .../tests/test_fdw_delete.py | 1 - .../tests/test_fdw_delete_multiple.py | 1 - .../tests/test_fdw_dependency_dependent.py | 2 - .../tests/test_fdw_get-handlers.py | 1 - .../tests/test_fdw_get.py | 1 - .../tests/test_fdw_get_nodes.py | 1 - .../tests/test_fdw_get_validators.py | 1 - .../tests/test_fdw_msql.py | 1 - .../tests/test_fdw_put.py | 1 - .../tests/test_fdw_sql.py | 1 - .../servers/databases/languages/__init__.py | 2 - .../languages/sql/gpdb_5.0_plus/acl.sql | 7 - .../sql/gpdb_5.0_plus/properties.sql | 22 - .../languages/tests/test_language_add.py | 1 - .../databases/publications/__init__.py | 2 - .../servers/databases/schemas/__init__.py | 11 +- .../databases/schemas/collations/__init__.py | 1 - .../sql/gpdb_5.0_plus/get_collations.sql | 6 - .../collations/tests/test_collation_add.py | 1 - .../collations/tests/test_collation_delete.py | 1 - .../tests/test_collation_delete_multiple.py | 1 - .../test_collation_dependency_dependent.py | 1 - .../collations/tests/test_collation_get.py | 1 - .../test_collation_get_collation_function.py | 1 - .../tests/test_collation_get_nodes.py | 1 - .../collations/tests/test_collation_put.py | 1 - .../collations/tests/test_collation_sql.py | 1 - .../databases/schemas/domains/__init__.py | 1 - .../sql/gpdb_5.0_plus/get_collations.sql | 6 - .../domains/sql/gpdb_5.0_plus/properties.sql | 25 - .../tests/test_domain_dependent_dependency.py | 1 - .../tests/test_domain_get_collations.py | 1 - .../domains/tests/test_domain_get_node.py | 1 - .../schemas/foreign_tables/__init__.py | 1 - .../foreign_tables/sql/gpdb_5.0_plus/acl.sql | 7 - .../sql/gpdb_5.0_plus/get_collations.sql | 6 - .../tests/test_foreign_table_add.py | 2 - .../tests/test_foreign_table_delete.py | 2 - ...t_foreign_table_dependencies_dependents.py | 2 - .../tests/test_foreign_table_get.py | 2 - .../tests/test_foreign_table_get_msql.py | 2 - .../tests/test_foreign_table_get_nodes.py | 2 - ...oreign_table_get_precreation_parameters.py | 2 - .../tests/test_foreign_table_put.py | 2 - .../tests/test_foreign_table_sql.py | 2 - .../schemas/fts_configurations/__init__.py | 1 - .../schemas/fts_dictionaries/__init__.py | 1 - .../databases/schemas/fts_parsers/__init__.py | 1 - .../schemas/fts_templates/__init__.py | 1 - .../databases/schemas/functions/__init__.py | 3 - .../schemas/functions/static/js/function.js | 4 +- .../functions/gpdb/sql/default/acl.sql | 6 - .../functions/gpdb/sql/default/coll_stats.sql | 20 - .../functions/gpdb/sql/default/create.sql | 62 --- .../functions/gpdb/sql/default/delete.sql | 21 - .../gpdb/sql/default/get_definition.sql | 17 - .../gpdb/sql/default/get_languages.sql | 4 - .../functions/gpdb/sql/default/get_oid.sql | 17 - .../gpdb/sql/default/get_out_types.sql | 6 - .../functions/gpdb/sql/default/get_schema.sql | 6 - .../functions/gpdb/sql/default/get_types.sql | 20 - .../functions/gpdb/sql/default/node.sql | 22 - .../functions/gpdb/sql/default/properties.sql | 27 -- .../functions/gpdb/sql/default/stats.sql | 8 - .../functions/gpdb/sql/default/update.sql | 107 ----- .../functions/gpdb/sql/default/variables.sql | 6 - .../functions/tests/test_function_get.py | 1 - .../functions/tests/test_function_put.py | 1 - .../functions/tests/test_procedure_add.py | 1 - .../functions/tests/test_procedure_delete.py | 1 - .../tests/test_procedure_delete_multiple.py | 1 - .../tests/test_procedure_exec_sql.py | 1 - .../functions/tests/test_procedure_get.py | 1 - .../functions/tests/test_procedure_put.py | 1 - .../functions/tests/test_trigger_func_add.py | 1 - .../tests/test_trigger_func_delete.py | 1 - .../test_trigger_func_delete_multiple.py | 1 - .../functions/tests/test_trigger_func_get.py | 1 - .../functions/tests/test_trigger_func_put.py | 1 - .../tests/test_package_edbfuncs_get.py | 2 +- .../packages/tests/test_package_add.py | 1 - .../packages/tests/test_package_delete.py | 1 - .../tests/test_package_delete_multiple.py | 1 - .../packages/tests/test_package_get.py | 1 - .../packages/tests/test_package_put.py | 1 - .../databases/schemas/sequences/__init__.py | 1 - .../sequences/sql/gpdb_5.0_plus/acl.sql | 7 - .../sequences/tests/test_sequence_add.py | 1 - .../sequences/tests/test_sequence_delete.py | 1 - .../tests/test_sequence_delete_multiple.py | 1 - .../sequences/tests/test_sequence_get.py | 1 - .../sequences/tests/test_sequence_put.py | 1 - .../synonyms/tests/test_synonym_add.py | 1 - .../synonyms/tests/test_synonym_delete.py | 1 - .../tests/test_synonym_delete_multiple.py | 1 - .../synonyms/tests/test_synonym_get.py | 1 - .../synonyms/tests/test_synonym_put.py | 2 - .../tables/compound_triggers/__init__.py | 3 - .../tests/test_compound_triggers_add.py | 1 - .../tests/test_compound_triggers_delete.py | 1 - .../test_compound_triggers_delete_multiple.py | 1 - .../tests/test_compound_triggers_get.py | 1 - .../tests/test_compound_triggers_put.py | 1 - .../tests/test_check_constraint_add.py | 1 - .../tests/test_check_constraint_delete.py | 1 - ...heck_constraint_dependencies_dependents.py | 1 - .../tests/test_check_constraint_get.py | 1 - .../tests/test_check_constraint_get_nodes.py | 1 - .../tests/test_check_constraint_msql.py | 1 - .../tests/test_check_constraint_put.py | 1 - .../tests/test_check_constraint_sql.py | 1 - .../tests/test_check_constraint_validate.py | 1 - .../tests/test_index_constraint_add.py | 2 - .../tests/test_index_constraint_delete.py | 2 - ...ndex_constraint_dependencies_dependents.py | 1 - .../tests/test_index_constraint_get.py | 1 - .../tests/test_index_constraint_get_nodes.py | 1 - .../test_index_constraint_get_statistics.py | 1 - .../tests/test_index_constraint_msql.py | 1 - .../tests/test_index_constraint_sql.py | 1 - .../partitions/static/js/partition.ui.js | 1 - .../tests/test_backend_supported.py | 19 - .../tables/row_security_policies/__init__.py | 1 - .../tables/static/js/show_advanced_tab.js | 23 - .../schemas/tables/static/js/table.js | 3 +- .../schemas/tables/static/js/table.ui.js | 1 - .../columns/sql/gpdb_5.0_plus/acl.sql | 7 - .../sql/gpdb_5.0_plus/get_collations.sql | 6 - .../sql/gpdb_5.0_plus/get_constraint_cols.sql | 20 - .../sql/gpdb_5.0_plus/column_details.sql | 25 - .../sql/gpdb_5.0_plus/get_collations.sql | 6 - .../partitions/sql/gpdb/5_plus/attach.sql | 2 - .../sql/gpdb/5_plus/backend_support.sql | 9 - .../partitions/sql/gpdb/5_plus/detach.sql | 1 - .../sql/gpdb/5_plus/get_attach_tables.sql | 23 - .../partitions/sql/gpdb/5_plus/nodes.sql | 39 -- .../partitions/sql/gpdb/5_plus/properties.sql | 82 ---- .../tables/sql/gpdb_5.0_plus/acl.sql | 7 - .../tables/sql/gpdb_5.0_plus/create.sql | 172 ------- .../tables/sql/gpdb_5.0_plus/nodes.sql | 14 - .../tables/sql/gpdb_5.0_plus/properties.sql | 83 ---- .../tables/sql/gpdb_5.0_plus/stats.sql | 16 - .../triggers/sql/gpdb/9.1_plus/get_oid.sql | 5 - .../triggers/sql/gpdb/9.1_plus/nodes.sql | 8 - .../triggers/sql/gpdb/9.1_plus/properties.sql | 22 - .../triggers/sql/gpdb/default/alter.sql | 9 - .../sql/gpdb/default/backend_support.sql | 9 - .../triggers/sql/gpdb/default/create.sql | 32 -- .../triggers/sql/gpdb/default/delete.sql | 1 - .../gpdb/default/enable_disable_trigger.sql | 3 - .../triggers/sql/gpdb/default/get_columns.sql | 6 - .../triggers/sql/gpdb/default/get_oid.sql | 4 - .../triggers/sql/gpdb/default/get_parent.sql | 5 - .../sql/gpdb/default/get_triggerfunctions.sql | 15 - .../triggers/sql/gpdb/default/nodes.sql | 7 - .../triggers/sql/gpdb/default/properties.sql | 1 - .../triggers/sql/gpdb/default/update.sql | 51 --- .../tables/tests/test_template_create.py | 138 ------ .../schemas/tables/tests/test_utils.py | 40 -- .../schemas/tables/triggers/__init__.py | 3 - .../triggers/tests/test_triggers_add.py | 1 - .../triggers/tests/test_triggers_delete.py | 1 - .../tests/test_triggers_delete_multiple.py | 1 - .../triggers/tests/test_triggers_get.py | 1 - .../triggers/tests/test_triggers_put.py | 1 - .../catalog/gpdb_5.0_plus/macros/catalogs.sql | 21 - .../catalog/gpdb_5.0_plus/sql/acl.sql | 7 - .../catalog/gpdb_5.0_plus/sql/create.sql | 17 - .../catalog/gpdb_5.0_plus/sql/get_name.sql | 1 - .../catalog/gpdb_5.0_plus/sql/is_catalog.sql | 9 - .../catalog/gpdb_5.0_plus/sql/nodes.sql | 16 - .../catalog/gpdb_5.0_plus/sql/properties.sql | 24 - .../catalog/gpdb_5.0_plus/sql/update.sql | 30 -- .../datatype/sql/gpdb_5.0_plus/get_types.sql | 28 -- .../schemas/gpdb_5.0_plus/allowed_privs.json | 30 -- .../schemas/gpdb_5.0_plus/sql/acl.sql | 7 - .../schemas/gpdb_5.0_plus/sql/create.sql | 40 -- .../schemas/gpdb_5.0_plus/sql/defacl.sql | 7 - .../schemas/gpdb_5.0_plus/sql/delete.sql | 1 - .../schemas/gpdb_5.0_plus/sql/get_name.sql | 1 - .../schemas/gpdb_5.0_plus/sql/is_catalog.sql | 9 - .../schemas/gpdb_5.0_plus/sql/nodes.sql | 20 - .../schemas/gpdb_5.0_plus/sql/oid.sql | 1 - .../schemas/gpdb_5.0_plus/sql/properties.sql | 39 -- .../schemas/gpdb_5.0_plus/sql/update.sql | 83 ---- .../schemas/tests/test_schema_put.py | 1 - .../databases/schemas/tests/test_utils.py | 14 - .../types/pg/sql/gpdb_5.0_plus/acl.sql | 7 - .../gpdb_5.0_plus/additional_properties.sql | 34 -- .../pg/sql/gpdb_5.0_plus/get_collations.sql | 6 - .../types/pg/sql/gpdb_5.0_plus/properties.sql | 31 -- .../servers/databases/schemas/utils.py | 4 - .../databases/schemas/views/__init__.py | 15 +- .../templates/views/gpdb_5.0_plus/sql/acl.sql | 8 - .../gpdb_5.0_plus/sql/allowed_privs.json | 6 - .../views/gpdb_5.0_plus/sql/create.sql | 20 - .../views/gpdb_5.0_plus/sql/delete.sql | 13 - .../views/gpdb_5.0_plus/sql/get_oid.sql | 9 - .../views/gpdb_5.0_plus/sql/get_schema.sql | 7 - .../views/gpdb_5.0_plus/sql/grant.sql | 6 - .../views/gpdb_5.0_plus/sql/nodes.sql | 13 - .../views/gpdb_5.0_plus/sql/properties.sql | 57 --- .../views/gpdb_5.0_plus/sql/update.sql | 67 --- .../views/gpdb_5.0_plus/sql/view_id.sql | 6 - .../databases/subscriptions/__init__.py | 2 - .../databases/sql/gpdb_5.0_plus/acl.sql | 7 - .../browser/server_groups/servers/gpdb.py | 30 -- .../server_groups/servers/pgagent/__init__.py | 3 - .../servers/pgagent/tests/utils.py | 4 - .../server_groups/servers/static/img/gpdb.png | Bin 1244 -> 0 bytes .../servers/tablespaces/__init__.py | 1 - .../tablespaces/sql/gpdb_5.0_plus/acl.sql | 7 - .../tests/test_backend_supported.py | 8 - .../depends/gpdb/5_plus/dependencies.sql | 85 ---- .../depends/gpdb/5_plus/dependents.sql | 71 --- .../depends/gpdb/5_plus/role_dependencies.sql | 8 - web/pgadmin/browser/utils.py | 5 - web/pgadmin/dashboard/__init__.py | 5 +- .../dashboard/sql/gpdb_5.0_plus/activity.sql | 15 - .../sql/gpdb_5.0_plus/dashboard_stats.sql | 57 --- .../dashboard/sql/gpdb_5.0_plus/locks.sql | 23 - .../js/sqleditor/query_tool_preferences.js | 2 +- .../tools/sqleditor/static/js/sqleditor.js | 2 +- .../sql/gpdb_5.0_plus/explain_plan.sql | 1 - .../sqleditor/tests/test_encoding_charset.py | 1 - .../tests/test_explain_plan_templates.py | 43 -- .../tests/test_sql_ascii_encoding.py | 1 - .../tools/sqleditor/tests/test_view_data.py | 1 - .../tests/test_apply_explain_plan_wrapper.py | 30 -- web/pgadmin/utils/compile_template_name.py | 6 +- .../some_action_with_gpdb_5_0.sql | 1 - .../utils/tests/test_compile_template_name.py | 9 - .../tests/test_versioned_template_loader.py | 70 --- .../utils/versioned_template_loader.py | 7 - .../external_tables/external_tables_spec.js | 56 --- .../schemas/tables/show_advanced_tab_spec.js | 64 --- .../javascript/fake_supported_servers.js | 1 - .../python_test_utils/test_utils.py | 6 +- 297 files changed, 13 insertions(+), 4881 deletions(-) delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/__init__.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/actions/__init__.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/mapping_utils.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/properties.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/reverse_engineer_ddl.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/coll-external_table.svg delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/external_table.svg delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_columns.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_table_information.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/list.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/node.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/__init__.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_module.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_mapping_utils.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_properties.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_reverse_engineer_ddl.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_sql_template_create_integration.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collations/sql/gpdb_5.0_plus/get_collations.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/get_collations.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/get_collations.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/coll_stats.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/delete.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_definition.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_languages.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_oid.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_out_types.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_schema.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_types.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/node.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/stats.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/update.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/variables.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/show_advanced_tab.js delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/get_collations.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/exclusion_constraint/sql/gpdb_5.0_plus/get_constraint_cols.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/column_details.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/get_collations.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/attach.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/backend_support.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/detach.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/get_attach_tables.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/stats.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/get_oid.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/alter.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/backend_support.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/delete.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_columns.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_oid.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_parent.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_triggerfunctions.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/macros/catalogs.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/get_name.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/is_catalog.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/update.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/datatype/sql/gpdb_5.0_plus/get_types.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/allowed_privs.json delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/defacl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/delete.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/get_name.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/is_catalog.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/oid.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/update.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/additional_properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/get_collations.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/allowed_privs.json delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/create.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/delete.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_oid.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_schema.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/grant.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/nodes.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/properties.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/update.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/view_id.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/gpdb.py delete mode 100644 web/pgadmin/browser/server_groups/servers/static/img/gpdb.png delete mode 100644 web/pgadmin/browser/server_groups/servers/tablespaces/templates/tablespaces/sql/gpdb_5.0_plus/acl.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql delete mode 100644 web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/role_dependencies.sql delete mode 100644 web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/activity.sql delete mode 100644 web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/dashboard_stats.sql delete mode 100644 web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/locks.sql delete mode 100644 web/pgadmin/tools/sqleditor/templates/sqleditor/sql/gpdb_5.0_plus/explain_plan.sql delete mode 100644 web/pgadmin/utils/tests/templates/some_feature/sql/gpdb_5.0_plus/some_action_with_gpdb_5_0.sql delete mode 100644 web/regression/javascript/browser/server_groups/servers/databases/external_tables/external_tables_spec.js delete mode 100644 web/regression/javascript/browser/server_groups/servers/databases/schemas/tables/show_advanced_tab_spec.js diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py index 1481daed1..686fe1427 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py @@ -52,7 +52,6 @@ class CastModule(CollectionNodeModule): def __init__(self, *args, **kwargs): super(CastModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create.py index bf144c440..a030b4506 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create.py @@ -17,7 +17,6 @@ from unittest.mock import patch class CastsCreateTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] url = '/browser/cast/obj/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_functions.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_functions.py index 07c3089e9..9295861b4 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_functions.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_functions.py @@ -17,7 +17,6 @@ from unittest.mock import patch class CastsCreateGetFunctionsTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] url = '/browser/cast/' scenarios = utils.generate_scenarios("cast_create_get_functions", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_type.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_type.py index b9edae7a7..af2a1c298 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_type.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_create_get_type.py @@ -17,7 +17,6 @@ from unittest.mock import patch class CastsCreateGettypeTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] url = '/browser/cast/' scenarios = utils.generate_scenarios("cast_create_get_type", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py index 12d6701d1..cb55411f5 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py @@ -20,7 +20,6 @@ from unittest.mock import patch class CastsDeleteTestCase(BaseTestGenerator): url = '/browser/cast/obj/' """ This class will delete the cast node added under database node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios("cast_delete", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete_multiple.py index 189dccb90..654797be3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete_multiple.py @@ -19,7 +19,6 @@ from unittest.mock import patch class CastsMultipleDeleteTestCase(BaseTestGenerator): """ This class will delete the cast node added under database node. """ - skip_on_database = ['gpdb'] url = '/browser/cast/obj/' scenarios = utils.generate_scenarios("cast_delete_multiple", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py index f9a1df9a4..6e9b50232 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py @@ -18,7 +18,6 @@ from unittest.mock import patch class CastsGetTestCase(BaseTestGenerator): """ This class will fetch the cast node added under database node. """ - skip_on_database = ['gpdb'] url = '/browser/cast/obj/' scenarios = utils.generate_scenarios("cast_get", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_dependencies_dependent.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_dependencies_dependent.py index 9f4c26150..b50e96aa0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_dependencies_dependent.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_dependencies_dependent.py @@ -18,7 +18,6 @@ from . import utils as cast_utils class CastsGetDependentsAndDependencyTestCase(BaseTestGenerator): """ This class will fetch the cast node added under database node. """ - skip_on_database = ['gpdb'] url = '/browser/cast/' scenarios = utils.generate_scenarios( "cast_get_dependencies_dependants", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_node.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_node.py index 6190eb888..0a6098b25 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_node.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_node.py @@ -18,7 +18,6 @@ from unittest.mock import patch class CastsGetNodeTestCase(BaseTestGenerator): """ This class will fetch the cast node added under database node. """ - skip_on_database = ['gpdb'] url = '/browser/cast/nodes/' scenarios = utils.generate_scenarios("cast_get_node", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_sql.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_sql.py index 8e302fa27..55700e099 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get_sql.py @@ -19,7 +19,6 @@ from unittest.mock import patch class CastsGetSqlTestCase(BaseTestGenerator): """ This class will fetch the cast node added under database node. """ - skip_on_database = ['gpdb'] url = '/browser/cast/' scenarios = utils.generate_scenarios("cast_get_sql", cast_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_put.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_put.py index 8276de187..92d7c4b15 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_put.py @@ -20,7 +20,6 @@ from unittest.mock import patch class CastsPutTestCase(BaseTestGenerator): url = '/browser/cast/obj/' """ This class will fetch the cast node added under database node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios("cast_put", cast_utils.test_cases) def setUp(self): diff --git a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py index cc1660208..3b3e1a857 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py @@ -60,7 +60,6 @@ class EventTriggerModule(CollectionNodeModule): super(EventTriggerModule, self).__init__(*args, **kwargs) self.min_ver = 90300 self.max_ver = None - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py index 79859d565..8a2020343 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py @@ -43,7 +43,6 @@ class ExtensionModule(CollectionNodeModule): Initialising the base class """ super(ExtensionModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_add.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_add.py index 3666ce7ca..40b82b3ce 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_add.py @@ -19,7 +19,6 @@ from . import utils as extension_utils class ExtensionsAddTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for extension node. ('Check Extension Node', dict(url='/browser/extension/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete.py index 7ceebe7fe..ec66b3602 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete.py @@ -17,7 +17,6 @@ from . import utils as extension_utils class ExtensionsDeleteTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for extension node. ('Check Extension Node', dict(url='/browser/extension/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete_multiple.py index d26c4c1b3..bc3999560 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_delete_multiple.py @@ -18,7 +18,6 @@ from . import utils as extension_utils class ExtensionsDeleteMultipleTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for extension node. ('Check Extension Node', dict(url='/browser/extension/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_get.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_get.py index 245efa956..91d347d68 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_get.py @@ -17,7 +17,6 @@ from . import utils as extension_utils class ExtensionsGetTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for extension node. ('Check Extension Node', dict(url='/browser/extension/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_put.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_put.py index 13844213a..e94748d45 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/test_extension_put.py @@ -19,7 +19,6 @@ from . import utils as extension_utils class ExtensionsPutTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for extension node. ('Check Extension Node', dict(url='/browser/extension/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/__init__.py deleted file mode 100644 index 7ff5fc232..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/__init__.py +++ /dev/null @@ -1,276 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -"""Implements External Tables Node""" -import os -from functools import wraps -from gettext import gettext - -from flask import render_template - -from config import PG_DEFAULT_DRIVER -from pgadmin.browser.collection import CollectionNodeModule -from pgadmin.browser.server_groups.servers import databases -from pgadmin.browser.server_groups.servers.databases \ - .external_tables.mapping_utils import map_execution_location -from pgadmin.browser.server_groups.servers.databases \ - .external_tables.properties import Properties, \ - PropertiesTableNotFoundException, PropertiesException -from pgadmin.browser.server_groups.servers.databases \ - .external_tables.reverse_engineer_ddl import ReverseEngineerDDL -from pgadmin.browser.utils import PGChildNodeView -from pgadmin.utils.ajax import make_json_response, make_response, \ - internal_server_error -from pgadmin.utils.compile_template_name import compile_template_path -from pgadmin.utils.driver import get_driver - - -class ExternalTablesModule(CollectionNodeModule): - """ - class ExternalTablesModule(CollectionNodeModule) - - A module class for External Tables node derived from - CollectionNodeModule. - - Methods: - ------- - * __init__(*args, **kwargs) - - Method is used to initialize the External Tables module - and it's base module. - - * get_nodes(gid, sid, did) - - Method is used to generate the browser collection node. - - * script_load() - - Load the module script for External Tables, when any of - the database node is initialized. - """ - - _NODE_TYPE = 'external_table' - _COLLECTION_LABEL = gettext("External Tables") - - def __init__(self, *args, **kwargs): - """ - Method is used to initialize the External tables module and - it's base module. - - Args: - *args: - **kwargs: - """ - - super(ExternalTablesModule, self).__init__(*args, **kwargs) - self.max_ver = 0 - self.server_type = ['gpdb'] - - def get_nodes(self, gid, sid, did): - yield self.generate_browser_collection_node(did) - - @property - def script_load(self): - """ - Load the module script for External tables, - when any of the database node is initialized. - - Returns: node type of the database module. - """ - return databases.DatabaseModule.node_type - - @property - def module_use_template_javascript(self): - """ - Returns whether Jinja2 template is used for generating the javascript - module. - """ - return False - - -blueprint = ExternalTablesModule(__name__) - - -class ExternalTablesView(PGChildNodeView): - node_type = blueprint.node_type - - parent_ids = [ - {'type': 'int', 'id': 'server_group_id'}, - {'type': 'int', 'id': 'server_id'}, - {'type': 'int', 'id': 'database_id'} - ] - - ids = [ - {'type': 'int', 'id': 'external_table_id'} - ] - - operations = dict({ - 'obj': [ - {'get': 'properties'} - ], - 'nodes': [{'get': 'node'}, {'get': 'nodes'}], - 'sql': [{'get': 'sql'}], - 'children': [{'get': 'children'}] - }) - - def check_precondition(function_wrapped): - """ - This function will behave as a decorator which will checks - database connection before running view, it will also attaches - manager,conn & template_path properties to self - """ - - @wraps(function_wrapped) - def wrap(*args, **kwargs): - # Here args[0] will hold self & kwargs will hold gid,sid,did - self = args[0] - self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager( - kwargs['server_id'] - ) - self.connection = self.manager.connection( - did=kwargs['database_id'] - ) - self.sql_template_path = compile_template_path( - 'sql', - self.manager.server_type, - self.manager.sversion - ) - - return function_wrapped(*args, **kwargs) - - return wrap - - def __init__(self, *args, **kwargs): - super(ExternalTablesView, self).__init__(*args, **kwargs) - self.connection = None - self.manager = None - self.sql_template_path = None - - @check_precondition - def nodes(self, server_group_id, server_id, database_id): - """ - This function will used to create all the child node within that - collection. - Here it will create all the foreign data wrapper node. - - Args: - server_group_id: Server Group ID - server_id: Server ID - database_id: Database ID - """ - sql_statement = render_template( - os.path.join(self.sql_template_path, 'list.sql') - ) - - result = self.get_external_tables(database_id, sql_statement) - - if not isinstance(result, list): - return result - - return make_json_response( - data=result, - status=200 - ) - - @check_precondition - def node(self, server_group_id, server_id, database_id, external_table_id): - """ - This function will used to create all the child node within that - collection. - Here it will create all the foreign data wrapper node. - - Args: - server_group_id: Server Group ID - server_id: Server ID - database_id: Database ID - external_table_id: External Table ID - """ - sql_statement = render_template( - template_name_or_list=os.path.join( - self.sql_template_path, - self._NODE_SQL - ), - external_table_id=external_table_id - ) - result = self.get_external_tables(database_id, sql_statement) - - if not isinstance(result, list): - return result - - if not result: - return make_json_response( - data=gettext('Could not find the external table.'), - status=404 - ) - - return make_json_response( - data=result[0], - status=200 - ) - - @check_precondition - def sql(self, server_group_id, server_id, database_id, external_table_id): - """ - This function will used to create all the child node within that - collection. - Here it will create all the foreign data wrapper node. - - Args: - server_group_id: Server Group ID - server_id: Server ID - database_id: Database ID - external_table_id: External Table ID - """ - sql = ReverseEngineerDDL(self.sql_template_path, - render_template, - self.connection, server_group_id, server_id, - database_id).execute(external_table_id) - - return make_response( - sql.strip('\n') - ) - - @check_precondition - def properties(self, server_group_id, server_id, database_id, - external_table_id): - try: - response = Properties(render_template, self.connection, - self.sql_template_path).retrieve( - external_table_id) - return make_response( - response=response, - status=200) - except PropertiesTableNotFoundException: - return make_json_response( - data=gettext('Could not find the external table.'), - status=404 - ) - except PropertiesException as exception: - return exception.response_object - - def children(self, **kwargs): - return make_json_response(data=[]) - - def get_external_tables(self, database_id, sql_statement): - status, external_tables = self.connection \ - .execute_2darray(sql_statement) - if not status: - return internal_server_error(errormsg=external_tables) - - icon_css_class = 'icon-external_table' - result = [] - for external_table in external_tables['rows']: - result.append(self.blueprint.generate_browser_node( - external_table['oid'], - database_id, - external_table['name'], - inode=False, - icon=icon_css_class - )) - return result - - -ExternalTablesView.register_node_view(blueprint) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/actions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/actions/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/mapping_utils.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/mapping_utils.py deleted file mode 100644 index 0047d397b..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/mapping_utils.py +++ /dev/null @@ -1,164 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## -import re - - -def map_column_from_database(column_information): - return { - 'name': column_information['name'], - 'type': column_information['cltype'] - } - - -def map_table_information_from_database(table_information): - format_type = map_format_type(table_information['fmttype']) - return { - 'uris': sql_array_notation_to_array(table_information['urilocation']), - 'isWeb': is_web_table( - table_information['urilocation'], - table_information['command'] - ), - 'executionLocation': map_execution_location( - table_information['execlocation']), - 'formatType': format_type, - 'formatOptions': format_options(format_type, - table_information['fmtopts']), - 'command': table_information['command'], - 'rejectLimit': table_information['rejectlimit'], - 'rejectLimitType': table_information['rejectlimittype'], - 'errorTableName': table_information['errtblname'], - 'erroToFile': table_information['errortofile'], - 'pgEncodingToChar': table_information['pg_encoding_to_char'], - 'writable': table_information['writable'], - 'options': table_information['options'], - 'distribution': table_information['distribution'], - 'name': table_information['name'], - 'namespace': table_information['namespace'] - } - - -def map_execution_location(execution_location): - stripped_execution_location = execution_location[0].lstrip('{').rstrip('}') - if stripped_execution_location.startswith('HOST:'): - return { - 'type': 'host', - 'value': stripped_execution_location.replace('HOST:', '').strip() - } - elif stripped_execution_location == 'PER_HOST': - return {'type': 'per_host', 'value': None} - elif stripped_execution_location == "MASTER_ONLY": - return {'type': 'master_only', 'value': None} - elif stripped_execution_location == "ALL_SEGMENTS": - return {'type': 'all_segments', 'value': None} - elif stripped_execution_location.startswith("SEGMENT_ID:"): - return { - 'type': 'segment', - 'value': stripped_execution_location.replace('SEGMENT_ID:', '') - .strip() - } - elif stripped_execution_location.startswith("TOTAL_SEGS:"): - return { - 'type': 'segments', - 'value': stripped_execution_location.replace('TOTAL_SEGS:', '') - .strip() - } - - -def map_format_type(format_type): - if format_type == 'b': - return 'custom' - elif format_type == 'a': - return 'avro' - elif format_type == 't': - return 'text' - elif format_type == 'p': - return 'parquet' - else: - return 'csv' - - -def is_web_table(uris, command): - if uris is None and command is None: - return False - if command is not None: - return True - return re.search('^https?:\\/\\/', - sql_array_notation_to_array(uris)[0]) is not None - - -def format_options(format_type, options): - if options is None: - return None - if len(options) == 0: - return options - - result_options = tokenize_options(options) - all_keys = sorted(result_options) - if format_type not in ['csv', 'text']: - return ','.join([ - '%s = %s' % (key, result_options[key]) for key in all_keys - ]) - else: - return ' '.join([ - '%s %s' % (key, result_options[key]) for key in all_keys - ]) - - -def sql_array_notation_to_array(sql_result): - if sql_result is None: - return None - if sql_result[0] == '{': - return sql_result[1:-1].split(',') - return sql_result - - -def tokenize_options(options): - in_key = True - in_value = False - current_key = '' - current_value = '' - tokens = {} - for index in range(0, len(options)): - if is_end_of_key(in_key, options, index, current_key): - in_key = False - elif is_not_end_of_key(in_key, index, options): - current_key += options[index] - elif is_start_of_value(in_value, index, options): - in_value = True - current_value = '' - elif is_end_of_value(in_value, index, options): - in_value = False - in_key = True - tokens[current_key] = '$$' + current_value + '$$' - current_key = '' - current_value = '' - elif in_value: - current_value += options[index] - return tokens - - -def found_apostrophe_inside_value(in_value, index, options): - return in_value and options[index] == '\'' - - -def is_end_of_value(in_value, index, options): - return in_value and options[index] == '\'' and ( - index == (len(options) - 1) or options[index + 1] == ' ') - - -def is_start_of_value(in_value, index, options): - return not in_value and options[index] == '\'' - - -def is_not_end_of_key(in_key, index, options): - return in_key and options[index] != ' ' - - -def is_end_of_key(in_key, options, index, current_key): - return in_key and options[index] == ' ' and len(current_key) > 0 diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/properties.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/properties.py deleted file mode 100644 index 2dabb9990..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/properties.py +++ /dev/null @@ -1,78 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## -from gettext import gettext -from os import path - -from pgadmin.browser.server_groups.servers.databases.external_tables import \ - map_execution_location -from pgadmin.utils.ajax import internal_server_error - - -class PropertiesException(Exception): - def __init__(self, response_object, *args): - super(PropertiesException, self).__init__(*args) - self.response_object = response_object - - -class PropertiesTableNotFoundException(PropertiesException): - def __init__(self, *args): - super(PropertiesException, self).__init__(None, *args) - - -class Properties: - def __init__(self, render_template, db_connection, sql_template_path): - self.render_template = render_template - self.db_connection = db_connection - self.sql_template_path = sql_template_path - - def retrieve(self, table_oid): - table_information_sql = self.render_template( - template_name_or_list=path.join(self.sql_template_path, - 'get_table_information.sql'), - table_oid=table_oid - ) - - (status, table_information_results) = \ - self.db_connection.execute_2darray(table_information_sql) - if not status: - raise PropertiesException( - internal_server_error(table_information_results)) - if len(table_information_results['rows']) != 1: - raise PropertiesTableNotFoundException() - - table_information_result = table_information_results['rows'][0] - execute_on = map_execution_location( - table_information_result['execlocation']) - execute_on_text = self.translate_execute_on_text(execute_on) - response = dict( - name=table_information_result['name'], - type=gettext('readable') if not table_information_result[ - 'writable'] else gettext('writable'), - format_type=table_information_result['pg_encoding_to_char'], - format_options=table_information_result['fmtopts'], - external_options=table_information_result['options'], - command=table_information_result['command'], - execute_on=execute_on_text, - ) - return response - - @staticmethod - def translate_execute_on_text(execute_on): - if execute_on['type'] == 'host': - return gettext('host {}').format(execute_on['value']) - elif execute_on['type'] == 'per_host': - return gettext('per host') - elif execute_on['type'] == 'master_only': - return gettext('master segment') - elif execute_on['type'] == 'all_segments': - return gettext('all segments') - elif execute_on['type'] == 'segment': - return gettext('{} segment').format(execute_on['value']) - elif execute_on['type'] == 'segments': - return gettext('{} segments').format(execute_on['value']) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/reverse_engineer_ddl.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/reverse_engineer_ddl.py deleted file mode 100644 index e339fa3e9..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/reverse_engineer_ddl.py +++ /dev/null @@ -1,69 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## -from os import path - -from pgadmin.browser.server_groups.servers.databases\ - .external_tables.mapping_utils import \ - map_column_from_database, map_table_information_from_database - - -class ReverseEngineerDDLException(Exception): - pass - - -class ReverseEngineerDDL: - def __init__(self, sql_template_paths, - render_template, - database_connection, - server_group_id, server_id, database_id): - self.sql_template_path = sql_template_paths - self.render_template = render_template - self.database_connection = database_connection - - def execute(self, table_oid): - reverse_engineer_data = self.table_information(table_oid) - reverse_engineer_data['columns'] = self.find_columns(table_oid) - return self.render_template( - template_name_or_list=path.join(self.sql_template_path, - 'create.sql'), - table=reverse_engineer_data - ) - - def find_columns(self, table_oid): - columns_sql = self.render_template( - template_name_or_list=path.join(self.sql_template_path, - 'get_columns.sql'), - table_oid=table_oid - ) - - (status, column_result) = \ - self.database_connection.execute_2darray(columns_sql) - if not status: - raise ReverseEngineerDDLException(column_result) - - return list(map(map_column_from_database, column_result['rows'])) - - def table_information(self, table_oid): - table_information_sql = self.render_template( - template_name_or_list=path.join(self.sql_template_path, - 'get_table_information.sql'), - table_oid=table_oid - ) - - (status, table_information_result) = \ - self.database_connection.execute_2darray(table_information_sql) - if not status: - raise ReverseEngineerDDLException(table_information_result) - elif 'rows' not in table_information_result.keys() or len( - table_information_result['rows'] - ) == 0: - raise ReverseEngineerDDLException('Table not found') - - return map_table_information_from_database( - table_information_result['rows'][0]) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/coll-external_table.svg b/web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/coll-external_table.svg deleted file mode 100644 index bcce32d66..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/coll-external_table.svg +++ /dev/null @@ -1 +0,0 @@ -coll-foreign_data_wrapper \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/external_table.svg b/web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/external_table.svg deleted file mode 100644 index 90228c963..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/static/img/external_table.svg +++ /dev/null @@ -1 +0,0 @@ -coll-table \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/create.sql deleted file mode 100644 index 25ebf96c0..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/create.sql +++ /dev/null @@ -1,60 +0,0 @@ -{% if table.rejectLimitType == 'r' %} -{% set rejectionLimit = 'ROWS' %} -{% else %} -{% set rejectionLimit = 'PERCENT' %} -{% endif %} -CREATE {% if table.writable %}WRITABLE {% endif %}EXTERNAL {% if table.isWeb %}WEB {% endif %}TABLE {{conn|qtIdent(table.namespace, table.name)}}{% if table.columns and table.columns|length > 0 %}( -{% for c in table.columns %} -{% if c.name and c.type -%} -{% if loop.index != 1 %}, -{% endif %} - {{conn|qtIdent(c.name)}} {{c.type}} -{%- endif %} -{% endfor %} -) -{% else %} -() -{% endif %} -{% if table.command and table.command|length > 0 %} -EXECUTE $pgAdmin${{ table.command }}'$pgAdmin$ -{% else %} -LOCATION ( -{% for uri in table.uris %} -{% if loop.index != 1 -%}, -{% endif %} - '{{uri}}' -{%- endfor %} -) -{% endif %} -{% if not table.writable and table.executionLocation %} -{% if table.executionLocation.type == 'host' %} -ON HOST {{ table.executionLocation.value }} -{% elif table.executionLocation.type == 'per_host' %} -ON HOST -{% elif table.executionLocation.type == 'master_only' %} -ON MASTER -{% elif table.executionLocation.type == 'all_segments' %} -ON ALL -{% elif table.executionLocation.type == 'segment' %} -ON SEGMENT {{ table.executionLocation.value }} -{% elif table.executionLocation.type == 'segments' %} -ON {{ table.executionLocation.value }} -{% endif %} -{% endif %} -FORMAT '{{ table.formatType }}' ({{ table.formatOptions }}) -{% if table.options and table.options|length > 0 %} -OPTIONS ( -{{ table.options }} -) -{% endif %} -ENCODING '{{ table.pgEncodingToChar }}' -{% if table.rejectLimit and table.rejectLimit > 0 %} -{% if table.errorTableName and table.errorTableName|length > 0 %} -LOG ERRORS {% endif %}SEGMENT REJECT LIMIT {{ table.rejectLimit }} {{ rejectionLimit }} -{% endif %} -{% if table.writable and table.distribution %} -DISTRIBUTED BY ({% for attrnum in table.distribution %}{% if loop.index != 1 %}, {% endif %}{{ table.columns[attrnum-1].name }}{% endfor %}); -{% elif table.writable %} -DISTRIBUTED RANDOMLY; -{% else %}; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_columns.sql deleted file mode 100644 index 9b8589ad7..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_columns.sql +++ /dev/null @@ -1,12 +0,0 @@ -SELECT - a.attname AS name, format_type(a.atttypid, NULL) AS cltype, - quote_ident(n.nspname)||'.'||quote_ident(c.relname) as inheritedfrom, - c.oid as inheritedid -FROM - pg_class c -JOIN - pg_namespace n ON c.relnamespace=n.oid -JOIN - pg_attribute a ON a.attrelid = c.oid AND NOT a.attisdropped AND a.attnum > 0 -WHERE - c.oid = {{ table_oid }}::OID diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_table_information.sql b/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_table_information.sql deleted file mode 100644 index 50420ea3d..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/get_table_information.sql +++ /dev/null @@ -1,22 +0,0 @@ -SELECT x.urilocation, x.execlocation, x.fmttype, x.fmtopts, x.command, - x.rejectlimit, x.rejectlimittype, - (SELECT relname - FROM pg_catalog.pg_class - WHERE Oid=x.fmterrtbl) AS errtblname, - x.fmterrtbl = x.reloid AS errortofile , - pg_catalog.pg_encoding_to_char(x.encoding), - x.writable, - array_to_string(ARRAY( - SELECT pg_catalog.quote_ident(option_name) || ' ' || - pg_catalog.quote_literal(option_value) - FROM pg_options_to_table(x.options) - ORDER BY option_name - ), E',\n ') AS options, - gdp.attrnums AS distribution, - c.relname AS name, - nsp.nspname AS namespace -FROM pg_catalog.pg_exttable x, - pg_catalog.pg_class c - LEFT JOIN pg_catalog.pg_namespace nsp ON nsp.oid = c.relnamespace - LEFT JOIN gp_distribution_policy gdp ON gdp.localoid = c.oid -WHERE x.reloid = c.oid AND c.oid = {{ table_oid }}::oid; diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/list.sql b/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/list.sql deleted file mode 100644 index 7490583fa..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/list.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT pg_class.oid, relname as name -FROM pg_class -LEFT JOIN pg_namespace ON pg_namespace.oid=pg_class.relnamespace::oid -WHERE relkind = 'r' - AND relstorage = 'x' - AND pg_namespace.nspname not like 'gp_toolkit'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/node.sql b/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/node.sql deleted file mode 100644 index 87cb86f9a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/templates/sql/gpdb_5.0_plus/node.sql +++ /dev/null @@ -1,5 +0,0 @@ -SELECT pg_class.oid, relname as name -FROM pg_class -WHERE relkind = 'r' - AND relstorage = 'x' - AND pg_class.oid = {{ external_table_id }}::oid; diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_module.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_module.py deleted file mode 100644 index 26853f0cb..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_module.py +++ /dev/null @@ -1,101 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -from pgadmin.browser.server_groups.servers\ - .databases.external_tables import ExternalTablesModule -from pgadmin.utils.route import BaseTestGenerator -from unittest.mock import MagicMock, Mock - - -class TestExternalTablesModule(BaseTestGenerator): - scenarios = [ - ('#backend_supported When access the on a Postgresql Database, ' - 'it returns false', - dict( - test_type='backend-support', - manager=dict( - server_type='pg', - sversion=90100 - ), - expected_result=False, - )), - ('#backend_supported When access the on a Postgres Plus Advance ' - 'Server Database, it returns false', - dict( - test_type='backend-support', - manager=dict( - server_type='ppas', - sversion=90100 - ), - expected_result=False, - )), - ('#backend_supported When access the on a GreenPlum Database, ' - 'it returns true', - dict( - test_type='backend-support', - manager=dict( - server_type='gpdb', - sversion=82303 - ), - expected_result=True - )), - ('#get_nodes when trying to retrieve the node, ' - 'it should return true', - dict( - test_type='get-nodes', - function_parameters=dict( - gid=10, - sid=11, - did=12, - ), - expected_generate_browser_collection_node_called_with=12 - )), - ('#get_module_use_template_javascript when checking if need to ' - 'generate javascript from template, ' - 'it should return false', - dict( - test_type='template-javascript', - expected_result=False - )) - ] - - def runTest(self): - if self.test_type == 'backend-support': - self.__test_backend_support() - elif self.test_type == 'get-nodes': - self.__test_get_nodes() - elif self.test_type == 'template-javascript': - self.__test_template_javascript() - - def __test_backend_support(self): - manager = MagicMock() - manager.sversion = self.manager['sversion'] - manager.server_type = self.manager['server_type'] - module = ExternalTablesModule('something') - self.assertEqual( - self.expected_result, - module.backend_supported(manager) - ) - - def __test_get_nodes(self): - module = ExternalTablesModule('something') - module.generate_browser_collection_node = Mock() - - result = module.get_nodes(**self.function_parameters) - next(result) - - module.generate_browser_collection_node.assert_called_with( - self.expected_generate_browser_collection_node_called_with - ) - - def __test_template_javascript(self): - module = ExternalTablesModule('something') - self.assertEqual( - self.expected_result, - module.module_use_template_javascript) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py deleted file mode 100644 index 770275f04..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py +++ /dev/null @@ -1,430 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -import os - -from pgadmin.browser.server_groups.servers.databases.external_tables import \ - ExternalTablesView -from pgadmin.utils.route import BaseTestGenerator -from unittest.mock import MagicMock, patch - - -class TestExternalTablesView(BaseTestGenerator): - scenarios = [ - ('#check_precondition When executing any http call, ' - 'it saves stores the connection and the manager in the class object', - dict( - test_type='check-precondition', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - ), - manager=MagicMock(), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict(rows=[])), - expected_manager_connection_to_be_called_with=dict( - did=2 - ), - )), - ('#nodes When retrieving the children of external tables, ' - 'it return no child ' - 'and status 200', - dict( - test_type='children', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - ), - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict(rows=[])), - - expected_make_json_response_called_with=dict(data=[]), - )), - ('#nodes When retrieving the nodes ' - 'and the database does not have external tables, ' - 'it return no child nodes ' - 'and status 200', - dict( - test_type='nodes', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - ), - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict(rows=[])), - - expect_render_template_called_with=os.path.join( - 'sql/#gpdb#80323#', 'list.sql'), - expected_make_json_response_called_with=dict( - data=[], - status=200 - ), - )), - ('#nodes When retrieving the nodes ' - 'and an error happens while executing the query, ' - 'it return an internal server error ' - 'and status 500', - dict( - test_type='nodes', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - ), - - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(False, 'Some error message'), - - expect_render_template_called_with=os.path.join( - 'sql/#gpdb#80323#', 'list.sql'), - expected_internal_server_error_called_with=dict( - errormsg='Some error message' - ), - )), - ('#nodes When retrieving the nodes ' - 'and the database has 2 external tables, ' - 'it return 2 child nodes ' - 'and status 200', - dict( - test_type='nodes', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - ), - - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict( - rows=[ - dict( - oid='oid1', - name='table_one' - ), - dict( - oid='oid2', - name='table_two' - ), - ] - )), - - expect_render_template_called_with=os.path.join( - 'sql/#gpdb#80323#', 'list.sql'), - expected_make_json_response_called_with=dict( - data=[ - { - 'id': "external_table/oid1", - 'label': 'table_one', - 'icon': 'icon-external_table', - 'inode': False, - '_type': 'external_table', - '_id': 'oid1', - '_pid': 2, - 'module': 'pgadmin.node.external_table' - }, - { - 'id': "external_table/oid2", - 'label': 'table_two', - 'icon': 'icon-external_table', - 'inode': False, - '_type': 'external_table', - '_id': 'oid2', - '_pid': 2, - 'module': 'pgadmin.node.external_table' - } - ], - status=200 - ), - )), - ('#node When retrieving the information about 1 external table ' - 'and an error happens while executing the query, ' - 'it return an internal server error ' - 'and status 500', - dict( - test_type='node', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - external_table_id=11 - ), - - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(False, 'Some error message'), - - expect_render_template_called_with=dict( - template_name_or_list=os.path.join( - 'sql/#gpdb#80323#', 'node.sql'), - external_table_id=11 - ), - expected_internal_server_error_called_with=dict( - errormsg='Some error message' - ), - )), - ('#node When retrieving the information about 1 external table ' - 'and table does not exist, ' - 'it return an error message ' - 'and status 404', - dict( - test_type='node', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - external_table_id=11 - ), - - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict(rows=[])), - - expect_render_template_called_with=dict( - template_name_or_list=os.path.join( - 'sql/#gpdb#80323#', 'node.sql'), - external_table_id=11 - ), - expected_make_json_response_called_with=dict( - data='Could not find the external table.', - status=404 - ), - )), - ('#nodes When retrieving the information about 1 external table ' - 'and the table exists, ' - 'it return external node information ' - 'and status 200', - dict( - test_type='node', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - external_table_id=11 - ), - - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict( - rows=[ - dict( - oid='oid1', - name='table_one' - ), - dict( - oid='oid2', - name='table_two' - ), - ] - )), - - expect_render_template_called_with=dict( - template_name_or_list=os.path.join( - 'sql/#gpdb#80323#', 'node.sql'), - external_table_id=11 - ), - expected_make_json_response_called_with=dict( - data={ - 'id': "external_table/oid1", - 'label': 'table_one', - 'icon': 'icon-external_table', - 'inode': False, - '_type': 'external_table', - '_id': 'oid1', - '_pid': 2, - 'module': 'pgadmin.node.external_table' - }, - status=200 - ), - )), - ('#properties When retrieving the properties of a external table ' - 'and the table exists, ' - 'it return the properties ' - 'and status 200', - dict( - test_type='properties', - function_parameters=dict( - server_group_id=0, - server_id=1, - database_id=2, - external_table_id=11 - ), - - manager=MagicMock(server_type='gpdb', sversion=80323), - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict( - rows=[dict( - urilocation='{http://someurl.com}', - execlocation=['ALL_SEGMENTS'], - fmttype='a', - fmtopts='delimiter \',\' null \'\' ' - 'escape \'"\' quote \'"\'', - command=None, - rejectlimit=None, - rejectlimittype=None, - errtblname=None, - errortofile=None, - pg_encoding_to_char='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table', - namespace='public' - )] - )), - - expect_render_template_called_with=dict( - template_name_or_list=os.path.join( - 'sql/#gpdb#80323#', 'get_table_information.sql'), - table_oid=11 - ), - expected_make_response_called_with=dict( - response=dict( - name="some_table", - type='readable', - format_type='UTF8', - format_options='delimiter \',\' null \'\' ' - 'escape \'"\' quote \'"\'', - external_options=None, - command=None, - execute_on='all segments', - ), - status=200 - ), - )), - ] - - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.get_driver') - def runTest(self, get_driver_mock): - self.__before_all(get_driver_mock) - - if self.test_type == 'check-precondition': - self.__test_backend_support() - elif self.test_type == 'nodes': - self.__test_nodes() - elif self.test_type == 'node': - self.__test_node() - elif self.test_type == 'children': - self.__test_children() - elif self.test_type == 'properties': - self.__test_properties() - - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.make_json_response') - def __test_children(self, make_json_response_mock): - self.manager.connection = MagicMock(return_value=self.connection) - external_tables_view = ExternalTablesView(cmd='') - external_tables_view.children(**self.function_parameters) - make_json_response_mock.assert_called_with( - **self.expected_make_json_response_called_with - ) - - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.render_template') - def __test_backend_support(self, _): - self.manager.connection = MagicMock(return_value=self.connection) - external_tables_view = ExternalTablesView(cmd='') - external_tables_view.nodes(**self.function_parameters) - self.manager.connection.assert_called_with( - **self.expected_manager_connection_to_be_called_with - ) - self.assertEqual(self.manager, external_tables_view.manager) - self.assertEqual(self.connection, external_tables_view.connection) - - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.render_template') - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.make_json_response') - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.internal_server_error') - def __test_nodes(self, internal_server_error_mock, - make_json_response_mock, render_template_mock): - external_tables_view = ExternalTablesView(cmd='') - external_tables_view.nodes(**self.function_parameters) - if hasattr(self, 'expected_internal_server_error_called_with'): - internal_server_error_mock.assert_called_with( - **self.expected_internal_server_error_called_with - ) - else: - internal_server_error_mock.assert_not_called() - if hasattr(self, 'expected_make_json_response_called_with'): - make_json_response_mock.assert_called_with( - **self.expected_make_json_response_called_with - ) - else: - make_json_response_mock.assert_not_called() - render_template_mock.assert_called_with( - self.expect_render_template_called_with - ) - - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.render_template') - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.make_json_response') - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.internal_server_error') - def __test_node(self, internal_server_error_mock, - make_json_response_mock, render_template_mock): - external_tables_view = ExternalTablesView(cmd='') - external_tables_view.node(**self.function_parameters) - if hasattr(self, 'expected_internal_server_error_called_with'): - internal_server_error_mock.assert_called_with( - **self.expected_internal_server_error_called_with - ) - else: - internal_server_error_mock.assert_not_called() - if hasattr(self, 'expected_make_json_response_called_with'): - make_json_response_mock.assert_called_with( - **self.expected_make_json_response_called_with - ) - else: - make_json_response_mock.assert_not_called() - render_template_mock.assert_called_with( - **self.expect_render_template_called_with - ) - - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.render_template') - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.make_response') - @patch('pgadmin.browser.server_groups.servers.databases.external_tables' - '.internal_server_error') - def __test_properties(self, internal_server_error_mock, - make_response_mock, render_template_mock): - external_tables_view = ExternalTablesView(cmd='') - external_tables_view.properties(**self.function_parameters) - if hasattr(self, 'expected_internal_server_error_called_with'): - internal_server_error_mock.assert_called_with( - **self.expected_internal_server_error_called_with - ) - else: - internal_server_error_mock.assert_not_called() - if hasattr(self, 'expected_make_response_called_with'): - make_response_mock.assert_called_with( - **self.expected_make_response_called_with - ) - else: - make_response_mock.assert_not_called() - render_template_mock.assert_called_with( - **self.expect_render_template_called_with - ) - - def __before_all(self, get_driver_mock): - self.connection.execute_2darray.return_value = \ - self.execute_2darray_return_value - self.manager.connection = MagicMock(return_value=self.connection) - get_driver_mock.return_value = MagicMock( - connection_manager=MagicMock(return_value=self.manager) - ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_mapping_utils.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_mapping_utils.py deleted file mode 100644 index 260819842..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_mapping_utils.py +++ /dev/null @@ -1,375 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## -from pgadmin.browser.server_groups.servers.databases \ - .external_tables.mapping_utils import \ - map_column_from_database, map_table_information_from_database, \ - is_web_table, format_options, map_execution_location, map_format_type -from pgadmin.utils.route import BaseTestGenerator - - -class TestMappingUtils(BaseTestGenerator): - scenarios = [ - ('#map_column_from_database When retrieving columns from table, ' - 'it returns only the name and type', - dict( - test_type='map_column_from_database', - function_arguments=dict(column_information=dict( - name='some name', - cltype='some type', - other_column='some other column' - )), - expected_result=dict(name='some name', type='some type') - )), - - ('#map_table_information_from_database When retrieving information ' - 'from web table, ' - 'it returns all fields', - dict( - test_type='map_table_information_from_database', - function_arguments=dict(table_information=dict( - urilocation='{http://someurl.com}', - execlocation=['ALL_SEGMENTS'], - fmttype='b', - fmtopts='delimiter \',\' null \'\' escape \'"\' quote \'"\'', - command=None, - rejectlimit=None, - rejectlimittype=None, - errtblname=None, - errortofile=None, - pg_encoding_to_char='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table_name', - namespace='some_name_space' - )), - expected_result=dict( - uris=['http://someurl.com'], - isWeb=True, - executionLocation=dict(type='all_segments', value=None), - formatType='custom', - formatOptions='delimiter = $$,$$,escape = $$"$$,' - 'null = $$$$,quote = $$"$$', - command=None, - rejectLimit=None, - rejectLimitType=None, - errorTableName=None, - erroToFile=None, - pgEncodingToChar='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table_name', - namespace='some_name_space' - ) - )), - ('#map_table_information_from_database When retrieving information ' - 'from a web table using command instead of URIs, ' - 'it returns all fields', - dict( - test_type='map_table_information_from_database', - function_arguments=dict(table_information=dict( - urilocation=None, - execlocation=['ALL_SEGMENTS'], - fmttype='b', - fmtopts='delimiter \',\' null \'\' escape \'"\' quote \'"\'', - command='cat /tmp/places || echo \'error\'', - rejectlimit=None, - rejectlimittype=None, - errtblname=None, - errortofile=None, - pg_encoding_to_char='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table_name', - namespace='some_name_space' - )), - expected_result=dict( - uris=None, - isWeb=True, - executionLocation=dict(type='all_segments', value=None), - formatType='custom', - formatOptions='delimiter = $$,$$,escape = $$"$$,' - 'null = $$$$,quote = $$"$$', - command='cat /tmp/places || echo \'error\'', - rejectLimit=None, - rejectLimitType=None, - errorTableName=None, - erroToFile=None, - pgEncodingToChar='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table_name', - namespace='some_name_space' - ) - )), - ('#map_table_information_from_database When retrieving information ' - 'from a none web table, ' - 'it returns all fields', - dict( - test_type='map_table_information_from_database', - function_arguments=dict(table_information=dict( - urilocation='{gpfdist://filehost:8081/*.csv}', - execlocation=['ALL_SEGMENTS'], - fmttype='b', - fmtopts='delimiter \',\' null \'\' escape \'"\' quote \'"\'', - command=None, - rejectlimit=None, - rejectlimittype=None, - errtblname=None, - errortofile=None, - pg_encoding_to_char='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table_name', - namespace='some_name_space' - )), - expected_result=dict( - uris=['gpfdist://filehost:8081/*.csv'], - isWeb=False, - executionLocation=dict(type='all_segments', value=None), - formatType='custom', - formatOptions='delimiter = $$,$$,escape = $$"$$,' - 'null = $$$$,quote = $$"$$', - command=None, - rejectLimit=None, - rejectLimitType=None, - errorTableName=None, - erroToFile=None, - pgEncodingToChar='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table_name', - namespace='some_name_space' - ) - )), - - - ('#is_web_table When url starts with http ' - 'and command is None ' - 'it returns true', - dict( - test_type='is_web_table', - function_arguments=dict( - uris='{http://someurl.com}', - command=None - ), - expected_result=True - )), - ('#is_web_table When url starts with https ' - 'and command is None, ' - 'it returns true', - dict( - test_type='is_web_table', - function_arguments=dict( - uris='{https://someurl.com}', - command=None - ), - expected_result=True - )), - ('#is_web_table When url starts with s3 ' - 'and command is None' - 'it returns false', - dict( - test_type='is_web_table', - function_arguments=dict(uris='{s3://someurl.com}', command=None), - expected_result=False - )), - ('#is_web_table When url is None ' - 'and command is not None' - 'it returns false', - dict( - test_type='is_web_table', - function_arguments=dict(uris=None, command='Some command'), - expected_result=True - )), - - - ('#map_execution_location When value is "HOST: 1.1.1.1", ' - 'it returns {type: "host", value: "1.1.1.1"}', - dict( - test_type='map_execution_location', - function_arguments=dict(execution_location=['HOST: 1.1.1.1']), - expected_result=dict(type='host', value='1.1.1.1') - )), - ('#map_execution_location When value is "PER_HOST", ' - 'it returns {type: "per_host", value: None}', - dict( - test_type='map_execution_location', - function_arguments=dict(execution_location=['PER_HOST']), - expected_result=dict(type='per_host', value=None) - )), - ('#map_execution_location When value is "MASTER_ONLY", ' - 'it returns {type: "master_only", value: None}', - dict( - test_type='map_execution_location', - function_arguments=dict(execution_location=['MASTER_ONLY']), - expected_result=dict(type='master_only', value=None) - )), - ('#map_execution_location When value is "SEGMENT_ID: 1234", ' - 'it returns {type: "segment", value: "1234"}', - dict( - test_type='map_execution_location', - function_arguments=dict(execution_location=['SEGMENT_ID: 1234']), - expected_result=dict(type='segment', value='1234') - )), - ('#map_execution_location When value is "TOTAL_SEGS: 4", ' - 'it returns {type: "segments", value: "4"}', - dict( - test_type='map_execution_location', - function_arguments=dict(execution_location=['TOTAL_SEGS: 4']), - expected_result=dict(type='segments', value='4') - )), - ('#map_execution_location When value is "{ALL_SEGMENTS}", ' - 'it returns {type: "all_segments", value: None}', - dict( - test_type='map_execution_location', - function_arguments=dict(execution_location=['ALL_SEGMENTS']), - expected_result=dict(type='all_segments', value=None) - )), - - ('#map_format_type When value is "c", ' - 'it returns csv', - dict( - test_type='map_format_type', - function_arguments=dict(format_type='c'), - expected_result='csv' - )), - ('#map_format_type When value is "something strange", ' - 'it returns csv', - dict( - test_type='map_format_type', - function_arguments=dict(format_type='something strange'), - expected_result='csv' - )), - ('#map_format_type When value is "b", ' - 'it returns custom', - dict( - test_type='map_format_type', - function_arguments=dict(format_type='b'), - expected_result='custom' - )), - ('#map_format_type When value is "t", ' - 'it returns text', - dict( - test_type='map_format_type', - function_arguments=dict(format_type='t'), - expected_result='text' - )), - ('#map_format_type When value is "a", ' - 'it returns avro', - dict( - test_type='map_format_type', - function_arguments=dict(format_type='a'), - expected_result='avro' - )), - ('#map_format_type When value is "p", ' - 'it returns parquet', - dict( - test_type='map_format_type', - function_arguments=dict(format_type='p'), - expected_result='parquet' - )), - - ('#format_options passing None, ' - 'it returns None', - dict( - test_type='format_options', - function_arguments=dict(format_type='avro', options=None), - expected_result=None - )), - ('#format_options passing empty string, ' - 'it returns empty string', - dict( - test_type='format_options', - function_arguments=dict(format_type='parquet', options=''), - expected_result='' - )), - ('#format_options passing "formatter \'fixedwidth_in\' null \' \'", ' - 'it returns "formatter = $$fixedwidth_in$$,null = $$ $$"', - dict( - test_type='format_options', - function_arguments=dict(format_type='custom', - options='formatter \'fixedwidth_in\' ' - 'null \' \''), - expected_result='formatter = $$fixedwidth_in$$,null = $$ $$' - )), - ('#format_options passing ' - '"formatter \'fixedwidth_in\' comma \'\'\' null \' \'", ' - 'it returns ' - '"formatter = $$fixedwidth_in$$,comma = $$\'$$,null = $$ $$"', - dict( - test_type='format_options', - function_arguments=dict(format_type='custom', - options='formatter \'fixedwidth_in\' ' - 'comma \'\'\' null \' \''), - expected_result='comma = $$\'$$,formatter = $$fixedwidth_in$$,' - 'null = $$ $$' - )), - ('#format_options passing ' - '"formatter \'fixedwidth_in\' null \' \' preserve_blanks ' - '\'on\' comma \'\\\'\'", ' - 'it returns ' - '"formatter = $$fixedwidth_in$$,null = $$ $$,preserve_blanks = ' - '$$on$$,comma = $$\'$$"', - dict( - test_type='format_options', - function_arguments=dict(format_type='custom', - options='formatter \'fixedwidth_in\' ' - 'null \' \' ' - 'preserve_blanks \'on\' ' - 'comma \'\'\''), - expected_result='comma = $$\'$$,formatter = $$fixedwidth_in$$,' - 'null = $$ $$,' - 'preserve_blanks = $$on$$' - )), - ('#format_options When format type is text ' - 'it returns escaped string', - dict( - test_type='format_options', - function_arguments=dict(format_type='text', - options='something \'strange\' ' - 'other \'\'\''), - expected_result='other $$\'$$ ' - 'something $$strange$$' - - )), - ('#format_options When format type is csv ' - 'it returns escaped string', - dict( - test_type='format_options', - function_arguments=dict(format_type='csv', - options='something \'strange\' ' - 'other \'\'\''), - expected_result='other $$\'$$ ' - 'something $$strange$$' - - )) - ] - - def runTest(self): - result = None - if self.test_type == 'map_column_from_database': - result = map_column_from_database(**self.function_arguments) - elif self.test_type == 'map_table_information_from_database': - result = map_table_information_from_database( - **self.function_arguments) - elif self.test_type == 'map_execution_location': - result = map_execution_location(**self.function_arguments) - elif self.test_type == 'map_format_type': - result = map_format_type(**self.function_arguments) - elif self.test_type == 'is_web_table': - result = is_web_table(**self.function_arguments) - elif self.test_type == 'format_options': - result = format_options(**self.function_arguments) - self.assertEqual(result, self.expected_result) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_properties.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_properties.py deleted file mode 100644 index ece14ec64..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_properties.py +++ /dev/null @@ -1,151 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -from pgadmin.browser.server_groups.servers.databases \ - .external_tables import Properties -from pgadmin.browser.server_groups.servers.databases.external_tables \ - .properties import PropertiesException, PropertiesTableNotFoundException -from pgadmin.utils.route import BaseTestGenerator -from unittest.mock import MagicMock, patch - - -class TestProperties(BaseTestGenerator): - scenarios = [ - ('#properties When retrieving the properties of a external table ' - 'and the table exists, ' - 'it return the properties ', - dict( - test_type='properties', - function_parameters=dict( - table_oid=11 - ), - - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict( - rows=[dict( - urilocation='{http://someurl.com}', - execlocation=['ALL_SEGMENTS'], - fmttype='a', - fmtopts='delimiter \',\' null \'\' ' - 'escape \'"\' quote \'"\'', - command=None, - rejectlimit=None, - rejectlimittype=None, - errtblname=None, - errortofile=None, - pg_encoding_to_char='UTF8', - writable=False, - options=None, - distribution=None, - name='some_table', - namespace='public' - )] - )), - - expect_render_template_called_with=dict( - template_name_or_list='some/sql/location/' - 'get_table_information.sql', - table_oid=11 - ), - expected_result=dict( - name="some_table", - type='readable', - format_type='UTF8', - format_options='delimiter \',\' null \'\' ' - 'escape \'"\' quote \'"\'', - external_options=None, - command=None, - execute_on='all segments', - ), - )), - ('#properties When retrieving the properties of a external table ' - 'and a SQL error happens, ' - 'it raises exception with the error message', - dict( - test_type='properties', - function_parameters=dict( - table_oid=11 - ), - - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(False, 'Some error'), - - expect_render_template_called_with=dict( - template_name_or_list='some/sql/location/' - 'get_table_information.sql', - table_oid=11 - ), - expected_raise_exception=PropertiesException, - expected_internal_server_error_called_with=['Some error'] - )), - ('#properties When retrieving the properties of a external table ' - 'and table is not found, ' - 'it raises exception ', - dict( - test_type='properties', - function_parameters=dict( - table_oid=11 - ), - - connection=MagicMock(execute_2darray=MagicMock()), - execute_2darray_return_value=(True, dict(rows=[])), - - expect_render_template_called_with=dict( - template_name_or_list='some/sql/location/' - 'get_table_information.sql', - table_oid=11 - ), - expected_raise_exception=PropertiesTableNotFoundException - )), - ] - - def runTest(self): - self.connection.execute_2darray.return_value = \ - self.execute_2darray_return_value - self.__test_properties() - - @patch('pgadmin.browser.server_groups.servers.databases' - '.external_tables.properties.internal_server_error') - def __test_properties(self, internal_server_error_mock): - self.maxDiff = None - render_template_mock = MagicMock() - - external_tables_view = Properties( - render_template_mock, - self.connection, - 'some/sql/location/' - ) - - result = None - - try: - result = external_tables_view.retrieve(**self.function_parameters) - if hasattr(self, 'expected_raise_exception'): - self.fail('No exception was raised') - except PropertiesException as exception: - if hasattr(self, 'expected_raise_exception'): - if isinstance(exception, self.expected_raise_exception): - if hasattr(self, - 'expected_internal_server_error_called_with'): - internal_server_error_mock.assert_called_with( - *self.expected_internal_server_error_called_with - ) - else: - internal_server_error_mock.assert_not_called() - else: - self.fail('Wrong exception type: ' + str(exception)) - else: - raise exception - - if hasattr(self, 'expected_result'): - self.assertEqual(result, self.expected_result) - - render_template_mock.assert_called_with( - **self.expect_render_template_called_with - ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_reverse_engineer_ddl.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_reverse_engineer_ddl.py deleted file mode 100644 index 334a1353e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_reverse_engineer_ddl.py +++ /dev/null @@ -1,255 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -from pgadmin.browser.server_groups.servers.databases \ - .external_tables.reverse_engineer_ddl import \ - ReverseEngineerDDL, ReverseEngineerDDLException -from pgadmin.utils.route import BaseTestGenerator -from unittest.mock import MagicMock - - -class TestReverseEngineerDDL(BaseTestGenerator): - scenarios = [ - ('#execute When retriving the DDL for the creation of external ' - 'tables, ' - 'it retrieves information of the columns and the tables ' - 'and generate the SQL to create the table', - dict( - test_type='execute', - function_parameters=dict(table_oid=14), - find_columns_return_value=dict(somevalue='value'), - table_information_return_value=dict(someother='bamm'), - - expect_find_columns_called_with=14, - expect_table_information_called_with=14, - expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/create.sql', - table=dict( - someother='bamm', - columns=dict(somevalue='value') - ) - ) - )), - ('#find_columns When an external table exists, ' - 'and have 3 columns, ' - 'it returns a list with 1 object that as the table name to inherit ' - 'from', - dict( - test_type='find_columns', - function_parameters={'table_oid': 123}, - execute_2darray_return_value=(True, dict(rows=[ - { - 'name': 'column_1', - 'cltype': 'text', - 'inheritedFrom': 'other_table', - 'inheritedid': '1234', - }, { - 'name': 'column_2', - 'cltype': 'int', - 'inheritedFrom': 'other_table', - 'inheritedid': '1234', - }, { - 'name': 'column_3', - 'cltype': 'numeric', - 'inheritedFrom': 'other_table', - 'inheritedid': '1234', - } - ])), - - expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/get_columns.sql', - table_oid=123 - ), - expected_result=[ - { - 'name': 'column_1', - 'type': 'text' - }, - { - 'name': 'column_2', - 'type': 'int' - }, - { - 'name': 'column_3', - 'type': 'numeric' - }, - ], - )), - ('#find_columns When error happens while retrieving ' - 'column information, ' - 'it raise an exception', - dict( - test_type='find_columns', - function_parameters={'table_oid': 123}, - execute_2darray_return_value=(False, 'Some error message'), - - expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/get_columns.sql', - table_oid=123 - ), - expected_exception=ReverseEngineerDDLException( - 'Some error message'), - ) - ), - ('#table_information When error happens while retrieving ' - 'table generic information, ' - 'it raise an exception', - dict( - test_type='table_information', - function_parameters={'table_oid': 123}, - execute_2darray_return_value=(False, 'Some error message'), - - expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/' - 'get_table_information.sql', - table_oid=123 - ), - expected_exception=ReverseEngineerDDLException( - 'Some error message'), - ) - ), - ('#table_information When cannot find the table, ' - 'it raise an exception', - dict( - test_type='table_information', - function_parameters={'table_oid': 123}, - execute_2darray_return_value=(True, {'rows': []}), - - expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/' - 'get_table_information.sql', - table_oid=123 - ), - expected_exception=ReverseEngineerDDLException( - 'Table not found'), - )), - ('#table_information When retrieving generic information ' - 'about a Web table, ' - 'it returns the table information', - dict( - test_type='table_information', - function_parameters={'table_oid': 123}, - execute_2darray_return_value=(True, dict(rows=[ - { - 'urilocation': '{http://someurl.com}', - 'execlocation': ['ALL_SEGMENTS'], - 'fmttype': 'a', - 'fmtopts': 'delimiter \',\' null \'\' ' - 'escape \'"\' quote \'"\'', - 'command': None, - 'rejectlimit': None, - 'rejectlimittype': None, - 'errtblname': None, - 'errortofile': None, - 'pg_encoding_to_char': 'UTF8', - 'writable': False, - 'options': None, - 'distribution': None, - 'name': 'some_table', - 'namespace': 'public' - } - ])), - - expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/' - 'get_table_information.sql', - table_oid=123 - ), - expected_result={ - 'uris': ['http://someurl.com'], - 'isWeb': True, - 'executionLocation': dict(type='all_segments', value=None), - 'formatType': 'avro', - 'formatOptions': 'delimiter = $$,$$,escape = $$"$$,' - 'null = $$$$,quote = $$"$$', - 'command': None, - 'rejectLimit': None, - 'rejectLimitType': None, - 'errorTableName': None, - 'erroToFile': None, - 'pgEncodingToChar': 'UTF8', - 'writable': False, - 'options': None, - 'distribution': None, - 'name': 'some_table', - 'namespace': 'public' - }, - )), - ] - - def __init__(self, *args, **kwargs): - super(TestReverseEngineerDDL, self).__init__(*args, **kwargs) - self.connection = None - self.subject = None - self.render_template_mock = None - - def runTest(self): - self.render_template_mock = MagicMock() - self.connection = MagicMock(execute_2darray=MagicMock()) - if hasattr(self, 'execute_2darray_return_value'): - self.connection.execute_2darray.return_value = \ - self.execute_2darray_return_value - self.subject = ReverseEngineerDDL( - 'sql/#gpdb#80323#/', - self.render_template_mock, - self.connection, - 1, 2, 3) - if self.test_type == 'find_columns': - self.__test_find_columns() - elif self.test_type == 'table_information': - self.__test_table_information() - elif self.test_type == 'execute': - self.__test_execute() - - def __test_find_columns(self): - if hasattr(self, 'expected_exception'): - try: - self.subject.find_columns(**self.function_parameters) - self.fail('Exception not raise') - except ReverseEngineerDDLException as exception: - self.assertEqual(str(exception), - str(self.expected_exception)) - else: - result = self.subject.find_columns(**self.function_parameters) - self.assertEqual(self.expected_result, result) - - self.render_template_mock.assert_called_with( - **self.expect_render_template_called_with - ) - - def __test_table_information(self): - if hasattr(self, 'expected_exception'): - try: - self.subject.table_information(**self.function_parameters) - self.fail('Exception not raise') - except ReverseEngineerDDLException as exception: - self.assertEqual(str(exception), - str(self.expected_exception)) - else: - result = self.subject.table_information(**self.function_parameters) - self.assertEqual(self.expected_result, result) - - self.render_template_mock.assert_called_with( - **self.expect_render_template_called_with - ) - - def __test_execute(self): - self.subject.find_columns = MagicMock( - return_value=self.find_columns_return_value) - self.subject.table_information = MagicMock( - return_value=self.table_information_return_value) - - self.subject.execute(**self.function_parameters) - - self.subject.find_columns.assert_called_with( - self.expect_find_columns_called_with) - self.subject.table_information.assert_called_with( - self.expect_table_information_called_with) - self.render_template_mock.assert_called_with( - **self.expect_render_template_called_with) diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_sql_template_create_integration.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_sql_template_create_integration.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/__init__.py index c994b40ba..5adcf4de0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/__init__.py @@ -65,7 +65,6 @@ class ForeignDataWrapperModule(CollectionNodeModule): self.max_ver = None super(ForeignDataWrapperModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index bfe66f150..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'datacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_add.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_add.py index 8d9fb4b69..abf7acd5b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_add.py @@ -28,7 +28,6 @@ class ForeignServerAddTestCase(BaseTestGenerator): """ This class will add foreign server under database node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_create', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete.py index df31149de..78111c1f1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete.py @@ -23,7 +23,6 @@ from unittest.mock import patch class ForeignServerDeleteTestCase(BaseTestGenerator): """This class will delete foreign server under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_delete', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete_multiple.py index 929995c69..3e82e79f9 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete_multiple.py @@ -23,7 +23,6 @@ from . import utils as fsrv_utils class ForeignServerDeleteMultipleTestCase(BaseTestGenerator): """This class will delete foreign server under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_multiple_delete', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_dependent_dependency.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_dependent_dependency.py index 9fd088ac2..c0da1cb3d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_dependent_dependency.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_dependent_dependency.py @@ -23,7 +23,6 @@ from . import utils as fsrv_utils class ForeignServerDependentsAndDependencyTestCase(BaseTestGenerator): """ This class will fetch added foreign server dependency and dependent under test database. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_dependent_dependency', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_get.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_get.py index 0ede5bf8e..9fb9e99d8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_get.py @@ -25,7 +25,6 @@ from unittest.mock import patch class ForeignServerGetTestCase(BaseTestGenerator): """This class will get foreign server properties under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_get', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_msql.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_msql.py index 62b72fb0a..34654652b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_msql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_msql.py @@ -24,7 +24,6 @@ from . import utils as fsrv_utils class ForeignServerGetSQLTestCase(BaseTestGenerator): """This class will fetch foreign server msql under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_get_msql', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_node.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_node.py index 51fc23bfd..a7700ea32 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_node.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_node.py @@ -23,7 +23,6 @@ from unittest.mock import patch class ForeignServerGetNodeTestCase(BaseTestGenerator): """This class will update foreign server node under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_get_nodes', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_put.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_put.py index 1206abaeb..008db84f3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_put.py @@ -26,7 +26,6 @@ from unittest.mock import patch class ForeignServerPutTestCase(BaseTestGenerator): """This class will add foreign server under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_update', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_sql.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_sql.py index 353c7f195..e795b506a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_sql.py @@ -25,7 +25,6 @@ from unittest.mock import patch class ForeignServerGetSQLTestCase(BaseTestGenerator): """This class will add foreign server under FDW node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('foreign_server_get_sql', fsrv_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_add.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_add.py index 0e3b39273..49c4a6a46 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_add.py @@ -28,7 +28,6 @@ from unittest.mock import patch class UserMappingAddTestCase(BaseTestGenerator): """This class will add user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_create', user_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete.py index 3342d4d19..fde064957 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete.py @@ -27,7 +27,6 @@ from unittest.mock import patch class UserMappingDeleteTestCase(BaseTestGenerator): """This class will delete user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_delete', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete_multiple.py index 13c06359b..766bac939 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_delete_multiple.py @@ -27,7 +27,6 @@ from . import utils as um_utils class UserMappingDeleteMultipleTestCase(BaseTestGenerator): """This class will delete user mappings under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_multiple_delete', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_dependent_dependency.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_dependent_dependency.py index 32ffcdb3b..b791cc88e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_dependent_dependency.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_dependent_dependency.py @@ -29,7 +29,6 @@ class UserMappingDependentsAndDependencyTestCase(BaseTestGenerator): """ This class will fetch added user mapping dependency and dependent under test database. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_dependent_dependency', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_get.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_get.py index 571fd8ab9..d3457f839 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_get.py @@ -27,7 +27,6 @@ from unittest.mock import patch class UserMappingGetTestCase(BaseTestGenerator): """This class will add user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_get', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_msql.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_msql.py index 926d23cb4..6ab1349e3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_msql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_msql.py @@ -26,7 +26,6 @@ from . import utils as um_utils class UserMappingGetMSQLTestCase(BaseTestGenerator): """This class will add user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_get_msql', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_node.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_node.py index 73e566520..6a317e87f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_node.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_node.py @@ -27,7 +27,6 @@ from unittest.mock import patch class UserMappingNodesTestCase(BaseTestGenerator): """This class will delete user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_get_nodes', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_put.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_put.py index b2cd97cc3..6d4cc76a7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_put.py @@ -28,7 +28,6 @@ from unittest.mock import patch class UserMappingPutTestCase(BaseTestGenerator): """This class will update user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_update', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_sql.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_sql.py index fdc976665..21f40ef42 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/tests/test_user_mapping_sql.py @@ -27,7 +27,6 @@ from unittest.mock import patch class UserMappingGetSQLTestCase(BaseTestGenerator): """This class will add user mapping under foreign server node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('user_mapping_get_sql', um_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index bfe66f150..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'datacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_add.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_add.py index d09d087e2..52de87a65 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_add.py @@ -21,7 +21,6 @@ from unittest.mock import patch class FDWDAddTestCase(BaseTestGenerator): """ This class will add foreign data wrappers under database node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_create', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete.py index cd9ee2187..f5bbb04ca 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete.py @@ -21,7 +21,6 @@ from unittest.mock import patch class FDWDeleteTestCase(BaseTestGenerator): """This class will delete foreign data wrappers under test database.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_delete', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete_multiple.py index fd91b6bdd..a152a5f39 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_delete_multiple.py @@ -21,7 +21,6 @@ from . import utils as fdw_utils class FDWDDeleteMultipleTestCase(BaseTestGenerator): """This class will delete foreign data wrappers under test database.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_delete_multiple', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_dependency_dependent.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_dependency_dependent.py index 78907718a..56186fbc4 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_dependency_dependent.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_dependency_dependent.py @@ -20,8 +20,6 @@ from . import utils as fdw_utils class FDWDependencyAndDependentTestCase(BaseTestGenerator): """This class will test fdw dependents under test database.""" - skip_on_database = ['gpdb'] - scenarios = utils.generate_scenarios('fdw_dependency_dependent', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get-handlers.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get-handlers.py index e58f6023f..927a398d1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get-handlers.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get-handlers.py @@ -21,7 +21,6 @@ from unittest.mock import patch class FDWHandlersTestCase(BaseTestGenerator): """This class will test fdw handler under test database.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_get_handlers', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get.py index 25bb75e49..be800228e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get.py @@ -22,7 +22,6 @@ from unittest.mock import patch class FDWDGetTestCase(BaseTestGenerator): """ This class will test fdw properties and list API under test database. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_get', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_nodes.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_nodes.py index ff5f8b892..a26ba6683 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_nodes.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_nodes.py @@ -22,7 +22,6 @@ from unittest.mock import patch class FDWDNodesTestCase(BaseTestGenerator): """This class will delete foreign data wrappers under test database.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_get_nodes_and_node', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_validators.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_validators.py index 0667e2265..1c7b9cc87 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_validators.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_get_validators.py @@ -21,7 +21,6 @@ from unittest.mock import patch class FDWValidatorsTestCase(BaseTestGenerator): """This class will test fdw validators under test database.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_get_validators', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_msql.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_msql.py index 946046e1d..c6c589771 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_msql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_msql.py @@ -21,7 +21,6 @@ from unittest.mock import patch class FDWDGetMSQLTestCase(BaseTestGenerator): """ This class will test fdw msql under test database. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_get_msql', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_put.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_put.py index c10616585..6b3e03f01 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_put.py @@ -22,7 +22,6 @@ from unittest.mock import patch class FDWDPutTestCase(BaseTestGenerator): """This class will update foreign data wrappers under test database.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_update', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_sql.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_sql.py index c83603709..0b929e32f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/test_fdw_sql.py @@ -21,7 +21,6 @@ from unittest.mock import patch class FDWDGetSQLTestCase(BaseTestGenerator): """ This class will add foreign data wrappers under test database. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('fdw_get_sql', fdw_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py index 7b74535ac..321462d12 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py @@ -246,8 +246,6 @@ class LanguageView(PGChildNodeView, SchemaDiffObjectCompare): # Set the template path for the SQL scripts self.template_path = ( - "languages/sql/#gpdb#{0}#".format(self.manager.version) if - self.manager.server_type == 'gpdb' else "languages/sql/#{0}#".format(self.manager.version) ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index 292644b91..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'lanacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/properties.sql deleted file mode 100644 index ba45c0871..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/templates/languages/sql/gpdb_5.0_plus/properties.sql +++ /dev/null @@ -1,22 +0,0 @@ -SELECT - lan.oid as oid, lanname as name, lanpltrusted as trusted, - array_to_string(lanacl::text[], ', ') as acl, hp.proname as lanproc, - vp.proname as lanval, description, - pg_get_userbyid(lan.lanowner) as lanowner, ip.proname as laninl -FROM - pg_language lan JOIN pg_proc hp ON hp.oid=lanplcallfoid - LEFT OUTER JOIN pg_proc ip ON ip.oid=laninline - LEFT OUTER JOIN pg_proc vp ON vp.oid=lanvalidator - LEFT OUTER JOIN pg_description des - ON ( - des.objoid=lan.oid AND des.objsubid=0 AND - des.classoid='pg_language'::regclass - ) -WHERE lanispl IS TRUE -{% if lid %} AND - lan.oid={{lid}}::oid -{% endif %} -{% if lanname %} AND - lanname={{ lanname|qtLiteral }}::text -{% endif %} -ORDER BY lanname diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py index e699f7890..2be4d8542 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py @@ -21,7 +21,6 @@ from unittest.mock import patch class LanguagesAddTestCase(BaseTestGenerator): - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('create_language', language_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/publications/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/publications/__init__.py index d395195d7..d613efd05 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/publications/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/publications/__init__.py @@ -227,8 +227,6 @@ class PublicationView(PGChildNodeView, SchemaDiffObjectCompare): # Set the template path for the SQL scripts self.template_path = ( - "publications/sql/#gpdb#{0}#".format(self.manager.version) if - self.manager.server_type == 'gpdb' else "publications/sql/#{0}#".format(self.manager.version) ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py index 21092153f..26d465280 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py @@ -155,9 +155,7 @@ def check_precondition(f): kwargs['did']]['datistemplate'] # Set the template path for the SQL scripts - if self.manager.server_type == 'gpdb': - _temp = self.gpdb_template_path(self.manager.version) - elif self.manager.server_type == 'ppas': + if self.manager.server_type == 'ppas': _temp = self.ppas_template_path(self.manager.version) else: _temp = self.pg_template_path(self.manager.version) @@ -271,13 +269,6 @@ class SchemaView(PGChildNodeView): """ return 'pg/#{0}#'.format(ver) - @staticmethod - def gpdb_template_path(ver): - """ - Returns the template path for GreenPlum servers. - """ - return '#gpdb#{0}#'.format(ver) - def format_request_acls(self, data, modified=False, specific=None): acls = {} try: diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/__init__.py index e764849a4..ca941cb5b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/__init__.py @@ -65,7 +65,6 @@ class CollationModule(SchemaChildModule): super(CollationModule, self).__init__(*args, **kwargs) self.min_ver = 90100 self.max_ver = None - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collations/sql/gpdb_5.0_plus/get_collations.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collations/sql/gpdb_5.0_plus/get_collations.sql deleted file mode 100644 index 98bc9a48a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collations/sql/gpdb_5.0_plus/get_collations.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT 'pg_catalog.' || quote_ident(collate_setting.value) AS copy_collation -FROM ( - SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate' - ) collate_setting; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py index 465afee02..b7b12d369 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py @@ -23,7 +23,6 @@ from unittest.mock import patch class CollationAddTestCase(BaseTestGenerator): """ This class will add new collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('create_collation', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete.py index b2a5d9dc5..ccfcac756 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete.py @@ -22,7 +22,6 @@ from unittest.mock import patch class CollationDeleteTestCase(BaseTestGenerator): """ This class will delete added collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('delete_collation', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete_multiple.py index 92788b7d4..bfcce2139 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_delete_multiple.py @@ -22,7 +22,6 @@ from . import utils as collation_utils class CollationDeleteMultipleTestCase(BaseTestGenerator): """ This class will delete added collations under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('delete_multiple_collation', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_dependency_dependent.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_dependency_dependent.py index f4c07c226..a5dfdcce0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_dependency_dependent.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_dependency_dependent.py @@ -22,7 +22,6 @@ from . import utils as collation_utils class CollationDependentsTestCase(BaseTestGenerator): """ This class will add new collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('dependency_dependent_collation', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get.py index c6f4ed5d6..ddbee88f0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get.py @@ -22,7 +22,6 @@ from unittest.mock import patch class CollationGetTestCase(BaseTestGenerator): """ This class will fetch new collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('get_collation', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_collation_function.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_collation_function.py index 9dd35e46b..e13aa6632 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_collation_function.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_collation_function.py @@ -22,7 +22,6 @@ from unittest.mock import patch class CollationGetTestCase(BaseTestGenerator): """ This class will fetch new collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('get_collation_func', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_nodes.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_nodes.py index 27c6ea672..d8685bddd 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_nodes.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_get_nodes.py @@ -22,7 +22,6 @@ from unittest.mock import patch class CollationNodesTestCase(BaseTestGenerator): """ This class will test node api for existing index""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('get_collation_nodes_and_node', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_put.py index aac056262..8b18acea0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_put.py @@ -23,7 +23,6 @@ from unittest.mock import patch class CollationPutTestCase(BaseTestGenerator): """ This class will update added collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('update_collation', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_sql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_sql.py index ba6c516f3..08489d57a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_sql.py @@ -22,7 +22,6 @@ from unittest.mock import patch class CollationSqlTestCase(BaseTestGenerator): """ This class will fetch new collation under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('get_collation_sql', collation_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py index 4daa07aee..7d9b3e3d7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py @@ -56,7 +56,6 @@ class DomainModule(SchemaChildModule): super(DomainModule, self).__init__(*args, **kwargs) self.min_ver = None self.max_ver = None - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/get_collations.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/get_collations.sql deleted file mode 100644 index 98bc9a48a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/get_collations.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT 'pg_catalog.' || quote_ident(collate_setting.value) AS copy_collation -FROM ( - SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate' - ) collate_setting; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/properties.sql deleted file mode 100644 index 3fc97b944..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/sql/gpdb_5.0_plus/properties.sql +++ /dev/null @@ -1,25 +0,0 @@ -SELECT - d.oid, d.typname as name, d.typbasetype, format_type(b.oid,NULL) as basetype, - pg_get_userbyid(d.typowner) as owner, - NULL AS colloid, format_type(b.oid, d.typtypmod) AS fulltype, - '' AS collname, - d.typtypmod, d.typnotnull, d.typdefault, d.typndims, d.typdelim, bn.nspname as basensp, - description, (SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname=d.typname) > 1 AS domisdup, - (SELECT COUNT(1) FROM pg_type t3 WHERE t3.typname=b.typname) > 1 AS baseisdup, - ARRAY [] :: TEXT [] AS seclabels - -FROM - pg_type d -JOIN - pg_type b ON b.oid = d.typbasetype -JOIN - pg_namespace bn ON bn.oid=d.typnamespace -LEFT OUTER JOIN - pg_description des ON (des.objoid=d.oid AND des.classoid='pg_type'::regclass) -WHERE - d.typnamespace = {{scid}}::oid - {% if doid %} - AND d.oid={{doid}}::oid - {% endif %} -ORDER BY - d.typname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_dependent_dependency.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_dependent_dependency.py index 4b983df2b..9c3cb523e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_dependent_dependency.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_dependent_dependency.py @@ -21,7 +21,6 @@ from . import utils as domain_utils class DomainGetDependentsAndDependencyTestCase(BaseTestGenerator): """ This class will add new domain under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('domain_get_dependencies_dependants', domain_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_collations.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_collations.py index ab2095865..78384fb03 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_collations.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_collations.py @@ -23,7 +23,6 @@ from unittest.mock import patch class DomainGetCollationsTestCase(BaseTestGenerator): """ This class will add new domain under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('domain_get_collations', domain_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_node.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_node.py index 464cf43d1..b84c218d4 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_node.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/test_domain_get_node.py @@ -22,7 +22,6 @@ from unittest.mock import patch class DomainGetNodeTestCase(BaseTestGenerator): """ This class will add new domain under schema node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('domain_get_nodes', domain_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py index bd8290d4b..1ee67f13f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py @@ -63,7 +63,6 @@ class ForeignTableModule(SchemaChildModule): super(ForeignTableModule, self).__init__(*args, **kwargs) self.min_ver = None self.max_ver = None - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index bfe66f150..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'datacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/get_collations.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/get_collations.sql deleted file mode 100644 index 98bc9a48a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/gpdb_5.0_plus/get_collations.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT 'pg_catalog.' || quote_ident(collate_setting.value) AS copy_collation -FROM ( - SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate' - ) collate_setting; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py index d3c3f21eb..673acbff9 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py @@ -27,8 +27,6 @@ class ForeignTableAddTestCase(BaseTestGenerator): """ This class will add foreign table under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/obj/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_delete.py index bf628f021..8ead51ba0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_delete.py @@ -27,8 +27,6 @@ class ForeignTableDeleteTestCase(BaseTestGenerator): """ This class will delete foreign table under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/obj/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_dependencies_dependents.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_dependencies_dependents.py index aa7576554..b7d1394da 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_dependencies_dependents.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_dependencies_dependents.py @@ -27,8 +27,6 @@ class ForeignTableDependenciesDependentsTestCase(BaseTestGenerator): """ This class will fetch foreign table under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py index ebed9d15e..3ad4087c3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py @@ -27,8 +27,6 @@ class ForeignTableGetTestCase(BaseTestGenerator): """ This class will fetch foreign table under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/obj/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_msql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_msql.py index a670a946e..ae456e867 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_msql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_msql.py @@ -28,8 +28,6 @@ class ForeignTableGetMsqlTestCase(BaseTestGenerator): """ This class will fetch foreign table msql under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/msql/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_nodes.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_nodes.py index 5d7083c77..bc4bec1d2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_nodes.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_nodes.py @@ -27,8 +27,6 @@ class ForeignTableGetNodesTestCase(BaseTestGenerator): """ This class will fetch foreign table nodes under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/nodes/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_precreation_parameters.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_precreation_parameters.py index 37c745e7d..716f670e1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_precreation_parameters.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get_precreation_parameters.py @@ -28,8 +28,6 @@ class ForeignTableGetTestCase(BaseTestGenerator): This class will fetch foreign table pre creation parameters under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/obj/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py index 8cf967492..e6a0e64b7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py @@ -28,8 +28,6 @@ class ForeignTablePutTestCase(BaseTestGenerator): """ This class will fetch foreign table under database node. """ - skip_on_database = ['gpdb'] - # url url = '/browser/foreign_table/obj/' diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_sql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_sql.py index efc901ac1..7f5544d06 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_sql.py @@ -27,8 +27,6 @@ class ForeignTableSqlTestCase(BaseTestGenerator): """ This class will fetch foreign table under database node. """ - skip_on_database = ['gpdb'] - # Generates scenarios scenarios = utils.generate_scenarios("foreign_table_sql", ft_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py index 8395bd0c6..bef3def60 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py @@ -59,7 +59,6 @@ class FtsConfigurationModule(SchemaChildModule): self.max_ver = None self.manager = None super(FtsConfigurationModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py index 776a43ec0..1643141f1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py @@ -57,7 +57,6 @@ class FtsDictionaryModule(SchemaChildModule): self.max_ver = None self.manager = None super(FtsDictionaryModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py index 1c23e5020..22c0c7ec4 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py @@ -50,7 +50,6 @@ class FtsParserModule(SchemaChildModule): def __init__(self, *args, **kwargs): super(FtsParserModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py index 4f9841744..c5206c7ef 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py @@ -56,7 +56,6 @@ class FtsTemplateModule(SchemaChildModule): self.min_ver = None self.max_ver = None super(FtsTemplateModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py index 60fd80464..11becf073 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py @@ -76,7 +76,6 @@ class FunctionModule(SchemaChildModule): self.min_ver = None self.max_ver = None self.server_type = None - self.min_gpdbver = None def get_nodes(self, gid, sid, did, scid): """ @@ -1982,7 +1981,6 @@ class ProcedureModule(SchemaChildModule): self.min_ver = 110000 self.max_ver = None self.min_ppasver = 90100 - self.min_gpdbver = 1000000000 self.server_type = ['pg', 'ppas'] def get_nodes(self, gid, sid, did, scid): @@ -2082,7 +2080,6 @@ class TriggerFunctionModule(SchemaChildModule): self.min_ver = 90100 self.max_ver = None - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/function.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/function.js index 9ceeb6b76..e14de4574 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/function.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/function.js @@ -48,9 +48,7 @@ define('pgadmin.node.function', [ hasSQL: true, hasDepends: true, width: pgBrowser.stdW.md + 'px', - hasStatistics: (treeInformation) => { - return treeInformation.server.server_type !== 'gpdb'; - }, + hasStatistics: true, hasScriptTypes: ['create', 'select'], Init: function() { /* Avoid mulitple registration of menus */ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/acl.sql deleted file mode 100644 index 2e2a781ba..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/acl.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/coll_stats.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/coll_stats.sql deleted file mode 100644 index 86a0d7be8..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/coll_stats.sql +++ /dev/null @@ -1,20 +0,0 @@ -SELECT - funcname AS {{ conn|qtIdent(_('Name')) }}, - calls AS {{ conn|qtIdent(_('Number of calls')) }}, - total_time AS {{ conn|qtIdent(_('Total time')) }}, - self_time AS {{ conn|qtIdent(_('Self time')) }} -FROM - pg_stat_user_functions -WHERE - schemaname = {{schema_name|qtLiteral}} - AND funcid IN ( - SELECT p.oid - FROM - pg_proc p - JOIN - pg_type typ ON typ.oid=p.prorettype - WHERE - p.proisagg = FALSE - AND typname NOT IN ('trigger', 'event_trigger') - ) -ORDER BY funcname; \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/create.sql deleted file mode 100644 index 9556f09c1..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/create.sql +++ /dev/null @@ -1,62 +0,0 @@ -{% import 'macros/functions/security.macros' as SECLABEL %} -{% import 'macros/functions/privilege.macros' as PRIVILEGE %} -{% import 'macros/functions/variable.macros' as VARIABLE %} -{% set is_columns = [] %} -{% set exclude_quoting = ['search_path'] %} -{% if data %} -{% if query_for == 'sql_panel' and func_def is defined %} -CREATE{% if query_type is defined %}{{' OR REPLACE'}}{% endif %} FUNCTION {{func_def}} -{% else %} -CREATE{% if query_type is defined %}{{' OR REPLACE'}}{% endif %} FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({% if data.arguments %} -{% for p in data.arguments %}{% if p.argmode %}{{p.argmode}} {% endif %}{% if p.argname %}{{ conn|qtIdent(p.argname)}}{% endif %}{% if p.argtype %}{{ p.argtype }}{% endif %}{% if p.argdefval %} DEFAULT {{p.argdefval}}{% endif %} -{% if not loop.last %},{% endif %} -{% endfor %} -{% endif -%} -) -{% endif -%} - RETURNS{% if data.proretset and (data.prorettypename.startswith('SETOF ') or data.prorettypename.startswith('TABLE')) %} {{ data.prorettypename }} {% elif data.proretset %} SETOF {{ data.prorettypename }}{% else %} {{ data.prorettypename }}{% endif %} - - LANGUAGE {{ data.lanname|qtLiteral }} -{% if data.procost %} - COST {{data.procost}} -{% endif %} - {% if data.provolatile %}{% if data.provolatile == 'i' %}IMMUTABLE{% elif data.provolatile == 's' %}STABLE{% else %}VOLATILE{% endif %} {% endif %}{% if data.proisstrict %}STRICT {% endif %}{% if data.prosecdef %}SECURITY DEFINER {% endif %}{% if data.proiswindow %}WINDOW{% endif -%} -{% if data.prorows and (data.prorows | int) > 0 %} - ROWS {{data.prorows}}{% endif -%}{% if data.variables %}{% for v in data.variables %} - - SET {{ conn|qtIdent(v.name) }}={% if v.name in exclude_quoting %}{{ v.value }}{% else %}{{ v.value|qtLiteral }}{% endif %}{% endfor %} -{% endif %} - -AS {% if data.lanname == 'c' %} -{{ data.probin|qtLiteral }}, {{ data.prosrc_c|qtLiteral }} -{% else %} -$BODY${{ data.prosrc }}$BODY${% endif %}; -{% if data.funcowner %} - -ALTER FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({{data.func_args_without}}) - OWNER TO {{ conn|qtIdent(data.funcowner) }}; -{% endif %} -{% if data.acl %} -{% for p in data.acl %} - -{{ PRIVILEGE.SET(conn, "FUNCTION", p.grantee, data.name, p.without_grant, p.with_grant, data.pronamespace, data.func_args_without)}} -{% endfor %}{% endif %} -{% if data.revoke_all %} - -{{ PRIVILEGE.UNSETALL(conn, "FUNCTION", "PUBLIC", data.name, data.pronamespace, data.func_args_without)}} -{% endif %} -{% if data.description %} - -COMMENT ON FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({{data.func_args_without}}) - IS {{ data.description|qtLiteral }}; -{% endif -%} -{% if data.seclabels %} -{% for r in data.seclabels %} -{% if r.label and r.provider %} - -{{ SECLABEL.SET(conn, 'FUNCTION', data.name, r.provider, r.label, data.pronamespace, data.func_args_without) }} -{% endif %} -{% endfor %} -{% endif -%} - -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/delete.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/delete.sql deleted file mode 100644 index 246bec12d..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/delete.sql +++ /dev/null @@ -1,21 +0,0 @@ -{% if scid and fnid %} -SELECT - pr.proname as name, '(' || COALESCE(pg_catalog - .pg_get_function_identity_arguments(pr.oid), '') || ')' as func_args, - nspname -FROM - pg_proc pr -JOIN - pg_type typ ON typ.oid=prorettype -JOIN - pg_namespace nsp ON nsp.oid=pr.pronamespace -WHERE - proisagg = FALSE - AND pronamespace = {{scid}}::oid - AND typname NOT IN ('trigger', 'event_trigger') - AND pr.oid = {{fnid}}; -{% endif %} - -{% if name %} -DROP FUNCTION {{ conn|qtIdent(nspname, name) }}{{func_args}}{% if cascade %} CASCADE{% endif %}; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_definition.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_definition.sql deleted file mode 100644 index 699fc9684..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_definition.sql +++ /dev/null @@ -1,17 +0,0 @@ -SELECT proretset, prosrc, probin, - pg_catalog.pg_get_function_arguments(pg_proc.oid) AS funcargs, - pg_catalog.pg_get_function_identity_arguments(pg_proc.oid) AS funciargs, - pg_catalog.pg_get_function_result(pg_proc.oid) AS funcresult, - proiswin, provolatile, proisstrict, prosecdef, - proconfig, procost, prorows, prodataaccess, - 'a' as proexeclocation, - (SELECT lanname FROM pg_catalog.pg_language WHERE pg_proc.oid = prolang) as lanname, - COALESCE(pg_catalog.pg_get_function_identity_arguments(pg_proc.oid), '') AS func_with_identity_arguments, - nspname, - proname, - COALESCE(pg_catalog.pg_get_function_arguments(pg_proc.oid), '') AS func_args -FROM pg_catalog.pg_proc - JOIN pg_namespace nsp ON nsp.oid=pg_proc.pronamespace -WHERE proisagg = FALSE - AND pronamespace = {{scid}}::oid - AND pg_proc.oid = {{fnid}}::oid; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_languages.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_languages.sql deleted file mode 100644 index f81ddfbda..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_languages.sql +++ /dev/null @@ -1,4 +0,0 @@ -SELECT - lanname as label, lanname as value -FROM - pg_language; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_oid.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_oid.sql deleted file mode 100644 index 3bfc20a61..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_oid.sql +++ /dev/null @@ -1,17 +0,0 @@ -SELECT - pr.oid, pr.proname || '(' || COALESCE(pg_catalog - .pg_get_function_identity_arguments(pr.oid), '') || ')' as name, - lanname, pg_get_userbyid(proowner) as funcowner, pr.pronamespace as nsp -FROM - pg_proc pr -JOIN - pg_type typ ON typ.oid=prorettype -JOIN - pg_language lng ON lng.oid=prolang -JOIN - pg_namespace nsp ON nsp.oid=pr.pronamespace - AND nsp.nspname={{ nspname|qtLiteral }} -WHERE - proisagg = FALSE - AND typname NOT IN ('trigger', 'event_trigger') - AND pr.proname = {{ name|qtLiteral }}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_out_types.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_out_types.sql deleted file mode 100644 index 64a11875f..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_out_types.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT - format_type(oid, NULL) AS out_arg_type -FROM - pg_type -WHERE - oid = {{ out_arg_oid }}::oid; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_schema.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_schema.sql deleted file mode 100644 index 127d4b9db..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_schema.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT - nspname -FROM - pg_namespace -WHERE - oid = {{ scid }}::oid; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_types.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_types.sql deleted file mode 100644 index 2a5582ee9..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/get_types.sql +++ /dev/null @@ -1,20 +0,0 @@ -SELECT - * -FROM - (SELECT - format_type(t.oid,NULL) AS typname, - CASE WHEN typelem > 0 THEN typelem ELSE t.oid END as elemoid, typlen, typtype, t.oid, nspname, - (SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup - FROM - pg_type t - JOIN - pg_namespace nsp ON typnamespace=nsp.oid - WHERE - (NOT (typname = 'unknown' AND nspname = 'pg_catalog')) - AND - ( - typtype IN ('b', 'c', 'd', 'e', 'p', 'r') - AND typname NOT IN ('any', 'trigger', 'language_handler', 'event_trigger') - ) - ) AS dummy -ORDER BY nspname <> 'pg_catalog', nspname <> 'public', nspname, 1; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/node.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/node.sql deleted file mode 100644 index 238e6a06c..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/node.sql +++ /dev/null @@ -1,22 +0,0 @@ -SELECT - pr.oid, pr.proname || '(' || COALESCE(pg_catalog.pg_get_function_identity_arguments(pr.oid), '') || ')' as name, - lanname, pg_get_userbyid(proowner) as funcowner, description -FROM - pg_proc pr -JOIN - pg_type typ ON typ.oid=prorettype -JOIN - pg_language lng ON lng.oid=prolang -LEFT OUTER JOIN - pg_description des ON (des.objoid=pr.oid AND des.classoid='pg_proc'::regclass) -WHERE - proisagg = FALSE -{% if fnid %} - AND pr.oid = {{ fnid|qtLiteral }} -{% endif %} -{% if scid %} - AND pronamespace = {{scid}}::oid -{% endif %} - AND typname NOT IN ('trigger', 'event_trigger') -ORDER BY - proname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/properties.sql deleted file mode 100644 index fdc2f149f..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/properties.sql +++ /dev/null @@ -1,27 +0,0 @@ -SELECT - pr.oid, pr.xmin, pr.*, pr.prosrc AS prosrc_c, - pr.proname AS name, pg_get_function_result(pr.oid) AS prorettypename, - typns.nspname AS typnsp, lanname, proargnames, oidvectortypes(proargtypes) AS proargtypenames, - pg_get_expr(proargdefaults, 'pg_catalog.pg_class'::regclass) AS proargdefaultvals, - pronargdefaults, proconfig, pg_get_userbyid(proowner) AS funcowner, description, - NULL AS seclabels -FROM - pg_proc pr -JOIN - pg_type typ ON typ.oid=prorettype -JOIN - pg_namespace typns ON typns.oid=typ.typnamespace -JOIN - pg_language lng ON lng.oid=prolang -LEFT OUTER JOIN - pg_description des ON (des.objoid=pr.oid AND des.classoid='pg_proc'::regclass) -WHERE - proisagg = FALSE -{% if fnid %} - AND pr.oid = {{fnid}}::oid -{% else %} - AND pronamespace = {{scid}}::oid -{% endif %} - AND typname NOT IN ('trigger', 'event_trigger') -ORDER BY - proname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/stats.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/stats.sql deleted file mode 100644 index dabd061c7..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/stats.sql +++ /dev/null @@ -1,8 +0,0 @@ -SELECT - calls AS {{ conn|qtIdent(_('Number of calls')) }}, - total_time AS {{ conn|qtIdent(_('Total time')) }}, - self_time AS {{ conn|qtIdent(_('Self time')) }} -FROM - pg_stat_user_functions -WHERE - funcid = {{fnid}}::oid diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/update.sql deleted file mode 100644 index 6219ffb76..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/update.sql +++ /dev/null @@ -1,107 +0,0 @@ -{% import 'macros/functions/security.macros' as SECLABEL %} -{% import 'macros/functions/privilege.macros' as PRIVILEGE %} -{% import 'macros/functions/variable.macros' as VARIABLE %}{% if data %} -{% set name = o_data.name %} -{% set exclude_quoting = ['search_path'] %} -{% if data.name %} -{% if data.name != o_data.name %} -ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, o_data.name) }}({{ o_data.proargtypenames }}) - RENAME TO {{ conn|qtIdent(data.name) }}; -{% set name = data.name %} -{% endif %} -{% endif -%} -{% if data.change_func %} - -CREATE OR REPLACE FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({% if data.arguments %} -{% for p in data.arguments %}{% if p.argmode %}{{p.argmode}} {% endif %}{% if p.argname %}{{ conn|qtIdent(p.argname) }} {% endif %}{% if p.argtype %}{{ p.argtype }}{% endif %}{% if p.argdefval %} DEFAULT {{p.argdefval}}{% endif %} -{% if not loop.last %}, {% endif %} -{% endfor %} -{% endif -%} -) - RETURNS {% if 'prorettypename' in data %}{{ data.prorettypename }}{% else %}{{ o_data.prorettypename }}{% endif %} - -{% if 'lanname' in data %} - LANGUAGE {{ data.lanname|qtLiteral }} {% else %} - LANGUAGE {{ o_data.lanname|qtLiteral }} - {% endif %}{% if 'provolatile' in data and data.provolatile %}{{ data.provolatile }} {% elif 'provolatile' not in data and o_data.provolatile %}{{ o_data.provolatile }}{% endif %} -{% if ('proisstrict' in data and data.proisstrict) or ('proisstrict' not in data and o_data.proisstrict) %} STRICT{% endif %} -{% if ('prosecdef' in data and data.prosecdef) or ('prosecdef' not in data and o_data.prosecdef) %} SECURITY DEFINER{% endif %} -{% if ('proiswindow' in data and data.proiswindow) or ('proiswindow' not in data and o_data.proiswindow) %} WINDOW{% endif %} - - {% if data.procost %}COST {{data.procost}}{% elif o_data.procost %}COST {{o_data.procost}}{% endif %}{% if data.prorows %} - - ROWS {{data.prorows}}{% elif o_data.prorows and o_data.prorows != '0' %} ROWS {{o_data.prorows}}{%endif -%}{% if data.merged_variables %}{% for v in data.merged_variables %} - - SET {{ conn|qtIdent(v.name) }}={% if v.name in exclude_quoting %}{{ v.value }}{% else %}{{ v.value|qtLiteral }}{% endif %}{% endfor -%} - {% endif %} - -AS {% if 'probin' in data or 'prosrc_c' in data %} -{% if 'probin' in data %}{{ data.probin|qtLiteral }}{% else %}{{ o_data.probin|qtLiteral }}{% endif %}, {% if 'prosrc_c' in data %}{{ data.prosrc_c|qtLiteral }}{% else %}{{ o_data.prosrc_c|qtLiteral }}{% endif %}{% elif 'prosrc' in data %} -$BODY${{ data.prosrc }}$BODY${% elif o_data.lanname == 'c' %} -{{ o_data.probin|qtLiteral }}, {{ o_data.prosrc_c|qtLiteral }}{% else %} -$BODY${{ o_data.prosrc }}$BODY${% endif -%}; -{% endif -%} -{% if data.funcowner %} - -ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{ o_data.proargtypenames }}) - OWNER TO {{ conn|qtIdent(data.funcowner) }}; -{% endif -%} -{# The SQL generated below will change priviledges #} -{% if data.acl %} -{% if 'deleted' in data.acl %} -{% for priv in data.acl.deleted %} -{{ PRIVILEGE.UNSETALL(conn, 'FUNCTION', priv.grantee, name, o_data.pronamespace, o_data.proargtypenames) }} - -{% endfor %}{% endif %} -{% if 'changed' in data.acl %} -{% for priv in data.acl.changed %} -{{ PRIVILEGE.UNSETALL(conn, 'FUNCTION', priv.grantee, name, o_data.pronamespace, o_data.proargtypenames) }} - -{{ PRIVILEGE.SET(conn, 'FUNCTION', priv.grantee, name, priv.without_grant, priv.with_grant, o_data.pronamespace, o_data.proargtypenames) }} - -{% endfor %}{% endif %} -{% if 'added' in data.acl %} -{% for priv in data.acl.added %} - -{{ PRIVILEGE.SET(conn, 'FUNCTION', priv.grantee, name, priv.without_grant, priv.with_grant, o_data.pronamespace, o_data.proargtypenames) }} -{% endfor %}{% endif %}{% endif %} -{% if data.change_func == False %} -{% if data.variables %} -{% if 'deleted' in data.variables and data.variables.deleted|length > 0 %} - -{{ VARIABLE.UNSET(conn, 'FUNCTION', name, data.variables.deleted, o_data.pronamespace, o_data.proargtypenames ) }} -{% endif -%} -{% if 'merged_variables' in data and data.merged_variables|length > 0 %} - -{{ VARIABLE.SET(conn, 'FUNCTION', name, data.merged_variables, o_data.pronamespace, o_data.proargtypenames ) }} -{% endif %} -{% endif %}{% endif %} -{% set seclabels = data.seclabels %} -{% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} -{% for r in seclabels.deleted %} -{{ SECLABEL.UNSET(conn, 'FUNCTION', name, r.provider, o_data.pronamespace, o_data.proargtypenames) }} - -{% endfor %} -{% endif -%} -{% if 'added' in seclabels and seclabels.added|length > 0 %} -{% for r in seclabels.added %} - -{{ SECLABEL.SET(conn, 'FUNCTION', name, r.provider, r.label, o_data.pronamespace, o_data.proargtypenames) }} -{% endfor %} -{% endif -%} -{% if 'changed' in seclabels and seclabels.changed|length > 0 %} -{% for r in seclabels.changed %} -{{ SECLABEL.SET(conn, 'FUNCTION', name, r.provider, r.label, o_data.pronamespace, o_data.proargtypenames) }} -{% endfor %}{% endif -%} -{% if data.description is defined and data.description != o_data.description%} - -COMMENT ON FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) - IS {{ data.description|qtLiteral }}; -{% endif -%} -{% if data.pronamespace %} - -ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) - SET SCHEMA {{ conn|qtIdent(data.pronamespace) }}; -{% endif -%} - -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/variables.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/variables.sql deleted file mode 100644 index 5233c71ec..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/gpdb/sql/default/variables.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT - name, vartype, min_val, max_val, enumvals -FROM - pg_settings -WHERE - context in ('user', 'superuser'); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_get.py index 27b5961e2..c05f60871 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_get.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class FunctionGetTestCase(BaseTestGenerator): """This class will fetch added function under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for function node. ( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py index 753029d0c..9874fcb51 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py @@ -21,7 +21,6 @@ from .. import FunctionView class FunctionPutTestCase(BaseTestGenerator): """ This class will update new function under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for function node. ('Fetch Function Node URL', dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_add.py index 903ba47ce..27ed01d7e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_add.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class ProcedureAddTestCase(BaseTestGenerator): """ This class will add new procedure under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for procedure node. ('Fetch Procedure Node URL', dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete.py index 1b9492358..40a89b3f3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete.py @@ -18,7 +18,6 @@ from . import utils as funcs_utils class procedureDeleteTestCase(BaseTestGenerator): """ This class will delete the procedure under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for procedure node. ('Fetch Procedure Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete_multiple.py index 561f35c46..8c7f45020 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_delete_multiple.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class procedureDeleteMultipleTestCase(BaseTestGenerator): """ This class will delete the procedure under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for procedure node. ('Fetch Procedure Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_exec_sql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_exec_sql.py index fc5c9ca19..6073163dc 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_exec_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_exec_sql.py @@ -20,7 +20,6 @@ from . import utils as funcs_utils class ProcedureExecSQLTestCase(BaseTestGenerator): """ This class will check the EXEC SQL for Procedure. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching procedure SQL to EXEC. ('Fetch Procedure SQL to execute', dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_get.py index 08716dbae..c79530705 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_get.py @@ -18,7 +18,6 @@ from . import utils as funcs_utils class ProcedureGetTestCase(BaseTestGenerator): """This class will fetch added procedure under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for procedure node. ('Fetch Procedure Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_put.py index f857e7a1c..4ad432360 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_procedure_put.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class ProcedurePutTestCase(BaseTestGenerator): """ This class will update new procedure under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for procedure node. ('Fetch Procedure Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_add.py index df6535f49..7b98a391d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_add.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class TriggerFuncAddTestCase(BaseTestGenerator): """ This class will add new trigger function under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for trigger function node. ('Fetch Trigger Function Node URL', dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete.py index 7a9de7d0a..ce3731dc0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete.py @@ -18,7 +18,6 @@ from . import utils as funcs_utils class TriggerFuncDeleteTestCase(BaseTestGenerator): """ This class will delete the trigger function under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for trigger function node. ('Fetch Trigger Function Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete_multiple.py index 7b9669f82..779b62e32 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_delete_multiple.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class TriggerFuncDeleteMultipleTestCase(BaseTestGenerator): """ This class will delete the trigger function under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for trigger function node. ('Fetch Trigger Function Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_get.py index 7aca652b7..4046b8eca 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_get.py @@ -18,7 +18,6 @@ from . import utils as funcs_utils class TriggerFuncGetTestCase(BaseTestGenerator): """This class will fetch added trigger function under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for trigger function node. ('Fetch Trigger Function Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_put.py index 6ef3c8ceb..0c08c9911 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_trigger_func_put.py @@ -19,7 +19,6 @@ from . import utils as funcs_utils class TriggerFuncPutTestCase(BaseTestGenerator): """ This class will update new trigger function under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for trigger function node. ('Fetch Trigger Function Node URL', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/edbfuncs/tests/test_package_edbfuncs_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/edbfuncs/tests/test_package_edbfuncs_get.py index 4015bff38..cfa57d8a0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/edbfuncs/tests/test_package_edbfuncs_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/edbfuncs/tests/test_package_edbfuncs_get.py @@ -22,7 +22,7 @@ from regression.python_test_utils import test_utils as utils class PackageEDBFuncsGetTestCase(BaseTestGenerator): """ This class will fetch functions/procedures of package under test schema. """ - skip_on_database = ['gpdb', 'pg'] + skip_on_database = ['pg'] scenarios = [ # Fetching default URL for package node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_add.py index cc0d7e12a..815ddc5e4 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_add.py @@ -22,7 +22,6 @@ from regression.python_test_utils import test_utils as utils class PackageAddTestCase(BaseTestGenerator): """ This class will add new package under test schema. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for package node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete.py index 533c4a490..c1f23fa1e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete.py @@ -22,7 +22,6 @@ from . import utils as package_utils class PackageDeleteTestCase(BaseTestGenerator): """ This class will delete new package under test schema. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for package node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete_multiple.py index 071cf6c6a..ac5197b17 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_delete_multiple.py @@ -23,7 +23,6 @@ from . import utils as package_utils class PackageDeleteMultipleTestCase(BaseTestGenerator): """ This class will delete new package under test schema. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for package node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_get.py index 73acfc07d..fe0dd2387 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_get.py @@ -22,7 +22,6 @@ from . import utils as package_utils class PackageGetTestCase(BaseTestGenerator): """ This class will fetch new package under test schema. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for package node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_put.py index a4535c710..e5c950764 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/test_package_put.py @@ -23,7 +23,6 @@ from . import utils as package_utils class PackagePutTestCase(BaseTestGenerator): """ This class will update new package under test schema. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for package node. ('Fetch Package Node URL', dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/__init__.py index dd0fe7386..f007a3efd 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/__init__.py @@ -59,7 +59,6 @@ class SequenceModule(SchemaChildModule): super(SequenceModule, self).__init__(*args, **kwargs) self.min_ver = None self.max_ver = None - self.min_gpdbver = 1000000000 def get_nodes(self, gid, sid, did, scid): """ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index 167184011..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'relacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_add.py index c91810be2..2e659f200 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_add.py @@ -21,7 +21,6 @@ from regression.python_test_utils import test_utils as utils class SequenceAddTestCase(BaseTestGenerator): """ This class will add new sequence(s) under schema node. """ - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for sequence node. ( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete.py index 09e076f8b..a2190f2bb 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete.py @@ -21,7 +21,6 @@ from . import utils as sequence_utils class SequenceDeleteTestCase(BaseTestGenerator): """This class will delete added sequence under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for sequence node. ('Fetch sequence Node URL', dict(url='/browser/sequence/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete_multiple.py index 64add817c..23d24ebc3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_delete_multiple.py @@ -22,7 +22,6 @@ from . import utils as sequence_utils class SequenceDeleteMultipleTestCase(BaseTestGenerator): """This class will delete added sequence under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for sequence node. ('Fetch sequence Node URL', dict(url='/browser/sequence/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_get.py index 2c2162e45..b975e8f44 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_get.py @@ -21,7 +21,6 @@ from . import utils as sequence_utils class SequenceGetTestCase(BaseTestGenerator): """This class will fetch added sequence under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for sequence node. ('Fetch sequence Node URL', dict(url='/browser/sequence/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_put.py index 4c6581e7b..3abc75f07 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/test_sequence_put.py @@ -22,7 +22,6 @@ from . import utils as sequence_utils class SequencePutTestCase(BaseTestGenerator): """This class will update added sequence under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for sequence node. ('Alter positive sequence comment, increment, max and min value', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_add.py index 8e8d8aff4..7a52cfe4f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_add.py @@ -24,7 +24,6 @@ from regression.python_test_utils import test_utils as utils class SynonymAddTestCase(BaseTestGenerator): """This class will add new synonym under test schema.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for synonym node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete.py index e0d89503b..7fb8f33b6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete.py @@ -24,7 +24,6 @@ from . import utils as synonym_utils class SynonymDeleteTestCase(BaseTestGenerator): """This class will delete added synonym under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for synonym node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete_multiple.py index 75eddb20f..e73965844 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_delete_multiple.py @@ -25,7 +25,6 @@ from . import utils as synonym_utils class SynonymDeleteMultipleTestCase(BaseTestGenerator): """This class will delete added synonym under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for synonym node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_get.py index f1a40d7c5..3d4827649 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_get.py @@ -24,7 +24,6 @@ from . import utils as synonym_utils class SynonymGetTestCase(BaseTestGenerator): """This class will fetch new synonym under schema node.""" - skip_on_database = ['gpdb'] scenarios = [ # Fetching default URL for synonym node. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_put.py index 1d43667ce..f4955d3f7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/test_synonym_put.py @@ -27,8 +27,6 @@ from . import utils as synonym_utils class SynonymPutTestCase(BaseTestGenerator): """This class will update added synonym under test schema.""" - skip_on_database = ['gpdb'] - scenarios = [ # Fetching default URL for synonym node. ('Fetch synonym Node URL', dict(url='/browser/synonym/obj/')) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py index f8f726b10..aea139ea7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py @@ -70,7 +70,6 @@ class CompoundTriggerModule(CollectionNodeModule): super(CompoundTriggerModule, self).__init__(*args, **kwargs) self.min_ver = self.min_ppasver = 120000 self.max_ver = None - self.min_gpdbver = 1000000000 self.server_type = ['ppas'] def backend_supported(self, manager, **kwargs): @@ -78,8 +77,6 @@ class CompoundTriggerModule(CollectionNodeModule): Load this module if vid is view, we will not load it under material view """ - if manager.server_type == 'gpdb': - return False if super(CompoundTriggerModule, self).backend_supported( manager, **kwargs): conn = manager.connection(did=kwargs['did']) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py index bcc549190..75272c7fb 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py @@ -30,7 +30,6 @@ import sys class CompoundTriggersAddTestCase(BaseTestGenerator): """This class will add new compound trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('add_compound_trigger', compound_trigger_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete.py index d17753648..3980cc8af 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete.py @@ -26,7 +26,6 @@ import sys class CompoundTriggersDeleteTestCase(BaseTestGenerator): """This class will delete compound trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('delete_compound_trigger', compound_triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete_multiple.py index 6ec92dcf0..0decc085d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_delete_multiple.py @@ -27,7 +27,6 @@ import sys class CompoundTriggersDeleteMultipleTestCase(BaseTestGenerator): """This class will delete multiple compound triggers under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('delete_multiple_compound_trigger', compound_triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_get.py index 6bf810ea2..5dc937eb8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_get.py @@ -28,7 +28,6 @@ import sys class CompoundTriggersGetTestCase(BaseTestGenerator): """This class will get the compound trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('get_compound_trigger', compound_triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py index d92936837..73399d8ad 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py @@ -28,7 +28,6 @@ import sys class CompoundTriggersUpdateTestCase(BaseTestGenerator): """This class will update compound trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('update_compound_trigger', compound_triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_add.py index f1e346839..f2b18975a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_add.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintAddTestCase(BaseTestGenerator): """This class will add check constraint to existing table""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/obj/' # Generates scenarios diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_delete.py index afd7f9633..8ddaee490 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_delete.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintDeleteTestCase(BaseTestGenerator): """This class will delete check constraint to existing table""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/obj/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_dependencies_dependents.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_dependencies_dependents.py index f3efbbb2b..d290d28a5 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_dependencies_dependents.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_dependencies_dependents.py @@ -25,7 +25,6 @@ from . import utils as check_constraint_utils class CheckConstraintGetDependenciesDependentsTestCase(BaseTestGenerator): """This class will fetch dependents/ dependencies for check constraint to existing table """ - skip_on_database = ['gpdb'] url = '/browser/check_constraint/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get.py index d89528115..ed60c0370 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintGetTestCase(BaseTestGenerator): """This class will fetch check constraint to existing table""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/obj/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get_nodes.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get_nodes.py index 8cf4e5ae3..286dbf238 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get_nodes.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_get_nodes.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintGetNodesTestCase(BaseTestGenerator): """This class will fetch nodes check constraint of table.""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/nodes/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_msql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_msql.py index 22ca0a2c4..492f8e591 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_msql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_msql.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintGetMsqlTestCase(BaseTestGenerator): """This class will fetch modified sql for check constraint of table. """ - skip_on_database = ['gpdb'] url = '/browser/check_constraint/msql/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_put.py index 5207e7b7a..469602ff5 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_put.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintPutTestCase(BaseTestGenerator): """This class will update check constraint to existing table""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/obj/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_sql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_sql.py index 4fe3bcac3..5c1d1288e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_sql.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintGetSqlTestCase(BaseTestGenerator): """This class will fetch check constraint to existing table""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/sql/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_validate.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_validate.py index f9ba2941f..a1a9d66ee 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_validate.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/tests/test_check_constraint_validate.py @@ -24,7 +24,6 @@ from . import utils as check_constraint_utils class CheckConstraintValidateTestCase(BaseTestGenerator): """This class will validate check constraint to existing table""" - skip_on_database = ['gpdb'] url = '/browser/check_constraint/validate/' # Generates scenarios from cast_test_data.json file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_add.py index 489e2e7d9..8ca49e132 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_add.py @@ -26,8 +26,6 @@ from . import utils as index_constraint_utils class IndexConstraintAddTestCase(BaseTestGenerator): """This class will add index constraint(primary key or unique key) to table column""" - skip_on_database = ['gpdb'] - # Generates scenarios scenarios = utils.generate_scenarios("index_constraint_create", index_constraint_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_delete.py index 7f9bcfe83..6392fc979 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_delete.py @@ -25,8 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintDeleteTestCase(BaseTestGenerator): """This class will delete index constraint(primary key or unique key) of table column""" - skip_on_database = ['gpdb'] - # Generates scenarios scenarios = utils.generate_scenarios("index_constraint_delete", index_constraint_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_dependencies_dependents.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_dependencies_dependents.py index 3cae07398..0aeb76b18 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_dependencies_dependents.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_dependencies_dependents.py @@ -25,7 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintGetDepenedencyDependentTestCase(BaseTestGenerator): """This class will fetch the index constraint(primary key or unique key) dependency / dependents of table column""" - skip_on_database = ['gpdb'] # Generates scenarios scenarios = utils.generate_scenarios( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get.py index 565d2bc89..1cb85cf87 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get.py @@ -25,7 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintGetTestCase(BaseTestGenerator): """This class will fetch the index constraint(primary key or unique key) of table column""" - skip_on_database = ['gpdb'] # Generates scenarios from cast_test_data.json file scenarios = utils.generate_scenarios("index_constraint_get", diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_nodes.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_nodes.py index 5abbbf3a6..9117d2f47 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_nodes.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_nodes.py @@ -25,7 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintGetNodesTestCase(BaseTestGenerator): """This class will fetch the index constraint(primary key or unique key) nodes of table column""" - skip_on_database = ['gpdb'] # Generates scenarios scenarios = utils.generate_scenarios("index_constraint_get_nodes", diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_statistics.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_statistics.py index 8add3dcb8..2af14edcc 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_statistics.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_get_statistics.py @@ -25,7 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintGetStasticsTestCase(BaseTestGenerator): """This class will fetch the index constraint(primary key or unique key) statistics of table column""" - skip_on_database = ['gpdb'] # Generates scenarios scenarios = utils.generate_scenarios("index_constraint_get_statistics", diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_msql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_msql.py index 4e2f13c03..83a5edd11 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_msql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_msql.py @@ -25,7 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintGetMsqlTestCase(BaseTestGenerator): """This class will fetch the index constraint(primary key or unique key) modified sql of table column""" - skip_on_database = ['gpdb'] # Generates scenarios from cast_test_data.json file scenarios = utils.generate_scenarios("index_constraint_msql", diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_sql.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_sql.py index 55a3034de..f33d56dc7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_sql.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/test_index_constraint_sql.py @@ -25,7 +25,6 @@ from . import utils as index_constraint_utils class IndexConstraintGetSqlTestCase(BaseTestGenerator): """This class will fetch the index constraint(primary key or unique key) sql of table column""" - skip_on_database = ['gpdb'] # Generates scenarios scenarios = utils.generate_scenarios("index_constraint_sql", diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.ui.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.ui.js index 5287ec5c4..b6ac1b94c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.ui.js @@ -184,7 +184,6 @@ export default class PartitionTableSchema extends BaseUISchema { mode: ['properties', 'create', 'edit'], disabled: this.inCatalog, },{ id: 'advanced', label: gettext('Advanced'), type: 'group', - // visible: ShowAdvancedTab.show_advanced_tab, visible: true, },{ id: 'coll_inherits', label: gettext('Inherited from table(s)'), diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/tests/test_backend_supported.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/tests/test_backend_supported.py index 62f8c48fc..76b557abd 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/tests/test_backend_supported.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/tests/test_backend_supported.py @@ -47,25 +47,6 @@ class TestBackendSupport(BaseTestGenerator): expect_error_response=False, expected_number_calls_on_render_template=0 )), - ('when table is partitioned, ' - 'should return the table identifier', - dict( - manager=dict( - server_type="gpdb", - version="5" - ), - input_arguments=dict(did=432, tid=123), - - collection_node_active=True, - connection_execution_return_value=[True, 123], - - expected_return_value=123, - expect_error_response=False, - expected_number_calls_on_render_template=1, - expect_render_template_to_be_called_with=call( - 'partitions/sql/gpdb/#gpdb#5#/backend_support.sql', tid=123 - ) - )), ('when error happens while querying the database, ' 'should return an internal server error', dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py index d038d745a..f21dcabf2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py @@ -57,7 +57,6 @@ class RowSecurityModule(CollectionNodeModule): def __init__(self, *args, **kwargs): super(RowSecurityModule, self).__init__(*args, **kwargs) - self.min_gpdbver = 1000000000 self.min_ver = 90500 self.max_ver = None diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/show_advanced_tab.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/show_advanced_tab.js deleted file mode 100644 index 5fbc8c399..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/show_advanced_tab.js +++ /dev/null @@ -1,23 +0,0 @@ -///////////////////////////////////////////////////////////// -// -// pgAdmin 4 - PostgreSQL Tools -// -// Copyright (C) 2013 - 2021, The pgAdmin Development Team -// This software is released under the PostgreSQL Licence -// -////////////////////////////////////////////////////////////// - -import * as _ from 'underscore'; - -function isServerGreenPlum(tableModel) { - return !_.isUndefined(tableModel.node_info) && - !_.isUndefined(tableModel.node_info.server) && - tableModel.node_info.server.server_type === 'gpdb'; -} - -export function show_advanced_tab(tableModel) { - if (isServerGreenPlum(tableModel)) { - return false; - } - return true; -} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js index a21d03f55..ad0956950 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js @@ -14,14 +14,13 @@ define('pgadmin.node.table', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.backform', 'pgadmin.backgrid', - 'pgadmin.tables.js/show_advanced_tab', 'pgadmin.node.schema.dir/child','pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', 'pgadmin.node.column', 'pgadmin.node.constraints', 'pgadmin.browser.table.partition.utils', ], function( tableFunctions, gettext, url_for, $, _, pgAdmin, pgBrowser, Alertify, Backform, Backgrid, - ShowAdvancedTab, SchemaChild, SchemaChildTreeNode + SchemaChild, SchemaChildTreeNode ) { if (!pgBrowser.Nodes['coll-table']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js index 2ac2ada58..372e565da 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js @@ -504,7 +504,6 @@ export default class TableSchema extends BaseUISchema { }, },{ id: 'advanced', label: gettext('Advanced'), type: 'group', - // visible: ShowAdvancedTab.show_advanced_tab, visible: true, }, { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index f77d1ed9e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'attacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/get_collations.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/get_collations.sql deleted file mode 100644 index 98bc9a48a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/columns/sql/gpdb_5.0_plus/get_collations.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT 'pg_catalog.' || quote_ident(collate_setting.value) AS copy_collation -FROM ( - SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate' - ) collate_setting; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/exclusion_constraint/sql/gpdb_5.0_plus/get_constraint_cols.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/exclusion_constraint/sql/gpdb_5.0_plus/get_constraint_cols.sql deleted file mode 100644 index 397a2b682..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/exclusion_constraint/sql/gpdb_5.0_plus/get_constraint_cols.sql +++ /dev/null @@ -1,20 +0,0 @@ -{% for n in range(colcnt|int) %} -{% if loop.index != 1 %} -UNION -{% endif %} -SELECT - i.indoption[{{loop.index -1}}] AS options, - pg_get_indexdef(i.indexrelid, {{loop.index}}, true) AS coldef, - NULL as op.oprname, - CASE WHEN (o.opcdefault = FALSE) THEN o.opcname ELSE null END AS opcname, - (SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate') AS collname, - '' as collnspname, - format_type(ty.oid,NULL) AS col_type -FROM pg_index i -JOIN pg_attribute a ON (a.attrelid = i.indexrelid AND attnum = {{loop.index}}) -JOIN pg_type ty ON ty.oid=a.atttypid -LEFT OUTER JOIN pg_opclass o ON (o.oid = i.indclass[{{loop.index -1}}]) -WHERE i.indexrelid = {{cid}}::oid -{% endfor %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/column_details.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/column_details.sql deleted file mode 100644 index c2b5c758e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/column_details.sql +++ /dev/null @@ -1,25 +0,0 @@ -SELECT - i.indexrelid, - CASE i.indoption[i.attnum - 1] - WHEN 0 THEN ARRAY['ASC', 'NULLS LAST'] - WHEN 1 THEN ARRAY['DESC', 'NULLS FIRST'] - WHEN 2 THEN ARRAY['ASC', 'NULLS FIRST'] - WHEN 3 THEN ARRAY['DESC', 'NULLS '] - ELSE ARRAY['UNKNOWN OPTION' || i.indoption[i.attnum - 1]::text, ''] - END::text[] AS options, - i.attnum, - pg_get_indexdef(i.indexrelid, i.attnum, true) as attdef, - CASE WHEN (o.opcdefault = FALSE) THEN o.opcname ELSE null END AS opcname, - NULL AS oprname, - '' AS collnspname -FROM ( - SELECT - indexrelid, i.indoption, i.indclass, - unnest(ARRAY(SELECT generate_series(1, i.indnatts) AS n)) AS attnum - FROM - pg_index i - WHERE i.indexrelid = {{idx}}::OID -) i - LEFT JOIN pg_opclass o ON (o.oid = i.indclass[i.attnum - 1]) - LEFT JOIN pg_attribute a ON (a.attrelid = i.indexrelid AND a.attnum = i.attnum) -ORDER BY i.attnum; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/get_collations.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/get_collations.sql deleted file mode 100644 index a25a02ce6..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/gpdb_5.0_plus/get_collations.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT 'pg_catalog.' || quote_ident(collate_setting.value) AS copy_collation -FROM ( - SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate' - ) collate_setting diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/attach.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/attach.sql deleted file mode 100644 index 0661d9cfe..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/attach.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE {{conn|qtIdent(data.parent_schema, data.partitioned_table_name)}} ATTACH PARTITION {{conn|qtIdent(data.schema, data.name)}} - {{ data.partition_value }}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/backend_support.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/backend_support.sql deleted file mode 100644 index 119ba6686..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/backend_support.sql +++ /dev/null @@ -1,9 +0,0 @@ -SELECT CASE WHEN number_of_rows > 0 - THEN TRUE - ELSE FALSE END AS ptable -FROM ( - SELECT count(*) AS number_of_rows - FROM pg_class - INNER JOIN pg_partitions ON relname = tablename - WHERE pg_class.oid = {{ tid }}::oid - ) AS number_of_partitions diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/detach.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/detach.sql deleted file mode 100644 index 4b413db1a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/detach.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE {{conn|qtIdent(data.parent_schema, data.partitioned_table_name)}} DETACH PARTITION {{conn|qtIdent(data.schema, data.name)}}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/get_attach_tables.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/get_attach_tables.sql deleted file mode 100644 index dccda3217..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/get_attach_tables.sql +++ /dev/null @@ -1,23 +0,0 @@ -SELECT oid, quote_ident(nspname)||'.'||quote_ident(relname) AS table_name FROM -(SELECT - r.oid, r.relname, n.nspname, array_agg(a.attname) attnames, array_agg(a.atttypid) atttypes -FROM - (SELECT oid, relname, relnamespace FROM pg_catalog.pg_class - WHERE relkind in ('r', 'p') AND NOT relispartition) r - JOIN (SELECT oid AS nspoid, nspname FROM - pg_catalog.pg_namespace WHERE nspname NOT LIKE 'pg\_%') n - ON (r.relnamespace = n.nspoid) - JOIN (SELECT attrelid, attname, atttypid FROM - pg_catalog.pg_attribute WHERE attnum > 0 ORDER BY attrelid, attnum) a - ON (r.oid = a.attrelid) -GROUP BY r.oid, r.relname, r.relnamespace, n.nspname) all_tables -JOIN -(SELECT - attrelid, array_agg(attname) attnames, array_agg(atttypid) atttypes -FROM - (SELECT * FROM pg_catalog.pg_attribute - WHERE attrelid = {{ tid }} AND attnum > 0 - ORDER BY attrelid, attnum) attributes -GROUP BY attrelid) current_table ON current_table.attrelid != all_tables.oid - AND current_table.attnames = all_tables.attnames - AND current_table.atttypes = all_tables.atttypes diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/nodes.sql deleted file mode 100644 index f8c1c51be..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/nodes.sql +++ /dev/null @@ -1,39 +0,0 @@ -SELECT - table_class.oid, - partitions.partitiontablename AS name, - (SELECT count(*) - FROM pg_trigger - WHERE tgrelid = table_class.oid AND tgisconstraint = FALSE) AS triggercount, - (SELECT count(*) - FROM pg_trigger - WHERE tgrelid = table_class.oid AND tgisconstraint = FALSE AND tgenabled = 'O') AS has_enable_triggers, - partitions.partitionboundary AS partition_value, - partitions.partitionschemaname AS schema_id, - schema_name, - CASE WHEN sub_partitions.n > 0 - THEN TRUE - ELSE FALSE END is_partitioned, - '' AS partition_scheme -FROM - (SELECT - table_class.relnamespace, - nsp.nspname AS schema_name, - partitions.partitiontablename, - partitions.partitionboundary, - partitions.partitionschemaname - FROM pg_class table_class - INNER JOIN pg_partitions partitions - ON (relname = tablename AND parentpartitiontablename IS NULL) OR relname = parentpartitiontablename - LEFT JOIN pg_namespace nsp ON table_class.relnamespace = nsp.oid - WHERE - {% if ptid %} table_class.oid = {{ ptid }}::OID {% endif %} - {% if not ptid %} table_class.oid = {{ tid }}::OID {% endif %} - ) AS partitions - LEFT JOIN (SELECT - parentpartitiontablename, - count(*) AS n - FROM pg_partitions - GROUP BY parentpartitiontablename) sub_partitions - ON partitions.partitiontablename = sub_partitions.parentpartitiontablename - LEFT JOIN pg_class table_class ON partitions.relnamespace = table_class.relnamespace AND partitions.partitiontablename = table_class.relname -ORDER BY partitions.partitiontablename; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql deleted file mode 100644 index adeb48b54..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql +++ /dev/null @@ -1,82 +0,0 @@ -SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS relacl_str, - (CASE WHEN length(spc.spcname::text) > 0 THEN spc.spcname ELSE - (SELECT sp.spcname FROM pg_database dtb - JOIN pg_tablespace sp ON dtb.dattablespace=sp.oid - WHERE dtb.oid = {{ did }}::oid) - END) as spcname, - (select nspname FROM pg_namespace WHERE oid = {{scid}}::oid ) as parent_schema, - nsp.nspname as schema, - pg_get_userbyid(rel.relowner) AS relowner, rel.relhasoids, - (CASE WHEN partitions.number_of_partitions > 0 THEN true ELSE false END) AS relispartition, - rel.relhassubclass, rel.reltuples::bigint, des.description, con.conname, con.conkey, - EXISTS(select 1 FROM pg_trigger - JOIN pg_proc pt ON pt.oid=tgfoid AND pt.proname='logtrigger' - JOIN pg_proc pc ON pc.pronamespace=pt.pronamespace AND pc.proname='slonyversion' - WHERE tgrelid=rel.oid) AS isrepl, - (SELECT count(*) - FROM pg_trigger - WHERE tgrelid = rel.oid AND tgisconstraint = FALSE) AS triggercount, - (SELECT ARRAY(SELECT CASE WHEN (nspname NOT LIKE 'pg\_%') THEN - quote_ident(nspname)||'.'||quote_ident(c.relname) - ELSE quote_ident(c.relname) END AS inherited_tables - FROM pg_inherits i - JOIN pg_class c ON c.oid = i.inhparent - JOIN pg_namespace n ON n.oid=c.relnamespace - WHERE i.inhrelid = rel.oid ORDER BY inhseqno)) AS coll_inherits, - (SELECT count(*) - FROM pg_inherits i - JOIN pg_class c ON c.oid = i.inhparent - JOIN pg_namespace n ON n.oid=c.relnamespace - WHERE i.inhrelid = rel.oid) AS inherited_tables_cnt, - false AS relpersistence, - substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_analyze_scale_factor, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_cost_delay=([0-9]*)') AS autovacuum_vacuum_cost_delay, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_cost_limit=([0-9]*)') AS autovacuum_vacuum_cost_limit, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_analyze_scale_factor, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_cost_delay=([0-9]*)') AS toast_autovacuum_vacuum_cost_delay, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_cost_limit=([0-9]*)') AS toast_autovacuum_vacuum_cost_limit, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, - rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reltype, typ.typname, - typ.typrelid AS typoid, - (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - NULL AS seclabels, - (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, - -- Added for partition table - (CASE WHEN partitions.number_of_partitions > 0 THEN true ELSE false END) AS is_partitioned, - '' AS partition_scheme, - {% if ptid %} - (CASE WHEN partitions.number_of_partitions > 0 THEN partitions.expression ELSE '' END) AS partition_value, - (SELECT relname FROM pg_class WHERE oid = {{ tid }}::oid) AS partitioned_table_name - {% else %} - partitions.expression AS partition_value - {% endif %} - -FROM pg_class rel - LEFT OUTER JOIN pg_tablespace spc on spc.oid=rel.reltablespace - LEFT OUTER JOIN pg_description des ON (des.objoid=rel.oid AND des.objsubid=0 AND des.classoid='pg_class'::regclass) - LEFT OUTER JOIN pg_constraint con ON con.conrelid=rel.oid AND con.contype='p' - LEFT OUTER JOIN pg_class tst ON tst.oid = rel.reltoastrelid - LEFT JOIN pg_type typ ON rel.reltype=typ.oid - LEFT JOIN pg_inherits inh ON inh.inhrelid = rel.oid - LEFT JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid - LEFT JOIN (SELECT tablename, partitionboundary as expression, count(*) number_of_partitions FROM pg_partitions GROUP BY tablename, expression) partitions ON rel.relname = tablename -WHERE inh.inhparent = {{ tid }}::oid -{% if ptid %} AND rel.oid = {{ ptid }}::oid {% endif %} -ORDER BY rel.relname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index 167184011..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'relacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/create.sql deleted file mode 100644 index b6ff1f188..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/create.sql +++ /dev/null @@ -1,172 +0,0 @@ -{% import 'macros/schemas/security.macros' as SECLABEL %} -{% import 'macros/schemas/privilege.macros' as PRIVILEGE %} -{% import 'macros/variable.macros' as VARIABLE %} -{% import 'columns/macros/security.macros' as COLUMN_SECLABEL %} -{% import 'columns/macros/privilege.macros' as COLUMN_PRIVILEGE %} -{% import 'tables/sql/macros/constraints.macro' as CONSTRAINTS %} -{% import 'types/macros/get_full_type_sql_format.macros' as GET_TYPE %} -{#===========================================#} -{#====== MAIN TABLE TEMPLATE STARTS HERE ======#} -{#===========================================#} -{# - If user has not provided any details but only name then - add empty bracket with table name -#} -{% set empty_bracket = ""%} -{% if data.coll_inherits|length == 0 and data.columns|length == 0 and not data.typname and not data.like_relation and data.primary_key|length == 0 and data.unique_constraint|length == 0 and data.foreign_key|length == 0 and data.check_constraint|length == 0 and data.exclude_constraint|length == 0 %} -{% set empty_bracket = "\n(\n)"%} -{% endif %} -CREATE {% if data.relpersistence %}UNLOGGED {% endif %}TABLE {{conn|qtIdent(data.schema, data.name)}}{{empty_bracket}} -{% if data.typname %} - OF {{ data.typname }} -{% endif %} -{% if data.like_relation or data.coll_inherits or data.columns|length > 0 or data.primary_key|length > 0 or data.unique_constraint|length > 0 or data.foreign_key|length > 0 or data.check_constraint|length > 0 or data.exclude_constraint|length > 0 %} -( -{% endif %} -{% if data.like_relation %} - LIKE {{ data.like_relation }}{% if data.like_default_value %} - - INCLUDING DEFAULTS{% endif %}{% if data.like_constraints %} - - INCLUDING CONSTRAINTS{% endif %}{% if data.like_indexes %} - - INCLUDING INDEXES{% endif %}{% if data.like_storage %} - - INCLUDING STORAGE{% endif %}{% if data.like_comments %} - - INCLUDING COMMENTS{% endif %}{% if data.columns|length > 0 %}, -{% endif %} - -{% endif %} -{### Add columns ###} -{% if data.columns and data.columns|length > 0 %} -{% for c in data.columns %} -{% if c.name and c.cltype %} - {% if c.inheritedfromtable %}-- Inherited from table {{c.inheritedfromtable}}: {% elif c.inheritedfromtype %}-- Inherited from type {{c.inheritedfromtype}}: {% endif %}{{conn|qtIdent(c.name)}} {% if is_sql %}{{c.displaytypname}}{% else %}{{ GET_TYPE.CREATE_TYPE_SQL(conn, c.cltype, c.attlen, c.attprecision, c.hasSqrBracket) }}{% endif %}{% if c.collspcname %} COLLATE {{c.collspcname}}{% endif %}{% if c.attnotnull %} NOT NULL{% endif %}{% if c.defval is defined and c.defval is not none and c.defval != '' %} DEFAULT {{c.defval}}{% endif %} -{% if not loop.last %}, -{% endif %} -{% endif %} -{% endfor %} -{% endif %} -{# Macro to render for constraints #} -{% if data.primary_key|length > 0 %}{% if data.columns|length > 0 %},{% endif %} -{{CONSTRAINTS.PRIMARY_KEY(conn, data.primary_key[0])}}{% endif %}{% if data.unique_constraint|length > 0 %}{% if data.columns|length > 0 or data.primary_key|length > 0 %},{% endif %} -{{CONSTRAINTS.UNIQUE(conn, data.unique_constraint)}}{% endif %}{% if data.foreign_key|length > 0 %}{% if data.columns|length > 0 or data.primary_key|length > 0 or data.unique_constraint|length > 0 %},{% endif %} -{{CONSTRAINTS.FOREIGN_KEY(conn, data.foreign_key)}}{% endif %}{% if data.check_constraint|length > 0 %}{% if data.columns|length > 0 or data.primary_key|length > 0 or data.unique_constraint|length > 0 or data.foreign_key|length > 0 %},{% endif %} -{{CONSTRAINTS.CHECK(conn, data.check_constraint)}}{% endif %}{% if data.exclude_constraint|length > 0 %}{% if data.columns|length > 0 or data.primary_key|length > 0 or data.unique_constraint|length > 0 or data.foreign_key|length > 0 or data.check_constraint|length > 0 %},{% endif %} -{{CONSTRAINTS.EXCLUDE(conn, data.exclude_constraint)}}{% endif %} -{% if data.like_relation or data.coll_inherits or data.columns|length > 0 or data.primary_key|length > 0 or data.unique_constraint|length > 0 or data.foreign_key|length > 0 or data.check_constraint|length > 0 or data.exclude_constraint|length > 0 %} - -){% endif %} - -{### If we are inheriting it from another table(s) ###} -{% if data.coll_inherits %} - INHERITS ({% for val in data.coll_inherits %}{% if loop.index != 1 %}, {% endif %}{{val}}{% endfor %}) -{% endif %} -WITH ( - OIDS = {% if data.relhasoids %}TRUE{% else %}FALSE{% endif %}{% if data.fillfactor %}, - FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.appendonly %}, - APPENDONLY = TRUE{% endif %}{% if data.compresslevel %}, - COMPRESSLEVEL = {{ data.compresslevel }}{% endif %}{% if data.blocksize %}, - BLOCKSIZE = {{ data.blocksize }}{% endif %}{% if data.orientation %}, - ORIENTATION = {{ data.orientation.upper() }}{% endif %}{% if data.compresstype %}, - COMPRESSTYPE = {{ data.compresstype.upper() }}{% endif %}{% if data.autovacuum_custom %}, - autovacuum_enabled = {% if data.autovacuum_enabled %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum %}, - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}TRUE{% else %}FALSE{% endif %} -{% endif %}{% if data.autovacuum_enabled and data.vacuum_table|length > 0 %} - -{% for opt in data.vacuum_table %}{% if opt.name and opt.value %} -, - {{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %}{% if data.toast_autovacuum_enabled and data.vacuum_toast|length > 0 %} -{% for opt in data.vacuum_toast %}{% if opt.name and opt.value %} -, - toast.{{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %} - -) -{### SQL for Tablespace ###} -{% if data.spcname %} -TABLESPACE {{ conn|qtIdent(data.spcname) }} -{% endif %} -{### SQL for Distribution ###} -{% if data.distribution %} -DISTRIBUTED BY ({% for attrnum in data.distribution %}{% if loop.index != 1 %}, {% endif %}{{ data.columns[attrnum-1].name }}{% endfor %}) -{% elif data.primary_key|length > 0 %} -DISTRIBUTED BY ({% for c in data.primary_key[0].columns%}{% if loop.index != 1 %}, {% endif %}{{conn|qtIdent(c.column)}}{% endfor %}) -{% else %} -DISTRIBUTED RANDOMLY -{% endif %} -{% if data.is_partitioned %} PARTITION BY {{ data.partition_scheme }}; {% endif %} -; - -{### Alter SQL for Owner ###} -{% if data.relowner %} - -ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} - OWNER to {{conn|qtIdent(data.relowner)}}; -{% endif %} -{### Security Labels on Table ###} -{% if data.seclabels and data.seclabels|length > 0 %} - -{% for r in data.seclabels %} -{{ SECLABEL.SET(conn, 'TABLE', data.name, r.provider, r.label, data.schema) }} -{% endfor %} -{% endif %} -{### ACL on Table ###} -{% if data.relacl %} -{% for priv in data.relacl %} -{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }} -{% endfor %} -{% endif %} -{### SQL for COMMENT ###} -{% if data.description %} -COMMENT ON TABLE {{conn|qtIdent(data.schema, data.name)}} - IS {{data.description|qtLiteral}}; -{% endif %} -{#===========================================#} -{#====== MAIN TABLE TEMPLATE ENDS HERE ======#} -{#===========================================#} -{#===========================================#} -{# COLUMN SPECIFIC TEMPLATES STARTS HERE #} -{#===========================================#} -{% if data.columns and data.columns|length > 0 %} -{% for c in data.columns %} -{% if c.description %} - -COMMENT ON COLUMN {{conn|qtIdent(data.schema, data.name, c.name)}} - IS {{c.description|qtLiteral}}; -{% endif %} -{### Add variables to column ###} -{% if c.attoptions and c.attoptions|length > 0 %} - -ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} - {{ VARIABLE.SET(conn, 'COLUMN', c.name, c.attoptions) }} -{% endif %} -{### ACL ###} -{% if c.attacl and c.attacl|length > 0 %} - -{% for priv in c.attacl %} - {{ COLUMN_PRIVILEGE.APPLY(conn, data.schema, data.name, c.name, priv.grantee, priv.without_grant, priv.with_grant) }} -{% endfor %} -{% endif %} -{### Security Lables ###} -{% if c.seclabels and c.seclabels|length > 0 %} - -{% for r in c.seclabels %} -{{ COLUMN_SECLABEL.APPLY(conn, 'COLUMN',data.schema, data.name, c.name, r.provider, r.label) }} -{% endfor %} -{% endif %} -{% endfor %} -{% endif %} -{#===========================================#} -{# COLUMN SPECIFIC TEMPLATES ENDS HERE #} -{#===========================================#} -{#======================================#} -{# CONSTRAINTS SPECIFIC TEMPLATES #} -{#======================================#} -{{CONSTRAINTS.CONSTRAINT_COMMENTS(conn, data.schema, data.name, data.primary_key)}} -{{CONSTRAINTS.CONSTRAINT_COMMENTS(conn, data.schema, data.name, data.unique_constraint)}} -{{CONSTRAINTS.CONSTRAINT_COMMENTS(conn, data.schema, data.name, data.foreign_key)}} -{{CONSTRAINTS.CONSTRAINT_COMMENTS(conn, data.schema, data.name, data.check_constraint)}} -{{CONSTRAINTS.CONSTRAINT_COMMENTS(conn, data.schema, data.name, data.exclude_constraint)}} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/nodes.sql deleted file mode 100644 index 1461d5009..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/nodes.sql +++ /dev/null @@ -1,14 +0,0 @@ -SELECT rel.oid, rel.relname AS name, - (SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid) AS triggercount, - (SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid AND tgenabled = 'O') AS has_enable_triggers, - (CASE WHEN (SELECT count(*) from pg_partition where parrelid = rel.oid) > 0 THEN true ELSE false END) AS is_partitioned, - (SELECT count(1) FROM pg_inherits WHERE inhrelid=rel.oid LIMIT 1) as is_inherits, - (SELECT count(1) FROM pg_inherits WHERE inhparent=rel.oid LIMIT 1) as is_inherited -FROM pg_class rel - WHERE rel.relkind IN ('r','s','t') AND rel.relnamespace = {{ scid }}::oid - AND rel.relname NOT IN (SELECT partitiontablename FROM pg_partitions) - AND rel.oid NOT IN (SELECT reloid from pg_exttable) - {% if tid %} - AND rel.oid = {{tid}}::OID - {% endif %} - ORDER BY rel.relname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql deleted file mode 100644 index 738608c54..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql +++ /dev/null @@ -1,83 +0,0 @@ -SELECT *, - (CASE when pre_coll_inherits is NULL then ARRAY[]::varchar[] else pre_coll_inherits END) as coll_inherits - {% if tid %}, (CASE WHEN is_partitioned THEN (SELECT substring(pg_get_partition_def({{ tid }}::oid, true) from 14)) ELSE '' END) AS partition_scheme {% endif %} -FROM ( - SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS relacl_str, - (CASE WHEN length(spc.spcname::text) > 0 THEN spc.spcname ELSE - (SELECT sp.spcname FROM pg_database dtb - JOIN pg_tablespace sp ON dtb.dattablespace=sp.oid - WHERE dtb.oid = {{ did }}::oid) - END) as spcname, - (select nspname FROM pg_namespace WHERE oid = {{scid}}::oid ) as schema, - pg_get_userbyid(rel.relowner) AS relowner, rel.relhasoids, - rel.relhassubclass, rel.reltuples::bigint, des.description, con.conname, con.conkey, - EXISTS(select 1 FROM pg_trigger - JOIN pg_proc pt ON pt.oid=tgfoid AND pt.proname='logtrigger' - JOIN pg_proc pc ON pc.pronamespace=pt.pronamespace AND pc.proname='slonyversion' - WHERE tgrelid=rel.oid) AS isrepl, - (SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid) AS triggercount, - (SELECT ARRAY(SELECT CASE WHEN (nspname NOT LIKE 'pg\_%') THEN - quote_ident(nspname)||'.'||quote_ident(c.relname) - ELSE quote_ident(c.relname) END AS inherited_tables - FROM pg_inherits i - JOIN pg_class c ON c.oid = i.inhparent - JOIN pg_namespace n ON n.oid=c.relnamespace - WHERE i.inhrelid = rel.oid ORDER BY inhseqno)) AS pre_coll_inherits, - (SELECT count(*) - FROM pg_inherits i - JOIN pg_class c ON c.oid = i.inhparent - JOIN pg_namespace n ON n.oid=c.relnamespace - WHERE i.inhrelid = rel.oid) AS inherited_tables_cnt, - false AS relpersistence, - substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - substring(array_to_string(rel.reloptions, ',') FROM 'compresslevel=([0-9]*)') AS compresslevel, - substring(array_to_string(rel.reloptions, ',') FROM 'blocksize=([0-9]*)') AS blocksize, - substring(array_to_string(rel.reloptions, ',') FROM 'orientation=(row|column)') AS orientation, - substring(array_to_string(rel.reloptions, ',') FROM 'appendonly=(true|false)')::boolean AS appendonly, - substring(array_to_string(rel.reloptions, ',') FROM 'compresstype=(zlib|quicklz|rle_type|none)') AS compresstype, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_analyze_scale_factor, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_cost_delay=([0-9]*)') AS autovacuum_vacuum_cost_delay, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_cost_limit=([0-9]*)') AS autovacuum_vacuum_cost_limit, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, - substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_analyze_scale_factor, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_cost_delay=([0-9]*)') AS toast_autovacuum_vacuum_cost_delay, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_cost_limit=([0-9]*)') AS toast_autovacuum_vacuum_cost_limit, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, - substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, - rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, NULL AS reloftype, typ.typname AS typname, - typ.typrelid AS typoid, - (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - ARRAY[]::varchar[] AS seclabels, - (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, - - gdp.attrnums AS distribution, - (CASE WHEN (SELECT count(*) from pg_partition where parrelid = rel.oid) > 0 THEN true ELSE false END) AS is_partitioned - - - FROM pg_class rel - LEFT OUTER JOIN pg_tablespace spc on spc.oid=rel.reltablespace - LEFT OUTER JOIN pg_description des ON (des.objoid=rel.oid AND des.objsubid=0 AND des.classoid='pg_class'::regclass) - LEFT OUTER JOIN pg_constraint con ON con.conrelid=rel.oid AND con.contype='p' - LEFT OUTER JOIN pg_class tst ON tst.oid = rel.reltoastrelid - LEFT OUTER JOIN gp_distribution_policy gdp ON gdp.localoid = rel.oid - LEFT OUTER JOIN pg_type typ ON typ.oid = rel.reltype - - WHERE rel.relkind IN ('r','s','t') AND rel.relnamespace = {{ scid }} - {% if tid %} AND rel.oid = {{ tid }}::oid {% endif %} -) AS TableInformation - ORDER BY name diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/stats.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/stats.sql deleted file mode 100644 index 7d7174178..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/stats.sql +++ /dev/null @@ -1,16 +0,0 @@ -SELECT - last_vacuum AS {{ conn|qtIdent(_('Last vacuum')) }}, - last_analyze AS {{ conn|qtIdent(_('Last analyze')) }} -FROM ( - SELECT statime as last_vacuum - FROM pg_stat_operations - WHERE actionname LIKE 'VACUUM' - and objid = {{ tid }}::oid - ) vacuum_result, - ( - SELECT statime as last_analyze - FROM pg_stat_operations - WHERE actionname LIKE 'ANALYZE' - and objid = {{ tid }}::oid - ) analyze_result; - diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/get_oid.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/get_oid.sql deleted file mode 100644 index cf30257bb..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/get_oid.sql +++ /dev/null @@ -1,5 +0,0 @@ -SELECT t.oid -FROM pg_trigger t - WHERE NOT tgisinternal - AND tgrelid = {{tid}}::OID - AND tgname = {{data.name|qtLiteral}}; \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql deleted file mode 100644 index ef06054e0..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql +++ /dev/null @@ -1,8 +0,0 @@ -SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger -FROM pg_trigger t - WHERE NOT tgisinternal - AND tgrelid = {{tid}}::OID -{% if trid %} - AND t.oid = {{trid}}::OID -{% endif %} - ORDER BY tgname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql deleted file mode 100644 index a73669e63..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql +++ /dev/null @@ -1,22 +0,0 @@ -SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable, - nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction, - COALESCE(substring(pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE PROCEDURE'), - substring(pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause, - -- We need to convert tgargs column bytea datatype to array datatype - (string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs, -{% if datlastsysoid %} - (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger, -{% endif %} - (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger -FROM pg_trigger t - JOIN pg_class cl ON cl.oid=tgrelid - JOIN pg_namespace na ON na.oid=relnamespace - LEFT OUTER JOIN pg_description des ON (des.objoid=t.oid AND des.classoid='pg_trigger'::regclass) - LEFT OUTER JOIN pg_proc p ON p.oid=t.tgfoid - LEFT OUTER JOIN pg_language l ON l.oid=p.prolang -WHERE NOT tgisinternal - AND tgrelid = {{tid}}::OID -{% if trid %} - AND t.oid = {{trid}}::OID -{% endif %} -ORDER BY tgname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/alter.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/alter.sql deleted file mode 100644 index 93f323e1a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/alter.sql +++ /dev/null @@ -1,9 +0,0 @@ -{## Alter index to use cluster type ##} -{% if data.indisclustered %} -ALTER TABLE {{conn|qtIdent(data.schema, data.table)}} - CLUSTER ON {{conn|qtIdent(data.name)}}; -{% endif %} -{## Changes description ##} -{% if data.description %} -COMMENT ON INDEX {{conn|qtIdent(data.name)}} - IS {{data.description|qtLiteral}};{% endif %} \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/backend_support.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/backend_support.sql deleted file mode 100644 index bb5e8d803..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/backend_support.sql +++ /dev/null @@ -1,9 +0,0 @@ -{#=============Checks if it is materialized view========#} -{% if vid %} -SELECT - CASE WHEN c.relkind = 'm' THEN False ELSE True END As m_view -FROM - pg_class c -WHERE - c.oid = {{ vid }}::oid -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/create.sql deleted file mode 100644 index d8b334324..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/create.sql +++ /dev/null @@ -1,32 +0,0 @@ -{### Set a flag which allows us to put OR between events ###} -{% set or_flag = False %} -{% if data.lanname == 'edbspl' or data.tfunction == 'Inline EDB-SPL' %} -CREATE OR REPLACE TRIGGER {{ conn|qtIdent(data.name) }} -{% else %} -CREATE{% if data.is_constraint_trigger %} CONSTRAINT{% endif %} TRIGGER {{ conn|qtIdent(data.name) }} -{% endif %} - {{data.fires}} {% if data.evnt_insert %}INSERT{% set or_flag = True %} -{% endif %}{% if data.evnt_delete %} -{% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %} -{% endif %}{% if data.evnt_truncate %} -{% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %} -{% endif %}{% if data.evnt_update %} -{% if or_flag %} OR {% endif %}UPDATE {% if data.columns|length > 0 %}OF {% for c in data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c) }}{% endfor %}{% endif %} -{% endif %} - - ON {{ conn|qtIdent(data.schema, data.table) }} -{% if data.tgdeferrable %} - DEFERRABLE{% if data.tginitdeferred %} INITIALLY DEFERRED{% endif %} -{% endif %} - FOR EACH{% if data.is_row_trigger %} ROW{% else %} STATEMENT{% endif %} -{% if data.whenclause %} - - WHEN {% if not data.oid %}({% endif %}{{ data.whenclause }}{% if not data.oid %}){% endif %}{% endif %} - - {% if data.prosrc is defined and - (data.lanname == 'edbspl' or data.tfunction == 'Inline EDB-SPL') %}{{ data.prosrc }}{% else %}EXECUTE PROCEDURE {{ data.tfunction }}{% if data.tgargs %}({{ data.tgargs }}){% else %}(){% endif%}{% endif%}; - -{% if data.description %} -COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(data.schema, data.table) }} - IS {{data.description|qtLiteral}}; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/delete.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/delete.sql deleted file mode 100644 index 4c6e82b28..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/delete.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TRIGGER {{conn|qtIdent(data.name)}} ON {{conn|qtIdent(data.nspname, data.relname )}}{% if cascade %} CASCADE{% endif %}; \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql deleted file mode 100644 index 174a37be4..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql +++ /dev/null @@ -1,3 +0,0 @@ -{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %} -ALTER TABLE {{ conn|qtIdent(data.schema, data.table) }} - {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_columns.sql deleted file mode 100644 index c74c68b6a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_columns.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT att.attname as name -FROM pg_attribute att - WHERE att.attrelid = {{tid}}::oid - AND att.attnum IN ({{ clist }}) - AND att.attisdropped IS FALSE - ORDER BY att.attnum \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_oid.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_oid.sql deleted file mode 100644 index ff2638590..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_oid.sql +++ /dev/null @@ -1,4 +0,0 @@ -SELECT t.oid -FROM pg_trigger t - WHERE tgrelid = {{tid}}::OID - AND tgname = {{data.name|qtLiteral}}; \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_parent.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_parent.sql deleted file mode 100644 index 1a8a04e6a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_parent.sql +++ /dev/null @@ -1,5 +0,0 @@ -SELECT nsp.nspname AS schema ,rel.relname AS table -FROM pg_catalog.pg_class rel - JOIN pg_namespace nsp - ON rel.relnamespace = nsp.oid::oid - WHERE rel.oid = {{tid}}::oid diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_triggerfunctions.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_triggerfunctions.sql deleted file mode 100644 index 403d5d91e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/get_triggerfunctions.sql +++ /dev/null @@ -1,15 +0,0 @@ -SELECT quote_ident(nspname) || '.' || quote_ident(proname) AS tfunctions -FROM pg_proc p, pg_namespace n, pg_language l - WHERE p.pronamespace = n.oid - AND p.prolang = l.oid - -- PGOID_TYPE_TRIGGER = 2279 - AND l.lanname != 'edbspl' AND prorettype = 2279 - -- If Show SystemObjects is not true - {% if not show_system_objects %} - AND (nspname NOT LIKE 'pg\_%' AND nspname NOT in ('information_schema')) - {% endif %} - -- Find function for specific OID - {% if tgfoid %} - AND p.oid = {{tgfoid}}::OID - {% endif %} - ORDER BY nspname ASC, proname ASC diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql deleted file mode 100644 index 03610acb6..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger -FROM pg_trigger t - WHERE tgrelid = {{tid}}::OID -{% if trid %} - AND t.oid = {{trid}}::OID -{% endif %} - ORDER BY tgname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/properties.sql deleted file mode 100644 index 9af811859..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/properties.sql +++ /dev/null @@ -1 +0,0 @@ -SELECT 1 WHERE 1 = 2; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql deleted file mode 100644 index 3b8d64545..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql +++ /dev/null @@ -1,51 +0,0 @@ -{% if data.name and o_data.name != data.name %} -ALTER TRIGGER {{ conn|qtIdent(o_data.name) }} ON {{ conn|qtIdent(o_data.nspname, o_data.relname) }} - RENAME TO {{ conn|qtIdent(data.name) }}; - -{% endif %} -{% if ((data.prosrc is defined or data.is_row_trigger is defined or data.evnt_insert is defined or data.evnt_delete is defined or data.evnt_update is defined or data.fires is defined) and o_data.lanname == 'edbspl' and (o_data.prosrc != data.prosrc or data.is_row_trigger != o_data.is_row_trigger or data.evnt_insert != o_data.evnt_insert or data.evnt_delete != o_data.evnt_delete or data.evnt_update != o_data.evnt_update or o_data.fires != data.fires)) %} -{% set or_flag = False %} -CREATE OR REPLACE TRIGGER {{ conn|qtIdent(data.name) }} - {% if data.fires is defined %}{{data.fires}} {% else %}{{o_data.fires}} {% endif %}{% if data.evnt_insert is not defined %}{% if o_data.evnt_insert %}INSERT{% set or_flag = True %} -{% endif %}{% else %}{% if data.evnt_insert %}INSERT{% set or_flag = True %}{% endif %}{% endif %}{% if data.evnt_delete is not defined %}{% if o_data.evnt_delete %} -{% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %} -{% endif %}{% else %}{% if data.evnt_delete %} -{% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %}{%endif %}{% endif %}{% if data.evnt_truncate is not defined %}{% if o_data.evnt_truncate %} -{% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %} -{% endif %}{% else %}{% if data.evnt_truncate %} -{% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %}{%endif %}{% endif %}{% if data.evnt_update is not defined %}{% if o_data.evnt_update %} -{% if or_flag %} OR {% endif %}UPDATE {% if o_data.columns|length > 0 %}OF {% for c in o_data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c) }}{% endfor %}{% endif %} -{% endif %}{% else %}{% if data.evnt_update %} -{% if or_flag %} OR {% endif %}UPDATE {% if o_data.columns|length > 0 %}OF {% for c in o_data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c) }}{% endfor %}{% endif %}{% endif %} -{% endif %} - - ON {{ conn|qtIdent(data.schema, data.table) }} -{% if o_data.tgdeferrable %} - DEFERRABLE{% if o_data.tginitdeferred %} INITIALLY DEFERRED{% endif %} -{% endif %}{% if data.is_row_trigger is not defined %} - FOR EACH{% if o_data.is_row_trigger %} ROW{% else %} STATEMENT{% endif %} {% else %} - FOR EACH{% if data.is_row_trigger %} ROW{% else %} STATEMENT{% endif %} {% endif %} -{% if o_data.whenclause %} - WHEN {{ o_data.whenclause }} -{% endif %} - -{% if (data.prosrc is not defined) %} -{{ o_data.prosrc }}; -{% else %} -{{ data.prosrc }}; -{% endif %} - -{% if data.description is not defined and o_data.description %} -COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspname, o_data.relname) }} - IS {{o_data.description|qtLiteral}}; -{% endif %} -{% endif %} -{% if data.description is defined and o_data.description != data.description %} -COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspname, o_data.relname) }} - IS {{data.description|qtLiteral}}; -{% endif %} -{% if data.is_enable_trigger is defined and o_data.is_enable_trigger != data.is_enable_trigger %} -{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %} -ALTER TABLE {{ conn|qtIdent(o_data.nspname, o_data.relname) }} - {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }}; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py deleted file mode 100644 index 24e069f00..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py +++ /dev/null @@ -1,138 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -import os -import re - -from flask import Flask, render_template -from jinja2 import FileSystemLoader, ChoiceLoader - -from config import PG_DEFAULT_DRIVER -from pgadmin import VersionedTemplateLoader -from pgadmin.utils.driver import get_driver -from pgadmin.utils.route import BaseTestGenerator - - -class TestTemplateCreate(BaseTestGenerator): - scenarios = [ - ( - 'When rendering GreenPlum 5.3 template, ' - 'when no distribution is present, ' - 'when no primary key is present, ' - 'it returns "DISTRIBUTED RANDOMLY"', - dict( - template_path='tables/sql/gpdb_5.0_plus/create.sql', - input_parameters=dict( - data=dict() - ), - expected_in_return_value='DISTRIBUTED RANDOMLY', - expected_not_in_return_value='DISTRIBUTED BY ' - ) - ), - ( - 'When rendering GreenPlum 5.3 template, ' - 'when no distribution is present, ' - 'when primary key is present, ' - 'it returns "DISTRIBUTED BY (attr_primary_key)"', - dict( - template_path='tables/sql/gpdb_5.0_plus/create.sql', - input_parameters=dict( - data=dict( - primary_key=[ - dict( - columns=[dict( - column='attr_primary_key_column_1' - ), dict( - column='attr_primary_key_column_2' - )] - ) - ] - ) - ), - expected_in_return_value='DISTRIBUTED BY ' - '(attr_primary_key_column_1, ' - 'attr_primary_key_column_2)', - expected_not_in_return_value='DISTRIBUTED RANDOMLY' - ) - ), - ( - 'When rendering GreenPlum 5.3 template, ' - 'when distribution is present, ' - 'it returns "DISTRIBUTED BY (attr1, attr2, attr4)"', - dict( - template_path='tables/sql/gpdb_5.0_plus/create.sql', - input_parameters=dict( - data=dict( - distribution=[1, 2, 4], - columns=[ - {'name': 'attr1'}, - {'name': 'attr2'}, - {'name': 'attr3'}, - {'name': 'attr4'}, - {'name': 'attr5'}, - ] - ) - ), - expected_in_return_value='DISTRIBUTED BY ' - '(attr1, attr2, attr4)', - expected_not_in_return_value='DISTRIBUTED RANDOMLY' - ) - ), - ] - - def setUp(self): - self.loader = VersionedTemplateLoader(FakeApp()) - - def runTest(self): - with FakeApp().app_context(): - result = render_template( - self.template_path, **self.input_parameters) - result_beautified = re.sub( - ' +', ' ', str(result).replace("\n", " ").strip()) - if hasattr(self, 'expected_return_value'): - self.assertEqual(result_beautified, self.expected_return_value) - if hasattr(self, 'expected_in_return_value'): - self.assertIn(self.expected_in_return_value, result_beautified) - if hasattr(self, 'expected_not_in_return_value'): - self.assertNotIn( - self.expected_not_in_return_value, result_beautified) - - -class FakeApp(Flask): - def __init__(self): - super(FakeApp, self).__init__('') - driver = get_driver(PG_DEFAULT_DRIVER, self) - self.jinja_env.filters['qtLiteral'] = driver.qtLiteral - self.jinja_env.filters['qtIdent'] = driver.qtIdent - self.jinja_env.filters['qtTypeIdent'] = driver.qtTypeIdent - self.jinja_loader = ChoiceLoader([ - FileSystemLoader( - os.path.join(os.path.dirname( - os.path.realpath(__file__) - ), os.pardir, 'templates') - ), - FileSystemLoader( - os.path.join( - os.path.dirname( - os.path.realpath(__file__) - ), os.pardir, os.pardir, 'templates') - ), - FileSystemLoader( - os.path.join(os.path.dirname( - os.path.realpath(__file__)), - os.pardir, os.pardir, 'types', 'templates') - ), - FileSystemLoader( - os.path.join(os.path.dirname( - os.path.realpath(__file__)), - os.pardir, os.pardir, os.pardir, os.pardir, - 'templates') - ), - ] - ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_utils.py index 57905a6a7..fe2133469 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_utils.py @@ -17,43 +17,3 @@ class TestBaseView(BaseTableView): @BaseTableView.check_precondition def test(self, did, sid): pass - - -class TestUtils(BaseTestGenerator): - scenarios = [ - ('Test wrapping function', dict(test='wrap')) - ] - - def runTest(self): - if self.test == 'wrap': - self.__wrap_tests() - - def __wrap_tests(self): - subject = TestBaseView(cmd='something') - with patch('pgadmin.browser.server_groups.servers.databases.schemas' - '.tables.utils.get_driver') as get_driver_mock: - get_driver_mock.return_value = MagicMock( - connection_manager=MagicMock( - return_value=MagicMock( - connection=MagicMock(), - db_info={ - 1: dict(datlastsysoid=False) - }, - version=10, - server_type='gpdb' - ) - ), - qtIndent=MagicMock(), - qtTypeIdent=MagicMock() - ) - subject.test(did=1, sid=2) - self.assertEqual( - subject.table_template_path, 'tables/sql/#gpdb#10#') - self.assertEqual( - subject.data_type_template_path, 'datatype/sql/#gpdb#10#') - self.assertEqual( - subject.index_template_path, - 'indexes/sql/#gpdb#10#') - self.assertEqual( - subject.trigger_template_path, - 'triggers/sql/gpdb/#10#') diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py index 5c0ce8a94..92d032d17 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py @@ -67,7 +67,6 @@ class TriggerModule(CollectionNodeModule): """ self.min_ver = None self.max_ver = None - self.min_gpdbver = 1000000000 super(TriggerModule, self).__init__(*args, **kwargs) def backend_supported(self, manager, **kwargs): @@ -75,8 +74,6 @@ class TriggerModule(CollectionNodeModule): Load this module if vid is view, we will not load it under material view """ - if manager.server_type == 'gpdb': - return False if super(TriggerModule, self).backend_supported(manager, **kwargs): conn = manager.connection(did=kwargs['did']) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_add.py index 92ae3cb5c..75972c70e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_add.py @@ -28,7 +28,6 @@ import sys class TriggersAddTestCase(BaseTestGenerator): """This class will add new trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('add_trigger', triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete.py index cf15b72e1..c7847ff32 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete.py @@ -27,7 +27,6 @@ import sys class TriggersDeleteTestCase(BaseTestGenerator): """This class will delete trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('delete_trigger', triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete_multiple.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete_multiple.py index dc77724ee..43557361d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete_multiple.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_delete_multiple.py @@ -26,7 +26,6 @@ from . import utils as triggers_utils class TriggersDeleteMultipleTestCase(BaseTestGenerator): """This class will delete trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('delete_multiple_trigger', triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_get.py index 1604dd8fb..a2ea1d4a2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_get.py @@ -27,7 +27,6 @@ import sys class TriggersGetTestCase(BaseTestGenerator): """This class will fetch trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('get_trigger', triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py index 59ba16c25..8a113d69e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py @@ -28,7 +28,6 @@ import sys class TriggersUpdateTestCase(BaseTestGenerator): """This class will update trigger under table node.""" - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('update_trigger', triggers_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/macros/catalogs.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/macros/catalogs.sql deleted file mode 100644 index f911e10f7..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/macros/catalogs.sql +++ /dev/null @@ -1,21 +0,0 @@ -{% macro LIST(tbl) -%} - ({{ tbl }}.nspname = 'pg_catalog' AND EXISTS - (SELECT 1 FROM pg_class WHERE relname = 'pg_class' AND - relnamespace = {{ tbl }}.oid LIMIT 1)) OR - ({{ tbl }}.nspname = 'information_schema' AND EXISTS - (SELECT 1 FROM pg_class WHERE relname = 'tables' AND - relnamespace = {{ tbl }}.oid LIMIT 1)) -{%- endmacro %} -{% macro LABELS(tbl, _) -%} - CASE {{ tbl }}.nspname - WHEN 'pg_catalog' THEN '{{ _( 'PostgreSQL Catalog' ) }} (pg_catalog)' - WHEN 'information_schema' THEN '{{ _( 'ANSI' ) }} (information_schema)' - ELSE {{ tbl }}.nspname - END AS name -{%- endmacro %} -{% macro DB_SUPPORT(tbl) -%} - CASE - WHEN {{ tbl }}.nspname = ANY('{information_schema}') - THEN false - ELSE true END -{%- endmacro %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/acl.sql deleted file mode 100644 index 48dcf1fe0..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'nspacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/create.sql deleted file mode 100644 index 12dd10251..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/create.sql +++ /dev/null @@ -1,17 +0,0 @@ -{% import 'macros/privilege.macros' as PRIVILEGE %} -{% if data %} -CREATE SCHEMA {{ conn|qtIdent(data.name) }} -{% if data.namespaceowner %} - AUTHORIZATION {{ conn|qtIdent(data.namespaceowner) }}; - -{% endif %} -{% if data.description %} -COMMENT ON SCHEMA {{ conn|qtIdent(data.name) }} - IS {{ data.description|qtLiteral }}; - -{% endif %} -{% if data.nspacl %} -{% for priv in data.nspacl %} -{{ PRIVILEGE.APPLY(conn, 'SCHEMA', priv.grantee, data.name, priv.without_grant, priv.with_grant) }}{% endfor %} -{% endif %} -{% endif %} \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/get_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/get_name.sql deleted file mode 100644 index 3c5187dcf..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/get_name.sql +++ /dev/null @@ -1 +0,0 @@ -SELECT nsp.nspname FROM pg_namespace nsp WHERE nsp.oid = {{ scid|qtLiteral }}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/is_catalog.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/is_catalog.sql deleted file mode 100644 index 9386acbf4..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/is_catalog.sql +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'catalog/pg/macros/catalogs.sql' as CATALOGS %} -SELECT - nsp.nspname as schema_name, - {{ CATALOGS.LIST('nsp') }} AS is_catalog, - {{ CATALOGS.DB_SUPPORT('nsp') }} AS db_support -FROM - pg_catalog.pg_namespace nsp -WHERE - nsp.oid = {{ scid|qtLiteral }}::OID; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/nodes.sql deleted file mode 100644 index c75e7ba54..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/nodes.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% import 'catalog/gpdb_5.0_plus/macros/catalogs.sql' as CATALOGS %} -SELECT - nsp.oid, -{{ CATALOGS.LABELS('nsp', _) }}, - has_schema_privilege(nsp.oid, 'CREATE') as can_create, - has_schema_privilege(nsp.oid, 'USAGE') as has_usage -FROM - pg_namespace nsp -WHERE - {% if scid %} - nsp.oid={{scid}}::oid AND - {% endif %} - ( -{{ CATALOGS.LIST('nsp') }} - ) -ORDER BY 2; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/properties.sql deleted file mode 100644 index 2f443ce07..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/properties.sql +++ /dev/null @@ -1,24 +0,0 @@ -{% import 'catalog/pg/macros/catalogs.sql' as CATALOGS %} -SELECT - 2 AS nsptyp, - nsp.nspname AS name, - nsp.oid, - array_to_string(nsp.nspacl::text[], ', ') as acl, - r.rolname AS namespaceowner, description, - has_schema_privilege(nsp.oid, 'CREATE') AS can_create, - CASE - WHEN nspname LIKE E'pg\\_%' THEN true - ELSE false END AS is_sys_object -FROM - pg_namespace nsp - LEFT OUTER JOIN pg_description des ON - (des.objoid=nsp.oid AND des.classoid='pg_namespace'::regclass) - LEFT JOIN pg_roles r ON (r.oid = nsp.nspowner) -WHERE - {% if scid %} - nsp.oid={{scid}}::oid AND - {% endif %} - ( -{{ CATALOGS.LIST('nsp') }} - ) -ORDER BY 1, nspname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/update.sql deleted file mode 100644 index 39f7f94c7..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/catalog/gpdb_5.0_plus/sql/update.sql +++ /dev/null @@ -1,30 +0,0 @@ -{% import 'macros/security.macros' as SECLABEL %} -{% if data %} -{# ==== To update catalog comments ==== #} -{% if data.description and data.description != o_data.description %} -COMMENT ON SCHEMA {{ conn|qtIdent(o_data.name) }} - IS {{ data.description|qtLiteral }}; - -{% endif %} -{# ==== To update catalog securitylabel ==== #} -{# The SQL generated below will change Security Label #} -{% if data.seclabels and data.seclabels|length > 0 %} -{% set seclabels = data.seclabels %} -{% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} -{% for r in seclabels.deleted %} -{{ SECLABEL.DROP(conn, 'SCHEMA', o_data.name, r.provider) }} -{% endfor %} -{% endif %} -{% if 'added' in seclabels and seclabels.added|length > 0 %} -{% for r in seclabels.added %} -{{ SECLABEL.APPLY(conn, 'SCHEMA', o_data.name, r.provider, r.label) }} -{% endfor %} -{% endif %} -{% if 'changed' in seclabels and seclabels.changed|length > 0 %} -{% for r in seclabels.changed %} -{{ SECLABEL.APPLY(conn, 'SCHEMA', o_data.name, r.provider, r.label) }} -{% endfor %} -{% endif %} - -{% endif %} -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/datatype/sql/gpdb_5.0_plus/get_types.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/datatype/sql/gpdb_5.0_plus/get_types.sql deleted file mode 100644 index 73254b87e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/datatype/sql/gpdb_5.0_plus/get_types.sql +++ /dev/null @@ -1,28 +0,0 @@ -SELECT - * -FROM - (SELECT - format_type(t.oid,NULL) AS typname, - CASE WHEN typelem > 0 THEN typelem ELSE t.oid END as elemoid, - typlen, typtype, t.oid, nspname, - (SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup, - FALSE AS is_collatable - FROM - pg_type t - JOIN - pg_namespace nsp ON typnamespace=nsp.oid - WHERE - (NOT (typname = 'unknown' AND nspname = 'pg_catalog')) - AND - {{ condition }} - AND ( - typnamespace = {{ schema_oid }}::oid - OR nsp.nspname = 'pg_catalog' - ) -{% if add_serials %} -{# Here we will add serials types manually #} - UNION SELECT 'smallserial', 0, 2, 'b', 0, 'pg_catalog', false, false - UNION SELECT 'bigserial', 0, 8, 'b', 0, 'pg_catalog', false, false - UNION SELECT 'serial', 0, 4, 'b', 0, 'pg_catalog', false, false -{% endif %}) AS dummy -ORDER BY nspname <> 'pg_catalog', nspname <> 'public', nspname, 1 diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/allowed_privs.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/allowed_privs.json deleted file mode 100644 index 0c1784a5b..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/allowed_privs.json +++ /dev/null @@ -1,30 +0,0 @@ -{# List of allowed privileges for PostgreSQL 9.2 or later #} -{# - Format for allowed privileges is: - "acl_col": { - "type": "name", - "acl": [...] - } -#} -{ - "nspacl": { - "type": "SCHEMA", - "acl": ["C", "U"] - }, - "deftblacl": { - "type": "TABLE", - "acl": ["r", "a", "w", "d", "D", "x", "t"] - }, - "defseqacl": { - "type": "SEQUENCE", - "acl": ["U", "r", "w"] - }, - "deffuncacl": { - "type": "FUNCTION", - "acl": ["X"] - }, - "deftypeacl": { - "type": "TYPE", - "acl": ["U"] - } -} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/acl.sql deleted file mode 100644 index 48dcf1fe0..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'nspacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/create.sql deleted file mode 100644 index 2016209b0..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/create.sql +++ /dev/null @@ -1,40 +0,0 @@ -{% import 'macros/security.macros' as SECLABEL %} -{% import 'macros/privilege.macros' as PRIVILEGE %} -{% import 'macros/default_privilege.macros' as DEFAULT_PRIVILEGE %} -{% if data.name %} -CREATE SCHEMA {{ conn|qtIdent(data.name) }}{% if data.namespaceowner %} - - AUTHORIZATION {{ conn|qtIdent(data.namespaceowner) }}{% endif %}{% endif %}; -{# Alter the comment/description #} -{% if data.description %} - -COMMENT ON SCHEMA {{ conn|qtIdent(data.name) }} - IS {{ data.description|qtLiteral }}; -{% endif %} -{# ACL for the schema #} -{% if data.nspacl %} -{% for priv in data.nspacl %} - -{{ PRIVILEGE.APPLY(conn, 'SCHEMA', priv.grantee, data.name, priv.without_grant, priv.with_grant) }}{% endfor %} -{% endif %} -{# Default privileges on tables #} -{% for defacl, type in [ - ('deftblacl', 'TABLES'), ('defseqacl', 'SEQUENCES'), - ('deffuncacl', 'FUNCTIONS'), ('deftypeacl', 'TYPES')] -%} -{% if data[defacl] %}{% set acl = data[defacl] %} -{% for priv in acl %} - -{{ DEFAULT_PRIVILEGE.SET( - conn, 'SCHEMA', data.name, type, priv.grantee, - priv.without_grant, priv.with_grant - ) }}{% endfor %} -{% endif %} -{% endfor %} -{# Security Labels on schema #} -{% if data.seclabels and data.seclabels|length > 0 %} -{% for r in data.seclabels %} - -{{ SECLABEL.APPLY(conn, 'SCHEMA', data.name, r.provider, r.label) }} -{% endfor %} -{% endif %} \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/defacl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/defacl.sql deleted file mode 100644 index 191e40ccb..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/defacl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - '' AS deftype, - '' AS grantee, - '' AS grantor, - '' AS grantor, - '' AS privileges, - '' AS grantable diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/delete.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/delete.sql deleted file mode 100644 index 74e9126da..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/delete.sql +++ /dev/null @@ -1 +0,0 @@ -DROP SCHEMA {{ conn|qtIdent(name) }} {% if cascade %}CASCADE{%endif%}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/get_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/get_name.sql deleted file mode 100644 index 3c5187dcf..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/get_name.sql +++ /dev/null @@ -1 +0,0 @@ -SELECT nsp.nspname FROM pg_namespace nsp WHERE nsp.oid = {{ scid|qtLiteral }}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/is_catalog.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/is_catalog.sql deleted file mode 100644 index 9386acbf4..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/is_catalog.sql +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'catalog/pg/macros/catalogs.sql' as CATALOGS %} -SELECT - nsp.nspname as schema_name, - {{ CATALOGS.LIST('nsp') }} AS is_catalog, - {{ CATALOGS.DB_SUPPORT('nsp') }} AS db_support -FROM - pg_catalog.pg_namespace nsp -WHERE - nsp.oid = {{ scid|qtLiteral }}::OID; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/nodes.sql deleted file mode 100644 index d1a19d1a3..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/nodes.sql +++ /dev/null @@ -1,20 +0,0 @@ -{% import 'catalog/pg/macros/catalogs.sql' as CATALOGS %} -SELECT - nsp.oid, - nsp.nspname as name, - has_schema_privilege(nsp.oid, 'CREATE') as can_create, - has_schema_privilege(nsp.oid, 'USAGE') as has_usage -FROM - pg_namespace nsp -WHERE - {% if scid %} - nsp.oid={{scid}}::oid AND - {% else %} - {% if not show_sysobj %} - nspname NOT LIKE 'pg\_%' AND - {% endif %} - {% endif %} - NOT ( -{{ CATALOGS.LIST('nsp') }} - ) -ORDER BY nspname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/oid.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/oid.sql deleted file mode 100644 index c5329b390..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/oid.sql +++ /dev/null @@ -1 +0,0 @@ -SELECT nsp.oid FROM pg_namespace nsp WHERE nsp.nspname = {{ schema|qtLiteral }}; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/properties.sql deleted file mode 100644 index f6c2d9232..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/properties.sql +++ /dev/null @@ -1,39 +0,0 @@ -{% import 'catalog/pg/macros/catalogs.sql' as CATALOGS %} -SELECT - CASE - WHEN (nspname LIKE E'pg\\_temp\\_%') THEN 1 - WHEN (nspname LIKE E'pg\\_%') THEN 0 - ELSE 3 END AS nsptyp, - nsp.nspname AS name, - nsp.oid, - array_to_string(nsp.nspacl::text[], ', ') as acl, - r.rolname AS namespaceowner, description, - has_schema_privilege(nsp.oid, 'CREATE') AS can_create, - CASE - WHEN nspname LIKE E'pg\\_%' THEN true - ELSE false END AS is_sys_object, - {### Default ACL for Tables ###} - '' AS tblacl, - {### Default ACL for Sequnces ###} - '' AS seqacl, - {### Default ACL for Functions ###} - '' AS funcacl, - {### Default ACL for Type ###} - '' AS typeacl -FROM - pg_namespace nsp - LEFT OUTER JOIN pg_description des ON - (des.objoid=nsp.oid AND des.classoid='pg_namespace'::regclass) - LEFT JOIN pg_roles r ON (r.oid = nsp.nspowner) -WHERE - {% if scid %} - nsp.oid={{scid}}::oid AND - {% else %} - {% if not show_sysobj %} - nspname NOT LIKE E'pg\\_%' AND - {% endif %} - {% endif %} - NOT ( -{{ CATALOGS.LIST('nsp') }} - ) -ORDER BY 1, nspname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/update.sql deleted file mode 100644 index 47f6e1346..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/gpdb_5.0_plus/sql/update.sql +++ /dev/null @@ -1,83 +0,0 @@ -{% import 'macros/security.macros' as SECLABEL %} -{% import 'macros/privilege.macros' as PRIVILEGE %} -{% import 'macros/default_privilege.macros' as DEFAULT_PRIVILEGE %} -{# Rename the schema #} -{% if data.name and data.name != o_data.name %} -ALTER SCHEMA {{ conn|qtIdent(o_data.name) }} - RENAME TO {{ conn|qtIdent(data.name) }}; - -{% endif %} -{# Change the owner #} -{% if data.namespaceowner and data.namespaceowner != o_data.namespaceowner %} -ALTER SCHEMA {{ conn|qtIdent(data.name) }} - OWNER TO {{ conn|qtIdent(data.namespaceowner) }}; - -{% endif %} -{# Update the comments/description #} -{% if data.description is defined and data.description != o_data.description %} -COMMENT ON SCHEMA {{ conn|qtIdent(data.name) }} - IS {{ data.description|qtLiteral }}; - -{% endif %} -{# Change the privileges #} -{% if data.nspacl %} -{% if 'deleted' in data.nspacl %} -{% for priv in data.nspacl.deleted %} -{{ PRIVILEGE.RESETALL(conn, 'SCHEMA', priv.grantee, data.name) }} -{% endfor %} -{% endif %} -{% if 'changed' in data.nspacl %} -{% for priv in data.nspacl.changed %} -{{ PRIVILEGE.RESETALL(conn, 'SCHEMA', priv.grantee, data.name) }} -{{ PRIVILEGE.APPLY(conn, 'SCHEMA', priv.grantee, data.name, priv.without_grant, priv.with_grant) }} -{% endfor %} -{% endif %} -{% if 'added' in data.nspacl %} -{% for priv in data.nspacl.added %} -{{ PRIVILEGE.APPLY(conn, 'SCHEMA', priv.grantee, data.name, priv.without_grant, priv.with_grant) }} -{% endfor %} -{% endif %} -{% endif %} -{# Change the default privileges #} -{% for defacl, type in [ - ('deftblacl', 'TABLES'), ('defseqacl', 'SEQUENCES'), - ('deffuncacl', 'FUNCTIONS'), ('deftypeacl', 'TYPES')] -%} -{% if data[defacl] %}{% set acl = data[defacl] %} -{% if 'deleted' in acl %} -{% for priv in acl.deleted %} -{{ DEFAULT_PRIVILEGE.UNSET(conn, 'SCHEMA', data.name, type, priv.grantee) }} -{% endfor %} -{% endif %} -{% if 'changed' in acl %} -{% for priv in acl.changed %} -{{ DEFAULT_PRIVILEGE.UNSET(conn, 'SCHEMA', data.name, type, priv.grantee) }} -{{ DEFAULT_PRIVILEGE.SET(conn,'SCHEMA', data.name, type, priv.grantee, priv.without_grant, priv.with_grant) }} -{% endfor %} -{% endif %} -{% if 'added' in acl %} -{% for priv in acl.added %} -{{ DEFAULT_PRIVILEGE.SET(conn,'SCHEMA', data.name, type, priv.grantee, priv.without_grant, priv.with_grant) }} -{% endfor %} -{% endif %} -{% endif %} -{% endfor %} -{# Change the security labels #} -{% if data.seclabels and data.seclabels|length > 0 %} -{% set seclabels = data.seclabels %} -{% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} -{% for r in seclabels.deleted %} -{{ SECLABEL.DROP(conn, 'SCHEMA', data.name, r.provider) }} -{% endfor %} -{% endif %} -{% if 'added' in seclabels and seclabels.added|length > 0 %} -{% for r in seclabels.added %} -{{ SECLABEL.APPLY(conn, 'SCHEMA', data.name, r.provider, r.label) }} -{% endfor %} -{% endif %} -{% if 'changed' in seclabels and seclabels.changed|length > 0 %} -{% for r in seclabels.changed %} -{{ SECLABEL.APPLY(conn, 'SCHEMA', data.name, r.provider, r.label) }} -{% endfor %} -{% endif %} -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py index 54dfeed10..c907f63b5 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py @@ -21,7 +21,6 @@ from unittest.mock import patch class SchemaPutTestCase(BaseTestGenerator): """ This class will update the schema under database node. """ - skip_on_database = ['gpdb'] scenarios = utils.generate_scenarios('schema_update', schema_utils.test_cases) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_utils.py index 3bc250c4c..ff6e754f1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_utils.py @@ -60,20 +60,6 @@ class DataTypeReaderTest(BaseTestGenerator): add_serials=False, expected_sql_template_path='datatype/sql/#456#', expected_function_output=_default_expected_function_output - )), - ('When no data_type_template_path is present in class for GreenPlum, ' - 'should create template path with gpdb and the version number', - dict( - manager=dict( - server_type='gpdb', - version='456' - ), - execute_return_values=_default_database_response, - sql_condition='new condition', - schema_oid='123', - add_serials=False, - expected_sql_template_path='datatype/sql/#gpdb#456#', - expected_function_output=_default_expected_function_output )) ] diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index 67ce0de72..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'typacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/additional_properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/additional_properties.sql deleted file mode 100644 index 570a7eb6e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/additional_properties.sql +++ /dev/null @@ -1,34 +0,0 @@ -{# The SQL given below will fetch composite type#} -{% if type == 'c' %} -SELECT attnum, attname, format_type(t.oid,NULL) AS typname, attndims, atttypmod, nsp.nspname, - (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup, - NULL AS collname, NULL as collnspname, att.attrelid, - format_type(t.oid, att.atttypmod) AS fulltype, - CASE WHEN t.typelem > 0 THEN t.typelem ELSE t.oid END as elemoid -FROM pg_attribute att - JOIN pg_type t ON t.oid=atttypid - JOIN pg_namespace nsp ON t.typnamespace=nsp.oid - LEFT OUTER JOIN pg_type b ON t.typelem=b.oid - WHERE att.attrelid = {{typrelid}}::oid - ORDER by attnum; -{% endif %} - -{# The SQL given below will fetch enum type#} -{% if type == 'e' %} -SELECT enumlabel -FROM pg_enum - WHERE enumtypid={{tid}}::oid - ORDER by enumsortorder -{% endif %} - -{# The SQL given below will fetch range type#} -{% if type == 'r' %} -SELECT rngsubtype, st.typname, - rngcollation, NULL AS collname, - rngsubopc, opc.opcname, - rngcanonical, rngsubdiff -FROM pg_range - LEFT JOIN pg_type st ON st.oid=rngsubtype - LEFT JOIN pg_opclass opc ON opc.oid=rngsubopc - WHERE rngtypid={{tid}}::oid; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/get_collations.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/get_collations.sql deleted file mode 100644 index 98bc9a48a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/get_collations.sql +++ /dev/null @@ -1,6 +0,0 @@ -SELECT 'pg_catalog.' || quote_ident(collate_setting.value) AS copy_collation -FROM ( - SELECT setting AS value - FROM pg_settings - WHERE name='lc_collate' - ) collate_setting; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/properties.sql deleted file mode 100644 index a3027e708..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/types/pg/sql/gpdb_5.0_plus/properties.sql +++ /dev/null @@ -1,31 +0,0 @@ -SELECT - t.oid, - t.typname AS name, - FALSE AS is_collatable, - array_to_string(ct.relacl::text[], ', ') AS acl, - t.*, - format_type(t.oid, NULL) AS alias, - pg_get_userbyid(t.typowner) AS typeowner, - e.typname AS element, - description, - ct.oid AS taboid, - nsp.nspname AS schema, - ARRAY [] :: TEXT [] AS seclabels, - (CASE WHEN (t.oid <= {{datlastsysoid}}:: OID OR ct.oid != 0) - THEN TRUE - ELSE FALSE END) AS is_sys_type -FROM pg_type t - LEFT OUTER JOIN pg_type e ON e.oid = t.typelem - LEFT OUTER JOIN pg_class ct ON ct.oid = t.typrelid AND ct.relkind <> 'c' - LEFT OUTER JOIN pg_description des - ON (des.objoid = t.oid AND des.classoid = 'pg_type' :: REGCLASS) - LEFT OUTER JOIN pg_namespace nsp ON nsp.oid = t.typnamespace -WHERE t.typtype != 'd' AND t.typname NOT LIKE E'\\_%' AND - t.typnamespace = {{scid}}:: OID -{% if tid %} -AND t.oid = {{tid}}:: OID -{% endif %} -{% if not show_system_objects %} -AND ct.oid IS NULL -{% endif %} -ORDER BY t.typname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py index db455cd64..e9581fbf6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py @@ -114,10 +114,6 @@ class DataTypeReader: else self.manager if not hasattr(self, 'data_type_template_path'): self.data_type_template_path = 'datatype/sql/' + ( - '#{0}#{1}#'.format( - manager.server_type, - manager.version - ) if manager.server_type == 'gpdb' else '#{0}#'.format(manager.version) ) sql = render_template( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py index 18d75d8ec..ed9245f3c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py @@ -199,7 +199,6 @@ class MViewModule(ViewModule): super(MViewModule, self).__init__(*args, **kwargs) self.min_ver = 90300 self.max_ver = None - self.min_gpdbver = 1000000000 view_blueprint = ViewModule(__name__) @@ -236,9 +235,7 @@ def check_precondition(f): 'datlastsysoid'] # Set template path for sql scripts - if self.manager.server_type == 'gpdb': - _temp = self.gpdb_template_path(self.manager.version) - elif self.manager.server_type == 'ppas': + if self.manager.server_type == 'ppas': _temp = self.ppas_template_path(self.manager.version) else: _temp = self.pg_template_path(self.manager.version) @@ -380,13 +377,6 @@ class ViewNode(PGChildNodeView, VacuumSettings, SchemaDiffObjectCompare): """ return 'pg/#{0}#'.format(ver) - @staticmethod - def gpdb_template_path(ver): - """ - Returns the template path for GreenPlum servers. - """ - return '#gpdb#{0}#'.format(ver) - @check_precondition def list(self, gid, sid, did, scid): """ @@ -1183,9 +1173,6 @@ class ViewNode(PGChildNodeView, VacuumSettings, SchemaDiffObjectCompare): generate their sql and render into sql tab """ - if self.manager.server_type == 'gpdb': - return '' - from pgadmin.browser.server_groups.servers.databases.schemas.utils \ import trigger_definition diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/acl.sql deleted file mode 100644 index 7a87c27ec..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/acl.sql +++ /dev/null @@ -1,8 +0,0 @@ -{# ============================ Get ACLs ========================= #} -SELECT - 'datacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/allowed_privs.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/allowed_privs.json deleted file mode 100644 index 71f317fb2..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/allowed_privs.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "datacl": { - "type": "VIEW", - "acl": ["a", "r", "w", "d", "D", "x", "t"] - } -} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/create.sql deleted file mode 100644 index 5720b1406..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/create.sql +++ /dev/null @@ -1,20 +0,0 @@ -{#============================Create new view=========================#} -{% if display_comments %} --- View: {{ conn|qtIdent(data.schema, data.name) }} - --- DROP VIEW {{ conn|qtIdent(data.schema, data.name) }}; - -{% endif %} -{% if data.name and data.schema and data.definition %} -CREATE OR REPLACE VIEW {{ conn|qtIdent(data.schema, data.name) }} AS -{{ data.definition.rstrip(';') }}; -{% if data.owner %} - -ALTER TABLE {{ conn|qtIdent(data.schema, data.name) }} - OWNER TO {{ conn|qtIdent(data.owner) }}; -{% endif %} -{% if data.comment %} -COMMENT ON VIEW {{ conn|qtIdent(data.schema, data.name) }} - IS {{ data.comment|qtLiteral }}; -{% endif %} -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/delete.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/delete.sql deleted file mode 100644 index b1c173f98..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/delete.sql +++ /dev/null @@ -1,13 +0,0 @@ -{# ====================== Drop/Cascade view by name ===================== #} -{% if vid %} -SELECT - c.relname AS name, - nsp.nspname -FROM - pg_class c -LEFT JOIN pg_namespace nsp ON c.relnamespace = nsp.oid -WHERE - c.relfilenode = {{ vid }}; -{% elif (name and nspname) %} -DROP VIEW {{ conn|qtIdent(nspname, name) }} {% if cascade %} CASCADE {% endif %}; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_oid.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_oid.sql deleted file mode 100644 index 453c2444e..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_oid.sql +++ /dev/null @@ -1,9 +0,0 @@ -{# ===== fetch new assigned schema id ===== #} -{% if vid %} -SELECT - c.relnamespace as scid -FROM - pg_class c -WHERE - c.oid = {{vid}}::oid; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_schema.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_schema.sql deleted file mode 100644 index 3bdb5dcb3..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/get_schema.sql +++ /dev/null @@ -1,7 +0,0 @@ -{# ===== fetch schema name against schema oid ===== #} -SELECT - nspname -FROM - pg_namespace -WHERE - oid = {{ scid }}::oid; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/grant.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/grant.sql deleted file mode 100644 index a7e1585bd..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/grant.sql +++ /dev/null @@ -1,6 +0,0 @@ -{# ===== Grant Permissions to User Role on Views/Tables ===== #} -{% import 'macros/schemas/security.macros' as SECLABEL %} -{% import 'macros/schemas/privilege.macros' as PRIVILEGE %} -{# ===== We will generate Security Label SQL using macro ===== #} -{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABEL.SET(conn, 'VIEW', data.name, r.provider, r.label, data.schema) }}{{'\r'}}{% endfor %}{{'\r'}}{% endif %}{% if data.datacl %} -{% for priv in data.datacl %}{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }}{% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/nodes.sql deleted file mode 100644 index be1339674..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/nodes.sql +++ /dev/null @@ -1,13 +0,0 @@ -SELECT - c.oid, - c.relname AS name -FROM pg_class c -WHERE - c.relkind = 'v' -{% if (vid and datlastsysoid) %} - AND c.oid = {{vid}}::oid -{% elif scid %} - AND c.relnamespace = {{scid}}::oid -ORDER BY - c.relname -{% endif %} \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/properties.sql deleted file mode 100644 index 456f33c56..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/properties.sql +++ /dev/null @@ -1,57 +0,0 @@ -{% if (vid and datlastsysoid) or scid %} -SELECT - c.oid, - c.xmin, - (CASE WHEN length(spc.spcname::text) > 0 THEN spc.spcname ELSE 'pg_default' END) as spcname, - c.relname AS name, - nsp.nspname AS schema, - description AS comment, - c.reltablespace AS spcoid, - pg_get_userbyid(c.relowner) AS owner, - pg_get_viewdef(c.oid) AS definition, - array_to_string(c.relacl::text[], ', ') AS acl, - {#=============Checks if it is system view================#} - {% if vid and datlastsysoid %} - CASE WHEN {{vid}} <= {{datlastsysoid}} THEN True ELSE False END AS system_view, - {% endif %} - ARRAY[]::text[] AS seclabels -FROM pg_class c - LEFT OUTER JOIN pg_namespace nsp on nsp.oid = c.relnamespace - LEFT OUTER JOIN pg_tablespace spc on spc.oid=c.reltablespace - LEFT OUTER JOIN pg_description des ON (des.objoid=c.oid and des.objsubid=0 AND des.classoid='pg_class'::regclass) -WHERE ((c.relhasrules - AND - (EXISTS( - SELECT - r.rulename - FROM - pg_rewrite r - WHERE - ((r.ev_class = c.oid) AND (bpchar(r.ev_type) = '1'::bpchar)) - )) - ) AND (c.relkind = 'v'::char)) -{% if (vid and datlastsysoid) %} - AND c.oid = {{vid}}::oid -{% elif scid %} - AND c.relnamespace = {{scid}}::oid ORDER BY c.relname -{% endif %} - -{% elif type == 'roles' %} -SELECT - pr.rolname -FROM - pg_roles pr -WHERE - pr.rolcanlogin -ORDER BY - pr.rolname - -{% elif type == 'schemas' %} -SELECT - nsp.nspname -FROM - pg_namespace nsp -WHERE - (nsp.nspname NOT LIKE E'pg\\_%' - AND nsp.nspname != 'information_schema') -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/update.sql deleted file mode 100644 index 291b7760a..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/update.sql +++ /dev/null @@ -1,67 +0,0 @@ -{# ============================ Update View ========================= #} -{% import 'macros/schemas/security.macros' as SECLABEL %} -{% import 'macros/schemas/privilege.macros' as PRIVILEGE %} -{% if data %} -{% set view_name = data.name if data.name else o_data.name %} -{% set view_schema = data.schema if data.schema else o_data.schema %} -{% set def = data.definition.rstrip(';') if data.definition %} -{% if data.name and data.name != o_data.name %} -ALTER VIEW {{ conn|qtIdent(o_data.schema, o_data.name) }} - RENAME TO {{ conn|qtIdent(data.name) }}; -{% endif %} -{% if data.schema and data.schema != o_data.schema %} -ALTER VIEW {{ conn|qtIdent(o_data.schema, view_name ) }} - SET SCHEMA {{ conn|qtIdent(data.schema) }}; -{% endif %} -{% if data.owner and data.owner != o_data.owner %} -ALTER TABLE {{ conn|qtIdent(view_schema, view_name) }} - OWNER TO {{ conn|qtIdent(data.owner) }}; -{% endif %} -{% if def and def != o_data.definition.rstrip(';') %} -CREATE OR REPLACE VIEW {{ conn|qtIdent(view_schema, view_name) }} - AS{{ def }}; -{% endif %} -{% set old_comment = o_data.comment|default('', true) %} -{% if (data.comment is defined and (data.comment != old_comment)) %} -COMMENT ON VIEW {{ conn|qtIdent(view_schema, view_name) }} - IS {{ data.comment|qtLiteral }}; -{% endif %} -{# The SQL generated below will change privileges #} -{% if data.datacl %} -{% if 'deleted' in data.datacl %} -{% for priv in data.datacl.deleted %} -{{ PRIVILEGE.UNSETALL(conn, 'TABLE', priv.grantee, data.name, data.schema) }} -{% endfor %} -{% endif %} -{% if 'changed' in data.datacl %} -{% for priv in data.datacl.changed %} -{{ PRIVILEGE.UNSETALL(conn, 'TABLE', priv.grantee, data.name, data.schema) }} -{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }} -{% endfor %} -{% endif %} -{% if 'added' in data.datacl %} -{% for priv in data.datacl.added %} -{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }} -{% endfor %} -{% endif %} -{% endif %} -{# The SQL generated below will change Security Label #} -{% if data.seclabels is not none and data.seclabels|length > 0 %} -{% set seclabels = data.seclabels %} -{% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} -{% for r in seclabels.deleted %} -{{ SECLABEL.UNSET(conn, 'VIEW', data.name, r.provider, data.schema) }} -{% endfor %} -{% endif %} -{% if 'added' in seclabels and seclabels.added|length > 0 %} -{% for r in seclabels.added %} -{{ SECLABEL.SET(conn, 'VIEW', data.name, r.provider, r.label, data.schema) }} -{% endfor %} -{% endif %} -{% if 'changed' in seclabels and seclabels.changed|length > 0 %} -{% for r in seclabels.changed %} -{{ SECLABEL.SET(conn, 'VIEW', data.name, r.provider, r.label, data.schema) }} -{% endfor %} -{% endif %} -{% endif %} -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/view_id.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/view_id.sql deleted file mode 100644 index 64181cd64..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/view_id.sql +++ /dev/null @@ -1,6 +0,0 @@ -{# ===== Below will provide view id for last created view ===== #} -{% if data %} -SELECT c.oid, c.relname FROM pg_class c -LEFT OUTER JOIN pg_namespace nsp on nsp.oid = c.relnamespace -WHERE c.relname = '{{ data.name }}' and nsp.nspname = '{{ data.schema }}'; -{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/subscriptions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/subscriptions/__init__.py index 266279031..9561178b6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/subscriptions/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/subscriptions/__init__.py @@ -237,8 +237,6 @@ class SubscriptionView(PGChildNodeView, SchemaDiffObjectCompare): # Set the template path for the SQL scripts self.template_path = ( - "subscriptions/sql/#gpdb#{0}#".format(self.manager.version) if - self.manager.server_type == 'gpdb' else "subscriptions/sql/#{0}#".format(self.manager.version) ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index bfe66f150..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'datacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/gpdb.py b/web/pgadmin/browser/server_groups/servers/gpdb.py deleted file mode 100644 index 174dd15ce..000000000 --- a/web/pgadmin/browser/server_groups/servers/gpdb.py +++ /dev/null @@ -1,30 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2021, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -from flask_babelex import gettext -from pgadmin.browser.server_groups.servers.types import ServerType - - -class GPDB(ServerType): - UTILITY_PATH_LABEL = gettext("Greenplum Database Binary Path") - UTILITY_PATH_HELP = gettext( - "Path to the directory containing the Greenplum Database utility" - " programs (pg_dump, pg_restore etc)." - ) - - @property - def icon(self): - return "gpdb.png" - - def instance_of(self, ver): - return "Greenplum Database" in ver - - -# Default Server Type -GPDB('gpdb', gettext("Greenplum Database"), 3) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py b/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py index 8a423e91f..c9f6c327f 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py @@ -53,9 +53,6 @@ class JobModule(CollectionNodeModule): conn = manager.connection() - if manager.server_type == 'gpdb': - return False - status, res = conn.execute_scalar(""" SELECT has_table_privilege( diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py index 0104fdb03..2f04a1943 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py @@ -76,10 +76,6 @@ def is_valid_server_to_run_pgagent(self): server_con = server_utils.connect_server(self, self.server_id) if not server_con["info"] == "Server connected.": raise Exception("Could not connect to server to add pgAgent job.") - if "type" in server_con["data"]: - if server_con["data"]["type"] == "gpdb": - message = "pgAgent is not supported by Greenplum." - return False, message return True, None diff --git a/web/pgadmin/browser/server_groups/servers/static/img/gpdb.png b/web/pgadmin/browser/server_groups/servers/static/img/gpdb.png deleted file mode 100644 index 134393c4582c4ef5615138ff740884098800df83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1244 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq*&4&eH|GXHuiJ>Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N!u!z$3DlfkEmO2s3J% zTmXtOp3V%3D2ed(u}aR*)k{ptPfFFR$SnZMFfiCuSOJ;2sU?XD6}dTi#a0!zN?;XM zKsHENUr7P1q$Jx`DZ)2E!8yMuRl!uxM9)CUj!Qv7!KNrB%__*n4XPc;vsKC{DJihh z*Do(G*DE*H%P&gTH?*|0)Hg8FH!{)%s?aU2%qvN((9J7Wh8O}f$0fBmxhS)sBr`ux z0c37sQhsTPt&$SRA~=A!vm`SOVN+f))LTFg>VstT4fPE4v1tQ(7VbV2T@{H15KUlT zK`gTY8D-^Pl$i>2F33@KhBjd1QN$3AvjLiJ$u6JzSMckV7x`k2!pWvAj)Ge>iZ8lV``ULasdgSIn96$5DJM|y z>>ft(ORH3xE;JSi+)8y^YWDNqTkHHH3HGSc2WKt6&v|cc|NRc*zu*v4`?pG5^2--) zU}qCNR$FJxc0z*x@VU4>>z_;!{^FbPwSWE#<-ik`liVfeh#8!mz4F`V&6)f&ElVsp zMO4L9I8Ja^I6iSpEpWgn&5Uxe?t zT+&KXFV}yssB*3XW_m`#~KfZ)n+$5??>Fs54eB3Z@Z1XG28O2j2m8wF3~Si zRx2`YI^^MR9hB4^Q{BlF-GBMaEY~{%^46879^L&DkX~~}Oa82oz(du0x{(J$#d%fw zH$OFuyW{v=;F)Tgq|e6Y4i$k&ot0DfUpJ08eD}G>ybq>*dh7KZGWkx}%sS{F6Wo1q z&y4+t`p#MNZAt&ou;Jw~eGkjs8@I@azh&eNF`jjJ#~lZEkH?0x+(IdbmfUM(I%#;{ zIbBKd$J9gBUBc6^-uWxwym3)`*eh?*4PRN7&f%+B_klI-muQj+-wf3|{Be(_>bw)I znIW3HuV!}g+|=~uy}1%A)T}Mnq+XTLH>lpp`#hzW6O zokdKZN{4>VTH#gy{LgTe~DWM4f?7-Te diff --git a/web/pgadmin/browser/server_groups/servers/tablespaces/__init__.py b/web/pgadmin/browser/server_groups/servers/tablespaces/__init__.py index c9855413b..deaf72d20 100644 --- a/web/pgadmin/browser/server_groups/servers/tablespaces/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/tablespaces/__init__.py @@ -30,7 +30,6 @@ class TablespaceModule(CollectionNodeModule): def __init__(self, import_name, **kwargs): super(TablespaceModule, self).__init__(import_name, **kwargs) - self.min_gpdbver = 90000 def get_nodes(self, gid, sid): """ diff --git a/web/pgadmin/browser/server_groups/servers/tablespaces/templates/tablespaces/sql/gpdb_5.0_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/tablespaces/templates/tablespaces/sql/gpdb_5.0_plus/acl.sql deleted file mode 100644 index 54aa620bf..000000000 --- a/web/pgadmin/browser/server_groups/servers/tablespaces/templates/tablespaces/sql/gpdb_5.0_plus/acl.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - 'spcacl' AS deftype, - 'PUBLIC' AS grantee, - NULL AS grantor, - NULL AS privileges, - NULL AS grantable -LIMIT 0; diff --git a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_backend_supported.py b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_backend_supported.py index 82ef9ff0f..475fc3dc3 100644 --- a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_backend_supported.py +++ b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_backend_supported.py @@ -22,14 +22,6 @@ class BackendSupportedTestCase(BaseTestGenerator): server_type='pg' ), expected_result=True - )), - ('When server is GreenPlum 5.0, it returns false', - dict( - manager=dict( - sversion=80323, - server_type='gpdb' - ), - expected_result=False )) ] diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql deleted file mode 100644 index 81bb2a676..000000000 --- a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql +++ /dev/null @@ -1,85 +0,0 @@ -SELECT DISTINCT dep.deptype, dep.refclassid, dep.refobjid, cl.relkind, ad.adbin, ad.adsrc, - CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END - WHEN tg.oid IS NOT NULL THEN 'Tr'::text - WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END - WHEN ns.oid IS NOT NULL THEN 'n'::text - WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text - WHEN pr.oid IS NOT NULL THEN 'Pf'::text - WHEN la.oid IS NOT NULL THEN 'l'::text - WHEN rw.oid IS NOT NULL THEN 'Rl'::text - WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END - WHEN ad.oid IS NOT NULL THEN 'A'::text - WHEN fs.oid IS NOT NULL THEN 'Fs'::text - WHEN fdw.oid IS NOT NULL THEN 'Fw'::text - WHEN col.oid IS NOT NULL THEN 'Co'::text - WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text - WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text - WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text - WHEN ftst.oid IS NOT NULL THEN 'Ft'::text - WHEN ext.oid IS NOT NULL THEN 'Ex'::text - ELSE '' - END AS type, - COALESCE(coc.relname, clrw.relname) AS ownertable, - CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '') - ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname, - fs.srvname, fdw.fdwname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname, - ftst.tmplname, ext.extname) - END AS refname, - COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname, - ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname, - CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits, - CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited -FROM pg_depend dep -LEFT JOIN pg_class cl ON dep.refobjid=cl.oid -LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum -LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid -LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid -LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid -LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid -LEFT JOIN pg_type ty ON dep.refobjid=ty.oid -LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid -LEFT JOIN pg_constraint co ON dep.refobjid=co.oid -LEFT JOIN pg_class coc ON co.conrelid=coc.oid -LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid -LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid -LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class -LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid -LEFT JOIN pg_language la ON dep.refobjid=la.oid -LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid -LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum -LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid -LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid -LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype -LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid) -LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid) -LEFT JOIN pg_collation col ON col.oid=dep.refobjid -LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid -LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid -LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid -LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid -LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid -LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid -LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid -LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid -LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid -LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid -{{where_clause}} AND -refclassid IN ( SELECT oid FROM pg_class WHERE relname IN - ('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace', - 'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_foreign_server', 'pg_foreign_data_wrapper', - 'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension')) -UNION -SELECT DISTINCT dep.deptype, dep.refclassid, dep.refobjid, cl.relkind, ad.adbin, ad.adsrc, - CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END - ELSE '' END AS type, - NULL AS ownertable, - CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '') - ELSE cl.relname END AS refname, - nsc.nspname AS nspname, '0' AS is_inherits, '0' AS is_inherited -FROM pg_depend dep -LEFT JOIN pg_class cl ON dep.refobjid=cl.oid -LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum -LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid -LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum -WHERE dep.objid IN (SELECT oid FROM pg_rewrite WHERE ev_class={{object_id}}) AND cl.relkind not in ('v', 'm') -ORDER BY refclassid, relkind diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql deleted file mode 100644 index 71b0a1edb..000000000 --- a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql +++ /dev/null @@ -1,71 +0,0 @@ -SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc, - CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END - WHEN tg.oid IS NOT NULL THEN 'Tr'::text - WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END - WHEN ns.oid IS NOT NULL THEN 'n'::text - WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text - WHEN pr.oid IS NOT NULL THEN 'Pf'::text - WHEN la.oid IS NOT NULL THEN 'l'::text - WHEN rw.oid IS NOT NULL THEN 'Rl'::text - WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END - WHEN ad.oid IS NOT NULL THEN 'A'::text - WHEN fs.oid IS NOT NULL THEN 'Fs'::text - WHEN fdw.oid IS NOT NULL THEN 'Fw'::text - WHEN col.oid IS NOT NULL THEN 'Co'::text - WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text - WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text - WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text - WHEN ftst.oid IS NOT NULL THEN 'Ft'::text - WHEN ext.oid IS NOT NULL THEN 'Ex'::text - ELSE '' - END AS type, - COALESCE(coc.relname, clrw.relname) AS ownertable, - CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '') - ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname, - fs.srvname, fdw.fdwname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname, - ftst.tmplname, ext.extname) - END AS refname, - COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname, - ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname, - CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits, - CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited -FROM pg_depend dep -LEFT JOIN pg_class cl ON dep.objid=cl.oid -LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum -LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid -LEFT JOIN pg_proc pr ON dep.objid=pr.oid -LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid -LEFT JOIN pg_trigger tg ON dep.objid=tg.oid -LEFT JOIN pg_type ty ON dep.objid=ty.oid -LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid -LEFT JOIN pg_constraint co ON dep.objid=co.oid -LEFT JOIN pg_class coc ON co.conrelid=coc.oid -LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid -LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid -LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class -LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid -LEFT JOIN pg_language la ON dep.objid=la.oid -LEFT JOIN pg_namespace ns ON dep.objid=ns.oid -LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid -LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid -LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid -LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype -LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid) -LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid) -LEFT JOIN pg_collation col ON col.oid=dep.objid -LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid -LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid -LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid -LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid -LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid -LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid -LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid -LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid -LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid -LEFT JOIN pg_extension ext ON ext.oid=dep.objid -{{where_clause}} AND -classid IN ( SELECT oid FROM pg_class WHERE relname IN - ('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace', - 'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_foreign_server', 'pg_foreign_data_wrapper', - 'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension')) -ORDER BY classid, cl.relkind diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/role_dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/role_dependencies.sql deleted file mode 100644 index bd225e39f..000000000 --- a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/role_dependencies.sql +++ /dev/null @@ -1,8 +0,0 @@ -SELECT rolname AS refname, refclassid, deptype -FROM pg_shdepend dep -LEFT JOIN pg_roles r ON refclassid=1260 AND refobjid=r.oid -{{where_clause}} -{% if db_name %} - AND dep.dbid = (SELECT oid FROM pg_database WHERE datname = {{ db_name|qtLiteral }}) -{% endif %} -ORDER BY 1 diff --git a/web/pgadmin/browser/utils.py b/web/pgadmin/browser/utils.py index 139ac6730..757ede48c 100644 --- a/web/pgadmin/browser/utils.py +++ b/web/pgadmin/browser/utils.py @@ -109,8 +109,6 @@ class PGChildModule(object): self.min_ppasver = 0 self.max_ppasver = 1100000000 self.server_type = None - self.min_gpdbver = 80323 - self.max_gpdbver = 1000000000 super(PGChildModule, self).__init__() @@ -131,9 +129,6 @@ class PGChildModule(object): if manager.server_type == 'ppas': min_server_version = self.min_ppasver max_server_version = self.max_ppasver - if manager.server_type == 'gpdb': - min_server_version = self.min_gpdbver - max_server_version = self.max_gpdbver return is_version_in_range(sversion, min_server_version, max_server_version) diff --git a/web/pgadmin/dashboard/__init__.py b/web/pgadmin/dashboard/__init__.py index 45497039c..1116a0915 100644 --- a/web/pgadmin/dashboard/__init__.py +++ b/web/pgadmin/dashboard/__init__.py @@ -238,10 +238,9 @@ def check_precondition(f): g.server_type = g.manager.server_type g.version = g.manager.version - # Include server_type in template_path when server_type is gpdb + # Include server_type in template_path g.template_path = 'dashboard/sql/' + ( - '#{0}#{1}#'.format(g.server_type, g.version) - if g.server_type == 'gpdb' else '#{0}#'.format(g.version) + '#{0}#'.format(g.version) ) return f(*args, **kwargs) diff --git a/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/activity.sql b/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/activity.sql deleted file mode 100644 index 0b3918e17..000000000 --- a/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/activity.sql +++ /dev/null @@ -1,15 +0,0 @@ -/*pga4dash*/ -SELECT - procpid AS pid, - datname, - usename, - application_name, - client_addr, - to_char(backend_start, 'YYYY-MM-DD HH24:MI:SS TZ') AS backend_start, - CASE WHEN current_query LIKE '%' THEN 'idle' ELSE 'active' END AS state, - CASE WHEN waiting THEN '{{ _('yes') }}' ELSE '{{ _('no') }}' END AS waiting -FROM - pg_stat_activity -{% if did %}WHERE - datid = {{ did }} {% endif %} -ORDER BY pid diff --git a/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/dashboard_stats.sql b/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/dashboard_stats.sql deleted file mode 100644 index 2b0017d09..000000000 --- a/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/dashboard_stats.sql +++ /dev/null @@ -1,57 +0,0 @@ -/*pga4dash*/ -{% set add_union = false %} -{% if 'session_stats' in chart_names %} -{% set add_union = true %} -SELECT 'session_stats' AS chart_name, row_to_json(t) AS chart_data -FROM (SELECT - (SELECT count(*) FROM pg_stat_activity{% if did %} WHERE datid = {{ did }} {% endif %}) AS "{{ _('Total') }}", - (SELECT count(*) FROM pg_stat_activity WHERE current_query NOT LIKE '%'{% if did %} AND datid = {{ did }} {% endif %}) AS "{{ _('Active') }}", - (SELECT count(*) FROM pg_stat_activity WHERE current_query LIKE '%'{% if did %} AND datid = {{ did }} {% endif %}) AS "{{ _('Idle') }}" -) t -{% endif %} -{% if add_union and 'tps_stats' in chart_names %} -UNION ALL -{% endif %} -{% if 'tps_stats' in chart_names %} -{% set add_union = true %} -SELECT 'tps_stats' AS chart_name, row_to_json(t) AS chart_data -FROM (SELECT - (SELECT sum(xact_commit) + sum(xact_rollback) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Transactions') }}", - (SELECT sum(xact_commit) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Commits') }}", - (SELECT sum(xact_rollback) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Rollbacks') }}" -) t -{% endif %} -{% if add_union and 'ti_stats' in chart_names %} -UNION ALL -{% endif %} -{% if 'ti_stats' in chart_names %} -{% set add_union = true %} -SELECT 'ti_stats' AS chart_name, row_to_json(t) AS chart_data -FROM (SELECT - (SELECT sum(tup_inserted) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Inserts') }}", - (SELECT sum(tup_updated) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Updates') }}", - (SELECT sum(tup_deleted) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Deletes') }}" -) t -{% endif %} -{% if add_union and 'to_stats' in chart_names %} -UNION ALL -{% endif %} -{% if 'to_stats' in chart_names %} -{% set add_union = true %} -SELECT 'to_stats' AS chart_name, row_to_json(t) AS chart_data -FROM (SELECT - (SELECT sum(tup_fetched) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Fetched') }}", - (SELECT sum(tup_returned) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Returned') }}" -) t -{% endif %} -{% if add_union and 'bio_stats' in chart_names %} -UNION ALL -{% endif %} -{% if 'bio_stats' in chart_names %} -{% set add_union = true %} -SELECT 'bio_stats' AS chart_name, row_to_json(t) AS chart_data -FROM (SELECT - (SELECT sum(blks_read) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Reads') }}", - (SELECT sum(blks_hit) FROM pg_stat_database{% if did %} WHERE datname = (SELECT datname FROM pg_database WHERE oid = {{ did }}){% endif %}) AS "{{ _('Hits') }}" -) t -{% endif %} diff --git a/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/locks.sql b/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/locks.sql deleted file mode 100644 index 9d21f596e..000000000 --- a/web/pgadmin/dashboard/templates/dashboard/sql/gpdb_5.0_plus/locks.sql +++ /dev/null @@ -1,23 +0,0 @@ -/*pga4dash*/ -SELECT - pid, - locktype, - datname, - relation::regclass, - page, - tuple, - virtualxid - transactionid, - classid::regclass, - objid, - objsubid, - virtualtransaction, - mode, - granted -FROM - pg_locks l - LEFT OUTER JOIN pg_database d ON (l.database = d.oid) -{% if did %}WHERE - database = {{ did }}{% endif %} -ORDER BY - pid, locktype diff --git a/web/pgadmin/static/js/sqleditor/query_tool_preferences.js b/web/pgadmin/static/js/sqleditor/query_tool_preferences.js index a563a730c..9741204d4 100644 --- a/web/pgadmin/static/js/sqleditor/query_tool_preferences.js +++ b/web/pgadmin/static/js/sqleditor/query_tool_preferences.js @@ -220,7 +220,7 @@ function updateUIPreferences(sqlEditor) { /* Although not required, setting explicitly as codemirror will remove code folding only on next edit */ sqlEditor.query_tool_obj.setOption('foldGutter', false); } else { - sqlEditor.query_tool_obj.setOption('mode', sqlEditor.handler.server_type === 'gpdb' ? 'text/x-gpsql' : 'text/x-pgsql'); + sqlEditor.query_tool_obj.setOption('mode', 'text/x-pgsql'); sqlEditor.query_tool_obj.setOption('foldGutter', preferences.code_folding); } sqlEditor.query_tool_obj.setOption('foldGutter', preferences.code_folding); diff --git a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js index 93a7b2969..f221161eb 100644 --- a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js +++ b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js @@ -449,7 +449,7 @@ define('tools.querytool', [ tabindex: '0', lineNumbers: true, styleSelectedText: true, - mode: self.handler.server_type === 'gpdb' ? 'text/x-gpsql' : 'text/x-pgsql', + mode: 'text/x-pgsql', foldOptions: { widget: '\u2026', }, diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/gpdb_5.0_plus/explain_plan.sql b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/gpdb_5.0_plus/explain_plan.sql deleted file mode 100644 index 7904f26bb..000000000 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/gpdb_5.0_plus/explain_plan.sql +++ /dev/null @@ -1 +0,0 @@ -EXPLAIN {% if analyze %}ANALYZE {% endif %}{{ sql }} diff --git a/web/pgadmin/tools/sqleditor/tests/test_encoding_charset.py b/web/pgadmin/tools/sqleditor/tests/test_encoding_charset.py index c68c5fbbd..97d907fdf 100644 --- a/web/pgadmin/tools/sqleditor/tests/test_encoding_charset.py +++ b/web/pgadmin/tools/sqleditor/tests/test_encoding_charset.py @@ -22,7 +22,6 @@ class TestEncodingCharset(BaseTestGenerator): This class validates character support in pgAdmin4 for different PostgresDB encodings """ - skip_on_database = ['gpdb'] scenarios = [ ( 'With Encoding UTF8', diff --git a/web/pgadmin/tools/sqleditor/tests/test_explain_plan_templates.py b/web/pgadmin/tools/sqleditor/tests/test_explain_plan_templates.py index 9aa96b2ee..d2a0ad687 100644 --- a/web/pgadmin/tools/sqleditor/tests/test_explain_plan_templates.py +++ b/web/pgadmin/tools/sqleditor/tests/test_explain_plan_templates.py @@ -117,49 +117,6 @@ class TestExplainPlanTemplates(BaseTestGenerator): 'SELECT * FROM places' ) ), - ( - 'When rendering GreenPlum 5.3 template, ' - 'when all parameters are present,' - 'it returns the explain without parameters', - dict( - template_path='sqleditor/sql/gpdb_5.0_plus/explain_plan.sql', - input_parameters=dict( - sql='SELECT * FROM places', - format='json', - buffers=True - ), - sql_statement='SELECT * FROM places', - expected_return_value='EXPLAIN SELECT * FROM places' - ) - ), - ( - 'When rendering GreenPlum 5.3 template, ' - 'when analyze is true,' - 'it returns the explain analyze', - dict( - template_path='sqleditor/sql/gpdb_5.0_plus/explain_plan.sql', - input_parameters=dict( - sql='SELECT * FROM places', - analyze=True - ), - sql_statement='SELECT * FROM places', - expected_return_value='EXPLAIN ANALYZE SELECT * FROM places' - ) - ), - ( - 'When rendering GreenPlum 5.3 template, ' - 'when analyze is false,' - 'it returns the only explain', - dict( - template_path='sqleditor/sql/gpdb_5.0_plus/explain_plan.sql', - input_parameters=dict( - sql='SELECT * FROM places', - analyze=False - ), - sql_statement='SELECT * FROM places', - expected_return_value='EXPLAIN SELECT * FROM places' - ) - ), ] def setUp(self): diff --git a/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py b/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py index e25769a9c..29cbd4e1d 100644 --- a/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py +++ b/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py @@ -20,7 +20,6 @@ class TestSQLASCIIEncoding(BaseTestGenerator): This class validates character support in pgAdmin4 for SQL_ASCII encodings """ - skip_on_database = ['gpdb'] scenarios = [ ( 'Test SQL_ASCII data with multiple backslashes', diff --git a/web/pgadmin/tools/sqleditor/tests/test_view_data.py b/web/pgadmin/tools/sqleditor/tests/test_view_data.py index 0a8a6287c..f85805fe2 100644 --- a/web/pgadmin/tools/sqleditor/tests/test_view_data.py +++ b/web/pgadmin/tools/sqleditor/tests/test_view_data.py @@ -22,7 +22,6 @@ class TestViewData(BaseTestGenerator): """ This class checks the view data result for a table with JSON datatype """ - skip_on_database = ['gpdb'] scenarios = [ ( 'Table with JSON datatype', diff --git a/web/pgadmin/tools/sqleditor/utils/tests/test_apply_explain_plan_wrapper.py b/web/pgadmin/tools/sqleditor/utils/tests/test_apply_explain_plan_wrapper.py index c79239199..cee94c5dd 100644 --- a/web/pgadmin/tools/sqleditor/utils/tests/test_apply_explain_plan_wrapper.py +++ b/web/pgadmin/tools/sqleditor/utils/tests/test_apply_explain_plan_wrapper.py @@ -76,36 +76,6 @@ class StartRunningQueryTest(BaseTestGenerator): expected_return_value='EXPLAIN (FORMAT JSON, ANALYZE FALSE, ' 'VERBOSE TRUE, COSTS FALSE, BUFFERS FALSE, ' 'TIMING TRUE) some sql' - )), - ('When explain_plan is present for a GreenPlum server version 5, ' - 'it should return SQL with explain plan', - dict( - function_input_parameters={ - 'manager': MagicMock(version=80323, server_type='gpdb'), - 'sql': { - 'sql': 'some sql', - 'explain_plan': { - 'format': 'json', - 'analyze': False, - 'verbose': True, - 'buffers': False, - 'timing': True - } - } - }, - - expect_render_template_mock_parameters=dict( - template_name_or_list='sqleditor/sql/#gpdb#80323#/' - 'explain_plan.sql', - named_parameters=dict( - format='json', - analyze=False, - verbose=True, - buffers=False, - timing=True - )), - - expected_return_value='EXPLAIN some sql' )) ] diff --git a/web/pgadmin/utils/compile_template_name.py b/web/pgadmin/utils/compile_template_name.py index a8f6d3a10..a532cb4c4 100644 --- a/web/pgadmin/utils/compile_template_name.py +++ b/web/pgadmin/utils/compile_template_name.py @@ -19,10 +19,8 @@ def compile_template_name( def compile_template_path(template_prefix, server_type, version): - if server_type == 'gpdb': - version_path = '#{0}#{1}#'.format(server_type, version) - else: - version_path = '#{0}#'.format(version) + + version_path = '#{0}#'.format(version) # Template path concatenation should be same as # Ref: ../pgadmin4/web/pgadmin/utils/versioned_template_loader.py +54 diff --git a/web/pgadmin/utils/tests/templates/some_feature/sql/gpdb_5.0_plus/some_action_with_gpdb_5_0.sql b/web/pgadmin/utils/tests/templates/some_feature/sql/gpdb_5.0_plus/some_action_with_gpdb_5_0.sql deleted file mode 100644 index e131e3fdb..000000000 --- a/web/pgadmin/utils/tests/templates/some_feature/sql/gpdb_5.0_plus/some_action_with_gpdb_5_0.sql +++ /dev/null @@ -1 +0,0 @@ -Some default SQL for GPDB diff --git a/web/pgadmin/utils/tests/test_compile_template_name.py b/web/pgadmin/utils/tests/test_compile_template_name.py index 91851cbe7..8d81550f2 100644 --- a/web/pgadmin/utils/tests/test_compile_template_name.py +++ b/web/pgadmin/utils/tests/test_compile_template_name.py @@ -21,15 +21,6 @@ class TestCompileTemplateName(BaseTestGenerator): expected_return_value='some/prefix/#100000#/some_file.sql' ) ), - ( - 'When server is GreenPlum and version is 5, it returns the path ' - 'to the GreenPlum template', - dict( - server_type='gpdb', - version=80323, - expected_return_value='some/prefix/#gpdb#80323#/some_file.sql' - ) - ), ] def runTest(self): diff --git a/web/pgadmin/utils/tests/test_versioned_template_loader.py b/web/pgadmin/utils/tests/test_versioned_template_loader.py index e22006dae..48be17913 100644 --- a/web/pgadmin/utils/tests/test_versioned_template_loader.py +++ b/web/pgadmin/utils/tests/test_versioned_template_loader.py @@ -40,18 +40,6 @@ class TestVersionedTemplateLoader(BaseTestGenerator): "Raise error when version is smaller than available templates", dict(scenario=5) ), - ( - "Render a version GPDB 5.0 template when it is present", - dict(scenario=6) - ), - ( - "Render a version GPDB 5.0 template when it is in default", - dict(scenario=7) - ), - ( - "Raise error when version is gpdb but template does not exist", - dict(scenario=8) - ) ] def setUp(self): @@ -75,18 +63,6 @@ class TestVersionedTemplateLoader(BaseTestGenerator): # test_raise_not_found_exception_when_postgres_version_less_than_ # all_available_sql_templates self.test_raise_not_found_exception() - if self.scenario == 6: - # test_get_source_when_the_version_is_gpdb_5_0_returns_gpdb_5_0_ - # template - self.test_get_source_when_the_version_is_gpdb_5_0() - if self.scenario == 7: - # test_get_source_when_the_version_is_gpdb_5_0_returns_default_ - # template - self.test_get_source_when_the_version_is_gpdb_5_0_returns_default() - if self.scenario == 8: - # test_raise_not_found_exception_when_the_version_is_gpdb_template - # _not_exist - self.test_raise_not_found_exception_when_the_version_is_gpdb() def test_get_source_returns_a_template(self): expected_content = "Some SQL" \ @@ -163,52 +139,6 @@ class TestVersionedTemplateLoader(BaseTestGenerator): except TemplateNotFound: return - def test_get_source_when_the_version_is_gpdb_5_0(self): - """Render a version GPDB 5.0 template when it is present""" - expected_content = "Some default SQL for GPDB\n" - # For cross platform we join the SQL path - # (This solves the slashes issue) - sql_path = os.path.join( - "some_feature", "sql", "gpdb_5.0_plus", - "some_action_with_gpdb_5_0.sql" - ) - content, filename, up_to_dateness = self.loader.get_source( - None, - "some_feature/sql/#gpdb#80323#/some_action_with_gpdb_5_0.sql" - ) - - self.assertEqual( - expected_content, str(content).replace("\r", "") - ) - self.assertIn(sql_path, filename) - - def test_get_source_when_the_version_is_gpdb_5_0_returns_default(self): - """Render a version GPDB 5.0 template when it is in default""" - expected_content = "Some default SQL" - # For cross platform we join the SQL path - # (This solves the slashes issue) - sql_path = os.path.join( - "some_feature", "sql", "default", "some_action_with_default.sql" - ) - content, filename, up_to_dateness = self.loader.get_source( - None, "some_feature/sql/#gpdb#80323#/some_action_with_default.sql" - ) - - self.assertEqual( - expected_content, str(content).replace("\r", "") - ) - self.assertIn(sql_path, filename) - - def test_raise_not_found_exception_when_the_version_is_gpdb(self): - """"Raise error when version is gpdb but template does not exist""" - try: - self.loader.get_source( - None, "some_feature/sql/#gpdb#50100#/some_action.sql" - ) - self.fail("No exception raised") - except TemplateNotFound: - return - class FakeApp(Flask): def __init__(self): diff --git a/web/pgadmin/utils/versioned_template_loader.py b/web/pgadmin/utils/versioned_template_loader.py index c4dcc1528..08ff61dbe 100644 --- a/web/pgadmin/utils/versioned_template_loader.py +++ b/web/pgadmin/utils/versioned_template_loader.py @@ -77,13 +77,6 @@ def get_version_mapping_directories(server_type): :param server_type: :return: """ - if server_type == 'gpdb': - return ( - {'name': "gpdb_5.0_plus", 'number': 80323}, - {'name': "5_plus", 'number': 80323}, - {'name': "default", 'number': 0} - ) - return ({'name': "13_plus", 'number': 130000}, {'name': "12_plus", 'number': 120000}, {'name': "11_plus", 'number': 110000}, diff --git a/web/regression/javascript/browser/server_groups/servers/databases/external_tables/external_tables_spec.js b/web/regression/javascript/browser/server_groups/servers/databases/external_tables/external_tables_spec.js deleted file mode 100644 index 3cb98bfa4..000000000 --- a/web/regression/javascript/browser/server_groups/servers/databases/external_tables/external_tables_spec.js +++ /dev/null @@ -1,56 +0,0 @@ -///////////////////////////////////////////////////////////// -// -// pgAdmin 4 - PostgreSQL Tools -// -// Copyright (C) 2013 - 2021, The pgAdmin Development Team -// This software is released under the PostgreSQL Licence -// -////////////////////////////////////////////////////////////// - -import {initialize} from 'sources/browser/server_groups/servers/databases/external_tables/external_tables'; - -describe('when external tables is loaded', () => { - let pgBrowser; - let gettext; - let result; - beforeEach(() => { - pgBrowser = { - Nodes: {}, - }; - pgBrowser.Collection = jasmine.createSpyObj('Collection', ['extend']); - pgBrowser.Node = jasmine.createSpyObj('Node', ['extend', 'Model']); - pgBrowser.Node.Model = jasmine.createSpyObj('Model', ['extend']); - pgBrowser.Collection.extend.and.returnValue('extended object'); - pgBrowser.Node.extend.and.returnValue('extended node object'); - gettext = jasmine.createSpy('gettext').and.callFake((text) => text); - }); - - describe('when external tables is already defined', () => { - beforeEach(() => { - pgBrowser.Nodes['coll-external_table'] = {}; - result = initialize(pgBrowser, gettext); - }); - - it('does not reinitialize it', () => { - expect(pgBrowser.Collection.extend).not.toHaveBeenCalled(); - }); - - it('returns the not updated version of pgBrowser', () => { - expect(result).toEqual(pgBrowser); - }); - }); - - describe('when external tables is not defined', () => { - beforeEach(() => { - result = initialize(pgBrowser, gettext); - }); - - it('initializes "coll-external_tables"', () => { - expect(pgBrowser.Collection.extend).toHaveBeenCalled(); - }); - - it('returns the updated version of pgBrowser', () => { - expect(result.Nodes['coll-external_table']).not.toBeUndefined(); - }); - }); -}); diff --git a/web/regression/javascript/browser/server_groups/servers/databases/schemas/tables/show_advanced_tab_spec.js b/web/regression/javascript/browser/server_groups/servers/databases/schemas/tables/show_advanced_tab_spec.js deleted file mode 100644 index 23ee0c494..000000000 --- a/web/regression/javascript/browser/server_groups/servers/databases/schemas/tables/show_advanced_tab_spec.js +++ /dev/null @@ -1,64 +0,0 @@ -///////////////////////////////////////////////////////////// -// -// pgAdmin 4 - PostgreSQL Tools -// -// Copyright (C) 2013 - 2021, The pgAdmin Development Team -// This software is released under the PostgreSQL Licence -// -////////////////////////////////////////////////////////////// - -import {show_advanced_tab} from '../../../../../../../../pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/show_advanced_tab'; - -describe('#show_advanced_tab', () => { - let tableModel; - - describe('when node information is not available', () => { - it('should return true', () => { - tableModel = {}; - - expect(show_advanced_tab(tableModel)).toEqual(true); - }); - }); - - describe('when node information is available', () => { - describe('when server is not defined', () => { - it('should return true', () => { - tableModel = { - node_info: {}, - }; - - expect(show_advanced_tab(tableModel)).toEqual(true); - }); - }); - - describe('when server is defined', () => { - describe('when server is green plum', () => { - it('should return false', () => { - tableModel = { - node_info: { - server: { - server_type: 'gpdb', - }, - }, - }; - - expect(show_advanced_tab(tableModel)).toEqual(false); - }); - }); - - describe('when server is Postgres', () => { - it('should return true', () => { - tableModel = { - node_info: { - server: { - server_type: 'postgres', - }, - }, - }; - - expect(show_advanced_tab(tableModel)).toEqual(true); - }); - }); - }); - }); -}); diff --git a/web/regression/javascript/fake_supported_servers.js b/web/regression/javascript/fake_supported_servers.js index d90f76f3a..8b8fd0f5b 100644 --- a/web/regression/javascript/fake_supported_servers.js +++ b/web/regression/javascript/fake_supported_servers.js @@ -9,7 +9,6 @@ define(function () { return [ - {label: 'Greenplum Database', value: 'gpdb'}, {label: 'EDB Advanced Server', value: 'ppas'}, {label: 'PostgreSQL', value: 'pg'}, {label: 'Unknown', value: ''}, diff --git a/web/regression/python_test_utils/test_utils.py b/web/regression/python_test_utils/test_utils.py index d8b92dec6..85963296f 100644 --- a/web/regression/python_test_utils/test_utils.py +++ b/web/regression/python_test_utils/test_utils.py @@ -1101,7 +1101,7 @@ def create_schema(server, db_name, schema_name): def get_server_type(server): """ - This function will return the type of the server (PPAS, PG or GPDB) + This function will return the type of the server (PPAS or PG) :param server: :return: """ @@ -1123,9 +1123,7 @@ def get_server_type(server): if isinstance(version_string, tuple): version_string = version_string[0] - if "Greenplum Database" in version_string: - return 'gpdb' - elif "EnterpriseDB" in version_string: + if "EnterpriseDB" in version_string: return 'ppas' return 'pg'