MCPcopy Create free account
hub / github.com/MariaDB/server / prepare_sequence_fields

Method prepare_sequence_fields

sql/sql_sequence.cc:416–445  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

414*/
415
416bool sequence_definition::prepare_sequence_fields(List<Create_field> *fields,
417 bool alter)
418{
419 DBUG_ENTER("prepare_sequence_fields");
420 const Sequence_row_definition row_def=
421 sequence_structure(value_type_handler());
422
423 for (const Sequence_field_definition *field_info= row_def.fields;
424 field_info->field_name; field_info++)
425 {
426 Create_field *new_field;
427 const Lex_ident_column field_name= Lex_cstring_strlen(field_info->
428 field_name);
429
430 if (unlikely(!(new_field= new Create_field())))
431 DBUG_RETURN(TRUE); /* purify inspected */
432
433 new_field->field_name= field_name;
434 new_field->set_handler(field_info->type_handler);
435 new_field->length= field_info->length;
436 new_field->char_length= field_info->length;
437 new_field->comment= field_info->comment;
438 new_field->flags= field_info->flags;
439 if (alter)
440 new_field->change = field_name;
441 if (unlikely(fields->push_back(new_field)))
442 DBUG_RETURN(TRUE); /* purify inspected */
443 }
444 DBUG_RETURN(FALSE);
445}
446
447/*
448 Initialize the sequence table record as part of CREATE SEQUENCE

Callers 1

executeMethod · 0.80

Calls 4

sequence_structureFunction · 0.85
Lex_cstring_strlenClass · 0.85
set_handlerMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected