• unknown's avatar
    Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error · bee5d9d4
    unknown authored
    Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
    This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
    Changed flag argument to str_to_TIME() and get_date() from bool to uint
    Removed THD from str_to_xxxx functions and Item class.
    Fixed core dump when doing --print-defaults
    Move some common string functions to strfunc.cc
    Dates as strings are now of type my_charset_bin instead of default_charset()
    Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
    Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
    Renamed some TIMESTAMP_xxx enums to more appropriate names
    Use defines instead of integers for date/time/datetime string lengths
    Added to build system and use the new my_strtoll10() function.
    
    
    
    BUILD/compile-pentium-valgrind-max:
      Remove double printing of warning
    VC++Files/libmysqld/libmysqld.dsp:
      Added strfunc.cc
    VC++Files/sql/mysqld.dsp:
      Added strfunc.cc
    VC++Files/sql/mysqldmax.dsp:
      Added strfunc.cc
    VC++Files/strings/strings.dsp:
      added my_strtoll10.c
    include/m_ctype.h:
      Removed MY_LEX_FOUND_IDENT (not used)
    include/m_string.h:
      Added my_strtoll10()
    include/mysqld_error.h:
      simplified 'wrong xxx name' error messages
    include/sql_state.h:
      simplified 'wrong xxx name' error messages
    libmysqld/Makefile.am:
      Added strfunc.cc
    mysql-test/mysql-test-run.sh:
      Simplified some options
      changed $@ to "$@" in an attempt to handle options with space (Didn't succeed;  Problem will disappear when mysql-test-run is rewritten in C)
    mysql-test/r/ctype_latin1_de.result:
      Added new tests
    mysql-test/r/ctype_recoding.result:
      Extended tests
    mysql-test/r/date_formats.result:
      Cleaned up tests
      Disabled some tests that can't yet be run
    mysql-test/r/func_compress.result:
      New error message
    mysql-test/r/rpl_temporary.result:
      Added new test
    mysql-test/t/create.test:
      Changed error numbers
    mysql-test/t/ctype_latin1_de.test:
      New tests
    mysql-test/t/ctype_recoding.test:
      Extended tests
    mysql-test/t/date_formats-master.opt:
      Removed datetime_format as we can't handle options with space in mysql-test-run
    mysql-test/t/date_formats.test:
      Cleaned up tests
      Disabled some tests that can't yet be run
    mysql-test/t/rpl_temporary.test:
      Added testing of open temporary table on slave shutdown
    mysql-test/t/symlink.test:
      Fixed error numbers
    mysys/default.c:
      Fixed core dump when doing --print-defaults
    sql/Makefile.am:
      Added strfunc.cc
    sql/derror.cc:
      Fixed compiler warning
    sql/field.cc:
      Changed argument to str_to_TIME() from bool to uint
      Removed THD argument from str_to_TIME()
      Moved find_enum() and find_set() to strfunc.cc
    sql/field.h:
      Changed type of last argument to get_date() to be able to handle more options
    sql/init.cc:
      Remove not used variable dayord
    sql/item.cc:
      Changed type of last argument to get_date() to be able to handle more options
      Removed THD* element from item.
      Don't use make_date_time() to generate date/time/datetimes
    sql/item.h:
      Changed type of last argument to get_date() to be able to handle more options
      Removed THD* from Item
    sql/item_create.cc:
      Indentation cleanup
    sql/item_func.cc:
      Use new find_type()
    sql/item_func.h:
      Changed type of last argument to get_date() to be able to handle more options
    sql/item_strfunc.h:
      space change
    sql/item_timefunc.cc:
      Changed month_names[] to be easier to use
      Moved check_names[] to strfunc.cc
      Added back old make_datetime() function
      Optimized extract_date_time()
      Use my_strtoll10() insetad of my_strntoll()
      Optimized make_date_time()
      Replaced short variable names with long ones.
      Use new functions make_time(), make_date() and make_datetime()
      Dates as strings are now of type my_charset_bin instead of default_charset()
      Changed Item_func_str_to_date() to by default return a date.
    sql/item_timefunc.h:
      Changed charset for date string from default_charset() to my_charset_bin
      Changed type of last argument to get_date() to be able to handle more options
      Use defines instead of integers for date/time/datetime string lengths
    sql/mysql_priv.h:
      Fixed/added new prototypes
    sql/mysqld.cc:
      Removed opt_datetime_format_names
      Cleaned up handling of date_time format handling. (Fixed core dump when mysqld had error on startup)
      Removed some unnecessary double init of collation variables
    sql/protocol.cc:
      Changed back protocol functions to always return dates in ISO format
    sql/set_var.cc:
      Added variables time_format, date_format and datetime_format
      This had to be recoded becasue checking was done in 'update' method and not in 'check' method.
    sql/set_var.h:
      Removed class sys_var_datetime_format() as this defined a variable (which doesn't work) instead of updating a variable
    sql/share/czech/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/danish/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/dutch/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/english/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/estonian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/french/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/german/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/greek/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/hungarian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/italian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/japanese/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/korean/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/norwegian-ny/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/norwegian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/polish/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/portuguese/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/romanian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/russian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/serbian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/slovak/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/spanish/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/swedish/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/share/ukrainian/errmsg.txt:
      simplified 'wrong xxx name' error messages
    sql/sql_base.cc:
      Use new find_type()
    sql/sql_class.cc:
      Allocate/free date_time format variables
    sql/sql_class.h:
      Define datetime_format variables
    sql/sql_db.cc:
      Use new ER_WRONG_NAME error
    sql/sql_lex.cc:
      Change lex to generate IDENT_QUOTED for quoted identifiers or identifers that are using characters > 128.
      This enabled us to not have to copy and convert the identifier to utf8 for simpe identifiers
    sql/sql_parse.cc:
      Use new ER_WRONG_NAME error
      Use new find_type() function
    sql/sql_prepare.cc:
      Use new defines
    sql/sql_table.cc:
      Use new ER_WRONG_NAME error
    sql/sql_yacc.yy:
      Don't copy and convert simple identifiers to utf8.
      Replace __FORMAT_TYPE defines with TIMESTAMP... defines
    sql/structs.h:
      Renamed DATETIME_FORMAT to DATE_TIME format to indicate that it's for date/time/datetime formats
      Renamed WRONT_TIMESTAMP_FULL to TIMESTAMP_DATETIME_ERROR and TIMESTAMP_FULL to TIMESTAMP_DATETIME
      Added KNOWN_DATE_TIME_FORMAT struct for Item_func_get_format
    sql/time.cc:
      Prepare str_to_TIME and str_to_time() for general date/time handling
      Removed THD from str_to... functions
      Renamed date/time/datetime functions to use 'date_time' instead of 'datetime'
      Added functions to make and copy DATE_TIME_FORMAT's
      Added trivial functions 'make_time()', 'make_date()' and 'make_datetime()'
    strings/Makefile.am:
      Added my_strtoll10()
    strings/ctype-bin.c:
      Cleared upper part of binary state map to be able to easily identify simple identifiers
    strings/my_vsnprintf.c:
      F
    bee5d9d4
item_create.cc 13.1 KB