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 2665b62..98182fc 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
@@ -668,7 +668,8 @@ AND relkind != 'c'))"""
if not status:
return internal_server_error(errormsg=res)
- foid, scid = res['rows'][0]
+ foid = res['rows'][0]['oid']
+ scid = res['rows'][0]['scid']
return jsonify(
node=self.blueprint.generate_browser_node(
@@ -718,7 +719,8 @@ AND relkind != 'c'))"""
)
)
- name, basensp = res['rows'][0]
+ name = res['rows'][0]['name']
+ basensp = res['rows'][0]['basensp']
SQL = render_template("/".join([self.template_path,
'delete.sql']),
@@ -1103,13 +1105,6 @@ AND relkind != 'c'))"""
if cols and 'rows' in cols:
data['columns'] = cols['rows']
- data['strcolumn'] = ''
- str_cols = []
- if 'columns' in data:
- for c in data['columns']:
- str_cols.append(c['strcolumn'])
- data['strcolumn'] = ', '.join(str_cols)
-
# Get Inherited table names from their OID
if inherits:
if 'inherits' in data and data['inherits']:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
index a4b5a27..230b6c2 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
@@ -241,22 +241,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
toJSON: Backbone.Model.prototype.toJSON
});
- var formatNode = function(opt) {
- if (!opt.id) {
- return opt.text;
- }
-
- var optimage = $(opt.element).data('image');
-
- if(!optimage){
- return opt.text;
- } else {
- return $(
- '' + opt.text + ''
- );
- }
- };
-
/* NodeAjaxOptionsMultipleControl is for multiple selection of Combobox.
* This control is used to select Multiple Parent Tables to be inherited.
@@ -264,83 +248,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
* To populates the column, it calls the server and fetch the columns data
* for the selected table.
*/
-
- var NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsControl.extend({
- template: _.template([
- '',
- '
'].join("\n")),
- defaults: _.extend(
- {}, Backform.NodeAjaxOptionsControl.prototype.defaults,
- {
- select2: {
- allowClear: true,
- placeholder: 'Select from the list',
- width: 'style',
- templateResult: formatNode,
- templateSelection: formatNode
- }
- }),
- render: function() {
- var field = _.defaults(this.field.toJSON(), this.defaults),
- attributes = this.model.toJSON(),
- attrArr = field.name.split('.'),
- name = attrArr.shift(),
- path = attrArr.join('.'),
- rawValue = this.keyPathAccessor(attributes[name], path),
- data = _.extend(field, {
- rawValue: rawValue,
- value: this.formatter.fromRaw(rawValue, this.model),
- attributes: attributes,
- formatter: this.formatter
- }),
- evalF = function(f, d, m) {
- return (_.isFunction(f) ? !!f.apply(d, [m]) : !!f);
- };
-
- // Evaluate the disabled, visible, and required option
- _.extend(data, {
- disabled: evalF(data.disabled, data, this.model),
- visible: evalF(data.visible, data, this.model),
- required: evalF(data.required, data, this.model)
- });
-
- if (field.node_info.server.version < field.min_version) {
- field.version_compatible = false
- return this;
- }
- else {
- // Evaluation the options
- if (_.isFunction(data.options)) {
- try {
- data.options = data.options.apply(this)
- } catch(e) {
- // Do nothing
- data.options = []
- this.model.trigger('pgadmin-view:transform:error', self.model, self.field, e);
- }
- }
-
- // Clean up first
- this.$el.removeClass(Backform.hiddenClassname);
- this.$el.html(this.template(data)).addClass(field.name);
-
- if (!data.visible) {
- this.$el.addClass(Backform.hiddenClassname);
- } else {
- var opts = _.extend(
- {}, this.defaults.select2, data.select2,
- {
- 'data': data.options
- });
- this.$el.find("select").select2(opts).val(data.rawValue).trigger("change");
- this.updateInvalid();
- }
- }
- return this;
- },
+ var NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsControl.extend({
onChange: function(e) {
var model = this.model,
$el = $(e.target),
@@ -370,7 +278,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
// Remove Columns if inherit option is deselected from the combobox
if(_.size(value) < _.size(inherits)) {
- var dif = _.difference(inherits, JSON.parse(value));
+ var dif = _.difference(inherits, value);
var rmv_columns = columns.where({inheritedid: parseInt(dif[0])});
columns.remove(rmv_columns);
}
@@ -600,7 +508,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
basensp: undefined,
description: undefined,
ftsrvname: undefined,
- strcolumn: undefined,
strftoptions: undefined,
inherits: [],
columns: [],
@@ -632,7 +539,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
type: 'text', group: 'Definition', url: 'get_foreign_servers', disabled: function(m) { return !m.isNew(); }
},{
id: 'inherits', label:'{{ _('Inherits') }}', group: 'Definition',
- type: 'array', min_version: 90500, control: 'node-ajax-options-multiple',
+ type: 'array', min_version: 90500, control: NodeAjaxOptionsMultipleControl,
url: 'get_tables', select2: {multiple: true},
'cache_level': 'database',
transform: function(d, self){
@@ -646,9 +553,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
return d;
}
},{
- id: 'strcolumn', label:'{{ _('Columns') }}', cell: 'string', group: 'Definition',
- type: 'text', min_version: 90500, mode: ['properties']
- },{
id: 'columns', label:'{{ _('Columns') }}', cell: 'string',
type: 'collection', group: 'Columns', visible: false, mode: ['edit', 'create'],
model: ColumnsModel, canAdd: true, canDelete: true, canEdit: true,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql
index 4bf5e17..0733a3c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql
@@ -1,13 +1,7 @@
SELECT
attname, attndims, atttypmod, format_type(t.oid,NULL) AS datatype,
format_type(t.oid, att.atttypmod) AS fulltype, attnotnull, attnum,
- (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup,
- (
- attname || ' ' || format_type(t.oid, att.atttypmod) || ' ' ||
- (CASE WHEN attnotnull='true'
- THEN 'NOT NULL' ELSE 'NULL'
- END)
- ) as strcolumn
+ (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
FROM
pg_attribute att
JOIN
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql
index 4270058..ab5ee75 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql
@@ -4,25 +4,7 @@ SELECT
CASE WHEN length(cn.nspname) > 0 AND length(cl.collname) > 0 THEN
concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname,
(SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup,
- pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault,
- (
- attname || ' ' || format_type(t.oid, att.atttypmod) || ' ' ||
- (
- CASE WHEN array_length(attfdwoptions, 1)>0
- THEN concat('OPTIONS (', array_to_string(attfdwoptions, ', '), ')') ELSE ''
- END
- ) || ' ' ||
- (
- CASE WHEN attnotnull='true'
- THEN 'NOT NULL' ELSE 'NULL'
- END
- ) || ' ' ||
- (
- CASE WHEN pg_catalog.pg_get_expr(def.adbin, def.adrelid)<>''
- THEN 'DEFAULT ' || pg_catalog.pg_get_expr(def.adbin, def.adrelid)
- ELSE '' END
- )
- ) as strcolumn
+ pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault
FROM
pg_attribute att
JOIN
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql
index 64d6d13..3417208 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql
@@ -20,25 +20,6 @@ SELECT INH.inheritedfrom, INH.inheritedid, att.attoptions, attfdwoptions,
concat(cn.nspname, '."', cl.collname,'"')
ELSE '' END AS collname,
pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault,
- (
- att.attname || ' ' || format_type(t.oid, att.atttypmod) || ' ' ||
- (
- CASE WHEN array_length(attfdwoptions, 1)>0
- THEN concat('OPTIONS (', array_to_string(attfdwoptions, ', '), ')') ELSE ''
- END
- ) || ' ' ||
- (
- CASE WHEN attnotnull='true'
- THEN 'NOT NULL' ELSE 'NULL'
- END
- ) || ' ' ||
- (
- CASE WHEN pg_catalog.pg_get_expr(def.adbin, def.adrelid)<>''
- THEN 'DEFAULT ' || pg_catalog.pg_get_expr(def.adbin, def.adrelid)
- ELSE '' END
- )
- ) as strcolumn,
-
(SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
FROM
pg_attribute att
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql
index 83445a2..38f9ce4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql
@@ -9,7 +9,7 @@ WHERE
{% else %}
SELECT
- c.oid AS id, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as text
+ c.oid AS value, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as label
FROM
pg_class c, pg_namespace n
WHERE
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
index 3ffa6ef..d7c947f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
@@ -21,6 +21,7 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
headerSelectControlTemplate = _.template([
'