~ubuntu-branches/ubuntu/hardy/mysql-dfsg-5.0/hardy-updates

« back to all changes in this revision

Viewing changes to sql/sql_show.cc

  • Committer: Bazaar Package Importer
  • Author(s): sean finney
  • Date: 2007-05-13 12:32:45 UTC
  • mfrom: (1.1.11 upstream)
  • Revision ID: james.westby@ubuntu.com-20070513123245-8c3l187dk34cz2ar
Tags: 5.0.41-2
the previous "translation changes" inadvertently introduced unrelated
changes in the package control file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
append_algorithm(TABLE_LIST *table, String *buff);
45
45
static int
46
46
view_store_create_info(THD *thd, TABLE_LIST *table, String *buff);
47
 
static bool schema_table_store_record(THD *thd, TABLE *table);
 
47
bool schema_table_store_record(THD *thd, TABLE *table);
48
48
 
49
49
 
50
50
/***************************************************************************
205
205
  DBUG_ENTER("mysqld_show_column_types");
206
206
 
207
207
  field_list.push_back(new Item_empty_string("Type",30));
208
 
  field_list.push_back(new Item_int("Size",(longlong) 1,21));
 
208
  field_list.push_back(new Item_int("Size",(longlong) 1,
 
209
                                    MY_INT64_NUM_DECIMAL_DIGITS));
209
210
  field_list.push_back(new Item_empty_string("Min_Value",20));
210
211
  field_list.push_back(new Item_empty_string("Max_Value",20));
211
212
  field_list.push_back(new Item_return_int("Prec", 4, MYSQL_TYPE_SHORT));
992
993
      if (key_part->field &&
993
994
          (key_part->length !=
994
995
           table->field[key_part->fieldnr-1]->key_length() &&
995
 
           !(key_info->flags & HA_FULLTEXT)))
 
996
           !(key_info->flags & (HA_FULLTEXT | HA_SPATIAL))))
996
997
      {
997
998
        buff[0] = '(';
998
999
        char* end=int10_to_str((long) key_part->length /
1284
1285
  Protocol *protocol= thd->protocol;
1285
1286
  DBUG_ENTER("mysqld_list_processes");
1286
1287
 
1287
 
  field_list.push_back(new Item_int("Id",0,11));
 
1288
  field_list.push_back(new Item_int("Id", 0, MY_INT32_NUM_DECIMAL_DIGITS));
1288
1289
  field_list.push_back(new Item_empty_string("User",16));
1289
1290
  field_list.push_back(new Item_empty_string("Host",LIST_PROCESS_HOST_LEN));
1290
1291
  field_list.push_back(field=new Item_empty_string("db",NAME_LEN));
1353
1354
 
1354
1355
#if !defined(DONT_USE_THR_ALARM) && ! defined(SCO)
1355
1356
        if (pthread_kill(tmp->real_id,0))
1356
 
          tmp->proc_info="*** DEAD ***";        // This shouldn't happen
 
1357
          thd_proc_info(tmp, "*** DEAD ***");        // This shouldn't happen
1357
1358
#endif
1358
1359
#ifdef EXTRA_DEBUG
1359
1360
        thd_info->start_time= tmp->time_after_lock;
1496
1497
          nr= (long) (thd->query_start() - server_start_time);
1497
1498
          end= int10_to_str(nr, buff, 10);
1498
1499
          break;
 
1500
        case SHOW_FLUSHTIME:
 
1501
          nr= (long) (thd->query_start() - flush_status_time);
 
1502
          end= int10_to_str(nr, buff, 10);
 
1503
          break;
1499
1504
        case SHOW_QUESTION:
1500
1505
          end= int10_to_str((long) thd->query_id, buff, 10);
1501
1506
          break;
1847
1852
    1                     error
1848
1853
*/
1849
1854
 
1850
 
static bool schema_table_store_record(THD *thd, TABLE *table)
 
1855
bool schema_table_store_record(THD *thd, TABLE *table)
1851
1856
{
1852
1857
  int error;
1853
1858
  if ((error= table->file->write_row(table->record[0])))
3601
3606
        DBUG_RETURN(0);
3602
3607
      }
3603
3608
      break;
 
3609
    case MYSQL_TYPE_FLOAT:
 
3610
    case MYSQL_TYPE_DOUBLE:
 
3611
      if ((item= new Item_float(fields_info->field_name, 0.0, NOT_FIXED_DEC, 
 
3612
                           fields_info->field_length)) == NULL)
 
3613
        DBUG_RETURN(NULL);
 
3614
      break;
3604
3615
    default:
 
3616
      /* Don't let unimplemented types pass through. Could be a grave error. */
 
3617
      DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING);
 
3618
 
3605
3619
      /* this should be changed when Item_empty_string is fixed(in 4.1) */
3606
3620
      if (!(item= new Item_empty_string("", 0, cs)))
3607
3621
      {
4038
4052
  {"TABLE_NAME", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, "Name"},
4039
4053
  {"TABLE_TYPE", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
4040
4054
  {"ENGINE", NAME_LEN, MYSQL_TYPE_STRING, 0, 1, "Engine"},
4041
 
  {"VERSION", 21 , MYSQL_TYPE_LONG, 0, 1, "Version"},
 
4055
  {"VERSION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Version"},
4042
4056
  {"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"},
4043
 
  {"TABLE_ROWS", 21 , MYSQL_TYPE_LONG, 0, 1, "Rows"},
4044
 
  {"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Avg_row_length"},
4045
 
  {"DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Data_length"},
4046
 
  {"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Max_data_length"},
4047
 
  {"INDEX_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Index_length"},
4048
 
  {"DATA_FREE", 21 , MYSQL_TYPE_LONG, 0, 1, "Data_free"},
4049
 
  {"AUTO_INCREMENT", 21 , MYSQL_TYPE_LONG, 0, 1, "Auto_increment"},
 
4057
  {"TABLE_ROWS", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Rows"},
 
4058
  {"AVG_ROW_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
 
4059
   "Avg_row_length"},
 
4060
  {"DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
 
4061
   "Data_length"},
 
4062
  {"MAX_DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
 
4063
   "Max_data_length"},
 
4064
  {"INDEX_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
 
4065
   "Index_length"},
 
4066
  {"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Data_free"},
 
4067
  {"AUTO_INCREMENT", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
 
4068
   "Auto_increment"},
4050
4069
  {"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Create_time"},
4051
4070
  {"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Update_time"},
4052
4071
  {"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Check_time"},
4053
4072
  {"TABLE_COLLATION", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"},
4054
 
  {"CHECKSUM", 21 , MYSQL_TYPE_LONG, 0, 1, "Checksum"},
 
4073
  {"CHECKSUM", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Checksum"},
4055
4074
  {"CREATE_OPTIONS", 255, MYSQL_TYPE_STRING, 0, 1, "Create_options"},
4056
4075
  {"TABLE_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, "Comment"},
4057
4076
  {0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
4064
4083
  {"TABLE_SCHEMA", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
4065
4084
  {"TABLE_NAME", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
4066
4085
  {"COLUMN_NAME", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, "Field"},
4067
 
  {"ORDINAL_POSITION", 21 , MYSQL_TYPE_LONG, 0, 0, 0},
 
4086
  {"ORDINAL_POSITION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 0, 0},
4068
4087
  {"COLUMN_DEFAULT", MAX_FIELD_VARCHARLENGTH, MYSQL_TYPE_STRING, 0, 1, "Default"},
4069
4088
  {"IS_NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"},
4070
4089
  {"DATA_TYPE", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
4071
 
  {"CHARACTER_MAXIMUM_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
4072
 
  {"CHARACTER_OCTET_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
4073
 
  {"NUMERIC_PRECISION", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
4074
 
  {"NUMERIC_SCALE", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
 
4090
  {"CHARACTER_MAXIMUM_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
 
4091
   0},
 
4092
  {"CHARACTER_OCTET_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0},
 
4093
  {"NUMERIC_PRECISION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0},
 
4094
  {"NUMERIC_SCALE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0},
4075
4095
  {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 1, 0},
4076
4096
  {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"},
4077
4097
  {"COLUMN_TYPE", 65535, MYSQL_TYPE_STRING, 0, 0, "Type"},
4097
4117
{
4098
4118
  {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Collation"},
4099
4119
  {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"},
4100
 
  {"ID", 11, MYSQL_TYPE_LONG, 0, 0, "Id"},
 
4120
  {"ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, 0, "Id"},
4101
4121
  {"IS_DEFAULT", 3, MYSQL_TYPE_STRING, 0, 0, "Default"},
4102
4122
  {"IS_COMPILED", 3, MYSQL_TYPE_STRING, 0, 0, "Compiled"},
4103
4123
  {"SORTLEN", 3 ,MYSQL_TYPE_LONG, 0, 0, "Sortlen"},
4150
4170
  {"SEQ_IN_INDEX", 2, MYSQL_TYPE_LONG, 0, 0, "Seq_in_index"},
4151
4171
  {"COLUMN_NAME", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, "Column_name"},
4152
4172
  {"COLLATION", 1, MYSQL_TYPE_STRING, 0, 1, "Collation"},
4153
 
  {"CARDINALITY", 21, MYSQL_TYPE_LONG, 0, 1, "Cardinality"},
 
4173
  {"CARDINALITY", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, 1, "Cardinality"},
4154
4174
  {"SUB_PART", 3, MYSQL_TYPE_LONG, 0, 1, "Sub_part"},
4155
4175
  {"PACKED", 10, MYSQL_TYPE_STRING, 0, 1, "Packed"},
4156
4176
  {"NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"},
4323
4343
    get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0},
4324
4344
  {"OPEN_TABLES", open_tables_fields_info, create_schema_table,
4325
4345
   fill_open_tables, make_old_format, 0, -1, -1, 1},
 
4346
  {"PROFILING", query_profile_statistics_info, create_schema_table,
 
4347
    fill_query_profile_statistics_info, NULL, NULL, -1, -1, false},
4326
4348
  {"ROUTINES", proc_fields_info, create_schema_table, 
4327
4349
    fill_schema_proc, make_proc_old_format, 0, -1, -1, 0},
4328
4350
  {"SCHEMATA", schema_fields_info, create_schema_table,