You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2019/01/18 17:38:12 UTC

[incubator-superset] branch master updated: Add `extra` column to `SavedQuery` (#6687)

This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 31ea681  Add `extra` column to `SavedQuery` (#6687)
31ea681 is described below

commit 31ea6817b706a1120daa8902c148a499b40878a3
Author: Beto Dealmeida <ro...@dealmeida.net>
AuthorDate: Fri Jan 18 09:38:07 2019 -0800

    Add `extra` column to `SavedQuery` (#6687)
    
    * Expose more columns in saved queries API
    
    * Add extra column to SavedQuery
    
    * Add ASF header
---
 .../a33a03f16c4a_add_extra_column_to_savedquery.py | 39 ++++++++++++++++++++++
 superset/models/sql_lab.py                         | 10 +++++-
 superset/views/sql_lab.py                          |  3 ++
 3 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/superset/migrations/versions/a33a03f16c4a_add_extra_column_to_savedquery.py b/superset/migrations/versions/a33a03f16c4a_add_extra_column_to_savedquery.py
new file mode 100644
index 0000000..95518e5
--- /dev/null
+++ b/superset/migrations/versions/a33a03f16c4a_add_extra_column_to_savedquery.py
@@ -0,0 +1,39 @@
+"""Add extra column to SavedQuery
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Revision ID: a33a03f16c4a
+Revises: fb13d49b72f9
+Create Date: 2019-01-14 16:00:26.344439
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = 'a33a03f16c4a'
+down_revision = 'fb13d49b72f9'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+    with op.batch_alter_table('saved_query') as batch_op:
+        batch_op.add_column(sa.Column('extra_json', sa.Text(), nullable=True))
+
+
+def downgrade():
+    with op.batch_alter_table('saved_query') as batch_op:
+        batch_op.drop_column('extra_json')
diff --git a/superset/models/sql_lab.py b/superset/models/sql_lab.py
index 830e893..b843a52 100644
--- a/superset/models/sql_lab.py
+++ b/superset/models/sql_lab.py
@@ -138,7 +138,7 @@ class Query(Model, ExtraJSONMixin):
         return f'sqllab_{tab}_{ts}'
 
 
-class SavedQuery(Model, AuditMixinNullable):
+class SavedQuery(Model, AuditMixinNullable, ExtraJSONMixin):
     """ORM model for SQL query"""
 
     __tablename__ = 'saved_query'
@@ -165,3 +165,11 @@ class SavedQuery(Model, AuditMixinNullable):
                 <i class="fa fa-link"></i>
             </a>
         """)
+
+    @property
+    def user_email(self):
+        return self.user.email
+
+    @property
+    def sqlalchemy_uri(self):
+        return self.database.sqlalchemy_uri
diff --git a/superset/views/sql_lab.py b/superset/views/sql_lab.py
index 3c69564..0c8e87f 100644
--- a/superset/views/sql_lab.py
+++ b/superset/views/sql_lab.py
@@ -91,6 +91,9 @@ class SavedQueryView(SupersetModelView, DeleteMixin):
 
 
 class SavedQueryViewApi(SavedQueryView):
+    list_columns = [
+        'label', 'sqlalchemy_uri', 'user_email', 'schema', 'description',
+        'sql']
     show_columns = ['label', 'db_id', 'schema', 'description', 'sql']
     add_columns = show_columns
     edit_columns = add_columns