Sha256: 2a380704cf9d846ec9e8d3de9bceaa9a5cf3ccd03e1422e606044088b81f4614

Contents?: true

Size: 1.3 KB

Versions: 21

Compression:

Stored size: 1.3 KB

Contents

require 'flydata/source/sync_generate_table_ddl'
require 'flydata/source_oracle/table_meta'

module Flydata
module SourceOracle

class SyncGenerateTableDdl < Source::SyncGenerateTableDdl
  def run_compatibility_check
    # do nothing for now
  end

  def data_source_type_display_name
    "Oracle database"
  end

  def data_entry_prefs
    de['oracle_data_entry_preference']
  end

  def each_source_tabledef(tables, options, &block)
    # Oracle options.
    tables = tables.clone
    if tables.to_s == '' || tables.to_s == '[]'
      raise ArgumentError, "tables is nil or empty"
    end
    _each_tabledef(tables, options, &block)
  end

  private

  def table_meta(tables, options)
    Flydata::SourceOracle::TableMeta.new(options, tables)
  end

  def _each_tabledef(tables, options, &block)
    all_table_meta = options[:table_meta]
    unless all_table_meta
      all_table_meta = table_meta(tables, options)
      all_table_meta.reload
    end

    missing_tables = []

    tables.each do |table|
      t_meta = all_table_meta[table]
      unless t_meta && !t_meta.empty?
        missing_tables << table
        next
      end

      table_def = t_meta[:table_def]
      if table_def
        yield(table_def, nil)
      else
        yield(nil, t_meta[:table_def_err])
      end
    end

    missing_tables
  end
end

end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
flydata-0.8.10.2 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.10.1 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.9.11 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.10 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.9 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.8 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.7 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.6 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.5 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.4 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.3 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.2 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.1 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.8.0 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.7.19 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.7.18 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.7.17 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.7.16 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.7.15 lib/flydata/source_oracle/sync_generate_table_ddl.rb
flydata-0.7.14 lib/flydata/source_oracle/sync_generate_table_ddl.rb