~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_table.cc

  • Committer: Nathan Williams
  • Date: 2009-06-05 22:51:06 UTC
  • mto: This revision was merged to the branch mainline in revision 1063.
  • Revision ID: nathanlws@gmail.com-20090605225106-8xrsftpf50tdpumn
No actual code changes. Changed Create_field to CreateField to be consistent with coding standards.

Show diffs side-by-side

added added

removed removed

Lines of Context:
59
59
static bool check_if_keyname_exists(const char *name,KEY *start, KEY *end);
60
60
static char *make_unique_key_name(const char *field_name,KEY *start,KEY *end);
61
61
static int copy_data_between_tables(Table *from,Table *to,
62
 
                                    List<Create_field> &create, bool ignore,
 
62
                                    List<CreateField> &create, bool ignore,
63
63
                                    uint32_t order_num, order_st *order,
64
64
                                    ha_rows *copied,ha_rows *deleted,
65
65
                                    enum enum_enable_or_disable keys_onoff,
66
66
                                    bool error_if_not_empty);
67
67
 
68
 
static bool prepare_blob_field(Session *session, Create_field *sql_field);
 
68
static bool prepare_blob_field(Session *session, CreateField *sql_field);
69
69
static bool check_engine(Session *, const char *, HA_CREATE_INFO *);
70
70
static int
71
71
mysql_prepare_create_table(Session *session, HA_CREATE_INFO *create_info,
777
777
    table_flags   table flags
778
778
 
779
779
  DESCRIPTION
780
 
    This function prepares a Create_field instance.
 
780
    This function prepares a CreateField instance.
781
781
    Fields such as pack_flag are valid after this call.
782
782
 
783
783
  RETURN VALUES
785
785
   1    Error
786
786
*/
787
787
 
788
 
int prepare_create_field(Create_field *sql_field,
 
788
int prepare_create_field(CreateField *sql_field,
789
789
                         uint32_t *blob_columns,
790
790
                         int *timestamps, int *timestamps_with_niladic,
791
791
                         int64_t )
902
902
                               uint32_t *key_count, int select_field_count)
903
903
{
904
904
  const char    *key_name;
905
 
  Create_field  *sql_field,*dup_field;
 
905
  CreateField   *sql_field,*dup_field;
906
906
  uint          field,null_fields,blob_columns,max_key_length;
907
907
  ulong         record_offset= 0;
908
908
  KEY           *key_info;
910
910
  int           timestamps= 0, timestamps_with_niladic= 0;
911
911
  int           field_no,dup_no;
912
912
  int           select_field_pos,auto_increment=0;
913
 
  List_iterator<Create_field> it(alter_info->create_list);
914
 
  List_iterator<Create_field> it2(alter_info->create_list);
 
913
  List_iterator<CreateField> it(alter_info->create_list);
 
914
  List_iterator<CreateField> it2(alter_info->create_list);
915
915
  uint32_t total_uneven_bit_length= 0;
916
916
 
917
917
  select_field_pos= alter_info->create_list.elements - select_field_count;
962
962
        (sql_field->sql_type == DRIZZLE_TYPE_ENUM))
963
963
    {
964
964
      /*
965
 
        Starting from 5.1 we work here with a copy of Create_field
 
965
        Starting from 5.1 we work here with a copy of CreateField
966
966
        created by the caller, not with the instance that was
967
967
        originally created during parsing. It's OK to create
968
968
        a temporary item and initialize with it a member of the
1604
1604
*/
1605
1605
 
1606
1606
static bool prepare_blob_field(Session *,
1607
 
                               Create_field *sql_field)
 
1607
                               CreateField *sql_field)
1608
1608
{
1609
1609
 
1610
1610
  if (sql_field->length > MAX_FIELD_VARCHARLENGTH &&
3304
3304
                          Alter_info *alter_info)
3305
3305
{
3306
3306
  /* New column definitions are added here */
3307
 
  List<Create_field> new_create_list;
 
3307
  List<CreateField> new_create_list;
3308
3308
  /* New key definitions are added here */
3309
3309
  List<Key> new_key_list;
3310
3310
  List_iterator<Alter_drop> drop_it(alter_info->drop_list);
3311
 
  List_iterator<Create_field> def_it(alter_info->create_list);
 
3311
  List_iterator<CreateField> def_it(alter_info->create_list);
3312
3312
  List_iterator<Alter_column> alter_it(alter_info->alter_list);
3313
3313
  List_iterator<Key> key_it(alter_info->key_list);
3314
 
  List_iterator<Create_field> find_it(new_create_list);
3315
 
  List_iterator<Create_field> field_it(new_create_list);
 
3314
  List_iterator<CreateField> find_it(new_create_list);
 
3315
  List_iterator<CreateField> field_it(new_create_list);
3316
3316
  List<Key_part_spec> key_parts;
3317
3317
  uint32_t db_create_options= (table->s->db_create_options
3318
3318
                           & ~(HA_OPTION_PACK_RECORD));
3343
3343
    create_info->key_block_size= table->s->key_block_size;
3344
3344
 
3345
3345
  table->restoreRecordAsDefault();     // Empty record for DEFAULT
3346
 
  Create_field *def;
 
3346
  CreateField *def;
3347
3347
 
3348
3348
    /*
3349
3349
    First collect all fields from table which isn't in drop_list
3397
3397
        This field was not dropped and not changed, add it to the list
3398
3398
        for the new table.
3399
3399
      */
3400
 
      def= new Create_field(field, field);
 
3400
      def= new CreateField(field, field);
3401
3401
      new_create_list.push_back(def);
3402
3402
      alter_it.rewind();                        // Change default if ALTER
3403
3403
      Alter_column *alter;
3451
3451
      new_create_list.push_front(def);
3452
3452
    else
3453
3453
    {
3454
 
      Create_field *find;
 
3454
      CreateField *find;
3455
3455
      find_it.rewind();
3456
3456
      while ((find=find_it++))                  // Add new columns
3457
3457
      {
3524
3524
      if (!key_part->field)
3525
3525
        continue;                               // Wrong field (from UNIREG)
3526
3526
      const char *key_part_name=key_part->field->field_name;
3527
 
      Create_field *cfield;
 
3527
      CreateField *cfield;
3528
3528
      field_it.rewind();
3529
3529
      while ((cfield=field_it++))
3530
3530
      {
4282
4282
 
4283
4283
static int
4284
4284
copy_data_between_tables(Table *from,Table *to,
4285
 
                         List<Create_field> &create,
 
4285
                         List<CreateField> &create,
4286
4286
                         bool ignore,
4287
4287
                         uint32_t order_num, order_st *order,
4288
4288
                         ha_rows *copied,
4332
4332
 
4333
4333
  save_sql_mode= session->variables.sql_mode;
4334
4334
 
4335
 
  List_iterator<Create_field> it(create);
4336
 
  Create_field *def;
 
4335
  List_iterator<CreateField> it(create);
 
4336
  CreateField *def;
4337
4337
  copy_end=copy;
4338
4338
  for (Field **ptr=to->field ; *ptr ; ptr++)
4339
4339
  {