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:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-07-10 15:08:58 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-07-10 15:08:58 +0300
commit215001eca7ababe4c617a04a37d307a97353d6e0 (patch)
tree50c65a921667c43d58f09cd1e900d4854285adcc /gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb
parent4a6c33b8a49bea08205a77d53d4425b9c23845b4 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb')
-rw-r--r--gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb b/gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb
new file mode 100644
index 00000000000..8b4d07d2e79
--- /dev/null
+++ b/gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb
@@ -0,0 +1,47 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Schema
+ module Validation
+ module Adapters
+ class ColumnDatabaseAdapter
+ def initialize(query_result)
+ @query_result = query_result
+ end
+
+ def name
+ @name ||= query_result['column_name']
+ end
+
+ def table_name
+ query_result['table_name']
+ end
+
+ def data_type
+ query_result['data_type']
+ end
+
+ def default
+ return unless query_result['column_default']
+
+ return if name == 'id' || query_result['column_default'].include?('nextval')
+
+ "DEFAULT #{query_result['column_default']}"
+ end
+
+ def nullable
+ 'NOT NULL' if query_result['not_null']
+ end
+
+ def partition_key?
+ query_result['partition_key']
+ end
+
+ private
+
+ attr_reader :query_result
+ end
+ end
+ end
+ end
+end