1. 10 Jul, 2006 1 commit
    • unknown's avatar
      BUG#14553: NULL in WHERE resets LAST_INSERT_ID · 0806d9a8
      unknown authored
      To make MySQL compatible with some ODBC applications, you can find
      the AUTO_INCREMENT value for the last inserted row with the following query:
       SELECT * FROM tbl_name WHERE auto_col IS NULL.
      This is done with a special code that replaces 'auto_col IS NULL' with
      'auto_col = LAST_INSERT_ID'.
      However this also resets the LAST_INSERT_ID to 0 as it uses it for a flag
      so as to ensure that only the first SELECT ... WHERE auto_col IS NULL
      after an INSERT has this special behaviour.
      In order to avoid resetting the LAST_INSERT_ID a special flag is introduced
      in the THD class. This flag is used to restrict the second and subsequent
      SELECTs instead of LAST_INSERT_ID.
      
      
      mysql-test/r/odbc.result:
        test suite for the bug
      mysql-test/r/rpl_insert_id.result:
        test for the fix in replication
      mysql-test/t/odbc.test:
        test suite for the bug
      mysql-test/t/rpl_insert_id.test:
        test for the fix in replication
      sql/sql_class.cc:
        initialize the flag
      sql/sql_class.h:
        flag's declaration and set code when setting the last_insert_id
      sql/sql_select.cc:
        the special flag is used instead of last_insert_id
      0806d9a8
  2. 14 May, 2006 1 commit
    • unknown's avatar
      BUG#14157: utf8 encoding in binlog without set character_set_client · d388da98
      unknown authored
      fixing names length. Got an issue when merged to 5.0, decided to fix starting from 4.1
      
      
      mysql-test/t/mysqlbinlog.test:
        fixing temp table name to fit to 64 bytes for 5.0
      mysql-test/t/rpl_temporary.test:
        fixing temp table name to fit to 64 bytes for 5.0
      d388da98
  3. 13 May, 2006 1 commit
    • unknown's avatar
      BUG#14157: utf8 encoding in binlog without set character_set_client · 62be79a2
      unknown authored
      fixing a path to find charset by $MYSQL client. I believe the fix is done what should be
      by default. 
      
      
      mysql-test/t/mysqlbinlog.test:
        --character-sets-dir=../sql/share/charsets  is added otherwise client/.libs/lt-mysql
        searches in /usr/local/mysql ... A bug?
      mysql-test/t/rpl_temporary.test:
        --character-sets-dir=../sql/share/charsets/
      62be79a2
  4. 12 May, 2006 6 commits
    • unknown's avatar
      Merge mysql.com:/net/nb/home/elkin/MySQL/FIXES/4.1-bug19188_tmp_name · ee1a2844
      unknown authored
      into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/4.1
      
      
      mysql-test/r/rpl_temporary.result:
        Auto merged
      mysql-test/t/rpl_temporary.test:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/mysql_priv.h:
        manual merge, a comment added
      ee1a2844
    • unknown's avatar
      Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/4.1-bug14157-utf8_binlog · daebc0d6
      unknown authored
      into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/4.1
      
      
      daebc0d6
    • unknown's avatar
      BUG#19188: incorrect temporary table name of DROP query in replication · c212cb25
      unknown authored
        A pattern to generate binlog for DROPped temp table in close_temporary_tables
        was buggy: could not deal with a grave-accent-in-name table.
      
        The fix exploits `append_identifier()' for quoting and duplicating accents.
      
      
      mysql-test/r/rpl_temporary.result:
        results changed
      mysql-test/t/rpl_temporary.test:
        more correct internal table emulation; typo of @@session in bug#17263.
      sql/mysql_priv.h:
        bool is_user_table(TABLE * table) 
        is added to answer wheather temporary table was created explicitly.
      sql/sql_base.cc:
        Utilizing `append_identifier' to quote. `close_temporary_tables' once again recoded
        I hope to become much simplier than previously. No-binlog branch is separated completely the
        rest that adopts String's methods.
      c212cb25
    • unknown's avatar
      Many files: · db2556fd
      unknown authored
        Change mode to -rw-rw-r--
      Ereport.pl, Ecreate.pl, Ecompare.pl:
        Change mode to -rwxrwxr--
      
      
      bdb/dist/s_dir:
        Change mode to -rw-rw-r--
      myisam/ftbench/Ecompare.pl:
        Change mode to -rwxrwxr--
      myisam/ftbench/Ecreate.pl:
        Change mode to -rwxrwxr--
      myisam/ftbench/Ereport.pl:
        Change mode to -rwxrwxr--
      myisam/ftbench/README:
        Change mode to -rw-rw-r--
      myisammrg/myrg_rnext_same.c:
        Change mode to -rw-rw-r--
      mysql-test/include/rpl_stmt_seq.inc:
        Change mode to -rw-rw-r--
      mysql-test/misc/kill_master.sh:
        Change mode to -rw-rw-r--
      mysql-test/r/blackhole.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ctype_cp1250_ch.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ctype_cp932_binlog.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ctype_euckr.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ctype_gb2312.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ctype_ucs_binlog.result:
        Change mode to -rw-rw-r--
      mysql-test/r/fulltext2.result:
        Change mode to -rw-rw-r--
      mysql-test/r/func_des_encrypt.result:
        Change mode to -rw-rw-r--
      mysql-test/r/grant2.result:
        Change mode to -rw-rw-r--
      mysql-test/r/insert_update.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ndb_database.result:
        Change mode to -rw-rw-r--
      mysql-test/r/ndb_update.result:
        Change mode to -rw-rw-r--
      mysql-test/r/not_embedded_server.result:
        Change mode to -rw-rw-r--
      mysql-test/r/query_cache_notembedded.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_create_database.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_drop_db.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_dual_pos_advance.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_insert_select.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_multi_update3.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_multi_update4.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_slave_status.result:
        Change mode to -rw-rw-r--
      mysql-test/r/rpl_trunc_temp.result:
        Change mode to -rw-rw-r--
      mysql-test/r/timezone_grant.result:
        Change mode to -rw-rw-r--
      mysql-test/std_data/master-bin.000001:
        Change mode to -rw-rw-r--
      mysql-test/t/ctype_latin1.test:
        Change mode to -rw-rw-r--
      mysql-test/t/fulltext2.test:
        Change mode to -rw-rw-r--
      mysql-test/t/gis-rtree.test:
        Change mode to -rw-rw-r--
      mysql-test/t/grant2.test:
        Change mode to -rw-rw-r--
      mysql-test/t/insert_update.test:
        Change mode to -rw-rw-r--
      mysql-test/t/mysqltest.test:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_ddl.test:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_insert_ignore.test:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_multi_query.test:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_rewrite_db-slave.opt:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_rewrite_db.test:
        Change mode to -rw-rw-r--
      mysql-test/t/subselect2.test:
        Change mode to -rw-rw-r--
      mysql-test/t/union-master.opt:
        Change mode to -rw-rw-r--
      mysys/mf_tempdir.c:
        Change mode to -rw-rw-r--
      mysys/my_crc32.c:
        Change mode to -rw-rw-r--
      mysys/my_gethwaddr.c:
        Change mode to -rw-rw-r--
      mysys/my_getsystime.c:
        Change mode to -rw-rw-r--
      scripts/mysql_prepare_privilege_tables_for_5.sql:
        Change mode to -rw-rw-r--
      sql/sql_bitmap.h:
        Change mode to -rw-rw-r--
      zlib/Makefile.am:
        Change mode to -rw-rw-r--
      db2556fd
    • unknown's avatar
      Merge · 3f1a945d
      unknown authored
      
      BitKeeper/deleted/.del-master-bin.001~8917149781db8413:
        Auto merged
      myisammrg/myrg_range.c:
        Auto merged
      mysql-test/r/innodb_handler.result:
        Auto merged
      mysql-test/r/repair.result:
        Auto merged
      mysql-test/std_data/trunc_binlog.000001:
        Auto merged
      mysql-test/t/bulk_replace.test:
        Auto merged
      mysql-test/t/create_select_tmp.test:
        Auto merged
      mysql-test/t/ctype_tis620.test:
        Auto merged
      mysql-test/t/handler.test:
        Auto merged
      mysql-test/t/innodb_handler.test:
        Auto merged
      mysql-test/t/repair.test:
        Auto merged
      mysql-test/t/rpl_commit_after_flush.test:
        Auto merged
      mysql-test/t/rpl_free_items.test:
        Auto merged
      sql/sql_handler.cc:
        Auto merged
      3f1a945d
    • unknown's avatar
      Many files: · fa9b0268
      unknown authored
        Change mode to -rw-rw-r--
      dbug_add_tags.pl:
        Change mode to -rwxrwxr--
      
      
      dbug/dbug_add_tags.pl:
        Change mode to -rwxrwxr--
      myisammrg/myrg_range.c:
        Change mode to -rw-rw-r--
      mysql-test/r/innodb_handler.result:
        Change mode to -rw-rw-r--
      mysql-test/r/repair.result:
        Change mode to -rw-rw-r--
      mysql-test/std_data/master-bin.001:
        Change mode to -rw-rw-r--
      mysql-test/std_data/trunc_binlog.001:
        Change mode to -rw-rw-r--
      mysql-test/t/bulk_replace.test:
        Change mode to -rw-rw-r--
      mysql-test/t/create_select_tmp.test:
        Change mode to -rw-rw-r--
      mysql-test/t/ctype_tis620.test:
        Change mode to -rw-rw-r--
      mysql-test/t/handler.test:
        Change mode to -rw-rw-r--
      mysql-test/t/innodb_handler.test:
        Change mode to -rw-rw-r--
      mysql-test/t/mix_innodb_myisam_binlog-master.opt:
        Change mode to -rw-rw-r--
      mysql-test/t/repair.test:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_commit_after_flush.test:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_free_items-slave.opt:
        Change mode to -rw-rw-r--
      mysql-test/t/rpl_free_items.test:
        Change mode to -rw-rw-r--
      scripts/mysql_secure_installation.sh:
        Change mode to -rw-rw-r--
      sql/sql_handler.cc:
        Change mode to -rw-rw-r--
      support-files/mysql-multi.server.sh:
        Change mode to -rw-rw-r--
      fa9b0268
  5. 11 May, 2006 2 commits
  6. 10 May, 2006 2 commits
  7. 09 May, 2006 2 commits
    • unknown's avatar
      BUG#14157: utf8 encoding in binlog without set character_set_client e.g DROP temporary · c23c38fa
      unknown authored
      Binlog lacks encoding info about DROPped temporary table.
      
      Idea of the fix is to switch temporary to system_charset_info when a temporary table
      is DROPped for binlog. Since that is the server, that automatically, but not the client, who generates the query
      the binlog should be updated on the server's encoding for the coming DROP.
      The `write_binlog_with_system_charset()' is introduced to replace similar problematic places in the code.
      
      
      mysql-test/r/drop_temp_table.result:
        results changed
      mysql-test/r/mix_innodb_myisam_binlog.result:
        results changed
      mysql-test/r/mysqlbinlog.result:
        results changed
      mysql-test/r/rpl_temporary.result:
        results changed
      mysql-test/t/mysqlbinlog.test:
        Check roll-forward recovery from binlog where there are DROP temporary tables created
        in koi8r.
      mysql-test/t/rpl_temporary.test:
        Check slave digests binlog with DROP temporary tables created in koi8r.
      sql/mysql_priv.h:
        `write_binlog_with_system_charset()' is added to be called when a binlog event
        is created "implicitly" like DROP temporary table is case of closing connection.
      sql/sql_base.cc:
        Idea of the fix is to switch temporary to system_charset_info when a temporary table
        is DROPped for binlog. Since that is the server, not the client, who generates the query
        the binlog should be updated on server's encoding for the coming DROP.
      c23c38fa
    • unknown's avatar
  8. 08 May, 2006 1 commit
    • unknown's avatar
      Bug#10418: LOAD_FILE does not behave like in manual if file does not exist · dd934da9
      unknown authored
      load_file() string-function should return NULL rather than throw an error if
      the file doesn't exist, as per the manual.
      
      
      mysql-test/t/outfile.test:
        expect NULL rather than error if file given to load_file() doesn't exist
      mysql-test/t/func_str.test:
        show that load_file() will return NULL rather than throw an error
        if file doesn't exist
      mysql-test/r/outfile.result:
        expect NULL rather than error if file given to load_file() doesn't exist
      mysql-test/r/func_str.result:
        expect NULL rather than error if file given to load_file() doesn't exist
      sql/item_strfunc.cc:
        load_file() should return NULL as per the docs if file not found,
        rather than throw an error
      dd934da9
  9. 07 May, 2006 3 commits
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1 · e4e67d58
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-4.1
      
      
      e4e67d58
    • unknown's avatar
      Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/4.1 · ce6a2d32
      unknown authored
      into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/4.1-bug19136_unass_user_var
      
      
      sql/item_func.cc:
        Auto merged
      ce6a2d32
    • unknown's avatar
      Fixed bug #14927. · 375749b8
      unknown authored
      A query with a group by and having clauses could return a wrong
      result set if the having condition contained a constant conjunct 
      evaluated to FALSE.
      It happened because the pushdown condition for table with
      grouping columns lost its constant conjuncts.
      Pushdown conditions are always built by the function make_cond_for_table
      that ignores constant conjuncts. This is apparently not correct when
      constant false conjuncts are present.
      
      
      
      mysql-test/r/having.result:
        Added a test case for bug #14927.
      mysql-test/t/having.test:
        Added a test case for bug #14927.
      sql/sql_lex.cc:
        Fixed bug #14927.
        Initialized fields for having conditions in  st_select_lex::init_query().
      sql/sql_lex.h:
        Fixed bug #14927.
        Added a field to restore having condititions for execution in SP and PS.
      sql/sql_prepare.cc:
        Fixed bug #14927.
        Added code to restore havinf conditions for execution in SP and PS.
      sql/sql_select.cc:
        Fixed bug #14927.
        Performed evaluation of constant expressions in having clauses.
        If the having condition contains a constant conjunct that is always false
        an empty result set is returned after the optimization phase.
        In this case the corresponding EXPLAIN command now returns 
        "Impossible HAVING" in the last column.
      375749b8
  10. 06 May, 2006 8 commits
  11. 05 May, 2006 4 commits
    • unknown's avatar
      Bug#19136: Crashing log-bin and uninitialized user variables in a derived table · 4ab4631b
      unknown authored
      The reason of the bug is in that `get_var_with_binlog' performs missed
      assingment of
      the variables as side-effect. Doing that it eventually calls
      `free_underlaid_joins' to pass as an argument `thd->lex->select_lex' of the lex
      which belongs to the user query, not 
      to one which is emulated i.e SET @var1:=NULL.
      
      
      `get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
      
      
      mysql-test/r/rpl_user_variables.result:
        results changed
      mysql-test/t/rpl_user_variables.test:
        a problematic query to be binlogged is added
      sql/item_func.cc:
        BUG#19136: Crashing log-bin and uninitialized user variables
        
        The reason of the bug is in that how `get_var_with_binlog' performs missed
        assingment of the variables: `free_underlaid_joins' gets as an argument `thd->lex->select_lex'
        which belongs to the user query, not to one which is emulated i.e SET @var1:=NULL.
        
        `get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
      4ab4631b
    • unknown's avatar
      Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1 · 8515e8f0
      unknown authored
      into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16372
      
      
      8515e8f0
    • unknown's avatar
      Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1 · c29fc77c
      unknown authored
      into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16372
      
      
      c29fc77c
    • unknown's avatar
      Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1 · 5f7fec79
      unknown authored
      into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
      
      
      5f7fec79
  12. 04 May, 2006 9 commits