Fixed issues where the 'pg_pltemplate' system catalog is removed from PG 13 and it gives error while creating the language.

This commit is contained in:
Akshay Joshi 2020-10-05 14:35:48 +05:30
parent 9a77d4dc1a
commit 542be2b2d4
4 changed files with 35 additions and 5 deletions

View File

@ -690,12 +690,17 @@ class LanguageView(PGChildNodeView, SchemaDiffObjectCompare):
sid: Server ID
did: Database ID
"""
sql = render_template("/".join([self.template_path, 'templates.sql']))
status, result = self.conn.execute_dict(sql)
if not status:
return internal_server_error(errormsg=result)
data = []
if self.manager.version < 130000:
sql = render_template("/".join(
[self.template_path, 'templates.sql']))
status, result = self.conn.execute_dict(sql)
if not status:
return internal_server_error(errormsg=result)
data = result['rows']
return make_json_response(
data=result['rows'],
data=data,
status=200
)

View File

@ -119,6 +119,25 @@ define('pgadmin.node.language', [
return res;
},
visible: function() {
if(!_.isUndefined(this.node_info) && !_.isUndefined(this.node_info.server)
&& !_.isUndefined(this.node_info.server.version) &&
this.node_info.server.version < 130000) {
return true;
}
return false;
},
}, {
id: 'name', label: gettext('Name'), type: 'text',
mode: ['properties', 'create', 'edit'],
visible: function() {
if(!_.isUndefined(this.node_info) && !_.isUndefined(this.node_info.server)
&& !_.isUndefined(this.node_info.server.version) &&
this.node_info.server.version >= 130000) {
return true;
}
return false;
},
},{
id: 'oid', label: gettext('OID'), cell: 'string', mode: ['properties'],
type: 'text',

View File

@ -354,6 +354,8 @@
"name": "Error while getting language template",
"url": "/browser/language/get_templates/",
"is_positive_test": false,
"server_max_version": 129999,
"skip_msg": "Language templates are not supported in PG/EPAS 13.0 and above.",
"expected_data": {
"status_code": 500,
"message": "Error while getting language templates"

View File

@ -38,6 +38,10 @@ class LanguagesGetFunctionAndTemplateTestCase(BaseTestGenerator):
self.language_id = language_utils.create_language(self.server,
self.db_name,
self.lang_name)
if hasattr(self, 'server_max_version'):
if self.server_information['server_version'] > \
self.server_max_version:
self.skipTest(self.skip_msg)
def runTest(self):
"""This function will get the language under test database."""