dohmysql 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/bin/makedb CHANGED
@@ -5,7 +5,7 @@ require 'doh/mysql/database_creator'
5
5
 
6
6
  opts = Doh::Options.new(
7
7
  {'drop_first' => [false, "-z", "--drop_first", "if true, will drop the database or tables before creating"] \
8
- ,'database' => [Doh::config[:default_database], "-d", "--database <database>", "name of the source database -- defaults to Doh::config[:default_database], currently '#{Doh::config[:default_database]}'"] \
8
+ ,'database' => [Doh.config[:default_database], "-d", "--database <database>", "name of the source database -- defaults to Doh.config[:default_database], currently '#{Doh.config[:default_database]}'"] \
9
9
  ,'all' => [false, "-a", "--all", "create all databases"] \
10
10
  ,'target' => [nil, "-g", "--target <database>", "name of the target database -- defaults to same as source"] \
11
11
  ,'tables' => [nil, "-t", "--tables <tables>", "comma-delimited list of tables to create; if specified, no databases are dropped or created"]
@@ -8,76 +8,12 @@ def self.connector_instance
8
8
  @@connector_instance
9
9
  end
10
10
 
11
- def self.request_handle
12
- connector_instance.request_handle
13
11
  end
14
12
 
15
- def self.query(statement)
16
- request_handle.query(statement)
17
- end
18
-
19
- def self.update(statement)
20
- request_handle.update(statement)
21
- end
22
-
23
- def self.update_row(statement)
24
- request_handle.update_row(statement)
25
- end
26
-
27
- def self.update_hash(hash, table, primary_key_value, primary_key_name)
28
- request_handle.update_hash(hash, table, primary_key_value, primary_key_name)
29
- end
30
-
31
- def self.insert(statement)
32
- request_handle.insert(statement)
33
- end
34
-
35
- def self.insert_hash(hash, table, quote_strings = true)
36
- request_handle.insert_hash(hash, table, quote_strings)
37
- end
38
-
39
- def self.insert_ignore_hash(hash, table, quote_strings = true)
40
- request_handle.insert_ignore_hash(hash, table, quote_strings)
41
- end
42
-
43
- def self.replace_hash(hash, table, quote_strings = true)
44
- request_handle.replace_hash(hash, table, quote_strings)
45
- end
46
-
47
- def self.select(statement, row_builder = nil)
48
- request_handle.select(statement, row_builder)
49
- end
50
-
51
- def self.select_row(statement, row_builder = nil)
52
- request_handle.select_row(statement, row_builder)
53
- end
54
-
55
- def self.select_optional_row(statement, row_builder = nil)
56
- request_handle.select_optional_row(statement, row_builder)
57
- end
58
-
59
- def self.select_field(statement, row_builder = nil)
60
- request_handle.select_field(statement, row_builder)
61
- end
62
-
63
- def self.select_optional_field(statement, row_builder = nil)
64
- request_handle.select_optional_field(statement, row_builder)
65
- end
66
-
67
- def self.select_transpose(statement, row_builder = nil)
68
- request_handle.select_transpose(statement, row_builder)
69
- end
70
-
71
- def self.select_values(statement, row_builder = nil)
72
- request_handle.select_values(statement, row_builder)
73
- end
74
-
75
- def self.select_list(statement, row_builder = nil)
76
- request_handle.select_list(statement, row_builder)
77
- end
13
+ module Doh
78
14
 
79
- def self.multi_select(statements)
80
- request_handle.multi_select(statements)
15
+ def self.db
16
+ DohDb.connector_instance.request_handle
81
17
  end
82
18
 
83
19
  end
@@ -15,7 +15,7 @@ def self.drop_create_and_connect(connector, new_default_database = nil)
15
15
  end
16
16
 
17
17
  def self.reconfigure_connector(cfg, connector = nil)
18
- connector ||= DohDb::connector_instance
18
+ connector ||= DohDb.connector_instance
19
19
  connector.reset
20
20
  connector.host = cfg['host'] if cfg.key?('host')
21
21
  connector.username = cfg['username'] if cfg.key?('username')
@@ -3,12 +3,12 @@ require 'doh/mysql/db_date'
3
3
 
4
4
  module DohDb
5
5
 
6
- def self.current_date_db
7
- Doh::current_date(DohDb::today)
6
+ def self.current_date
7
+ Doh.current_date(DohDb.today)
8
8
  end
9
9
 
10
- def self.current_datetime_db
11
- Doh::current_datetime(DohDb::now)
10
+ def self.current_datetime
11
+ Doh.current_datetime(DohDb.now)
12
12
  end
13
13
 
14
14
  end
@@ -7,8 +7,8 @@ module DohDb
7
7
 
8
8
  class DatabaseCreator
9
9
  def initialize(sqlfiles_directory = nil, connector = nil)
10
- @sqlfiles_directory = sqlfiles_directory || File.join(Doh::root, 'database')
11
- @connector = connector || DohDb::connector_instance
10
+ @sqlfiles_directory = sqlfiles_directory || File.join(Doh.root, 'database')
11
+ @connector = connector || DohDb.connector_instance
12
12
  @include_scripts = true
13
13
  end
14
14
 
@@ -66,12 +66,12 @@ private
66
66
  files = [sql_filename(database, 'tables', table_name)]
67
67
  inserts_file = sql_filename(database, 'insert_sql', table_name)
68
68
  files.push(inserts_file) if File.exist?(inserts_file)
69
- DohDb::load_sql(dbh.config, files)
69
+ DohDb.load_sql(dbh.config, files)
70
70
  end
71
71
 
72
72
  def create_view(dbh, database, view_name, drop_first)
73
73
  dbh.query("DROP VIEW IF EXISTS #{view_name}") if drop_first
74
- DohDb::load_sql(dbh.config, [sql_filename(database, 'views', view_name)])
74
+ DohDb.load_sql(dbh.config, [sql_filename(database, 'views', view_name)])
75
75
  end
76
76
 
77
77
  def create_one_database(dbh, dest_db, source_db, drop_first)
@@ -84,7 +84,7 @@ private
84
84
  @connector.config[:database] = dest_db
85
85
 
86
86
  files = find_files(source_db, 'tables') + find_files(source_db, 'insert_sql') + view_files(source_db)
87
- DohDb::load_sql(@connector.config, files)
87
+ DohDb.load_sql(@connector.config, files)
88
88
  return unless @include_scripts
89
89
  find_files(source_db, 'insert_scripts', '.rb').each do |filename|
90
90
  dohlog.info("loading file: #{filename}")
@@ -130,10 +130,10 @@ class Handle
130
130
  if field_count < 2
131
131
  raise UnexpectedQueryResult, "must select at least 2 fields in order to transpose"
132
132
  elsif field_count == 2
133
- Doh::array_to_hash(rows) { |row| [row.at(0), row.at(1)] }
133
+ Doh.array_to_hash(rows) { |row| [row.at(0), row.at(1)] }
134
134
  else
135
135
  key_field = rows.first.keys.first
136
- Doh::array_to_hash(rows) do |row|
136
+ Doh.array_to_hash(rows) do |row|
137
137
  value = row.to_h
138
138
  value.delete(key_field)
139
139
  [row.at(0), value]
@@ -8,7 +8,7 @@ end
8
8
 
9
9
  def self.load_sql(dbconfig, filenames)
10
10
  mysqlcmd = 'mysql' + mysql_arg(dbconfig[:host], 'h') + mysql_arg(dbconfig[:username], 'u') + mysql_arg(dbconfig[:password], 'p') + ' ' + dbconfig[:database]
11
- io = IO::popen(mysqlcmd, 'r+')
11
+ io = IO.popen(mysqlcmd, 'r+')
12
12
  dohlog.debug("loading sql file: " + filenames.first) if filenames.size == 1
13
13
  filenames.each do |elem|
14
14
  open(elem) {|file| io << file.read}
@@ -4,11 +4,11 @@ module DohDb
4
4
 
5
5
  @@cached_column_info = {}
6
6
  def self.column_info(table, database = nil)
7
- database ||= DohDb::connector_instance.config[:database]
7
+ database ||= DohDb.connector_instance.config[:database]
8
8
  lookup_str = database + '.' + table
9
9
  return @@cached_column_info[lookup_str] if @@cached_column_info[lookup_str]
10
10
  stmt = "SELECT column_name, is_nullable, data_type, character_maximum_length, numeric_scale, column_type FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='#{database}' AND TABLE_NAME='#{table}'"
11
- @@cached_column_info[lookup_str] = DohDb::select_transpose(stmt)
11
+ @@cached_column_info[lookup_str] = Doh.db.select_transpose(stmt)
12
12
  end
13
13
 
14
14
  def self.field_character_size(table, field, database = nil)
@@ -39,9 +39,9 @@ end
39
39
 
40
40
  @@tables_by_database = {}
41
41
  def self.all_tables(database = nil)
42
- database ||= DohDb::connector_instance.config[:database]
42
+ database ||= DohDb.connector_instance.config[:database]
43
43
  @@tables_by_database[database] ||
44
- @@tables_by_database[database] ||= DohDb::select_list("SELECT table_name FROM information_schema.tables WHERE table_schema = '#{database}'")
44
+ @@tables_by_database[database] ||= Doh.db.select_list("SELECT table_name FROM information_schema.tables WHERE table_schema = '#{database}'")
45
45
  end
46
46
 
47
47
  end
@@ -6,26 +6,26 @@ module DohDb
6
6
  class Test_ConnectorInstance < DohTest::TestGroup
7
7
  def test_stuff
8
8
  init_global_connector
9
- DohDb::query("CREATE TEMPORARY TABLE #{tbl} (id INT UNSIGNED AUTO_INCREMENT NOT NULL KEY, value INT NOT NULL DEFAULT 0, created_on DATE, created_at DATETIME, money DECIMAL(7,2) NOT NULL DEFAULT 0)")
10
- assert_equal(1, DohDb::insert("INSERT INTO #{tbl} (id, created_on, created_at, money) VALUES (null, CURDATE(), '2007-01-01 10:30:05', 10.5)"))
11
- assert_equal(2, DohDb::insert("INSERT INTO #{tbl} (id, created_on) VALUES (null, 0)"))
12
- assert_equal(1, DohDb::update("UPDATE #{tbl} SET money = 10.8 WHERE id = 1"))
13
- assert_equal(BigDecimal('10.80'), DohDb::select_field("SELECT money FROM #{tbl} WHERE id = 1"))
14
- assert_raises(UnexpectedQueryResult) {DohDb::select_row("SELECT * FROM #{tbl} WHERE id = 7")}
15
- assert_equal(nil, DohDb::select_optional_row("SELECT * FROM #{tbl} WHERE id = 7"))
16
- assert_raises(UnexpectedQueryResult){DohDb::select_optional_row("SELECT * FROM #{tbl} WHERE id < 3")}
17
- assert_equal(nil, DohDb::select_optional_field("SELECT money FROM #{tbl} WHERE id = 7"))
18
- assert_raises(UnexpectedQueryResult) {DohDb::select_field("SELECT money FROM #{tbl} WHERE id = 7")}
19
- assert_equal(1, DohDb::update_row("UPDATE #{tbl} SET money = 10.95 WHERE id = 1"))
20
- assert_raises(Mysql2::Error){DohDb::query("some invalid sql here")}
9
+ Doh.db.query("CREATE TEMPORARY TABLE #{tbl} (id INT UNSIGNED AUTO_INCREMENT NOT NULL KEY, value INT NOT NULL DEFAULT 0, created_on DATE, created_at DATETIME, money DECIMAL(7,2) NOT NULL DEFAULT 0)")
10
+ assert_equal(1, Doh.db.insert("INSERT INTO #{tbl} (id, created_on, created_at, money) VALUES (null, CURDATE(), '2007-01-01 10:30:05', 10.5)"))
11
+ assert_equal(2, Doh.db.insert("INSERT INTO #{tbl} (id, created_on) VALUES (null, 0)"))
12
+ assert_equal(1, Doh.db.update("UPDATE #{tbl} SET money = 10.8 WHERE id = 1"))
13
+ assert_equal(BigDecimal('10.80'), Doh.db.select_field("SELECT money FROM #{tbl} WHERE id = 1"))
14
+ assert_raises(UnexpectedQueryResult) {Doh.db.select_row("SELECT * FROM #{tbl} WHERE id = 7")}
15
+ assert_equal(nil, Doh.db.select_optional_row("SELECT * FROM #{tbl} WHERE id = 7"))
16
+ assert_raises(UnexpectedQueryResult){Doh.db.select_optional_row("SELECT * FROM #{tbl} WHERE id < 3")}
17
+ assert_equal(nil, Doh.db.select_optional_field("SELECT money FROM #{tbl} WHERE id = 7"))
18
+ assert_raises(UnexpectedQueryResult) {Doh.db.select_field("SELECT money FROM #{tbl} WHERE id = 7")}
19
+ assert_equal(1, Doh.db.update_row("UPDATE #{tbl} SET money = 10.95 WHERE id = 1"))
20
+ assert_raises(Mysql2::Error){Doh.db.query("some invalid sql here")}
21
21
  # TODO: re-enable
22
22
  # assert(DohTest::pop_error)
23
- assert_raises(UnexpectedQueryResult) {DohDb::update_row("UPDATE #{tbl} SET money = 10.95 WHERE id = 7")}
24
- onerow = DohDb::select_row("SELECT * FROM #{tbl} WHERE id = 1")
23
+ assert_raises(UnexpectedQueryResult) {Doh.db.update_row("UPDATE #{tbl} SET money = 10.95 WHERE id = 7")}
24
+ onerow = Doh.db.select_row("SELECT * FROM #{tbl} WHERE id = 1")
25
25
  assert_equal(1, onerow['id'])
26
- onerow = DohDb::select_optional_row("SELECT * FROM #{tbl} WHERE id = 1")
26
+ onerow = Doh.db.select_optional_row("SELECT * FROM #{tbl} WHERE id = 1")
27
27
  assert_equal(1, onerow['id'])
28
- rows = DohDb::select("SELECT * FROM #{tbl}")
28
+ rows = Doh.db.select("SELECT * FROM #{tbl}")
29
29
  rows.each {|row| assert(row['id'] != 0)}
30
30
  end
31
31
  end
data/test/helpers.rb CHANGED
@@ -23,7 +23,7 @@ module InternalTestHelpers
23
23
  def init_global_connector
24
24
  require 'doh/mysql/connector_instance'
25
25
  require 'doh/mysql/cache_connector'
26
- DohDb::set_connector_instance(DohDb::CacheConnector.new(dbcfg))
26
+ DohDb.set_connector_instance(DohDb::CacheConnector.new(dbcfg))
27
27
  end
28
28
  end
29
29
 
@@ -20,7 +20,7 @@ class Test_metadata_util < DohTest::TestGroup
20
20
  def test_stuff
21
21
  dbh = get_dbh
22
22
  dbh.query("CREATE TABLE #{tbl} (num INT, str CHAR(7))")
23
- column_info = DohDb::column_info(tbl)
23
+ column_info = DohDb.column_info(tbl)
24
24
  info = column_info['str']
25
25
  assert_equal('char', info['data_type'])
26
26
  assert_equal(7, info['character_maximum_length'])
@@ -28,16 +28,16 @@ class Test_metadata_util < DohTest::TestGroup
28
28
  assert_equal('int', info['data_type'])
29
29
  assert_equal(nil, info['character_maximum_length'])
30
30
 
31
- assert_equal(7, DohDb::field_character_size(tbl, 'str'))
32
- assert_equal(nil, DohDb::field_character_size(tbl, 'num'))
31
+ assert_equal(7, DohDb.field_character_size(tbl, 'str'))
32
+ assert_equal(nil, DohDb.field_character_size(tbl, 'num'))
33
33
 
34
34
  row = {'num' => 'blahblahblah', 'str' => 'blahblahblah'}
35
- DohDb::chop_character_fields!(tbl, row)
35
+ DohDb.chop_character_fields!(tbl, row)
36
36
  assert_equal('blahblahblah', row['num'])
37
37
  assert_equal('blahbla', row['str'])
38
38
 
39
39
  row = {'num' => 'blahblahblah', 'str' => 'blahblahblah'}
40
- newrow = DohDb::chop_character_fields(tbl, row)
40
+ newrow = DohDb.chop_character_fields(tbl, row)
41
41
  assert_equal('blahblahblah', newrow['num'])
42
42
  assert_equal('blahbla', newrow['str'])
43
43
  assert_equal('blahblahblah', row['num'])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dohmysql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2012-03-30 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: dohroot
17
- requirement: &70242076304200 !ruby/object:Gem::Requirement
17
+ requirement: &70363389961120 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.1.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70242076304200
25
+ version_requirements: *70363389961120
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: dohutil
28
- requirement: &70242076279100 !ruby/object:Gem::Requirement
28
+ requirement: &70363389960520 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.1.8
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70242076279100
36
+ version_requirements: *70363389960520
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: mysql2
39
- requirement: &70242076275220 !ruby/object:Gem::Requirement
39
+ requirement: &70363389959920 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.3.11
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70242076275220
47
+ version_requirements: *70363389959920
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: sqlstmt
50
- requirement: &70242076249640 !ruby/object:Gem::Requirement
50
+ requirement: &70363389959340 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.1.1
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70242076249640
58
+ version_requirements: *70363389959340
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: dohtest
61
- requirement: &70242076246900 !ruby/object:Gem::Requirement
61
+ requirement: &70363389933500 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: 0.1.8
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70242076246900
69
+ version_requirements: *70363389933500
70
70
  description: wrapper classes around low level mysql gem to provide a better interface
71
71
  email:
72
72
  - devinfo@atpsoft.com