MCPcopy Create free account
hub / github.com/Kitware/VTK / AddTableMultipleArguments

Method AddTableMultipleArguments

IO/SQL/vtkSQLDatabaseSchema.cxx:678–735  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

676
677//------------------------------------------------------------------------------
678int vtkSQLDatabaseSchema::AddTableMultipleArguments(const char* tblName, ...)
679{
680 int tblHandle = this->AddTable(tblName);
681 int token;
682 int dtyp;
683 int size;
684 int curIndexHandle;
685 const char* name;
686 const char* attr;
687 const char* bcke;
688
689 va_list args;
690 va_start(args, tblName);
691 while ((token = va_arg(args, int)) != END_TABLE_TOKEN)
692 {
693 switch (token)
694 {
695 case COLUMN_TOKEN:
696 dtyp = va_arg(args, int);
697 name = va_arg(args, const char*);
698 size = va_arg(args, int);
699 attr = va_arg(args, const char*);
700 this->AddColumnToTable(tblHandle, dtyp, name, size, attr);
701 break;
702 case INDEX_TOKEN:
703 dtyp = va_arg(args, int);
704 name = va_arg(args, const char*);
705 curIndexHandle = this->AddIndexToTable(tblHandle, dtyp, name);
706 while ((token = va_arg(args, int)) != END_INDEX_TOKEN)
707 {
708 name = va_arg(args, const char*);
709 dtyp = this->GetColumnHandleFromName(tblName, name);
710 this->AddColumnToIndex(tblHandle, curIndexHandle, dtyp);
711 }
712 break;
713 case TRIGGER_TOKEN:
714 dtyp = va_arg(args, int);
715 name = va_arg(args, const char*);
716 attr = va_arg(args, const char*);
717 bcke = va_arg(args, const char*);
718 this->AddTriggerToTable(tblHandle, dtyp, name, attr, bcke);
719 break;
720 case OPTION_TOKEN:
721 attr = va_arg(args, const char*);
722 bcke = va_arg(args, const char*);
723 this->AddOptionToTable(tblHandle, attr, bcke);
724 break;
725 default:
726 {
727 vtkErrorMacro("Bad token " << token << " passed to AddTable");
728 va_end(args);
729 return -1;
730 }
731 }
732 }
733 va_end(args);
734 return tblHandle;
735}

Callers 1

CreateMethod · 0.80

Calls 7

AddTableMethod · 0.95
AddColumnToTableMethod · 0.95
AddIndexToTableMethod · 0.95
AddColumnToIndexMethod · 0.95
AddTriggerToTableMethod · 0.95
AddOptionToTableMethod · 0.95

Tested by

no test coverage detected