Class: Fluent::Plugin::GroongaOutput::TableDefinition::IndexDefinition

Inherits:
Object
  • Object
show all
Includes:
DefinitionParseMethods
Defined in:
lib/fluent/plugin/out_groonga.rb

Instance Method Summary collapse

Constructor Details

#initialize(table, raw) ⇒ IndexDefinition

Returns a new instance of IndexDefinition.



223
224
225
226
# File 'lib/fluent/plugin/out_groonga.rb', line 223

def initialize(table, raw)
  @table = table
  @raw = raw
end

Instance Method Details

#flagsObject



240
241
242
243
244
245
# File 'lib/fluent/plugin/out_groonga.rb', line 240

def flags
  _flags = ["COLUMN_INDEX"]
  _flags << "WITH_POSITION" if @table.default_tokenizer
  _flags << "WITH_SECTION" if source_columns.size >= 2
  _flags
end

#nameObject



228
229
230
# File 'lib/fluent/plugin/out_groonga.rb', line 228

def name
  @raw[:name]
end

#source_columnsObject



236
237
238
# File 'lib/fluent/plugin/out_groonga.rb', line 236

def source_columns
  parse_items(@raw[:source_columns])
end

#source_tableObject



232
233
234
# File 'lib/fluent/plugin/out_groonga.rb', line 232

def source_table
  @raw[:source_table]
end

#to_create_argumentsObject



247
248
249
250
251
252
253
254
255
# File 'lib/fluent/plugin/out_groonga.rb', line 247

def to_create_arguments
  {
    "table"  => @table.name,
    "name"   => name,
    "flags"  => flags.join("|"),
    "type"   => source_table,
    "source" => source_columns.join(","),
  }
end