~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/haildb/haildb_engine.cc

  • Committer: Olaf van der Spek
  • Date: 2011-03-11 19:18:45 UTC
  • mfrom: (2229 staging)
  • mto: This revision was merged to the branch mainline in revision 2233.
  • Revision ID: olafvdspek@gmail.com-20110311191845-h7j1vvjdm5xykbv2
Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
170
170
  int doCreateTable(Session&,
171
171
                    Table& table_arg,
172
172
                    const drizzled::identifier::Table &identifier,
173
 
                    drizzled::message::Table& proto);
 
173
                    const drizzled::message::Table& proto);
174
174
 
175
175
  int doDropTable(Session&, const identifier::Table &identifier);
176
176
 
960
960
  return 0;
961
961
}
962
962
 
963
 
static ib_err_t store_table_message(ib_trx_t transaction, const char* table_name, drizzled::message::Table& table_message)
 
963
static ib_err_t store_table_message(ib_trx_t transaction, const char* table_name, const drizzled::message::Table& table_message)
964
964
{
965
965
  ib_crsr_t cursor;
966
966
  ib_tpl_t message_tuple;
1041
1041
int HailDBEngine::doCreateTable(Session &session,
1042
1042
                                        Table& table_obj,
1043
1043
                                        const drizzled::identifier::Table &identifier,
1044
 
                                        drizzled::message::Table& table_message)
 
1044
                                        const drizzled::message::Table& table_message)
1045
1045
{
1046
1046
  ib_tbl_sch_t haildb_table_schema= NULL;
1047
1047
//  ib_idx_sch_t haildb_pkey= NULL;
1114
1114
  bool has_primary= false;
1115
1115
  for (int indexnr= 0; indexnr < table_message.indexes_size() ; indexnr++)
1116
1116
  {
1117
 
    message::Table::Index *index = table_message.mutable_indexes(indexnr);
 
1117
    const message::Table::Index &index = table_message.indexes(indexnr);
1118
1118
 
1119
1119
    ib_idx_sch_t haildb_index;
1120
1120
 
1121
 
    haildb_err= ib_table_schema_add_index(haildb_table_schema, index->name().c_str(),
1122
 
                                   &haildb_index);
 
1121
    haildb_err= ib_table_schema_add_index(haildb_table_schema, index.name().c_str(),
 
1122
                                          &haildb_index);
1123
1123
    if (haildb_err != DB_SUCCESS)
1124
1124
      goto schema_error;
1125
1125
 
1126
 
    if (index->is_primary())
 
1126
    if (index.is_primary())
1127
1127
    {
1128
1128
      has_primary= true;
1129
1129
      haildb_err= ib_index_schema_set_clustered(haildb_index);
1132
1132
        goto schema_error;
1133
1133
    }
1134
1134
 
1135
 
    if (index->is_unique())
 
1135
    if (index.is_unique())
1136
1136
    {
1137
1137
      haildb_err= ib_index_schema_set_unique(haildb_index);
1138
1138
      if (haildb_err != DB_SUCCESS)
1139
1139
        goto schema_error;
1140
1140
    }
1141
1141
 
1142
 
    if (index->type() == message::Table::Index::UNKNOWN_INDEX)
1143
 
      index->set_type(message::Table::Index::BTREE);
 
1142
    assert(index.type() == message::Table::Index::UNKNOWN_INDEX);
1144
1143
 
1145
 
    for (int partnr= 0; partnr < index->index_part_size(); partnr++)
 
1144
    for (int partnr= 0; partnr < index.index_part_size(); partnr++)
1146
1145
    {
1147
 
      const message::Table::Index::IndexPart part= index->index_part(partnr);
 
1146
      const message::Table::Index::IndexPart part= index.index_part(partnr);
1148
1147
      const message::Table::Field::FieldType part_type= table_message.field(part.fieldnr()).type();
1149
1148
      uint64_t compare_length= 0;
1150
1149
 
1159
1158
        goto schema_error;
1160
1159
    }
1161
1160
 
1162
 
    if (! has_primary && index->is_unique())
 
1161
    if (! has_primary && index.is_unique())
1163
1162
    {
1164
1163
      haildb_err= ib_index_schema_set_clustered(haildb_index);
1165
1164
      has_explicit_pkey= true;