Class: ActiveRecord::ConnectionAdapters::CockroachDBAdapter
Constant Summary
collapse
- ADAPTER_NAME =
"CockroachDB".freeze
- DEFAULT_PRIMARY_KEY =
"rowid"
Instance Method Summary
collapse
#insert_fixtures_set, #transaction_isolation_levels
#disable_referential_integrity
#add_index, #default_sequence_name, #primary_key, #type_to_sql
Instance Method Details
#debugging? ⇒ Boolean
46
47
48
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 46
def debugging?
!!ENV["DEBUG_COCKROACHDB_ADAPTER"]
end
|
#max_identifier_length ⇒ Object
Also known as:
index_name_length, table_alias_length
This is hardcoded to 63 (as previously was in ActiveRecord 5.0) to aid in migration from PostgreSQL to CockroachDB. In practice, this limitation is arbitrary since CockroachDB supports index name lengths and table alias lengths far greater than this value. For the time being though, we match the original behavior for PostgreSQL to simplify migrations.
Note that in the migration to ActiveRecord 5.1, this was changed in PostgreSQLAdapter to use ‘SHOW max_identifier_length` (which does not exist in CockroachDB). Therefore, we have to redefine this here.
127
128
129
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 127
def max_identifier_length
63
end
|
#max_transaction_retries ⇒ Object
50
51
52
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 50
def max_transaction_retries
@max_transaction_retries ||= @config.fetch(:max_transaction_retries, 3)
end
|
#postgresql_version ⇒ Object
CockroachDB 20.1 can run queries that work against PostgreSQL 10+.
55
56
57
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 55
def postgresql_version
100000
end
|
#supports_advisory_locks? ⇒ Boolean
109
110
111
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 109
def supports_advisory_locks?
false
end
|
#supports_bulk_alter? ⇒ Boolean
59
60
61
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 59
def supports_bulk_alter?
false
end
|
99
100
101
102
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 99
def
false
end
|
104
105
106
107
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 104
def
false
end
|
#supports_datetime_with_precision? ⇒ Boolean
95
96
97
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 95
def supports_datetime_with_precision?
false
end
|
#supports_ddl_transactions? ⇒ Boolean
68
69
70
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 68
def supports_ddl_transactions?
false
end
|
#supports_expression_index? ⇒ Boolean
90
91
92
93
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 90
def supports_expression_index?
false
end
|
#supports_extensions? ⇒ Boolean
72
73
74
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 72
def supports_extensions?
false
end
|
#supports_json? ⇒ Boolean
63
64
65
66
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 63
def supports_json?
true
end
|
#supports_materialized_views? ⇒ Boolean
81
82
83
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 81
def supports_materialized_views?
false
end
|
#supports_partial_index? ⇒ Boolean
85
86
87
88
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 85
def supports_partial_index?
false
end
|
#supports_ranges? ⇒ Boolean
76
77
78
79
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 76
def supports_ranges?
false
end
|
#supports_virtual_columns? ⇒ Boolean
113
114
115
116
|
# File 'lib/active_record/connection_adapters/cockroachdb_adapter.rb', line 113
def supports_virtual_columns?
false
end
|