prick 0.20.15 → 0.20.16

Sign up to get free protection for your applications and to get access to all the features.
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