Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter.rb')
-rw-r--r--lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter.rb15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter.rb b/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter.rb
index 420195d89dd..20814b098c1 100644
--- a/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter.rb
+++ b/lib/gitlab/database/schema_validation/adapters/column_structure_sql_adapter.rb
@@ -104,7 +104,7 @@ module Gitlab
when :func_call
"#{parse_node(node.func_call.funcname.first)}()"
when :a_const
- parse_node(node.a_const.val)
+ parse_a_const(node.a_const)
when :type_cast
value = parse_node(node.type_cast.arg)
type = type(node.type_cast.type_name)
@@ -112,10 +112,21 @@ module Gitlab
[MAPPINGS.fetch(value, "'#{value}'"), separator].compact.join('')
else
- node.to_h[node.node].values.last
+ get_value_from_key(node, key: node.node)
end
end
+ def parse_a_const(a_const)
+ return unless a_const
+
+ type = a_const.val
+ get_value_from_key(a_const, key: type)
+ end
+
+ def get_value_from_key(node, key:)
+ node.to_h[key].values.last
+ end
+
def partition_keys
return [] unless partitioning_stmt