Class: ActiveRecord::ConnectionAdapters::ClickHouse::TableDefinition

Inherits:
ConnectionAdapters::TableDefinition
  • Object
show all
Defined in:
lib/active_record/connection_adapters/clickhouse/schema_definitions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(conn, name, engine: "MergeTree", order: nil, partition: nil, ttl: nil, settings: nil, primary_key_clause: nil, sample: nil) ⇒ TableDefinition

Returns a new instance of TableDefinition.



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 9

def initialize(conn, name, engine: "MergeTree", order: nil, partition: nil, ttl: nil,
               settings: nil, primary_key_clause: nil, sample: nil, **)
  @engine = engine
  @order = order
  @partition = partition
  @ttl = ttl
  @table_settings = settings
  @primary_key_clause = primary_key_clause
  @sample = sample
  super(conn, name, **)
end

Instance Attribute Details

#engineObject (readonly)

Returns the value of attribute engine.



7
8
9
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7

def engine
  @engine
end

#partitionObject (readonly)

Returns the value of attribute partition.



7
8
9
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7

def partition
  @partition
end

#primary_key_clauseObject (readonly)

Returns the value of attribute primary_key_clause.



7
8
9
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7

def primary_key_clause
  @primary_key_clause
end

#sampleObject (readonly)

Returns the value of attribute sample.



7
8
9
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7

def sample
  @sample
end

#table_settingsObject (readonly)

Returns the value of attribute table_settings.



7
8
9
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7

def table_settings
  @table_settings
end

#ttlObject (readonly)

Returns the value of attribute ttl.



7
8
9
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7

def ttl
  @ttl
end

Instance Method Details

#orderObject

A Rails-style id: table carries its own obvious sorting key — the pk column — so create_table works without an explicit order: (decision #64).



23
24
25
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 23

def order
  @order || columns.find { |column| column.options[:primary_key] }&.name&.to_s
end