module Comm
  module Tool
    class SqlUnionSearch < Comm::Tool::SqlSearch
      def initialize(union_array, table_name)
        @table_alias = {table_name => 'r'}
        @union_array = union_array
      end
      
      def search(calc_rows_flag, cls, join_lists, params, find_flag = MFIND_A)
        if @union_array.length > 0
          return super(calc_rows_flag, cls, join_lists, params, find_flag = MFIND_A)
        else
          return []
        end
      end
      
      def get_columns_and_tables(tab, join_lists, params, str_vals)
        str_cols = ' * '
        str_tab = " FROM (#{generate_union()}) AS r "
        return str_cols, str_tab, str_vals
      end
      #空実装
      def set_target_date_to_where(tab, params, str_where)
      end
    end
  end
end