1. 19 Jun, 2007 1 commit
    • unknown's avatar
      Bug #28677: SELECT on missing column gives extra error · de54493e
      unknown authored
      Manual edit in order to merge from mysql-5.0 tree.
      
      
      sql/sql_insert.cc:
        Bug#28677: Manual merge from 5.0:
        - moved everything beyond producing an error message out of select_insert::send_error 
          and into new override select_insert::abort() 
        - made corresponding move of code from select_create::send_error to
      de54493e
  2. 18 Jun, 2007 2 commits
    • unknown's avatar
      Merge linux-st28.site:/home/martin/mysql/src/bug28677/my50-bug28677 · 0578f745
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug28677/my51-bug28677
      
      
      sql/sql_class.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_insert.cc:
        C
        c
      0578f745
    • unknown's avatar
      Bug#28677: SELECT on missing column gives extra error · 3d31e3d6
      unknown authored
      The method select_insert::send_error does two things, it rolls back a statement
      being executed and outputs an error message. But when a 
      nonexistent column is referenced, an error message has been published already and
      there is no need to publish another.
      Fixed by moving all functionality beyond publishing an error message into 
      select_insert::abort() and calling only that function.
      
      
      mysql-test/r/errors.result:
        Bug#28677: test result
      mysql-test/t/errors.test:
        Bug#28677: test case
      sql/sql_class.h:
        Bug#28677: overriding abort()
      sql/sql_insert.cc:
        Bug#28677: 
        - moved everything beyond producing an error message out of select_insert::send_error 
        and into new override select_insert::abort() 
        - made corresponding move of code from select_create::send_error to select_create::abort
      sql/sql_select.cc:
        Bug#28677: No need to pusblish an error here
      3d31e3d6
  3. 11 Jun, 2007 5 commits
    • unknown's avatar
      grant2.result: · 023f3dd0
      unknown authored
        Post merge fix.
      
      
      mysql-test/r/grant2.result:
        Post merge fix.
      023f3dd0
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql · bbef78f4
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/grant2.test:
        Auto merged
      mysql-test/t/view.test:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      mysql-test/r/grant2.result:
        SCCS merged
      mysql-test/r/information_schema.result:
        SCCS merged
      mysql-test/t/information_schema.test:
        SCCS merged
      sql/sql_table.cc:
        SCCS merged
      bbef78f4
    • unknown's avatar
      error_simulation.result, item.cc, subselect.result, error_simulation.test: · 2b42067f
      unknown authored
        Post merge fix.
      
      
      mysql-test/t/error_simulation.test:
        Post merge fix.
      mysql-test/r/subselect.result:
        Post merge fix.
      mysql-test/r/error_simulation.result:
        Post merge fix.
      sql/item.cc:
        Post merge fix.
      2b42067f
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql · 68a530d4
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      sql/filesort.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Manually merged
      mysql-test/t/subselect.test:
        Manually merged
      68a530d4
    • unknown's avatar
      item_cmpfunc.cc, field.cc, sql_insert.cc, sql_class.h, sql_yacc.yy: · 8becfb5f
      unknown authored
        Post merge fix.
      
      
      sql/sql_yacc.yy:
        Post merge fix.
      sql/sql_insert.cc:
        Post merge fix.
      sql/sql_class.h:
        Post merge fix.
      sql/item_cmpfunc.cc:
        Post merge fix.
      sql/field.cc:
        Post merge fix.
      8becfb5f
  4. 10 Jun, 2007 1 commit
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql · 237a1d22
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      mysql-test/r/gis.result:
        Auto merged
      mysql-test/r/subselect.result:
        Auto merged
      mysql-test/t/gis.test:
        Auto merged
      mysql-test/t/subselect.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      mysql-test/include/mix1.inc:
        Manually merged
      mysql-test/r/innodb_mysql.result:
        Manually merged
      mysql-test/r/type_datetime.result:
        Manually merged
      mysql-test/t/type_datetime.test:
        Manually merged
      sql/field.h:
        Manually merged
      sql/sql_select.cc:
        Manually merged
      sql/sql_yacc.yy:
        Manually merged
      tests/mysql_client_test.c:
        Manually merged
      237a1d22
  5. 09 Jun, 2007 5 commits
    • unknown's avatar
      Bug#28266 IS_UPDATABLE field on VIEWS table in I_S database is wrong · ce4e9f75
      unknown authored
      IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
      the algorithm is not 'temporary'.
      
      
      mysql-test/r/information_schema.result:
        test result
      mysql-test/r/view.result:
        test result
      mysql-test/t/information_schema.test:
        test case
      mysql-test/t/view.test:
        test case
      sql/sql_show.cc:
        IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
        the algorithm is not 'temporary'.
      ce4e9f75
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · a7f51325
      unknown authored
      into  mysql.com:/home/hf/work/28333/my51-28333
      
      
      a7f51325
    • unknown's avatar
      compilation error fix · f65930a9
      unknown authored
      
      mysql-test/include/have_archive.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_blackhole.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_csv.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_exampledb.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_federated_db.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_innodb.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_multi_ndb.inc:
        test fix(according to new 'support' column values)
      mysql-test/include/have_ndb.inc:
        test fix(according to new 'support' column values)
      mysql-test/r/information_schema.result:
        result fix
      f65930a9
    • unknown's avatar
      Merge mysql.com:/home/hf/work/28333/my50-28333 · c3684150
      unknown authored
      into  mysql.com:/home/hf/work/28333/my51-28333
      
      
      client/mysqltest.c:
        Auto merged
      c3684150
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d1a8d7f4
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28754-5.0-opt
      
      
      d1a8d7f4
  6. 08 Jun, 2007 6 commits
    • unknown's avatar
      Bug #28333 Test "flush" tries to create a new thread - on only one platform · 99b4321a
      unknown authored
      on PPC/Debian Linux default stack size for a thread is too big.
      As we use default thread settings in mysqltest, the
      thread creation fails if we create lots of threads (as it
      happens in flush.test). So now stack size is explicitly specified
      for the mysqltest
      
      
      client/mysqltest.c:
        Bug #28333 Test "flush" tries to create a new thread - on only one platform
        
        specify appropriate stack size for the 'query' thread
      99b4321a
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 22d488e4
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28811
      
      
      22d488e4
    • unknown's avatar
      Bug#27684 undocumented difference between SHOW ENGINES and I_S.ENGINES · 4c2f2ac5
      unknown authored
      Changed SHOW ENGINES to work in the same way as I_S.ENGINES.
      For this: removed the functions mysqld_show_storage_engines and show_handlerton, and
      made SHOW ENGINES work via the common function iter_schema_engines.
      There in no test case because an engine (except of MyISAM) may be not compiled or disabled
      which may affect the test result.
      
      
      sql/sql_parse.cc:
        Changed SHOW ENGINES to work in the same way as I_S.ENGINES.
      sql/sql_show.cc:
        Changed SHOW ENGINES to work in the same way as I_S.ENGINES.
        For this: removed the functions mysqld_show_storage_engines and show_handlerton, and
        made SHOW ENGINES work via the common function iter_schema_engines.
      4c2f2ac5
    • unknown's avatar
      Bug #28754: RPM builds differ from tar.gz in "ALTER ... RENAME" on views · 2b274a60
      unknown authored
       When constructing the path to the original .frm file ALTER .. RENAME
       was unnecessary (and incorrectly) lowercasing the whole path when not 
       on a case-insensitive filesystem.
       This path should not be modified because of lower_case_table_names
       as it is already in the correct case according to that setting.
       Fixed by removing the lowercasing.
       Unfortunately testing this would require running the tests on a case
       sensitive filesystem in a directory that has uppercase letters.
       This cannot be guaranteed in all setups so no test case added.
      
      
      sql/sql_table.cc:
        Bug #28754: don't downcase the .frm path
      2b274a60
    • unknown's avatar
      Bug#18660 Can't grant any privileges on single table in database with underscore char · 5031a418
      unknown authored
      In case of database level grant the database name may be a pattern,
      in case of table|column level grant the database name can not be a pattern.
      We use 'dont_check_global_grants' as a flag to determine
      if it's database level grant command 
      (see SQLCOM_GRANT case, mysql_execute_command() function) and
      set db_is_pattern according to 'dont_check_global_grants' value.
      
      
      mysql-test/r/grant2.result:
        test result
      mysql-test/t/grant2.test:
        test case
      sql/sql_parse.cc:
        In case of database level grant the database name may be a pattern,
        in case of table|column level grant the database name can not be a pattern.
        We use 'dont_check_global_grants' as a flag to determine
        if it's database level grant command 
        (see SQLCOM_GRANT case, mysql_execute_command() function) and
        set db_is_pattern according to 'dont_check_global_grants' value.
      5031a418
    • unknown's avatar
      Fixed bug #28811: crash for a query containing a subquery with · d8e2f262
      unknown authored
      ORDER BY and LIMIT 1. 
      The bug was introduced by the patch for bug 21727. The patch
      erroneously skipped initialization of the array of headers
      for sorted records for non-first evaluations of the subquery.
      
      To fix the problem a new parameter has been added to the
      function make_char_array that performs the initialization.
      Now this function is called for any invocation of the 
      filesort procedure. Yet it allocates the buffer for sorted
      records only if this parameter is NULL.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28811.
      mysql-test/t/subselect.test:
        Added a test case for bug #28811.
      d8e2f262
  7. 07 Jun, 2007 8 commits
    • unknown's avatar
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5a148ba5
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28763-bug-5.0-opt-mysql
      
      
      5a148ba5
    • unknown's avatar
      Bug#28763: Selecting geometry fields in UNION caused server crash. · 18310fab
      unknown authored
      This bug was introduced by the fix for the bug#27300. In this fix a section
      of code was added to the Item::tmp_table_field_from_field_type method.
      This section intended to create Field_geom fields for the Item_geometry_func
      class and its descendants. In order to get the geometry type of the current
      item it casted "this" to the Item_geometry_func* type. But the
      Item::tmp_table_field_from_field_type method is also used for creation of
      fields for UNION and in this case this method is called for an object of the
      Item_type_holder class and the cast to the Item_geometry_func* type causes 
      a server crash.
      
      Now the Item::tmp_table_field_from_field_type method correctly works when it's
      called for both the Item_type_holder and the Item_geometry_func classes.
      The new geometry_type variable is added to the Item_type_holder class.
      The new method called get_geometry_type is added to the Item_field
      and the Field classes. It returns geometry type from the field for the
      Item_field and the Field_geom classes and fails an assert for other Field
      descendants.
      
      
      sql/field.h:
        Bug#28763: Selecting geometry fields in UNION caused server crash.
        The new method called get_geometry_type is added to the Field class.
        It returns geometry type of the field for the Field_geom class
        and fails an assert for other Field descendants.
      sql/item.cc:
        Bug#28763: Selecting geometry fields in UNION caused server crash.
        Now the Item::tmp_table_field_from_field_type method correctly works when it's
        called for both the Item_type_holder and the Item_geometry_func classes.
      mysql-test/r/gis.result:
        Added a test case for the bug#28763: Selecting geometry fields in UNION caused server crash.
      mysql-test/t/gis.test:
        Added a test case for the bug#28763: Selecting geometry fields in UNION caused server crash.
      sql/item.h:
        Bug#28763: Selecting geometry fields in UNION caused server crash.
        The new method called get_geometry_type is added to the Item_field class.
        It returns geometry type from the field.
        The new geometry_type variable is added to the Item_type_holder class.
      18310fab
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 2ad83203
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28449
      
      
      2ad83203
    • unknown's avatar
      bug #28309 First insert violates UNIQUE constraint - was "memory" table empty? · a42a9777
      unknown authored
        
      If we have lower_case_table_names == 2 (usually on case insensitive file
      systems) we sometimes make 'homedir' part of the path sent to the
      handler into lowercase. So in this case HEAP engine couldn't properly
      find and remove HP_SHARE, what caused the bug.
      
      
      sql/handler.cc:
        bug #28309 First insert violates UNIQUE constraint - was "memory" table empty?
            
        we don't turn homedirectory part of the path into lowercase
      sql/mysql_priv.h:
        bug #28309 First insert violates UNIQUE constraint - was "memory" table empty?
            
        mysql_data_home_len introduced
      sql/mysqld.cc:
        bug #28309 First insert violates UNIQUE constraint - was "memory" table empty?
            
        mysql_data_home_len value is set with the mysql_data_home
      a42a9777
    • unknown's avatar
      Fixed bug #28449: a crash may happen at some rare conditions when · 89d96dd4
      unknown authored
      a temporary table has grown out of heap memory reserved for it and 
      the remaining disk space is not big enough to store the table as
      a MyISAM table.
      
      The crash happens because the function create_myisam_from_heap
      does not handle safely the mem_root structure associated 
      with the converted table in the case when an error has occurred.
      
      
      sql/sql_select.cc:
        Fixed bug #28449: a crash may happen at some rare conditions when
        a temporary table has grown out of heap memory reserved for it and 
        the remaining disk space is not big enough to store the table as
        a MyISAM table.
        
        The crash happens because the function create_myisam_from_heap
        does not handle safely the mem_root structure associated 
        with the converted table in the case when an error has occurred.
        
        As it's hard to create a sitiation that would throw an error 
        a special code has been added that raises an error for a newly 
        created test called error_simulation.
      mysql-test/r/error_simulation.result:
        New BitKeeper file ``mysql-test/r/error_simulation.result''
        
        Added a test case for bug #28449.
      mysql-test/t/error_simulation-master.opt:
        New BitKeeper file ``mysql-test/t/error_simulation-master.opt''
      mysql-test/t/error_simulation.test:
        New BitKeeper file ``mysql-test/t/error_simulation.test''
        
        Added a test case for bug #28449.
      89d96dd4
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 81d32d9a
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28878-5.0-opt
      
      
      81d32d9a
    • unknown's avatar
      Bug#28878: InnoDB tables with UTF8 character set and indexes cause · 970b26e6
      unknown authored
      wrong result for DML
      When making key reference buffers over CHAR fields whitespace (0x20) 
      must be used to fill in the remaining space in the field's buffer.
      This is what Field_string::store() does.
      Fixed Field_string::get_key_image() to do the same.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug#28878: test case
      mysql-test/t/innodb_mysql.test:
        Bug#28878: test case
      sql/field.cc:
        Bug#28878: Fill with space instead of binary zeros.
      970b26e6
  8. 06 Jun, 2007 7 commits
    • unknown's avatar
      Bug#28505: mysql_affected_rows() may return wrong result if CLIENT_FOUND_ROWS · 8d0d27b5
      unknown authored
      flag is set.
      
      When the CLIENT_FOUND_ROWS flag is set then the server should return
      found number of rows independently whether they were updated or not.
      But this wasn't the case for the INSERT statement which always returned
      number of rows that were actually changed thus providing wrong info to
      the user.
      
      Now the select_insert::send_eof method and the mysql_insert function
      are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.
      
      
      tests/mysql_client_test.c:
        Added a test case for the bug#28505: mysql_affected_rows() may return wrong result
        if CLIENT_FOUND_ROWS flag is set.
      sql/sql_insert.cc:
        Bug#28505: mysql_affected_rows() may return wrong result if CLIENT_FOUND_ROWS
        flag is set.
        Now the select_insert::send_eof method and the mysql_insert function
        are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.
      8d0d27b5
    • unknown's avatar
      after merge fix · 64c6a91d
      unknown authored
      64c6a91d
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · 98c7c87e
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      mysql-test/r/subselect.result:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      mysql-test/t/subselect.test:
        manual merge
      98c7c87e
    • unknown's avatar
      Bug#28553 mysqld crash in "purge master log before(select time from information_schema)" · 593afb6a
      unknown authored
      forbid the use of subselect in PURGE LOGS BEFORE command
      
      
      mysql-test/r/subselect.result:
        test result
      mysql-test/t/subselect.test:
        test case
      sql/sql_yacc.yy:
        forbid the use of subselect in PURGE LOGS BEFORE command
      593afb6a
    • unknown's avatar
      Bug#28007 Wrong default value for I_S.PARTITIONS.PARTITION_COMMENT · 62e88b77
      unknown authored
      The value of the PARTITION_COMMENT column is an empty string if there is no partition comment.
      
      
      mysql-test/r/information_schema_part.result:
        result fix
      mysql-test/r/ndb_dd_alter.result:
        result fix
      mysql-test/r/ndb_dd_backuprestore.result:
        result fix
      mysql-test/r/ndb_partition_range.result:
        result fix
      sql/sql_show.cc:
        The value of the PARTITION_COMMENT column is an empty string if there is no partition comment.
      62e88b77
    • unknown's avatar
      Bug#28580 Repeatation of status variables · 64255a37
      unknown authored
      removed duplicated variable declarations
      
      
      mysql-test/r/variables.result:
        test result
      mysql-test/t/variables.test:
        test case
      sql/set_var.cc:
        removed duplicated variable declarations
      64255a37
    • unknown's avatar
      merging fix · a6f7f8a4
      unknown authored
      a6f7f8a4
  9. 05 Jun, 2007 3 commits
    • unknown's avatar
      Bug#28778: Wrong result of BETWEEN when comparing a DATETIME field with an · 0304a13e
      unknown authored
      integer constants.
      
      This bug is introduced by the fix for bug#16377. Before the fix the 
      Item_func_between::fix_length_and_dec method converted the second and third
      arguments to the type of the first argument if they were constant and the first
      argument is of the DATE/DATETIME type. That approach worked well for integer
      constants and sometimes produced bad result for string constants. The fix for
      the bug#16377 wrongly removed that code at all and as a result of this the
      comparison of a DATETIME field and an integer constant was carried out in a
      wrong way and sometimes led to wrong result sets.
      
      Now the Item_func_between::fix_length_and_dec method converts the second and
      third arguments to the type of the first argument if they are constant, the
      first argument is of the DATE/DATETIME type and the DATETIME comparator isn't
      applicable.
      
      
      sql/item_cmpfunc.cc:
        Bug#28778: Wrong result of BETWEEN when comparing a DATETIME field with an
        integer constants.
        Now the Item_func_between::fix_length_and_dec method converts the second and
        third arguments to the type of the first argument if they are constant, the
        first argument is of the DATE/DATETIME type and the DATETIME comparator isn't
        applicable.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#28778: Wrong result of BETWEEN when comparing a DATETIME
        field with an integer constants.
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#28778: Wrong result of BETWEEN when comparing a DATETIME
        field with an integer constants.
      0304a13e
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · 2c3f6157
      unknown authored
      into  mysql.com:/home/hf/work/28477/my51-28477
      
      
      sql/sql_table.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      2c3f6157
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 467d3669
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28488-5.1-opt
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_partition.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      467d3669
  10. 04 Jun, 2007 2 commits
    • unknown's avatar
      Bug #28488: Incorrect information in file: './test/t1_test#.frm' · fce63f8f
      unknown authored
      While executing ALTER TABLE ... PARTITION the server uses 
      a temporary "shadow" table to create the updated table.
      This shadow table then gets renamed as the original table.
      The shadow table was not prefixed with the special prefix that
      marks temporary tables so it was picked up by SHOW TABLE STATUS.
      Fixed by isolating the code to create the shadow table name in a
      separate function and prefixing the shadow table name with the
      special prefix to exclude it from the list of user tables.
      See bug 18775 and WL1324 for details.
      
      
      mysql-test/r/partition.result:
        Bug #28488: test case
      mysql-test/t/partition.test:
        Bug #28488: test case
      sql/mysql_priv.h:
        Bug #28488: prefix shadow file with the temp prefix
      sql/sql_partition.cc:
        Bug #28488: prefix shadow file with the temp prefix
      sql/sql_table.cc:
        Bug #28488: prefix shadow file with the temp prefix
      fce63f8f
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · ddf48bed
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.1-opt
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      sql/udf_example.c:
        Auto merged
      ddf48bed