~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/message/transaction_writer.cc

  • Committer: brian
  • Date: 2009-11-11 19:42:27 UTC
  • mfrom: (1211 staging)
  • mto: (1211.1.4 staging)
  • mto: This revision was merged to the branch mainline in revision 1212.
  • Revision ID: brian@orisndriz04-20091111194227-mky4am3ym0dlosaa
Update for Cursor renaming.

Show diffs side-by-side

added added

removed removed

Lines of Context:
99
99
  statement->set_end_timestamp(getNanoTimestamp());
100
100
}
101
101
 
102
 
static void doCreateTable3(message::Transaction &transaction)
103
 
{
104
 
  message::Statement *statement= transaction.add_statement();
105
 
 
106
 
  statement->set_type(message::Statement::RAW_SQL);
107
 
  statement->set_sql("CREATE TABLE t3 (a INTEGER NOT NULL, b BLOB NOT NULL, PRIMARY KEY a) ENGINE=InnoDB");
108
 
  statement->set_start_timestamp(getNanoTimestamp());
109
 
  statement->set_end_timestamp(getNanoTimestamp());
110
 
}
111
 
 
112
102
static void doSimpleInsert(message::Transaction &transaction)
113
103
{
114
104
  message::Statement *statement= transaction.add_statement();
179
169
  statement->set_end_timestamp(getNanoTimestamp());
180
170
}
181
171
 
182
 
static void doBlobInsert(message::Transaction &transaction)
183
 
{
184
 
  message::Statement *statement= transaction.add_statement();
185
 
 
186
 
  /* Do generic Statement setup */
187
 
  statement->set_type(message::Statement::INSERT);
188
 
  statement->set_sql("INSERT INTO t3 (a, b) VALUES (1, 'test\0me')", 43); /* 43 == length including \0 */
189
 
  statement->set_start_timestamp(getNanoTimestamp());
190
 
 
191
 
  /* Do INSERT-specific header and setup */
192
 
  message::InsertHeader *header= statement->mutable_insert_header();
193
 
 
194
 
  /* Add table and field metadata for the statement */
195
 
  message::TableMetadata *t_meta= header->mutable_table_metadata();
196
 
  t_meta->set_schema_name("test");
197
 
  t_meta->set_table_name("t3");
198
 
 
199
 
  message::FieldMetadata *f_meta= header->add_field_metadata();
200
 
  f_meta->set_name("a");
201
 
  f_meta->set_type(message::Table::Field::INTEGER);
202
 
 
203
 
  f_meta= header->add_field_metadata();
204
 
  f_meta->set_name("b");
205
 
  f_meta->set_type(message::Table::Field::BLOB);
206
 
 
207
 
  /* Add new values... */
208
 
  message::InsertData *data= statement->mutable_insert_data();
209
 
  data->set_segment_id(1);
210
 
  data->set_end_segment(true);
211
 
 
212
 
  message::InsertRecord *record1= data->add_record();
213
 
 
214
 
  record1->add_insert_value("1");
215
 
  record1->add_insert_value("test\0me", 7); /* 7 == length including \0 */
216
 
 
217
 
  statement->set_end_timestamp(getNanoTimestamp());
218
 
}
219
 
 
220
172
static void doSimpleDelete(message::Transaction &transaction)
221
173
{
222
174
  message::Statement *statement= transaction.add_statement();
402
354
  writeTransaction(coded_output, transaction);
403
355
  transaction.Clear();
404
356
 
405
 
  /* Write an INSERT which writes BLOB data */
406
 
  initTransactionContext(transaction);
407
 
  doCreateTable3(transaction);
408
 
  doBlobInsert(transaction);
409
 
  writeTransaction(coded_output, transaction);
410
 
  transaction.Clear();
411
 
 
412
357
  delete coded_output;
413
358
  delete raw_output;
414
359