class Dbsketch::Rendering::SQL::OperationRenderer
Public Instance Methods
create(operation)
click to toggle source
# File lib/dbsketch/rendering/sql/operation_renderer.rb, line 14 def create operation ### Preconditions raise ArgumentError, "operation is not a Dbsketch::Model::Operation" unless operation.is_a? Dbsketch::Model::Operation ### if operation.is_a? Dbsketch::Model::Function create_function operation elsif operation.is_a? Dbsketch::Model::Procedure create_procedure operation else raise ArgumentError, "#{operation.class} is an unknown subclass of Dbsketch::Model::Operation" end end
drop(operation)
click to toggle source
# File lib/dbsketch/rendering/sql/operation_renderer.rb, line 27 def drop operation ### Preconditions raise ArgumentError, "operation is not a Dbsketch::Model::Operation" unless operation.is_a? Dbsketch::Model::Operation ### if operation.is_a? Dbsketch::Model::Function keyword = "function" mssql_type = "FN" elsif operation.is_a? Dbsketch::Model::Procedure keyword = "procedure" mssql_type = "P" else raise ArgumentError, "#{operation.class} is an unknown subclass of Dbsketch::Model::Operation" end "if object_id('#{operation.name}', '#{mssql_type}') is not null drop #{keyword} #{operation.name}" end
Private Instance Methods
create_function(function)
click to toggle source
# File lib/dbsketch/rendering/sql/operation_renderer.rb, line 46 def create_function function sql = "create function #{function.name} (" sql << "#{function.arguments.join(", ")}" if not function.arguments.empty? sql << ") returns #{function.returns} as\nbegin\n\t#{function.algo}\nend" sql end
create_procedure(procedure)
click to toggle source
# File lib/dbsketch/rendering/sql/operation_renderer.rb, line 53 def create_procedure procedure sql = "create procedure #{procedure.name} " sql << "#{procedure.arguments.join(", ")} " if not procedure.arguments.empty? sql << "as\nbegin\n\t#{procedure.algo}\nend" sql end