1490
tmp_table.timestamp_field= 0;
1491
tmp_table.setShare(&share);
1493
tmp_table.getMutableShare()->db_create_options= 0;
1494
tmp_table.getMutableShare()->blob_ptr_size= portable_sizeof_char_ptr;
1496
if (not table_proto.engine().name().compare("MyISAM"))
1497
tmp_table.getMutableShare()->db_low_byte_first= true;
1498
else if (not table_proto.engine().name().compare("MEMORY"))
1499
tmp_table.getMutableShare()->db_low_byte_first= true;
1501
tmp_table.null_row= false;
1502
tmp_table.maybe_null= false;
1504
tmp_table.in_use= session;
1508
CreateField *cr_field;
1509
Field *field, *def_field;
1510
if (item->type() == Item::FUNC_ITEM)
1491
table::Shell tmp_table(share); // Used during 'CreateField()'
1492
tmp_table.timestamp_field= 0;
1494
tmp_table.getMutableShare()->db_create_options= 0;
1495
tmp_table.getMutableShare()->blob_ptr_size= portable_sizeof_char_ptr;
1497
if (not table_proto.engine().name().compare("MyISAM"))
1498
tmp_table.getMutableShare()->db_low_byte_first= true;
1499
else if (not table_proto.engine().name().compare("MEMORY"))
1500
tmp_table.getMutableShare()->db_low_byte_first= true;
1502
tmp_table.null_row= false;
1503
tmp_table.maybe_null= false;
1505
tmp_table.in_use= session;
1512
if (item->result_type() != STRING_RESULT)
1509
CreateField *cr_field;
1510
Field *field, *def_field;
1511
if (item->type() == Item::FUNC_ITEM)
1514
field= item->tmp_table_field(&tmp_table);
1513
if (item->result_type() != STRING_RESULT)
1515
field= item->tmp_table_field(&tmp_table);
1519
field= item->tmp_table_field_from_field_type(&tmp_table, 0);
1518
field= item->tmp_table_field_from_field_type(&tmp_table, 0);
1523
field= create_tmp_field(session, &tmp_table, item, item->type(),
1524
(Item ***) 0, &tmp_field, &def_field, false,
1529
!(cr_field=new CreateField(field,(item->type() == Item::FIELD_ITEM ?
1530
((Item_field *)item)->field :
1536
if (item->maybe_null)
1538
cr_field->flags &= ~NOT_NULL_FLAG;
1541
alter_info->create_list.push_back(cr_field);
1524
field= create_tmp_field(session, &tmp_table, item, item->type(),
1525
(Item ***) 0, &tmp_field, &def_field, false,
1530
!(cr_field=new CreateField(field,(item->type() == Item::FIELD_ITEM ?
1531
((Item_field *)item)->field :
1537
if (item->maybe_null)
1539
cr_field->flags &= ~NOT_NULL_FLAG;
1542
alter_info->create_list.push_back(cr_field);