pg_conn 0.3.1 → 0.3.4

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: 8b90e77eda48e35d4577bfb9bc2f6dd553054342d22fabaec9931639a765c1eb
4
- data.tar.gz: 1fca73a204f709583e67d6b035f7d48d896b63164a8e6b06a7133fbb1c038eb2
3
+ metadata.gz: 7f16674ecd9e41796dab773ca10d938a61619859676d2f8746a0d6694e598bb2
4
+ data.tar.gz: 9b88a48fa7692419c2bbf81e6f1162eb8a54477ac821517e3ba80738923b6128
5
5
  SHA512:
6
- metadata.gz: 22b8ba44cd9b8aea11291977ea85d048f57b92627c9c67e2e306b9a398842f0af7b07b7d04c7cae86c5e0d8496904ef7a471730342ee5cc7aa476099d7f2bead
7
- data.tar.gz: 215a4d41c900604a0ee10cbf87a2d9cd6eeed676a953372073084b1c43c493fa7246084dc93c4f6e321693f84cb83ec35944a14e15579347341ad90c147eae42
6
+ metadata.gz: f31c28e8d255792671cce8e1697cdfbc6d140814cb3956ce2935c24aa4d52f2fffb5945761051568b97f1cbdafa39165dbe581a6d7b7ae0a594af238833acc5b
7
+ data.tar.gz: 44bac37de6928e4905db9c53c97728b1c528a17d23c62a8539b44f830e84d6e2b42c270a18028d5648b05aa840c868ddfb57e9affa3aee8023332f8c53f28aab
data/Gemfile CHANGED
@@ -5,6 +5,3 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in pg_conn.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 13.0"
9
-
10
- gem "rspec", "~> 3.0"
@@ -81,13 +81,18 @@ module PgConn
81
81
  conn.values relation_list_query(schema, kind: %w(v m))
82
82
  end
83
83
 
84
- # Return a list of columns. If relation is defined, only columns from that
84
+ # Return a list of columns. If +relation+ is defined, only columns from that
85
85
  # relation are listed. Columns are returned as fully qualified names (eg.
86
86
  # "schema.relation.column")
87
87
  def list_columns(schema, relation = nil)
88
88
  conn.values column_list_query(schema, relation)
89
89
  end
90
90
 
91
+ # Like #list_columns but returns a tuple of column UID and column type
92
+ def list_column_types(schema, relation = nil)
93
+ conn.tuples column_list_type_query(schema, relation)
94
+ end
95
+
91
96
  def exist_function(schema, function, signature)
92
97
  raise NotImplementedError
93
98
  end
@@ -143,15 +148,23 @@ module PgConn
143
148
  relation_clause
144
149
  ].compact.join(" and ")
145
150
  end
151
+
152
+ def column_list_type_query(schema, relation)
153
+ relation_clause = relation ? "relname = '#{relation}'" : nil
154
+ [
155
+ %(
156
+ select '#{schema}' || '.' || c.relname || '.' || a.attname as "column",
157
+ a.atttypid::regtype::text as "type"
158
+ from pg_class c
159
+ join pg_attribute a on a.attrelid = c.oid
160
+ where relnamespace::regnamespace::text = '#{schema}'
161
+ and a.attnum > 0
162
+ ),
163
+ relation_clause
164
+ ].compact.join(" and ")
165
+ end
146
166
  end
147
167
  end
148
168
 
149
169
 
150
170
 
151
-
152
-
153
-
154
-
155
-
156
-
157
-
@@ -1,3 +1,3 @@
1
1
  module PgConn
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.4"
3
3
  end
data/lib/pg_conn.rb CHANGED
@@ -64,8 +64,6 @@ module PgConn
64
64
  # #exec or #transaction block
65
65
  attr_reader :timestamp
66
66
 
67
-
68
-
69
67
  # :call-seq:
70
68
  # initialize(dbname = nil, user = nil, field_name_class: Symbol)
71
69
  # initialize(connection_hash, field_name_class: Symbol)
data/pg_conn.gemspec CHANGED
@@ -28,5 +28,7 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_dependency "pg"
30
30
 
31
+ spec.add_development_dependency "rake"
32
+ spec.add_development_dependency "rspec"
31
33
  spec.add_development_dependency "simplecov"
32
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_conn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-17 00:00:00.000000000 Z
11
+ date: 2022-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: simplecov
29
57
  requirement: !ruby/object:Gem::Requirement