Sha256: 6e9bb474184981d986366196f672f6c53c3723dd9646d7c9c273f58990178111

Contents?: true

Size: 1.06 KB

Versions: 10

Compression:

Stored size: 1.06 KB

Contents

require 'open3'
require 'flydata-core/mysql/command_generator'

module Flydata
  module Command

    module MysqlCommandBase
      def run(*args)
        de = retrieve_sync_data_entry
        cmd = generate_command(de['mysql_data_entry_preference'], args)
        return if cmd.to_s.empty?
        $stderr.puts "command:#{cmd}" if FLYDATA_DEBUG
        if $stdin.tty?
          # interactive shell
          system cmd
        else
          # execute queries given to $stdin
          Open3.popen2e(cmd) do |i, o, wt|
            $stdin.each_line do |line|
              i.print line
            end
            i.close
            while line = o.gets
              print line
            end
          end
        end
      end

      def generate_command(dbconf, args)
        dbconf.delete('tables')
        dbconf[:custom_option_end] = args.join(' ')
        FlydataCore::Mysql::CommandGenerator::generate_mysql_cmd(dbconf)
      end

      def flush; end
      def reset; end
      def skip; end
      def generate_table_ddl; end
      def fix_binlogpos; end
    end

  end
end


Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
flydata-0.6.3 lib/flydata/command/mysql_command_base.rb
flydata-0.6.2 lib/flydata/command/mysql_command_base.rb
flydata-0.6.1 lib/flydata/command/mysql_command_base.rb
flydata-0.6.0 lib/flydata/command/mysql_command_base.rb
flydata-0.5.21 lib/flydata/command/mysql_command_base.rb
flydata-0.5.20 lib/flydata/command/mysql_command_base.rb
flydata-0.5.17 lib/flydata/command/mysql_command_base.rb
flydata-0.5.16 lib/flydata/command/mysql_command_base.rb
flydata-0.5.15 lib/flydata/command/mysql_command_base.rb
flydata-0.5.14 lib/flydata/command/mysql_command_base.rb