mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fixed a lot of wrong memory references as reported by valgrind
Portability fixes Added new client function: mysql_get_server_version() New server help code (From Victor Vagin) Fixed wrong usage of binary() Disabled RTREE usage for now. BitKeeper/etc/ignore: added scripts/fill_help_tables.sql client/mysql.cc: Some fixes when using 'help' cmd-line-utils/libedit/compat.h: Portability fix cmd-line-utils/libedit/fgetln.c: Portability fix include/mysql.h: Added new client function: mysql_get_server_version() libmysql/libmysql.c: Added new client function: mysql_get_server_version() libmysqld/libmysqld.c: Fixed prototype mysql-test/install_test_db.sh: Added creation of help tables mysql-test/r/connect.result: Added help tables mysql-test/r/myisam.result: Test of RTREE index mysql-test/r/type_ranges.result: updated results mysql-test/t/myisam.test: Test of RTREE index mysql-test/t/type_ranges.test: Updated test mysys/charset.c: Indentation change mysys/my_symlink.c: Removed compiler warning scripts/fill_help_tables.sh: Update for new help tables sql/field.cc: Indentation changes sql/filesort.cc: Optimized character set usage sql/item_cmpfunc.cc: Fix wrong usage of binary() sql/item_cmpfunc.h: Fix wrong usage of binary() sql/item_func.cc: Fix wrong usage of binary() sql/item_func.h: Fix wrong usage of binary() sql/item_strfunc.cc: Fix wrong usage of binary() sql/item_sum.cc: Fix wrong usage of binary() sql/item_sum.h: Fix wrong usage of binary() sql/key.cc: Indentation change sql/lex.h: HELP -> HELP_SYM sql/mysql_priv.h: Make get_field() more general sql/password.c: Indentation change + variable initialisation moved sql/sql_acl.cc: Make get_field() more general sql/sql_base.cc: Added comments + assertion for double call to mysql_lock_tables sql/sql_cache.cc: Indentation changes sql/sql_class.h: Added need_strxnfrm to SORT_FIELD to be able to optimise character set handling in filesort sql/sql_derived.cc: Renamed variables sql/sql_help.cc: New help functions (from Victor Vagin) sql/sql_lex.cc: Removed variables that doesn't have to be initialized for each query sql/sql_lex.h: Removed not used variable (olap) sql/sql_parse.cc: Fixed (not fatal) access of unitialized memory Indentation / code cleanup sql/sql_prepare.cc: Indentaion cleanup sql/sql_table.cc: Disabled RTREE until 5.0 sql/sql_udf.cc: Make get_field() more general sql/sql_yacc.yy: Removed access to uninitialized memory Always set offset_limit and select_limit when using LIMIT (removed warnings) Allow usage of 'help week' sql/table.cc: Make get_field() more general More comments sql/table.h: Fixded type of TABLE_LIST->derived sql/time.cc: Stricter date / datetime handling (to be able to handle timestamps with days and microseconds) strings/ctype-bin.c: Added cha
This commit is contained in:
37
sql/table.cc
37
sql/table.cc
@ -37,7 +37,27 @@ static byte* get_field_name(Field *buff,uint *length,
|
||||
return (byte*) buff->field_name;
|
||||
}
|
||||
|
||||
/* Open a .frm file */
|
||||
/*
|
||||
Open a .frm file
|
||||
|
||||
SYNOPSIS
|
||||
openfrm()
|
||||
|
||||
name path to table-file "db/name"
|
||||
alias alias for table
|
||||
db_stat open flags (for example HA_OPEN_KEYFILE|HA_OPEN_RNDFILE..)
|
||||
can be 0 (example in ha_example_table)
|
||||
prgflag READ_ALL etc..
|
||||
ha_open_flags HA_OPEN_ABORT_IF_LOCKED etc..
|
||||
outparam result table
|
||||
|
||||
RETURN VALUES
|
||||
0 ok
|
||||
1 Error (see frm_error)
|
||||
2 Error (see frm_error)
|
||||
3 Wrong data in .frm file
|
||||
4 Error (see frm_error)
|
||||
*/
|
||||
|
||||
int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
|
||||
uint ha_open_flags, TABLE *outparam)
|
||||
@ -1127,13 +1147,20 @@ rename_file_ext(const char * from,const char * to,const char * ext)
|
||||
|
||||
|
||||
/*
|
||||
Alloc a value as a string and return it
|
||||
If field is empty, return NULL
|
||||
Allocate string field in MEM_ROOT and return it as NULL-terminated string
|
||||
|
||||
SYNOPSIS
|
||||
get_field()
|
||||
mem MEM_ROOT for allocating
|
||||
field Field for retrieving of string
|
||||
|
||||
RETURN VALUES
|
||||
NullS string is empty
|
||||
# pointer to NULL-terminated string value of field
|
||||
*/
|
||||
|
||||
char *get_field(MEM_ROOT *mem, TABLE *table, uint fieldnr)
|
||||
char *get_field(MEM_ROOT *mem, Field *field)
|
||||
{
|
||||
Field *field=table->field[fieldnr];
|
||||
char buff[MAX_FIELD_WIDTH];
|
||||
String str(buff,sizeof(buff),default_charset_info);
|
||||
field->val_str(&str,&str);
|
||||
|
Reference in New Issue
Block a user