diff --git a/client/app/components/queries/schema-browser.js b/client/app/components/queries/schema-browser.js
index 3573cbcf01..06b2213cd8 100644
--- a/client/app/components/queries/schema-browser.js
+++ b/client/app/components/queries/schema-browser.js
@@ -3,6 +3,9 @@ import template from './schema-browser.html';
function SchemaBrowserCtrl($rootScope, $scope) {
'ngInject';
+ this.versionToggle = false;
+ this.versionFilter = 'abcdefghijklmnop';
+
this.showTable = (table) => {
table.collapsed = !table.collapsed;
$scope.$broadcast('vsRepeatTrigger');
@@ -21,6 +24,15 @@ function SchemaBrowserCtrl($rootScope, $scope) {
this.isEmpty = function isEmpty() {
return this.schema === undefined || this.schema.length === 0;
};
+ this.flipToggleVersionedTables = (versionToggle, toggleString) => {
+ if (versionToggle === false) {
+ this.versionToggle = true;
+ this.versionFilter = toggleString;
+ } else {
+ this.versionToggle = false;
+ this.versionFilter = 'abcdefghijklmnop';
+ }
+ };
this.itemSelected = ($event, hierarchy) => {
$rootScope.$broadcast('query-editor.paste', hierarchy.join('.'));
@@ -32,7 +44,9 @@ function SchemaBrowserCtrl($rootScope, $scope) {
const SchemaBrowser = {
bindings: {
schema: '<',
+ tabletogglestring: '<',
onRefresh: '&',
+ flipToggleVersionedTables: '&',
},
controller: SchemaBrowserCtrl,
template,
diff --git a/client/app/pages/queries/query.html b/client/app/pages/queries/query.html
index a737b36022..f2e0f8e525 100644
--- a/client/app/pages/queries/query.html
+++ b/client/app/pages/queries/query.html
@@ -90,7 +90,7 @@
-
+
diff --git a/redash/query_runner/athena.py b/redash/query_runner/athena.py
index e3f960d753..9db41b450f 100644
--- a/redash/query_runner/athena.py
+++ b/redash/query_runner/athena.py
@@ -79,6 +79,17 @@ def configuration_schema(cls):
'type': 'boolean',
'title': 'Use Glue Data Catalog',
},
+ "doc_url": {
+ "type": "string",
+ "title": "Documentation URL",
+ "default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
+ }
},
'required': ['region', 's3_staging_dir'],
'order': ['region', 'aws_access_key', 'aws_secret_key', 's3_staging_dir', 'schema'],
diff --git a/redash/query_runner/axibase_tsd.py b/redash/query_runner/axibase_tsd.py
index 9737b6bc87..9d50cd3b26 100644
--- a/redash/query_runner/axibase_tsd.py
+++ b/redash/query_runner/axibase_tsd.py
@@ -133,6 +133,12 @@ def configuration_schema(cls):
'trust_certificate': {
'type': 'boolean',
'title': 'Trust SSL Certificate'
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['username', 'password', 'hostname', 'protocol', 'port'],
diff --git a/redash/query_runner/big_query.py b/redash/query_runner/big_query.py
index d153f9280a..26066874b8 100644
--- a/redash/query_runner/big_query.py
+++ b/redash/query_runner/big_query.py
@@ -123,6 +123,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['jsonKeyFile', 'projectId'],
diff --git a/redash/query_runner/cass.py b/redash/query_runner/cass.py
index ac216ca3c2..f11ab91374 100644
--- a/redash/query_runner/cass.py
+++ b/redash/query_runner/cass.py
@@ -71,6 +71,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['keyspace', 'host']
diff --git a/redash/query_runner/clickhouse.py b/redash/query_runner/clickhouse.py
index 7de1b396f8..72d37dd88c 100644
--- a/redash/query_runner/clickhouse.py
+++ b/redash/query_runner/clickhouse.py
@@ -29,6 +29,12 @@ def configuration_schema(cls):
"dbname": {
"type": "string",
"title": "Database Name"
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["dbname"],
diff --git a/redash/query_runner/dynamodb_sql.py b/redash/query_runner/dynamodb_sql.py
index 941cc1a013..a48f2e93ad 100644
--- a/redash/query_runner/dynamodb_sql.py
+++ b/redash/query_runner/dynamodb_sql.py
@@ -55,6 +55,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["access_key", "secret_key"],
diff --git a/redash/query_runner/elasticsearch.py b/redash/query_runner/elasticsearch.py
index 5c694a8b27..1f092fa2b9 100644
--- a/redash/query_runner/elasticsearch.py
+++ b/redash/query_runner/elasticsearch.py
@@ -68,6 +68,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"secret": ["basic_auth_password"],
diff --git a/redash/query_runner/google_analytics.py b/redash/query_runner/google_analytics.py
index 225903c427..7cb51a9b14 100644
--- a/redash/query_runner/google_analytics.py
+++ b/redash/query_runner/google_analytics.py
@@ -103,6 +103,12 @@ def configuration_schema(cls):
'jsonKeyFile': {
"type": "string",
'title': 'JSON Key File'
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['jsonKeyFile'],
diff --git a/redash/query_runner/google_spreadsheets.py b/redash/query_runner/google_spreadsheets.py
index 152645a17f..b3cdc15558 100644
--- a/redash/query_runner/google_spreadsheets.py
+++ b/redash/query_runner/google_spreadsheets.py
@@ -167,6 +167,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['jsonKeyFile'],
diff --git a/redash/query_runner/graphite.py b/redash/query_runner/graphite.py
index e2aaff6643..edb1c6449d 100644
--- a/redash/query_runner/graphite.py
+++ b/redash/query_runner/graphite.py
@@ -47,6 +47,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['url'],
diff --git a/redash/query_runner/hive_ds.py b/redash/query_runner/hive_ds.py
index 366b8a4150..ca9cba08a5 100644
--- a/redash/query_runner/hive_ds.py
+++ b/redash/query_runner/hive_ds.py
@@ -60,6 +60,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["host"]
diff --git a/redash/query_runner/impala_ds.py b/redash/query_runner/impala_ds.py
index c1f817eb47..b75db07864 100644
--- a/redash/query_runner/impala_ds.py
+++ b/redash/query_runner/impala_ds.py
@@ -73,6 +73,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["host"],
diff --git a/redash/query_runner/influx_db.py b/redash/query_runner/influx_db.py
index ea3d4932aa..85ceb9b911 100644
--- a/redash/query_runner/influx_db.py
+++ b/redash/query_runner/influx_db.py
@@ -65,6 +65,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['url']
diff --git a/redash/query_runner/jql.py b/redash/query_runner/jql.py
index e3f9743547..61d8fc6598 100644
--- a/redash/query_runner/jql.py
+++ b/redash/query_runner/jql.py
@@ -161,6 +161,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['url', 'username', 'password'],
diff --git a/redash/query_runner/memsql_ds.py b/redash/query_runner/memsql_ds.py
index bd3e106c2f..284874119d 100644
--- a/redash/query_runner/memsql_ds.py
+++ b/redash/query_runner/memsql_ds.py
@@ -56,6 +56,12 @@ def configuration_schema(cls):
},
"password": {
"type": "string"
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
diff --git a/redash/query_runner/mongodb.py b/redash/query_runner/mongodb.py
index 81ae8d9a63..0e0b7ffc76 100644
--- a/redash/query_runner/mongodb.py
+++ b/redash/query_runner/mongodb.py
@@ -142,6 +142,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['connectionString', 'dbName']
diff --git a/redash/query_runner/mssql.py b/redash/query_runner/mssql.py
index dd746d4334..38450915dc 100644
--- a/redash/query_runner/mssql.py
+++ b/redash/query_runner/mssql.py
@@ -74,6 +74,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["db"],
diff --git a/redash/query_runner/mysql.py b/redash/query_runner/mysql.py
index 525dd3d054..a2187d20c8 100644
--- a/redash/query_runner/mysql.py
+++ b/redash/query_runner/mysql.py
@@ -58,6 +58,12 @@ def configuration_schema(cls):
'port': {
'type': 'number',
'default': 3306,
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"order": ['host', 'port', 'user', 'passwd', 'db'],
diff --git a/redash/query_runner/oracle.py b/redash/query_runner/oracle.py
index 12448029d5..503b86ca39 100644
--- a/redash/query_runner/oracle.py
+++ b/redash/query_runner/oracle.py
@@ -72,6 +72,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["servicename", "user", "password", "host", "port"],
diff --git a/redash/query_runner/pg.py b/redash/query_runner/pg.py
index 6f9e524bb6..46c68184aa 100644
--- a/redash/query_runner/pg.py
+++ b/redash/query_runner/pg.py
@@ -83,6 +83,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"order": ['host', 'port', 'user', 'password'],
diff --git a/redash/query_runner/presto.py b/redash/query_runner/presto.py
index 6fbaad8f7b..d8b8a728ef 100644
--- a/redash/query_runner/presto.py
+++ b/redash/query_runner/presto.py
@@ -59,6 +59,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['host']
diff --git a/redash/query_runner/python.py b/redash/query_runner/python.py
index 275b44fa16..2c43201378 100644
--- a/redash/query_runner/python.py
+++ b/redash/query_runner/python.py
@@ -65,6 +65,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
}
diff --git a/redash/query_runner/salesforce.py b/redash/query_runner/salesforce.py
index 527f1e26ec..7222028fd0 100644
--- a/redash/query_runner/salesforce.py
+++ b/redash/query_runner/salesforce.py
@@ -81,6 +81,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Salesforce API Version",
"default": DEFAULT_API_VERSION
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["username", "password", "token"],
diff --git a/redash/query_runner/script.py b/redash/query_runner/script.py
index dac69b66ec..9473a45d22 100644
--- a/redash/query_runner/script.py
+++ b/redash/query_runner/script.py
@@ -57,6 +57,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['path']
diff --git a/redash/query_runner/snowflake.py b/redash/query_runner/snowflake.py
index a1a7ca447e..f223f54c9c 100644
--- a/redash/query_runner/snowflake.py
+++ b/redash/query_runner/snowflake.py
@@ -46,6 +46,12 @@ def configuration_schema(cls):
},
"database": {
"type": "string"
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["user", "password", "account", "database", "warehouse"],
diff --git a/redash/query_runner/sqlite.py b/redash/query_runner/sqlite.py
index 18bef51816..1819dd38bb 100644
--- a/redash/query_runner/sqlite.py
+++ b/redash/query_runner/sqlite.py
@@ -28,6 +28,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
"required": ["dbpath"],
diff --git a/redash/query_runner/treasuredata.py b/redash/query_runner/treasuredata.py
index 441dea89eb..0e9b28d883 100644
--- a/redash/query_runner/treasuredata.py
+++ b/redash/query_runner/treasuredata.py
@@ -65,6 +65,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['apikey','db']
diff --git a/redash/query_runner/url.py b/redash/query_runner/url.py
index 5da7659390..c99289cca4 100644
--- a/redash/query_runner/url.py
+++ b/redash/query_runner/url.py
@@ -19,6 +19,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
}
}
diff --git a/redash/query_runner/vertica.py b/redash/query_runner/vertica.py
index 97b28ebfcb..ed45639879 100644
--- a/redash/query_runner/vertica.py
+++ b/redash/query_runner/vertica.py
@@ -65,6 +65,12 @@ def configuration_schema(cls):
"type": "string",
"title": "Documentation URL",
"default": cls.default_doc_url
+ },
+ "toggle_table_string": {
+ "type": "string",
+ "title": "Toggle Table String",
+ "default": "_v",
+ "info": "This string will be used to toggle visibility of tables in the schema browser when editing a query in order to remove non-useful tables from sight."
}
},
'required': ['database'],
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 550ab577e7..61f65abc0e 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -16,7 +16,7 @@ def test_interactive_new(self):
result = runner.invoke(
manager,
['ds', 'new'],
- input="test\n%s\n\n\n\nexample.com\n\n\ntestdb\n" % (pg_i,))
+ input="test\n%s\n\n\n\n\nexample.com\n\n\ntestdb\n" % (pg_i,))
self.assertFalse(result.exception)
self.assertEqual(result.exit_code, 0)
self.assertEqual(DataSource.query.count(), 1)