1. 03 Jun, 2004 1 commit
    • unknown's avatar
      Implementation of WL#1824 "Add replication of character set variables in 4.1", · 934bb37d
      unknown authored
      by binlogging some SET ONE_SHOT CHARACTER_SETetc,
      which will be enough until we have it more compact and more complete in 5.0. With the present patch,
      replication will work ok between 4.1.3 master and slaves, as long as:
      - master and slave have the same GLOBAL.COLLATION_SERVER
      - COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
      - application does not use the fact that table is created with charset of the USEd db (BUG#2326).
      all of which are not too hard to fulfill. 
      ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
      so we give error if used for non-charset vars.
      Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
       variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
       properly after SET NAMES".
      Detecting that master and slave have different global charsets or server ids.
      
      
      mysql-test/r/rpl_server_id1.result:
        it's normal to not run as I have added a test to compare server ids of master and slave
        at startup and stop if equal (unless --replicate-same-server-id)
      mysql-test/r/rpl_user_variables.result:
        result update (as we now print charset of user var).
      mysql-test/r/user_var.result:
        result update
      mysql-test/t/rpl_server_id1.test:
        no need to select as slave is not running
      mysql-test/t/user_var.test:
        testing if the content of user vars is escaped when mysqlbinlog prints them,
        and if the name is backquoted.
      sql/lex.h:
        new keyword ONE_SHOT
      sql/log.cc:
        when writing to the binlog, before writing the actual statement, write some SET ONE_SHOT CHARACTER_SET_CLIENT etc
        for the slave to know the charset variables (which are important as they affect the inserted data).
      sql/log_event.cc:
        print charset and collation of user var in mysqlbinlog and SHOW BINLOG EVENTS.
        escape the content of the var. Backquote its name.
        Will ask Bar to check that using my_charset_bin for escaping is ok.
      sql/set_var.cc:
        understand SET CHARACTER_SET_CLIENT=10 (don't require a string, accept a number).
        Refuse changing of GLOBAL CHARACTER_SET_SERVER/COLLATION_SERVER if binlog or slave,
        as it will make the master or slave make wrong assumptions.
        A function to catch SET ONE_SHOT on non-charset variables (which is forbidden)
      sql/set_var.h:
        no_support_one_shot to know if the var supports ONE_SHOT (only charset vars do, soon timezones).
        Accept int arg in SET CHARACTER_SET_etc
      sql/slave.cc:
        when I/O slave thread starts, verify that master's and slave charsets match.
        And by the way verify that server ids are different.
        Don't fail if UNIX_TIMESTAMP() can't be done on master (very old master), that's
        not fatal.
      sql/sql_class.cc:
        one_shot
      sql/sql_class.h:
        one_shot
      sql/sql_lex.h:
        one_shot
      sql/sql_parse.cc:
        when SET ONE_SHOT is used, verify that it's only used for charset/collation vars;
        otherwise refuse.
      sql/sql_yacc.yy:
        ONE_SHOT keyword in SET
      934bb37d
  2. 01 Jun, 2004 3 commits
    • unknown's avatar
      InnoDB: os0file.c: · e6626bdb
      unknown authored
        Do not lock raw devices or files opened for read only
      
      
      innobase/os/os0file.c:
        Do not lock raw devices or files opened for read only
      e6626bdb
    • unknown's avatar
      fil0fil.c: · 389e8bec
      unknown authored
        Add missing newlines in fprintfs
      
      
      innobase/fil/fil0fil.c:
        Add missing newlines in fprintfs
      389e8bec
    • unknown's avatar
      InnoDB cleanup: Fix potential buffer overflows, · bab2231f
      unknown authored
      allow deletion of tablespaces whose names contain "'"
      
      
      innobase/dict/dict0load.c:
        dict_check_tablespaces_or_store_max_id():
        Dynamically allocate memory for file name
      innobase/fil/fil0fil.c:
        Dynamically allocate memory for file names
      innobase/os/os0file.c:
        os_file_dirname(): allocate slightly less memory
        os_file_create_subdirs_if_needed(): compare more efficiently
      innobase/row/row0mysql.c:
        Allow tablespaces with "'" in their names to be deleted
        Display identifiers with ut_print_name() or dict_index_name_print()
      bab2231f
  3. 31 May, 2004 3 commits
  4. 28 May, 2004 13 commits
  5. 27 May, 2004 19 commits
    • unknown's avatar
      Portability fix (using 'char' as argument to C functions may give warnings) · a153d35c
      unknown authored
      
      mysql-test/r/variables.result:
        update results after merge
      strings/int2str.c:
        Portability fix (using 'char' as a parameter may give a warning)
      a153d35c
    • unknown's avatar
      merge with 4.0 to get fix for hpux · 6645955a
      unknown authored
      
      configure.in:
        Auto merged
      innobase/os/os0file.c:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      mysql-test/r/variables.result:
        merge fix
      6645955a
    • unknown's avatar
      Portability fix for HPUX · d1306dfa
      unknown authored
      
      configure.in:
        Ensure that innodb gets system specific CFLAGS and CXXFLAGS
      innobase/os/os0file.c:
        Don't use pread/pwrite on systems where these are not working.
        This fixes a bug on HPUX, where InnoDB didn't create the ibdata1 file correctly.
      d1306dfa
    • unknown's avatar
      Always enable HAVE_COMPRESS on netware · b9c825e4
      unknown authored
      
      include/config-netware.h:
        Always enable HAVE_COMPRESS on netware
        We can't detect compress in configure on netware because we must use AC_TRY_RUN to detect zlib on other platforms
      b9c825e4
    • unknown's avatar
      Portability fix for 32 bit file systems · b2842c3c
      unknown authored
      b2842c3c
    • unknown's avatar
      Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 · 935a801a
      unknown authored
      
      netware/BUILD/nwbootstrap:
        Auto merged
      935a801a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 5cacfb32
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      5cacfb32
    • unknown's avatar
      Remove some code from sql_yacc.cc that doesn't do anything except produce warnings on VC++ · b09974a1
      unknown authored
      
      mysql-test/t/fulltext.test:
        After merge fix
      b09974a1
    • unknown's avatar
      merge with 4.0 to get fix to VC++ project files · 32f20312
      unknown authored
      
      VC++Files/comp_err/comp_err.dsp:
        Auto merged
      VC++Files/sql/mysqld.dsp:
        Auto merged
      myisam/ft_boolean_search.c:
        Auto merged
      mysql-test/t/fulltext.test:
        Auto merged
      myisam/ft_parser.c:
        Keep old code
      mysql-test/r/fulltext.result:
        Remove duplicate test from 4.0
      32f20312
    • unknown's avatar
      Merged in some patches from Novell. · d5d9f915
      unknown authored
      
      netware/BUILD/nwbootstrap:
        Patch from Novell, create the libmysqld.imp file.
      netware/mysqld_safe.c:
        Patch from Novell, new option --set-variable.
      d5d9f915
    • unknown's avatar
      b4a4bc47
    • unknown's avatar
      backport bug#2708 fix from 4.1 · a4d82ab8
      unknown authored
      
      myisam/ft_boolean_search.c:
        perlify comment
      a4d82ab8
    • unknown's avatar
      Made my_snprintf() behavior snprintf() compatible when printing %x arguments (it should · 2d1384e4
      unknown authored
      produce hex digits in lower case). (fixed version)
      
      Replaced _dig_vec array with two _dig_vec_upper/_dig_vec_lower arrays.
      Added extra argument to int2str function which controls case of digits you get.
      Replaced lot of invocations of int2str for decimal radix with more optimized int10_to_str()
      function.
      Removed unused my_itoa/my_ltoa functions.
      
      
      client/mysql.cc:
        Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
        call.
      client/mysqladmin.c:
        Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
        call.
      dbug/dbug.c:
         _dig_vec became _dig_vec_upper.
      include/m_string.h:
        _dig_vec is obsoleted by _dig_vec_upper/_dig_vec_lower.
        my_itoa()/my_ltoa() functions were removed because they were never used in our code.
        int2str() now has one more argument which controls case of digits it will produce.
      include/my_global.h:
        my_itoa()/my_ltoa() functions were removed because they were never used in our code.
      isam/isamchk.c:
        Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
        call.
      libmysql/libmysql.def:
        _dig_vec is obsoleted by _dig_vec_upper/_dig_vec_lower.
      myisam/myisamchk.c:
        Replaced int2str invocation with radix argument equal to 10 with optimized int10_to_str()
        call.
      mysys/mf_tempfile.c:
        _dig_vec became _dig_vec_upper.
      mysys/my_error.c:
        Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
        call.
      mysys/my_tempnam.c:
        _dig_vec became _dig_vec_upper.
      sql-common/client.c:
        Replaced int2str invocation with radix argument equal to 10 with optimized int10_to_str()
        call.
      sql/item_strfunc.cc:
        _dig_vec became _dig_vec_upper. Also we don't need hex[] array in this file now because we
        have _dig_vec_lower instead.
      sql/mysqld.cc:
        Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
        call.
      sql/password.c:
        _dig_vec became _dig_vec_upper.
      sql/sql_bitmap.h:
        _dig_vec became _dig_vec_upper.
      strings/int2str.c:
        Replaced _dig_vec by _dig_vec_upper/_dig_vec_lower pair.
        int2str() now has one more argument which controls case of digits it will produce.
        my_itoa()/my_ltoa() functions were removed because they were never used in our code.
      strings/longlong2str-x86.s:
        _dig_vec became _dig_vec_upper.
      strings/longlong2str.c:
        _dig_vec became _dig_vec_upper.
      strings/my_vsnprintf.c:
        If my_snprintf() is printing %x argument it should produce lower case hexadecimal digits
        to be snprintf() compatible.
      2d1384e4
    • unknown's avatar
      InnoDB cleanup: · a1bcf382
      unknown authored
      Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
      Remove (char*) casts of string constants; add const qualifiers
      Remove some Hot Backup code unless #ifdef UNIV_HOTBACKUP
      
      
      innobase/btr/btr0cur.c:
        Cast away constness from dfield_get_data() result
      innobase/buf/buf0buf.c:
        Enclose a debug assertion in #ifdef UNIV_SYNC_DEBUG
      innobase/buf/buf0rea.c:
        Corrected compile error #ifdef UNIV_DEBUG
      innobase/dict/dict0boot.c:
        Remove (char*) casts of string constants
      innobase/dict/dict0crea.c:
        Remove (char*) casts of string constants
      innobase/dict/dict0dict.c:
        Enclosed a debug assertion in #ifdef UNIV_SYNC_DEBUG
        Replaced some debug assertions with preprocessor tests
        Add const qualifiers to string constants
      innobase/dict/dict0load.c:
        Remove (char*) casts of string constants
      innobase/fil/fil0fil.c:
        Remove (char*) casts of string constants
        Enclose debug assertions in #ifdef UNIV_SYNC_DEBUG
      innobase/ha/ha0ha.c:
        Enclose debug assertion in #ifdef UNIV_SYNC_DEBUG
      innobase/ibuf/ibuf0ibuf.c:
        Remove (char*) casts of string constants
      innobase/include/buf0buf.ic:
        Add const qualifier to string parameter
      innobase/include/fil0fil.h:
        Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
      innobase/include/log0recv.h:
        Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
        Enclose ibbackup specific code in #ifdef UNIV_HOTBACKUP
      innobase/include/mem0dbg.ic:
        Add const qualifiers to string parameters
      innobase/include/srv0srv.h:
        Add const qualifiers to string constants
        Enclose srv_arch_dir and srv_log_archive_on #ifdef UNIV_LOG_ARCHIVE
      innobase/include/sync0rw.ic:
        Add const qualifier to string parameter
      innobase/include/sync0sync.ic:
        Add const qualifier to string parameter
      innobase/log/log0log.c:
        Enclose log archiving code in #ifdef UNIV_LOG_ARCHIVE
        Do not cast string constants to (char*)
      innobase/log/log0recv.c:
        Enclose ibbackup specific code in #ifdef UNIV_HOTBACKUP
        Enclose disabled log code in #ifdef UNIV_LOG_REPLICATE or UNIV_LOG_ARCHIVE
      innobase/mem/mem0dbg.c:
        Add const qualifiers to string parameters
      innobase/page/page0page.c:
        Remove (char*) casts of string constants
      innobase/pars/pars0pars.c:
        Add const qualifier to string variable
      innobase/row/row0ins.c:
        Remove (char*) casts of string constants
        Add const qualifiers to string parameters
        row_ins_foreign_check_on_constraint(): Allocate table_name dynamically
      innobase/row/row0mysql.c:
        Remove (char*) casts of string constants
      innobase/row/row0sel.c:
        Remove (char*) casts of string constants
      innobase/srv/srv0srv.c:
        Remove (char*) casts of string constants
        Disable log archiving variables unless #ifdef UNIV_LOG_ARCHIVE
      innobase/srv/srv0start.c:
        Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
        Remove (char*) casts of string constants
      innobase/sync/sync0rw.c:
        Remove (char*) casts of string constants
        Add const qualifier to string parameter
      innobase/sync/sync0sync.c:
        Remove (char*) cast of string constant
        Add const qualifier to string parameter
      innobase/trx/trx0roll.c:
        Remove (char*) cast of string constants
      innobase/trx/trx0sys.c:
        Remove (char*) cast of string constants
      innobase/trx/trx0trx.c:
        Remove (char*) cast of string constant
      sql/ha_innodb.cc:
        Enclose log archiving code in #ifdef UNIV_LOG_ARCHIVE
      a1bcf382
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · d366a2e4
      unknown authored
      into deer.(none):/home/hf/work/mysql-4.1.spa
      
      
      d366a2e4
    • unknown's avatar
      Merging · 7f49646c
      unknown authored
      
      myisam/mi_create.c:
        Auto merged
      myisam/mi_open.c:
        Auto merged
      myisam/rt_test.c:
        Auto merged
      myisam/sp_test.c:
        Auto merged
      sql/spatial.cc:
        Auto merged
      sql/spatial.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      myisam/mi_range.c:
        merging
      myisam/mi_rnext.c:
        merging
      7f49646c
    • unknown's avatar
      Portability fixes · 5df707c7
      unknown authored
      
      innobase/os/os0thread.c:
        Portability fix
      myisam/sort.c:
        Fixed wrong variable type (gave compiler warning)
      5df707c7
    • unknown's avatar
      Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 · e13089f8
      unknown authored
      
      VC++Files/innobase/innobase.dsp:
        Auto merged
      e13089f8
    • unknown's avatar
      Add back wrongly deleted file · a4237f3d
      unknown authored
      a4237f3d
  6. 26 May, 2004 1 commit