prick 0.20.28 → 0.21.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/.ruby-version +1 -1
- data/TODO +34 -2
- data/lib/builder/batch.rb +2 -1
- data/lib/builder/node.rb +5 -0
- data/lib/builder/parser.rb +2 -1
- data/lib/local/command.rb +2 -1
- data/lib/prick/version.rb +1 -1
- data/prick.gemspec +3 -4
- metadata +16 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 851c4a7b6184883fd38a03f5a96af408640f76fcd424859947e0aa70a91b3f81
|
4
|
+
data.tar.gz: 9c04deb3aadf390833b6bd3b3def242069b75b9cfad297e3287900067d33bbbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce3215c329264d1e9948aba65c2e15085b17b868270abb4e8539d4a14c82ff353a0e3986e5b1b1bd3548b23188629a906008d735a759a47b70a883d2b289604c
|
7
|
+
data.tar.gz: e75dd4f658cd3a7283d70e1e0bdff064063f062cdd0c7560dae682aa1c9c0679a5dd3be69fbabc67f396041e811fd9620cfc6c4a7b3d32c527dfb64300c7c25f
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-
|
1
|
+
ruby-3.1.2
|
data/TODO
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
o Use mikras_root(1) to be able to run from any subdirectory
|
2
|
+
o Add 'prick build .' and 'prick make .'
|
3
|
+
|
1
4
|
o Fix that enum references are not created:
|
2
5
|
|
3
6
|
system_roles
|
@@ -8,8 +11,6 @@ o Fix that enum references are not created:
|
|
8
11
|
permissions:
|
9
12
|
- *app_registry_anon_permission
|
10
13
|
|
11
|
-
|
12
|
-
|
13
14
|
o Store fox.state, reflections, and reflections in the database so third-party
|
14
15
|
programs can use them when testing
|
15
16
|
o 'prick make <resource>' should build everything up the resource, then commit
|
@@ -21,6 +22,37 @@ o Build functions after schema so that there are no order dependencies on
|
|
21
22
|
functions. Problem is to detect function files
|
22
23
|
o Build views after schema so that there are no order dependencies on
|
23
24
|
views. Problem is to detect view files
|
25
|
+
o Detect file types dynamically by grepping for "create" statements
|
26
|
+
|
27
|
+
o Add dependencies to build files:
|
28
|
+
|
29
|
+
schema: app_registry
|
30
|
+
require:
|
31
|
+
- sys_registry
|
32
|
+
- websys
|
33
|
+
|
34
|
+
schema: websys
|
35
|
+
require:
|
36
|
+
- $prod, $online
|
37
|
+
- fdw_websys
|
38
|
+
- sys_registry
|
39
|
+
|
40
|
+
o Maybe extend build.yml syntax with conditionals. Eg.
|
41
|
+
|
42
|
+
- tables.sql
|
43
|
+
- $prod:
|
44
|
+
- prod_data.fox
|
45
|
+
- $dev:
|
46
|
+
- dev_debug.sql
|
47
|
+
- dev_data.fox
|
48
|
+
- $else:
|
49
|
+
- not_dev_data.fox
|
50
|
+
- $online:
|
51
|
+
- fdw_schema.sql
|
52
|
+
- not $online:
|
53
|
+
- fdw_schema_copy.sql
|
54
|
+
- $env in $proc, $online:
|
55
|
+
- fdw_operation.sql
|
24
56
|
|
25
57
|
+ prick release major|minor|patch
|
26
58
|
+ Check modification time of build.yml files too
|
data/lib/builder/batch.rb
CHANGED
@@ -9,7 +9,7 @@ module Prick
|
|
9
9
|
def kind() @nodes.first&.kind end
|
10
10
|
attr_reader :nodes
|
11
11
|
|
12
|
-
def initialize(builder)
|
12
|
+
def initialize(builder)
|
13
13
|
@builder = builder
|
14
14
|
@nodes = []
|
15
15
|
end
|
@@ -32,6 +32,7 @@ module Prick
|
|
32
32
|
super {
|
33
33
|
begin
|
34
34
|
sql = []
|
35
|
+
# A SQL batch allows the first node to be an executable
|
35
36
|
if nodes.first.is_a?(ExeNode)
|
36
37
|
time "Execute script" do
|
37
38
|
sql = [nodes.first.source]
|
data/lib/builder/node.rb
CHANGED
@@ -37,6 +37,7 @@ module Prick
|
|
37
37
|
@parent, @phase, @kind, @path = parent, phase, kind, path
|
38
38
|
@args = args&.empty? ? nil : args
|
39
39
|
@schema = nil
|
40
|
+
@source = nil
|
40
41
|
@source_lines = nil
|
41
42
|
end
|
42
43
|
|
@@ -138,6 +139,10 @@ module Prick
|
|
138
139
|
begin
|
139
140
|
pipe.puts [conn.name, conn.user]
|
140
141
|
sql = pipe.wait
|
142
|
+
rescue Command::Error => ex
|
143
|
+
message = "prick: Error executing '#{to_s}'\n" + ex.stderr.map { |l| " #{l}" }.join("\n")
|
144
|
+
raise Prick::Error.new(message)
|
145
|
+
|
141
146
|
rescue Errno::EPIPE
|
142
147
|
raise Prick::Error, "Pipe fail in #{path} called from #{parent.path}\n" +
|
143
148
|
"Tip: Read username/database from standard input"
|
data/lib/builder/parser.rb
CHANGED
@@ -95,7 +95,8 @@ module Prick
|
|
95
95
|
entry.size == 1 or raise Error, "sql and module are single-line values"
|
96
96
|
key, value = entry.first
|
97
97
|
case key
|
98
|
-
when "sql"
|
98
|
+
when "sql"
|
99
|
+
InlineNode.new(unit, phase, unit.path, value)
|
99
100
|
when "call"
|
100
101
|
args = value.split(/\s+/)
|
101
102
|
args.size >= 3 or raise "Illegal number of arguments: #{value}"
|
data/lib/local/command.rb
CHANGED
@@ -171,7 +171,8 @@ module Command
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
-
# Exit status of the last command
|
174
|
+
# Exit status of the last command. FIXME: This is not usable because the
|
175
|
+
# methods raise an exception if the command exited with anything but 0
|
175
176
|
def status() @status end
|
176
177
|
|
177
178
|
# Stored exception when #command is called with :fail true
|
data/lib/prick/version.rb
CHANGED
data/prick.gemspec
CHANGED
@@ -34,13 +34,12 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency "constrain"
|
35
35
|
spec.add_dependency "forward_to"
|
36
36
|
spec.add_dependency "bootsnap"
|
37
|
-
spec.add_dependency "fixture_fox"
|
37
|
+
spec.add_dependency "fixture_fox"
|
38
38
|
spec.add_dependency "postspec"
|
39
|
-
spec.add_dependency "pg_graph"
|
40
|
-
spec.add_dependency "shellopts"
|
39
|
+
spec.add_dependency "pg_graph"
|
40
|
+
spec.add_dependency "shellopts"
|
41
41
|
|
42
42
|
spec.add_development_dependency "ruby-prof"
|
43
|
-
spec.add_development_dependency "dbutils"
|
44
43
|
|
45
44
|
# Also un-comment in spec/spec_helper to use simplecov
|
46
45
|
# spec.add_development_dependency "simplecov"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: fixture_fox
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0
|
89
|
+
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: postspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,38 +112,24 @@ dependencies:
|
|
112
112
|
name: pg_graph
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0
|
117
|
+
version: '0'
|
118
118
|
type: :runtime
|
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: 0
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: shellopts
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 2.0.24
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 2.0.24
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: ruby-prof
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - ">="
|
144
130
|
- !ruby/object:Gem::Version
|
145
131
|
version: '0'
|
146
|
-
type: :
|
132
|
+
type: :runtime
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
@@ -151,7 +137,7 @@ dependencies:
|
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
140
|
+
name: ruby-prof
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
143
|
- - ">="
|
@@ -229,7 +215,7 @@ files:
|
|
229
215
|
homepage: http://www.nowhere.com/
|
230
216
|
licenses: []
|
231
217
|
metadata: {}
|
232
|
-
post_install_message:
|
218
|
+
post_install_message:
|
233
219
|
rdoc_options: []
|
234
220
|
require_paths:
|
235
221
|
- lib
|
@@ -244,8 +230,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
230
|
- !ruby/object:Gem::Version
|
245
231
|
version: '0'
|
246
232
|
requirements: []
|
247
|
-
rubygems_version: 3.
|
248
|
-
signing_key:
|
233
|
+
rubygems_version: 3.3.18
|
234
|
+
signing_key:
|
249
235
|
specification_version: 4
|
250
236
|
summary: A release control and management system for postgresql
|
251
237
|
test_files: []
|