pg_column_byte_packer 1.1.0 → 1.2.1
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/.github/workflows/ci.yml +42 -0
- data/.ruby-version +1 -1
- data/Appraisals +10 -3
- data/gemfiles/rails_5.1.gemfile +1 -1
- data/gemfiles/rails_5.2.gemfile +1 -1
- data/gemfiles/rails_6.0.gemfile +1 -1
- data/gemfiles/rails_6.1.gemfile +7 -0
- data/gemfiles/rails_7.0.gemfile +7 -0
- data/lib/pg_column_byte_packer/schema_statements.rb +6 -1
- data/lib/pg_column_byte_packer/version.rb +1 -1
- data/lib/pg_column_byte_packer.rb +7 -3
- data/pg_column_byte_packer.gemspec +6 -6
- metadata +28 -26
- data/.travis.yml +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 890aafd28157565a12a3bde40e4bc87d6156203229e6eb26987c05b4dd951e0b
|
4
|
+
data.tar.gz: 8b8f5e074740a77451705083d464cbf864a544e5cbe2ed4cb55317f958d350c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e0705d48e7d17e252fe773c36706c5aa32a32dddc81c8c3b91c8fbf82977a885c7f5b32871e87acd22634926e4c0b6bf3083f3a7cae2c5c2374a4d966c8584a
|
7
|
+
data.tar.gz: 4f0009bc49a7f8c95ea3ddc27e6e09fdb0a81a2080a3bbf7145ab867ce6ddbb850ba7508a8b8966f8994154b4e3a2c761e0fb3ec08681ec3599def90a8c88a5e
|
@@ -0,0 +1,42 @@
|
|
1
|
+
name: CI
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
strategy:
|
6
|
+
matrix:
|
7
|
+
pg:
|
8
|
+
- 9.6
|
9
|
+
- 10
|
10
|
+
- 11
|
11
|
+
- 12
|
12
|
+
- 13
|
13
|
+
gemfile:
|
14
|
+
- rails_5.1
|
15
|
+
- rails_5.2
|
16
|
+
- rails_6.0
|
17
|
+
- rails_6.1
|
18
|
+
name: PostgreSQL ${{ matrix.pg }}
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
21
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
22
|
+
ImageOS: ubuntu20
|
23
|
+
services:
|
24
|
+
postgresql:
|
25
|
+
image: postgres:${{ matrix.pg }}
|
26
|
+
env:
|
27
|
+
POSTGRES_PASSWORD: postgres
|
28
|
+
# Set health checks to wait until postgres has started
|
29
|
+
options: >-
|
30
|
+
--health-cmd pg_isready
|
31
|
+
--health-interval 10s
|
32
|
+
--health-timeout 5s
|
33
|
+
--health-retries 5
|
34
|
+
ports:
|
35
|
+
- 5432:5432
|
36
|
+
steps:
|
37
|
+
- uses: actions/checkout@v2
|
38
|
+
- name: Setup Ruby using .ruby-version file
|
39
|
+
uses: ruby/setup-ruby@v1
|
40
|
+
with:
|
41
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
42
|
+
- run: bundle exec rake spec
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.7
|
data/Appraisals
CHANGED
@@ -1,12 +1,19 @@
|
|
1
1
|
appraise "rails-5.1" do
|
2
|
-
gem "activerecord", "5.1.
|
2
|
+
gem "activerecord", "~> 5.1.0"
|
3
3
|
end
|
4
4
|
|
5
5
|
appraise "rails-5.2" do
|
6
|
-
gem "activerecord", "5.2.
|
6
|
+
gem "activerecord", "~> 5.2.0"
|
7
7
|
end
|
8
8
|
|
9
9
|
appraise "rails-6.0" do
|
10
|
-
gem "activerecord", "6.0.0"
|
10
|
+
gem "activerecord", "~> 6.0.0"
|
11
11
|
end
|
12
12
|
|
13
|
+
appraise "rails-6.1" do
|
14
|
+
gem "activerecord", "~> 6.1.0"
|
15
|
+
end
|
16
|
+
|
17
|
+
appraise "rails-7.0" do
|
18
|
+
gem "activerecord", "~> 7.0.0"
|
19
|
+
end
|
data/gemfiles/rails_5.1.gemfile
CHANGED
data/gemfiles/rails_5.2.gemfile
CHANGED
data/gemfiles/rails_6.0.gemfile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "active_record"
|
2
2
|
require "active_record/migration"
|
3
|
+
require "active_record/connection_adapters/abstract/schema_creation"
|
3
4
|
|
4
5
|
module PgColumnBytePacker
|
5
6
|
module SchemaCreation
|
@@ -41,4 +42,8 @@ module PgColumnBytePacker
|
|
41
42
|
end
|
42
43
|
end
|
43
44
|
|
44
|
-
ActiveRecord::
|
45
|
+
if ActiveRecord.gem_version >= Gem::Version.new("6.1.0")
|
46
|
+
ActiveRecord::ConnectionAdapters::SchemaCreation.prepend(PgColumnBytePacker::SchemaCreation)
|
47
|
+
else
|
48
|
+
ActiveRecord::ConnectionAdapters::AbstractAdapter::SchemaCreation.prepend(PgColumnBytePacker::SchemaCreation)
|
49
|
+
end
|
@@ -74,8 +74,8 @@ module PgColumnBytePacker
|
|
74
74
|
|
75
75
|
# Ignore array designations. This seems like something we could
|
76
76
|
# so with the parsing above, and we could, and, in fact, that
|
77
|
-
# would also almost
|
78
|
-
# ActiveRecord
|
77
|
+
# would also almost certainly allow us to rip out most of the
|
78
|
+
# ActiveRecord generated alias type name matching below, but
|
79
79
|
# it would also mean a more thorough refactor below for types
|
80
80
|
# with size designations (e.g., when ActiveRecord generates
|
81
81
|
# "float(23)"). So we use this simple regex cleanup for now.
|
@@ -84,7 +84,7 @@ module PgColumnBytePacker
|
|
84
84
|
# Sort out the alignment. Most of the type name matching is to
|
85
85
|
# support the naming variants that ActiveRecord generates (often
|
86
86
|
# they're aliases, like "integer", for which PostgreSQL internally
|
87
|
-
# has a different canonical name
|
87
|
+
# has a different canonical name: "int4"). There are also
|
88
88
|
# a few cases we have to handle where the output from pgdump
|
89
89
|
# doesn't match the canonical name in pg_type; e.g., "float8" is
|
90
90
|
# canonical, but pgdump outputs "double precision".
|
@@ -194,6 +194,7 @@ module PgColumnBytePacker
|
|
194
194
|
end
|
195
195
|
|
196
196
|
if typtype == "e"
|
197
|
+
# Enum
|
197
198
|
4
|
198
199
|
else
|
199
200
|
case typalign
|
@@ -203,10 +204,13 @@ module PgColumnBytePacker
|
|
203
204
|
# column definition) but require no alignment.
|
204
205
|
1
|
205
206
|
when "s"
|
207
|
+
# Short alignment
|
206
208
|
2
|
207
209
|
when "i"
|
210
|
+
# Int alingment
|
208
211
|
4
|
209
212
|
when "d"
|
213
|
+
# Double alignment
|
210
214
|
8
|
211
215
|
else
|
212
216
|
1
|
@@ -23,15 +23,15 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
-
spec.add_development_dependency "rake", "
|
27
|
-
spec.add_development_dependency "rspec"
|
26
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
27
|
+
spec.add_development_dependency "rspec"
|
28
28
|
spec.add_development_dependency "relation_to_struct"
|
29
|
-
spec.add_development_dependency "db-query-matchers"
|
29
|
+
spec.add_development_dependency "db-query-matchers"
|
30
30
|
spec.add_development_dependency "pry"
|
31
31
|
spec.add_development_dependency "pry-byebug"
|
32
|
-
spec.add_development_dependency "appraisal"
|
32
|
+
spec.add_development_dependency "appraisal"
|
33
33
|
|
34
34
|
spec.add_dependency "pg"
|
35
|
-
spec.add_dependency "activerecord", ">= 5.1", "<
|
36
|
-
spec.add_dependency "pg_query"
|
35
|
+
spec.add_dependency "activerecord", ">= 5.1", "< 7.1"
|
36
|
+
spec.add_dependency "pg_query", "< 2.0"
|
37
37
|
end
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_column_byte_packer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jcoleman
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 12.3.3
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 12.3.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: relation_to_struct
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,16 +56,16 @@ dependencies:
|
|
56
56
|
name: db-query-matchers
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,16 +98,16 @@ dependencies:
|
|
98
98
|
name: appraisal
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: pg
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -131,7 +131,7 @@ dependencies:
|
|
131
131
|
version: '5.1'
|
132
132
|
- - "<"
|
133
133
|
- !ruby/object:Gem::Version
|
134
|
-
version: '
|
134
|
+
version: '7.1'
|
135
135
|
type: :runtime
|
136
136
|
prerelease: false
|
137
137
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -141,21 +141,21 @@ dependencies:
|
|
141
141
|
version: '5.1'
|
142
142
|
- - "<"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
144
|
+
version: '7.1'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
146
|
name: pg_query
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- - "
|
149
|
+
- - "<"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
151
|
+
version: '2.0'
|
152
152
|
type: :runtime
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- - "
|
156
|
+
- - "<"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '0'
|
158
|
+
version: '2.0'
|
159
159
|
description:
|
160
160
|
email:
|
161
161
|
- code@getbraintree.com
|
@@ -163,11 +163,11 @@ executables: []
|
|
163
163
|
extensions: []
|
164
164
|
extra_rdoc_files: []
|
165
165
|
files:
|
166
|
+
- ".github/workflows/ci.yml"
|
166
167
|
- ".gitignore"
|
167
168
|
- ".pryrc"
|
168
169
|
- ".rspec"
|
169
170
|
- ".ruby-version"
|
170
|
-
- ".travis.yml"
|
171
171
|
- Appraisals
|
172
172
|
- Gemfile
|
173
173
|
- LICENSE.txt
|
@@ -179,6 +179,8 @@ files:
|
|
179
179
|
- gemfiles/rails_5.1.gemfile
|
180
180
|
- gemfiles/rails_5.2.gemfile
|
181
181
|
- gemfiles/rails_6.0.gemfile
|
182
|
+
- gemfiles/rails_6.1.gemfile
|
183
|
+
- gemfiles/rails_7.0.gemfile
|
182
184
|
- lib/pg_column_byte_packer.rb
|
183
185
|
- lib/pg_column_byte_packer/pg_dump.rb
|
184
186
|
- lib/pg_column_byte_packer/schema_statements.rb
|
@@ -203,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
205
|
- !ruby/object:Gem::Version
|
204
206
|
version: '0'
|
205
207
|
requirements: []
|
206
|
-
rubygems_version: 3.
|
208
|
+
rubygems_version: 3.1.4
|
207
209
|
signing_key:
|
208
210
|
specification_version: 4
|
209
211
|
summary: Auto-order table columns for optimize disk space usage
|
data/.travis.yml
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
rvm:
|
4
|
-
- 2.5
|
5
|
-
env:
|
6
|
-
global:
|
7
|
-
- PGPORT: "5433"
|
8
|
-
jobs:
|
9
|
-
- PGVERSION: "9.6"
|
10
|
-
- PGVERSION: "10"
|
11
|
-
- PGVERSION: "11"
|
12
|
-
- PGVERSION: "12"
|
13
|
-
services:
|
14
|
-
- postgresql
|
15
|
-
before_install:
|
16
|
-
- "for CLUSTER_VERSION in $(pg_lsclusters -h | cut -d' ' -f1); do sudo pg_dropcluster $CLUSTER_VERSION main --stop || true; sudo apt-get remove postgresql-client-$CLUSTER_VERSION postgresql-client-common || true; done"
|
17
|
-
- sudo apt-get update
|
18
|
-
- sudo apt-get -y install postgresql-$PGVERSION postgresql-server-dev-$PGVERSION postgresql-contrib-$PGVERSION postgresql-client-$PGVERSION postgresql-client-common
|
19
|
-
- sudo pg_dropcluster $PGVERSION main --stop || true
|
20
|
-
- sudo pg_createcluster $PGVERSION main -D /var/ramfs/postgresql/11/main -- --auth=trust
|
21
|
-
- sudo pg_ctlcluster start $PGVERSION main
|
22
|
-
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
23
|
-
- gem install bundler -v 1.15.4
|
24
|
-
gemfile:
|
25
|
-
- gemfiles/rails_5.1.gemfile
|
26
|
-
- gemfiles/rails_5.2.gemfile
|
27
|
-
- gemfiles/rails_6.0.gemfile
|
28
|
-
script: "bundle exec rake spec"
|