Skip to content

Commit 09bad1a

Browse files
authored
Merge pull request #1036 from dr-itz/50-dev
postgreSQL fixes from master
2 parents 135b4e2 + 65295f8 commit 09bad1a

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

lib/arjdbc/abstract/database_statements.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ module DatabaseStatements
1010
NO_BINDS = [].freeze
1111

1212
def exec_insert(sql, name = nil, binds = NO_BINDS, pk = nil, sequence_name = nil)
13+
binds = convert_legacy_binds_to_attributes(binds) if binds.first.is_a?(Array)
14+
1315
if without_prepared_statement?(binds)
1416
log(sql, name) { @connection.execute_insert(sql) }
1517
else
@@ -22,6 +24,8 @@ def exec_insert(sql, name = nil, binds = NO_BINDS, pk = nil, sequence_name = nil
2224
# It appears that at this point (AR 5.0) "prepare" should only ever be true
2325
# if prepared statements are enabled
2426
def exec_query(sql, name = nil, binds = NO_BINDS, prepare: false)
27+
binds = convert_legacy_binds_to_attributes(binds) if binds.first.is_a?(Array)
28+
2529
if without_prepared_statement?(binds)
2630
log(sql, name) { @connection.execute_query(sql) }
2731
else
@@ -34,6 +38,8 @@ def exec_query(sql, name = nil, binds = NO_BINDS, prepare: false)
3438
end
3539

3640
def exec_update(sql, name = nil, binds = NO_BINDS)
41+
binds = convert_legacy_binds_to_attributes(binds) if binds.first.is_a?(Array)
42+
3743
if without_prepared_statement?(binds)
3844
log(sql, name) { @connection.execute_update(sql) }
3945
else

lib/arjdbc/postgresql/column.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def extract_limit(sql_type) # :nodoc:
1515
end
1616

1717
# Extracts the value from a PostgreSQL column default definition.
18-
def extract_value_from_default(default) # :nodoc:
18+
def extract_value_from_default(default)
1919
case default
2020
# Quoted types
2121
when /\A[\(B]?'(.*)'.*::"?([\w. ]+)"?(?:\[\])?\z/m
@@ -41,10 +41,13 @@ def extract_value_from_default(default) # :nodoc:
4141
end
4242
end
4343

44-
def extract_default_function(default_value, default) # :nodoc:
45-
default if ! default_value && ( %r{\w+\(.*\)|\(.*\)::\w+} === default )
44+
def extract_default_function(default_value, default)
45+
default if has_default_function?(default_value, default)
4646
end
4747

48+
def has_default_function?(default_value, default)
49+
!default_value && %r{\w+\(.*\)|\(.*\)::\w+|CURRENT_DATE|CURRENT_TIMESTAMP} === default
50+
end
4851
end
4952

5053
end

0 commit comments

Comments
 (0)