Skip to content

Commit 0c8a08f

Browse files
committed
Improved SQL code
1 parent 924b989 commit 0c8a08f

1 file changed

Lines changed: 4 additions & 8 deletions

File tree

lib/pgslice/table.rb

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def sequences
4141
end
4242

4343
def foreign_keys
44-
execute("SELECT pg_get_constraintdef(oid) FROM pg_constraint WHERE conrelid = #{regclass} AND contype ='f'").map { |r| r["pg_get_constraintdef"] }
44+
execute("SELECT pg_get_constraintdef(oid) FROM pg_constraint WHERE conrelid = $1::regclass AND contype ='f'", [quote_table]).map { |r| r["pg_get_constraintdef"] }
4545
end
4646

4747
# https://stackoverflow.com/a/20537829
@@ -69,7 +69,7 @@ def primary_key
6969
end
7070

7171
def index_defs
72-
execute("SELECT pg_get_indexdef(indexrelid) FROM pg_index WHERE indrelid = #{regclass} AND indisprimary = 'f'").map { |r| r["pg_get_indexdef"] }
72+
execute("SELECT pg_get_indexdef(indexrelid) FROM pg_index WHERE indrelid = $1::regclass AND indisprimary = 'f'", [quote_table]).map { |r| r["pg_get_indexdef"] }
7373
end
7474

7575
def quote_table
@@ -131,11 +131,11 @@ def partitions
131131
end
132132

133133
def fetch_comment
134-
execute("SELECT obj_description(#{regclass}) AS comment")[0]
134+
execute("SELECT obj_description($1::regclass) AS comment", [quote_table])[0]
135135
end
136136

137137
def fetch_trigger(trigger_name)
138-
execute("SELECT obj_description(oid, 'pg_trigger') AS comment FROM pg_trigger WHERE tgname = $1 AND tgrelid = #{regclass}", [trigger_name])[0]
138+
execute("SELECT obj_description(oid, 'pg_trigger') AS comment FROM pg_trigger WHERE tgname = $1 AND tgrelid = $2::regclass", [trigger_name, quote_table])[0]
139139
end
140140

141141
# legacy
@@ -186,10 +186,6 @@ def quote_ident(value)
186186
PG::Connection.quote_ident(value)
187187
end
188188

189-
def regclass
190-
"#{escape_literal(quote_table)}::regclass"
191-
end
192-
193189
def sql_date(time, cast, add_cast = true)
194190
if cast == "timestamptz"
195191
fmt = "%Y-%m-%d %H:%M:%S UTC"

0 commit comments

Comments
 (0)