diff options
author | mhansson/martin@riffraff.(none) <> | 2008-03-11 11:31:59 +0100 |
---|---|---|
committer | mhansson/martin@riffraff.(none) <> | 2008-03-11 11:31:59 +0100 |
commit | 3d87b263d9ec8cff7b31731de43f396aebcac683 (patch) | |
tree | aa1f7472b6af6ed8fdcdf8fdf611d1f2ef380d12 | |
parent | e0851650e124880785739611ad129f6509bb382b (diff) | |
parent | bcb6d2bec58979ea88f5d9d791f49f50f9e0f8d9 (diff) | |
download | mariadb-git-3d87b263d9ec8cff7b31731de43f396aebcac683.tar.gz |
Merge mhansson@bk-internal:/home/bk/mysql-5.1-opt
into riffraff.(none):/data0/martin/bug34367/my51-bug34367-pushee
-rw-r--r-- | sql/sql_show.cc | 8 | ||||
-rw-r--r-- | sql/table.h | 24 |
2 files changed, 29 insertions, 3 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 6d817cb0620..8816247fb83 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -5384,8 +5384,9 @@ ST_SCHEMA_TABLE *get_schema_table(enum enum_schema_tables schema_table_idx) @param thd thread handler - @param - schema_table pointer to 'shema_tables' element + + @param table_list Used to pass I_S table information(fields info, tables + parameters etc) and table name. @retval \# Pointer to created table @retval NULL Can't create table @@ -5436,6 +5437,7 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) DBUG_RETURN(NULL); break; case MYSQL_TYPE_DECIMAL: + case MYSQL_TYPE_NEWDECIMAL: if (!(item= new Item_decimal((longlong) fields_info->value, false))) { DBUG_RETURN(0); @@ -5785,7 +5787,7 @@ int make_schema_select(THD *thd, SELECT_LEX *sel, { ST_SCHEMA_TABLE *schema_table= get_schema_table(schema_table_idx); LEX_STRING db, table; - DBUG_ENTER("mysql_schema_select"); + DBUG_ENTER("make_schema_select"); DBUG_PRINT("enter", ("mysql_schema_select: %s", schema_table->table_name)); /* We have to make non const db_name & table_name diff --git a/sql/table.h b/sql/table.h index 284885658e0..aa2e075ec62 100644 --- a/sql/table.h +++ b/sql/table.h @@ -759,12 +759,36 @@ enum enum_schema_tables typedef struct st_field_info { + /** + This is used as column name. + */ const char* field_name; + /** + For string-type columns, this is the maximum number of + characters. Otherwise, it is the 'display-length' for the column. + */ uint field_length; + /** + This denotes data type for the column. For the most part, there seems to + be one entry in the enum for each SQL data type, although there seem to + be a number of additional entries in the enum. + */ enum enum_field_types field_type; int value; + /** + This is used to set column attributes. By default, columns are @c NOT + @c NULL and @c SIGNED, and you can deviate from the default + by setting the appopriate flags. You can use either one of the flags + @c MY_I_S_MAYBE_NULL and @cMY_I_S_UNSIGNED or + combine them using the bitwise or operator @c |. Both flags are + defined in table.h. + */ uint field_flags; // Field atributes(maybe_null, signed, unsigned etc.) const char* old_name; + /** + This should be one of @c SKIP_OPEN_TABLE, + @c OPEN_FRM_ONLY or @c OPEN_FULL_TABLE. + */ uint open_method; } ST_FIELD_INFO; |