Selaa lähdekoodia

[metastore] Switch alter column API to get column name from POST data

This is more ajax friendly
Romain Rigaux 10 vuotta sitten
vanhempi
commit
b1528b5e7e

+ 4 - 4
apps/metastore/src/metastore/tests.py

@@ -362,8 +362,8 @@ class TestMetastoreWithHadoop(BeeswaxSampleProvider):
 
     # Alter name, type and comment
     resp = self.client.post(reverse("metastore:alter_column",
-                                    kwargs={'database': self.db_name, 'table': 'test_alter_column', 'column': 'before_alter'}),
-                            {'new_column_name': 'after_alter', 'new_column_type': 'string', 'comment': 'alter comment'})
+                                    kwargs={'database': self.db_name, 'table': 'test_alter_column'}),
+                            {'column': 'before_alter', 'new_column_name': 'after_alter', 'new_column_type': 'string', 'comment': 'alter comment'})
     json_resp = json.loads(resp.content)
     assert_equal('after_alter', json_resp['data']['name'], json_resp)
     assert_equal('string', json_resp['data']['type'], json_resp)
@@ -371,8 +371,8 @@ class TestMetastoreWithHadoop(BeeswaxSampleProvider):
 
     # Invalid column type returns error response
     resp = self.client.post(reverse("metastore:alter_column",
-                                    kwargs={'database': self.db_name, 'table': 'test_alter_column', 'column': 'before_alter'}),
-                            {'new_column_name': 'foo'})
+                                    kwargs={'database': self.db_name, 'table': 'test_alter_column'}),
+                            {'column': 'before_alter', 'new_column_name': 'foo'})
     json_resp = json.loads(resp.content)
     assert_equal(1, json_resp['status'], json_resp)
     assert_true('Failed to alter column' in json_resp['data'], json_resp)

+ 1 - 1
apps/metastore/src/metastore/urls.py

@@ -35,5 +35,5 @@ urlpatterns = patterns('metastore.views',
   url(r'^table/(?P<database>\w+)/(?P<table>\w+)/partitions/(?P<partition_spec>.+?)/read$', 'read_partition', name='read_partition'),
   url(r'^table/(?P<database>\w+)/(?P<table>\w+)/partitions/(?P<partition_spec>.+?)/browse$', 'browse_partition', name='browse_partition'),
   url(r'^table/(?P<database>\w+)/(?P<table>\w+)/partitions/drop$', 'drop_partition', name='drop_partition'),
-  url(r'^table/(?P<database>\w+)/(?P<table>\w+)/(?P<column>\w+)/alter', 'alter_column', name='alter_column'),
+  url(r'^table/(?P<database>\w+)/(?P<table>\w+)/alter_column', 'alter_column', name='alter_column'),
 )

+ 2 - 1
apps/metastore/src/metastore/views.py

@@ -263,10 +263,11 @@ def describe_table(request, database, table):
 
 @check_has_write_access_permission
 @require_http_methods(["POST"])
-def alter_column(request, database, table, column):
+def alter_column(request, database, table):
   db = dbms.get(request.user)
   response = {'status': -1, 'data': ''}
   try:
+    column = request.POST.get('column')
     col = db.get_column(database, table, column)
     if col:
       new_column_name = request.POST.get('new_column_name', col.name)