simple-sql 0.5.33 → 0.5.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/simple/sql/connection/scope/count_by_groups.rb +7 -1
- data/scripts/benchmark1.rb +29 -0
- data/simple-sql.gemspec +2 -2
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19ee32b31a04b470791185276282c822543db6ba04025e20783aa9806c87eea0
|
4
|
+
data.tar.gz: c08591756d2ae5f613f6dc02c1b6234bd32e44df9d6d537f64e4634b932abb94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e2ef27dd8a283f327dc6bcdf65a33592910e15939bc767a6af759b4a91286fc73eac56716802d462b7f1389b7ff5269c38b4e7e1d33353e2fb1fcb6e3877883
|
7
|
+
data.tar.gz: '0998341550cdd3da389c415cb228559a9affbf152636192d602e3578f1143f526b2faec53ebd41e161191e1eaf0bff4ef47a237e2375016b9bc4920407cc0199'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.34
|
@@ -21,7 +21,13 @@ class Simple::SQL::Connection::Scope
|
|
21
21
|
sql = order_by(nil).to_sql(pagination: false)
|
22
22
|
|
23
23
|
cost = @connection.estimate_cost "SELECT MIN(#{sql_fragment}) FROM (#{sql}) sq", *args
|
24
|
-
|
24
|
+
|
25
|
+
# cost estimates are good, but are hard to check against a hard coded value.
|
26
|
+
# see https://issues.mediafellows.com/issues/75232
|
27
|
+
#
|
28
|
+
# if cost > 10_000
|
29
|
+
# raise "enumerate_groups(#{sql_fragment.inspect}) takes too much time. Make sure to create a suitable index"
|
30
|
+
# end
|
25
31
|
|
26
32
|
groups = []
|
27
33
|
var_name = "$#{@args.count + 1}"
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "benchmark"
|
2
|
+
require "simple-sql"
|
3
|
+
|
4
|
+
ENV["DATABASE_URL"] = "postgres://admin:admin@localhost/um_development"
|
5
|
+
|
6
|
+
Simple::SQL.connect
|
7
|
+
# require 'stackprof'# added
|
8
|
+
|
9
|
+
Benchmark.bmbm do |x|
|
10
|
+
x.report("1000x Simple::SQL HStore performance for 100 users") do
|
11
|
+
1000.times { Simple::SQL.all("SELECT id, meta_data FROM users limit 100") }
|
12
|
+
end
|
13
|
+
|
14
|
+
x.report("1000x Simple::SQL HStore::varchar performance for 100 users") do
|
15
|
+
1000.times { Simple::SQL.all("SELECT id, meta_data::varchar FROM users limit 100") }
|
16
|
+
end
|
17
|
+
|
18
|
+
x.report("1000x Simple::SQL HStore as jsonb performance for 100 users") do
|
19
|
+
1000.times { Simple::SQL.all("SELECT id, to_jsonb(meta_data) FROM users limit 100") }
|
20
|
+
end
|
21
|
+
|
22
|
+
x.report("1000x Simple::SQL timestamp performance for 100 users") do
|
23
|
+
1000.times { Simple::SQL.all("SELECT id, created_at FROM users limit 100") }
|
24
|
+
end
|
25
|
+
|
26
|
+
x.report("1000x Simple::SQL timestamp::varchar performance for 100 users") do
|
27
|
+
1000.times { Simple::SQL.all("SELECT id, created_at::varchar FROM users limit 100") }
|
28
|
+
end
|
29
|
+
end
|
data/simple-sql.gemspec
CHANGED
@@ -35,14 +35,14 @@ Gem::Specification.new do |gem|
|
|
35
35
|
if ENV["SIMPLE_SQL_ACTIVERECORD_SPECS"]
|
36
36
|
gem.add_dependency 'activerecord', '>= 5.2.4.5', *(ENV["SIMPLE_SQL_ACTIVERECORD_SPECS"].split(","))
|
37
37
|
else
|
38
|
-
gem.add_dependency 'activerecord', '>= 5.2.4.5', '<
|
38
|
+
gem.add_dependency 'activerecord', '>= 5.2.4.5', '< 6.1'
|
39
39
|
end
|
40
40
|
|
41
41
|
# optional gems (required by some of the parts)
|
42
42
|
|
43
43
|
# development gems
|
44
44
|
gem.add_development_dependency 'pg', '0.20'
|
45
|
-
gem.add_development_dependency 'rake', '
|
45
|
+
gem.add_development_dependency 'rake', '>= 12.3.3'
|
46
46
|
gem.add_development_dependency 'rspec', '~> 3.7'
|
47
47
|
gem.add_development_dependency 'rubocop', '~> 0.61.1'
|
48
48
|
gem.add_development_dependency 'simplecov', '~> 0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-sql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- radiospiel
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-03-
|
12
|
+
date: 2021-03-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pg_array_parser
|
@@ -96,7 +96,7 @@ dependencies:
|
|
96
96
|
version: 5.2.4.5
|
97
97
|
- - "<"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '
|
99
|
+
version: '6.1'
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
102
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -106,7 +106,7 @@ dependencies:
|
|
106
106
|
version: 5.2.4.5
|
107
107
|
- - "<"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
109
|
+
version: '6.1'
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
111
|
name: pg
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -125,16 +125,16 @@ dependencies:
|
|
125
125
|
name: rake
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- - "
|
128
|
+
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
130
|
+
version: 12.3.3
|
131
131
|
type: :development
|
132
132
|
prerelease: false
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
|
-
- - "
|
135
|
+
- - ">="
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
137
|
+
version: 12.3.3
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: rspec
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,6 +235,7 @@ files:
|
|
235
235
|
- lib/simple/sql/table_print.rb
|
236
236
|
- lib/simple/sql/version.rb
|
237
237
|
- log/.gitkeep
|
238
|
+
- scripts/benchmark1.rb
|
238
239
|
- scripts/release
|
239
240
|
- scripts/release.rb
|
240
241
|
- scripts/stats
|