61
61
DT_FIELD_INFO pbms_variable_info[]=
63
{"Id", NULL, NULL, MYSQL_TYPE_LONG, NULL, NOT_NULL_FLAG, "The variable ID"},
63
{"Id", NOVAL, NULL, MYSQL_TYPE_LONG, NULL, NOT_NULL_FLAG, "The variable ID"},
64
64
{"Name", 32, NULL, MYSQL_TYPE_VARCHAR, &UTF8_CHARSET, NOT_NULL_FLAG, "PBMS variable name"},
65
65
{"Value", 1024, NULL, MYSQL_TYPE_VARCHAR, &UTF8_CHARSET, 0, "PBMS variable value."},
66
66
{"Description", 124, NULL, MYSQL_TYPE_VARCHAR, &UTF8_CHARSET, NOT_NULL_FLAG, "PBMS variable description."},
67
{NULL,NULL, NULL, MYSQL_TYPE_STRING,NULL, 0, NULL}
67
{NULL,NOVAL, NULL, MYSQL_TYPE_STRING,NULL, 0, NULL}
70
70
DT_KEY_INFO pbms_variable_keys[]=
330
class LoadTableCleanUp : public CSRefObject {
338
LoadTableCleanUp(): CSRefObject(),
339
do_cleanup(false), myself(NULL){}
344
CSL.log(myself, CSLog::Protocol, "\nRestore failed!\n");
346
myself->logException();
350
void setCleanUp(CSThread *self)
330
363
void MSVariableTable::loadTable(MSDatabase *db)
392
425
CSL.log(self, CSLog::Protocol, db->myDatabaseName->getCString());
393
426
CSL.log(self, CSLog::Protocol, " ...");
396
db->myBlobCloud->cl_restoreDB();
399
CSL.log(self, CSLog::Protocol, "\nRestore failed!\n");
401
self->logException();
428
LoadTableCleanUp *cleanup;
430
new_(cleanup, LoadTableCleanUp());
432
cleanup->setCleanUp(self);
434
db->myBlobCloud->cl_restoreDB();
436
cleanup->cancelCleanUp();
405
439
CSL.log(self, CSLog::Protocol, "\nRestore done.\n");
407
441
set_BackupNo(RETAIN(db), "0");
509
543
save_write_set = table->write_set;
510
544
table->write_set = NULL;
512
547
memset(buf, 0xFF, table->getNullBytes());
549
memset(buf, 0xFF, table->s->null_bytes);
513
551
for (Field **field=GET_TABLE_FIELDS(table) ; *field ; field++) {
514
552
curr_field = *field;
515
553
save = curr_field->ptr;
516
554
#if MYSQL_VERSION_ID < 50114
517
555
curr_field->ptr = (byte *) buf + curr_field->offset();
519
558
curr_field->ptr = (byte *) buf + curr_field->offset(curr_field->getTable()->getInsertRecord());
560
curr_field->ptr = (byte *) buf + curr_field->offset(curr_field->table->record[0]);
521
563
switch (curr_field->field_name[0]) {