prick 0.20.15 → 0.20.16

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 364c4c7c99807892c0714d99d531d19fe7fff8cfe23f80e56679d8649630b416
4
- data.tar.gz: 5e2fcd8e46a130dd65451a76c22027352bd5b5a747d3996940f5f1c4941c1953
3
+ metadata.gz: 20f00d302f4282832c257119bf9bfe5f2d171c9d706ec74bca142681d670a596
4
+ data.tar.gz: 5facc31ae461bcc1919509d81d71ea4f9244c20fae8e5a693f991b419343d47b
5
5
  SHA512:
6
- metadata.gz: 7e185c8ffc7d29d764672647994c95f67dcb8deb8ff2ab0fbe9edc278b8934b448834327b46897f0a92b268cb94b82011369c25035cba911358739f93ab6ed95
7
- data.tar.gz: 18c403ced7bad45431dc4c63c3d00a4d9f9425f5096e8f1c736be81d99f3f814e0a7ecff9a6e72f6cd794703219e76b026e9c2bc9b132570f65ae470dbb75e95
6
+ metadata.gz: 726d74592d2568c862538ea0692a01067eda7a7ffd3f5dba6b80abea1b3d3a96ae0f11faa5a4ee65792de764a628f4f73691d172f9e095b24b40cba9f140efc8
7
+ data.tar.gz: 708e3863256205385a418b4ce3436d3639f576fd6700d478b7e11933232187af6bda60988d0a952942cd56351d896835c574b8a31c920b991ac7a663dc89147e
data/lib/builder/batch.rb CHANGED
@@ -134,6 +134,8 @@ module Prick
134
134
  delete = builder.clean ? :none : :touched
135
135
  begin
136
136
  conn.execute fox.to_sql(format: :exec, delete: delete)
137
+
138
+ # FIXME: Why only in FoxBatch - should be set higher up in the system
137
139
  conn.execute "update prick.versions set built_at = now() at time zone 'UTC'"
138
140
  rescue PG::SyntaxError, PG::Error => ex
139
141
  raise PostgresError, "prick: #{error} from #{node.path}"
@@ -94,7 +94,7 @@ module Prick
94
94
  group if batches.nil?
95
95
  conn.exec create_schemas.grep_v("public").map { |schema| "create schema #{schema}" }
96
96
  conn.schema.create("public", authorization: "postgres")
97
- conn.exec "grant all on schema public to public"
97
+ conn.exec "grant usage, create on schema public to public"
98
98
  for batch in batches
99
99
  batch.execute
100
100
  end
data/lib/prick/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Prick
4
- VERSION = "0.20.15"
4
+ VERSION = "0.20.16"
5
5
  end
@@ -7,7 +7,9 @@ module Prick::SubCommand
7
7
  Timer.on! if timer
8
8
  time "Prick::Command#build" do
9
9
  begin
10
- super_conn = PgConn.new
10
+ super_conn = PgConn.new # Used to create new databases (doesn't make a
11
+ # difference right now as the mikras user is
12
+ # still a superuser)
11
13
 
12
14
  conn = nil
13
15
  builder = nil
@@ -18,30 +20,32 @@ module Prick::SubCommand
18
20
  else
19
21
  super_conn.rdbms.create database, owner: username
20
22
  conn = PgConn.new(database, username)
21
- exit = false
23
+ exist = false
22
24
  end
23
25
 
24
26
  builder = Prick::Build::Builder.new(conn, builddir)
25
27
 
26
28
  if exist
27
29
  if force
28
- builder.schemas.each { |schema| conn.schema.drop schema, cascade: true }
30
+ # Drop all schemas
31
+ super_conn.rdbms.empty!(database)
29
32
 
30
33
  else
31
- # Explicit schema is always rebuilt
32
- refresh = [builder.refresh_schemas, schema].compact.flatten.uniq
33
- keep = builder.keep_schemas.reject { |s| s == schema }
34
+ # Find schemas to refresh. This includes all schemas in the
35
+ # database
36
+ refresh_schemas = conn.schema.list
34
37
 
35
- # Rebuild non-existing keep-schemas
36
- keep.reject! { |schema|
37
- refresh << schema if !conn.schema.exist?(schema)
38
- }
38
+ # Find existing keep-schemas
39
+ keep_schemas = builder.keep_schemas.select { |s| conn.schema.exist?(s) }
40
+
41
+ # Remove keep-schemas from list of schemas
42
+ refresh_schemas -= keep_schemas
39
43
 
40
44
  # Eliminate keep schemas from build pool
41
- builder.pool.delete_schema(keep)
45
+ builder.pool.delete_schema(keep_schemas)
42
46
 
43
47
  # Drop refresh schemes
44
- refresh.each { |schema| conn.schema.drop(schema, cascade: true) }
48
+ refresh_schemas.each { |schema| conn.schema.drop(schema, cascade: true) }
45
49
  end
46
50
  end
47
51
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.15
4
+ version: 0.20.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen