baza 0.0.34 → 0.0.38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +13 -0
  3. data/.ruby-version +1 -1
  4. data/Gemfile +2 -2
  5. data/Gemfile.lock +45 -46
  6. data/VERSION +1 -1
  7. data/baza.gemspec +32 -51
  8. data/lib/baza/base_sql_driver.rb +38 -8
  9. data/lib/baza/cloner.rb +10 -0
  10. data/lib/baza/commands/select.rb +15 -8
  11. data/lib/baza/db.rb +8 -4
  12. data/lib/baza/driver/active_record/result.rb +3 -1
  13. data/lib/baza/driver/active_record.rb +7 -0
  14. data/lib/baza/driver/mysql/column.rb +4 -6
  15. data/lib/baza/driver/mysql/columns.rb +4 -4
  16. data/lib/baza/driver/mysql/database.rb +4 -4
  17. data/lib/baza/driver/mysql/databases.rb +5 -5
  18. data/lib/baza/driver/mysql/foreign_key.rb +2 -2
  19. data/lib/baza/driver/mysql/index.rb +1 -1
  20. data/lib/baza/driver/mysql/sql/column.rb +4 -4
  21. data/lib/baza/driver/mysql/sql/create_indexes.rb +3 -3
  22. data/lib/baza/driver/mysql/sql/create_table.rb +1 -1
  23. data/lib/baza/driver/mysql/table.rb +16 -16
  24. data/lib/baza/driver/mysql_java.rb +3 -3
  25. data/lib/baza/driver/pg/column.rb +5 -13
  26. data/lib/baza/driver/pg/columns.rb +4 -4
  27. data/lib/baza/driver/pg/create_index_sql_creator.rb +3 -3
  28. data/lib/baza/driver/pg/database.rb +4 -4
  29. data/lib/baza/driver/pg/databases.rb +1 -1
  30. data/lib/baza/driver/pg/foreign_key.rb +2 -2
  31. data/lib/baza/driver/pg/index.rb +1 -1
  32. data/lib/baza/driver/pg/table.rb +13 -13
  33. data/lib/baza/driver/pg/tables.rb +1 -1
  34. data/lib/baza/driver/pg.rb +1 -1
  35. data/lib/baza/driver/sqlite3/column.rb +1 -1
  36. data/lib/baza/driver/sqlite3/columns.rb +1 -1
  37. data/lib/baza/driver/sqlite3/index.rb +1 -1
  38. data/lib/baza/driver/sqlite3/table.rb +4 -4
  39. data/lib/baza/driver/sqlite3_java/database.rb +1 -1
  40. data/lib/baza/driver/tiny/result.rb +19 -2
  41. data/lib/baza/driver/tiny.rb +84 -10
  42. data/lib/baza/idquery.rb +3 -3
  43. data/lib/baza/mysql_base_driver.rb +3 -3
  44. data/lib/baza/query_buffer.rb +1 -1
  45. data/lib/baza/sql_queries/generic_insert.rb +3 -3
  46. data/lib/baza/sql_queries/generic_update.rb +2 -2
  47. data/lib/baza/sql_queries/mysql_upsert.rb +5 -5
  48. data/lib/baza/sql_queries/mysql_upsert_duplicate_key.rb +3 -3
  49. data/lib/baza/sql_queries/postgres_upsert_duplicate_key.rb +7 -7
  50. data/lib/baza/sql_queries/select.rb +8 -8
  51. data/lib/baza/sql_queries/sqlite_upsert_duplicate_key.rb +6 -6
  52. data/lib/baza/table.rb +3 -3
  53. data/peak_flow.yml +21 -3
  54. data/spec/baza/cloner_spec.rb +2 -2
  55. data/spec/drivers/pg/table_spec.rb +20 -0
  56. data/spec/drivers/tiny_spec.rb +27 -0
  57. data/spec/info_active_record_mysql2_peak_flow.rb +3 -2
  58. data/spec/info_active_record_mysql_peak_flow.rb +3 -2
  59. data/spec/info_active_record_pg_peak_flow.rb +5 -3
  60. data/spec/info_active_record_sqlite3.rb +6 -13
  61. data/spec/info_mysql2_peak_flow.rb +2 -1
  62. data/spec/info_mysql_peak_flow.rb +2 -1
  63. data/spec/info_pg_peak_flow.rb +3 -1
  64. data/spec/info_sqlite3.rb +3 -12
  65. data/spec/spec_helper.rb +1 -0
  66. data/spec/support/driver_collection.rb +1 -1
  67. metadata +14 -12
@@ -4,16 +4,13 @@ class Baza::InfoActiveRecordSqlite3
4
4
  def self.connection
5
5
  require "active_record"
6
6
 
7
- path = "#{Dir.tmpdir}/baza_sqlite3_test_#{Time.now.to_f.to_s.hash}_#{Random.rand}.sqlite3"
8
- File.unlink(path) if File.exist?(path)
9
-
10
- @conn_pool ||= ::ActiveRecord::Base.establish_connection(
7
+ conn_pool = ::ActiveRecord::ConnectionAdapters::ConnectionHandler.new.establish_connection(
11
8
  adapter: "sqlite3",
12
- database: path
9
+ database: ":memory:"
13
10
  )
14
- @conn ||= @conn_pool.connection
11
+ conn = conn_pool.connection
15
12
 
16
- {pool: @conn_pool, conn: @conn}
13
+ {pool: conn_pool, conn: conn}
17
14
  end
18
15
 
19
16
  def initialize(args = {})
@@ -26,11 +23,7 @@ class Baza::InfoActiveRecordSqlite3
26
23
  }.merge(args))
27
24
  end
28
25
 
29
- def before
30
- @db.tables.list(&:drop)
31
- end
26
+ def before; end
32
27
 
33
- def after
34
- @db.close
35
- end
28
+ def after; end
36
29
  end
@@ -4,8 +4,9 @@ class Baza::InfoMysql2
4
4
  def initialize(args = {})
5
5
  @db = Baza::Db.new({
6
6
  type: :mysql2,
7
- host: "localhost",
7
+ host: "mysql",
8
8
  user: "build",
9
+ pass: "password",
9
10
  db: "baza"
10
11
  }.merge(args))
11
12
  end
@@ -4,8 +4,9 @@ class Baza::InfoMysql
4
4
  def initialize(args = {})
5
5
  @db = Baza::Db.new({
6
6
  type: :mysql,
7
- host: "localhost",
7
+ host: "mysql",
8
8
  user: "build",
9
+ pass: "password",
9
10
  db: "baza"
10
11
  }.merge(args))
11
12
  end
@@ -4,7 +4,9 @@ class Baza::InfoPg
4
4
  def initialize(args = {})
5
5
  @db = Baza::Db.new({
6
6
  type: :pg,
7
- user: "postgres",
7
+ host: "postgres",
8
+ user: "build",
9
+ pass: "password",
8
10
  db: "baza",
9
11
  debug: false
10
12
  }.merge(args))
data/spec/info_sqlite3.rb CHANGED
@@ -3,26 +3,17 @@ class Baza::InfoSqlite3
3
3
 
4
4
  def initialize(args = {})
5
5
  require "sqlite3" unless RUBY_ENGINE == "jruby"
6
- require "tmpdir"
7
-
8
- @path = "#{Dir.tmpdir}/baza_sqlite3_test_#{Time.now.to_f.to_s.hash}_#{Random.rand}.sqlite3"
9
- File.unlink(path) if File.exist?(@path)
10
6
 
11
7
  @db = Baza::Db.new({
12
8
  type: :sqlite3,
13
- path: @path,
9
+ path: "#{Dir.tmpdir}/#{SecureRandom.hex(8)}.sqlite3",
14
10
  index_append_table_name: true,
15
11
  sql_to_error: true,
16
12
  debug: false
17
13
  }.merge(args))
18
14
  end
19
15
 
20
- def before
21
- @db.tables.list(&:drop)
22
- end
16
+ def before; end
23
17
 
24
- def after
25
- @db.close
26
- File.unlink(@path)
27
- end
18
+ def after; end
28
19
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "baza"
2
+ require "pry"
2
3
 
3
4
  if RUBY_PLATFORM == "java"
4
5
  require "jdbc/mysql"
@@ -340,7 +340,7 @@ shared_examples_for "a baza driver" do
340
340
  row = db_with_type_translation.select(:test, text: "Kasper").fetch
341
341
 
342
342
  expect(row.fetch(:text).class).to eq String
343
- expect(row.fetch(:number).class.name).to eq "Fixnum"
343
+ expect(row.fetch(:number).class.name).to eq "Integer"
344
344
  expect(row.fetch(:float).class).to eq Float
345
345
 
346
346
  if db.driver.conn.class.name == "ActiveRecord::ConnectionAdapters::SQLite3Adapter"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baza
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34
4
+ version: 0.0.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Johansen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-07 00:00:00.000000000 Z
11
+ date: 2021-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: array_enumerator
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: activerecord
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 4.2.5
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 4.2.5
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: activerecord-jdbc-adapter
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -294,16 +294,16 @@ dependencies:
294
294
  name: sqlite3
295
295
  requirement: !ruby/object:Gem::Requirement
296
296
  requirements:
297
- - - ">="
297
+ - - "<"
298
298
  - !ruby/object:Gem::Version
299
- version: '0'
299
+ version: '1.5'
300
300
  type: :development
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
- - - ">="
304
+ - - "<"
305
305
  - !ruby/object:Gem::Version
306
- version: '0'
306
+ version: '1.5'
307
307
  description: A database abstraction layer, model framework and database framework.
308
308
  email: kj@gfish.com
309
309
  executables: []
@@ -313,6 +313,7 @@ extra_rdoc_files:
313
313
  - README.md
314
314
  files:
315
315
  - ".document"
316
+ - ".github/dependabot.yml"
316
317
  - ".rspec"
317
318
  - ".rubocop.yml"
318
319
  - ".rubocop_todo.yml"
@@ -468,8 +469,10 @@ files:
468
469
  - spec/drivers/mysql2_spec.rb
469
470
  - spec/drivers/mysql_spec.rb
470
471
  - spec/drivers/pg/columns_spec.rb
472
+ - spec/drivers/pg/table_spec.rb
471
473
  - spec/drivers/pg_spec.rb
472
474
  - spec/drivers/sqlite3_spec.rb
475
+ - spec/drivers/tiny_spec.rb
473
476
  - spec/info_active_record_example.rb
474
477
  - spec/info_active_record_mysql2_example.rb
475
478
  - spec/info_active_record_mysql2_peak_flow.rb
@@ -514,8 +517,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
514
517
  - !ruby/object:Gem::Version
515
518
  version: '0'
516
519
  requirements: []
517
- rubyforge_project:
518
- rubygems_version: 2.7.7
520
+ rubygems_version: 3.1.6
519
521
  signing_key:
520
522
  specification_version: 4
521
523
  summary: A database abstraction layer, model framework and database framework.