~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/dict/create_replication.cc

  • Committer: Brian Aker
  • Date: 2011-02-03 22:40:22 UTC
  • mfrom: (2131.8.6 inno_repl_add_segid)
  • Revision ID: brian@tangent.org-20110203224022-x99vtkanlxn8pmdl
MergeĀ inĀ David.

Show diffs side-by-side

added added

removed removed

Lines of Context:
73
73
  error = que_eval_sql(info,
74
74
                       "PROCEDURE CREATE_SYS_REPLICATION_LOG_PROC () IS\n"
75
75
                       "BEGIN\n"
76
 
                       "CREATE TABLE SYS_REPLICATION_LOG(ID BINARY(8), MESSAGE BLOB);\n"
 
76
                       "CREATE TABLE SYS_REPLICATION_LOG(ID BINARY(8), SEGID BINARY(4), MESSAGE BLOB);\n"
77
77
                       "CREATE UNIQUE CLUSTERED INDEX ID_IND ON SYS_REPLICATION_LOG (ID);\n"
78
78
                       "END;\n"
79
79
                       , FALSE, trx);
108
108
extern dtuple_t* row_get_prebuilt_insert_row(row_prebuilt_t*    prebuilt);
109
109
 
110
110
ulint insert_replication_message(const char *message, size_t size, 
111
 
                                 trx_t *trx, uint64_t trx_id)
 
111
                                 trx_t *trx, uint64_t trx_id, uint32_t seg_id)
112
112
{
113
113
  ulint error;
114
114
  row_prebuilt_t*       prebuilt;       /* For reading rows */
144
144
  dfield_set_data(dfield, &trx_id, 8);
145
145
 
146
146
  dfield = dtuple_get_nth_field(dtuple, 1);
 
147
  dfield_set_data(dfield, &seg_id, 4);
 
148
 
 
149
  dfield = dtuple_get_nth_field(dtuple, 2);
147
150
  dfield_set_data(dfield, message, size);
148
151
 
149
152
  ins_node_t*   node            = prebuilt->ins_node;
224
227
    field = rec_get_nth_field_old(rec, 0, &len);
225
228
    ret.id= *(uint64_t *)field;
226
229
 
 
230
    // Store segment id
 
231
    field = rec_get_nth_field_old(rec, 3, &len);
 
232
    ret.seg_id= *(uint32_t *)field;
 
233
 
227
234
    // Handler message
228
 
    field = rec_get_nth_field_old(rec, 3, &len);
 
235
    field = rec_get_nth_field_old(rec, 4, &len);
229
236
    ret.message= (char *)field;
230
237
    ret.message_length= len;
231
238