Navigation Menu

Skip to content

Commit

Permalink
groonga: Don't return "false" as the body of the error response for c…
Browse files Browse the repository at this point in the history
…olumn_list
  • Loading branch information
piroor committed Apr 28, 2014
1 parent f6127a5 commit 9590f34
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 13 deletions.
2 changes: 1 addition & 1 deletion lib/droonga/plugins/groonga/column_create.rb
Expand Up @@ -27,7 +27,7 @@ def process_request(request)
command_class = ::Groonga::Command.find("column_create")
@command = command_class.new("column_create", request)

table_name = valid_table_name("table")
table_name = valid_table_name("table", :error_result => false)

if @command.column_index?
define_index(table_name)
Expand Down
5 changes: 3 additions & 2 deletions lib/droonga/plugins/groonga/column_remove.rb
Expand Up @@ -27,8 +27,9 @@ def process_request(request)
command_class = ::Groonga::Command.find("column_remove")
@command = command_class.new("column_remove", request)

table_name = valid_table_name("table")
column_name = valid_column_name("name", table_name)
table_name = valid_table_name("table", :error_result => false)
column_name = valid_column_name("name", :table_name => table_name,
:error_result => false)

remove_column(table_name, column_name)
end
Expand Down
5 changes: 3 additions & 2 deletions lib/droonga/plugins/groonga/column_rename.rb
Expand Up @@ -27,8 +27,9 @@ def process_request(request)
command_class = ::Groonga::Command.find("column_rename")
@command = command_class.new("column_rename", request)

table_name = valid_table_name("table")
column_name = valid_column_name("name", table_name)
table_name = valid_table_name("table", :error_result => false)
column_name = valid_column_name("name", :table_name => table_name,
:error_result => false)

new_name = @command["new_name"]

Expand Down
2 changes: 1 addition & 1 deletion lib/droonga/plugins/groonga/delete.rb
Expand Up @@ -27,7 +27,7 @@ def process_request(request)
command_class = ::Groonga::Command.find("delete")
@command = command_class.new("delete", request)

table_name = valid_table_name("table")
table_name = valid_table_name("table", :error_result => false)

key = @command["key"]
id = @command["id"]
Expand Down
15 changes: 9 additions & 6 deletions lib/droonga/plugins/groonga/generic_command.rb
Expand Up @@ -59,42 +59,45 @@ def header(return_code, error_message="")
header
end

def valid_table_name(name)
def valid_table_name(name, params={})
error_result = params[:error_result]
table_name = @command[name]

if table_name.nil?
message = "you must specify table via \"#{name}\""
raise CommandError.new(:status => Status::INVALID_ARGUMENT,
:message => message,
:result => false)
:result => error_result)
end

if @context[table_name].nil?
message = "table not found: <#{table_name.to_s}>"
raise CommandError.new(:status => Status::INVALID_ARGUMENT,
:message => message,
:result => false)
:result => error_result)
end

table_name
end

def valid_column_name(name, table_name)
def valid_column_name(name, params={})
table_name = params[:table_name]
error_result = params[:error_result]
column_name = @command[name]

if column_name.nil?
message = "you must specify column via \"#{name}\""
raise CommandError.new(:status => Status::INVALID_ARGUMENT,
:message => message,
:result => false)
:result => error_result)
end

if @context[table_name].column(column_name).nil?
message = "column not found: <#{column_name.to_s}> in " +
"<#{table_name.to_s}>"
raise CommandError.new(:status => Status::INVALID_ARGUMENT,
:message => message,
:result => false)
:result => error_result)
end

column_name
Expand Down
2 changes: 1 addition & 1 deletion lib/droonga/plugins/groonga/table_remove.rb
Expand Up @@ -27,7 +27,7 @@ def process_request(request)
command_class = ::Groonga::Command.find("table_remove")
@command = command_class.new("table_remove", request)

name = valid_table_name("name")
name = valid_table_name("name", :error_result => false)

::Groonga::Schema.define(:context => @context) do |schema|
schema.remove_table(name)
Expand Down

0 comments on commit 9590f34

Please sign in to comment.