An error occurred fetching the project authors.
  1. 18 Dec, 2004 1 commit
    • unknown's avatar
      Add 0x before pointers (to help with debugging) · 8eaef91f
      unknown authored
      Add support for VARCHAR with 1 or 2 length bytes
      Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
      Give error if we got problems in temporary tables during a SELECT
      Don't use new table generated by ALTER TABLE if index generation fails
      Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
      
      
      BUILD/SETUP.sh:
        Add flags for Intel 64
      dbug/dbug.c:
        Add 0x before pointers (to help with debugging)
      heap/_check.c:
        Add 0x before pointers (to help with debugging)
      heap/hp_create.c:
        Add support for VARCHAR with 1 or 2 length bytes
      heap/hp_delete.c:
        Add 0x before pointers
      heap/hp_hash.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Added more debugging
      heap/hp_open.c:
        Add 0x before pointers
      heap/hp_rkey.c:
        Add 0x before pointers
      heap/hp_rrnd.c:
        Add 0x before pointers
      heap/hp_write.c:
        Add 0x before pointers
      include/my_base.h:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/ft_static.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/ft_test1.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Fixed indentation
        (This file should probably be deleted as it doesn't compile)
      myisam/ft_update.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Fixed indentation
        Removed some not needed 'else'
      myisam/mi_check.c:
        Don't give an error for tables packed with myisampack
      myisam/mi_checksum.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_create.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Store in number of pack-length-bytes in keyseg->bit_start
      myisam/mi_dbug.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_dynrec.c:
        Add support for VARCHAR with 1 or 2 length bytes
        (old code in _mi_rec_unpack() didn't really work with VARCHAR's)
      myisam/mi_key.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_open.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_packrec.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_search.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test1.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test3.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test_all.res:
        Update results
      myisam/mi_unique.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/myisampack.c:
        Add support for VARCHAR with 1 or 2 length bytes
      mysql-test/include/varchar.inc:
        Added more tests
      mysql-test/r/bdb.result:
        Update results after new tests
      mysql-test/r/information_schema.result:
        Update results
      mysql-test/r/innodb.result:
        Update results
      mysql-test/r/myisam.result:
        Update results after new tests
      mysql-test/r/ps_1general.result:
        Update results
      mysql-test/t/bdb.test:
        Shorter comments
      mysys/list.c:
        Add 0x before pointers
      mysys/my_handler.c:
        Add support for VARCHAR with 1 or 2 length bytes
      mysys/raid.cc:
        Add 0x before pointers
      sql/field.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/field.h:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/field_conv.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_berkeley.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_heap.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_myisam.cc:
        Ensure that enable_indexes() will report an error if it fails
        Enable VARCHAR packing for MyISAM files
      sql/item_sum.cc:
        Change key_cmp -> cmp() as we are comparing fields, not key segements
      sql/opt_range.cc:
        Add support for VARCHAR with 1 or 2 length bytes
        Change range_end to call ha_index_or_rnd_end() as in some error cases we may be in rnd mode when we abort
      sql/sql_base.cc:
        Remove compiler warning
      sql/sql_parse.cc:
        Move length checking code to sql_table.cc (as we don't have character set for fields at this stage)
      sql/sql_select.cc:
        Add support for VARCHAR with 1 or 2 length bytes
        Ensure that we report an error if we get an error while writing to internal temporary tables
      sql/sql_select.h:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/sql_show.cc:
        Fix typo in comment
      sql/sql_table.cc:
        Don't use new table generated by ALTER TABLE if index generation fails
      vio/vio.c:
        Fixed DBUG info
      vio/viosocket.c:
        Fixed DBUG info
      vio/viossl.c:
        Fixed DBUG info
      vio/viosslfactories.c:
        Fixed DBUG info
      8eaef91f
  2. 14 Dec, 2004 1 commit
    • unknown's avatar
      * Added comments and one assert · 8322eb0a
      unknown authored
       * Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      
      
      sql/item.cc:
         * More comments
         * Backport of safety measures from 5.0: make numeorous replaces:
            s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item.h:
        Assert added
      sql/item_cmpfunc.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_func.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_strfunc.h:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_subselect.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_sum.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/set_var.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_base.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_handler.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_help.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_select.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      8322eb0a
  3. 07 Dec, 2004 1 commit
    • unknown's avatar
      postreview fix · 86f19614
      unknown authored
      sql/item_cmpfunc.cc:
        comment fixed
      sql/item_subselect.cc:
        comment fixed
        debug info and inherited method call
      sql/item_subselect.h:
        comment fixed
      sql/item_sum.cc:
        comment fixed
      sql/item_sum.h:
        comment fixed
      86f19614
  4. 06 Dec, 2004 1 commit
    • unknown's avatar
      Add support for up to VARCHAR (size up to 65535) · a8ea31fa
      unknown authored
      Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
      Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
      Added support for VARCHAR KEYS to heap
      Removed support for ISAM
      Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
      Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
      
      
      BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
        Delete: sql/ha_isam.cc
      BitKeeper/deleted/.del-_cache.c~b5d80b5c3ae233b1:
        Delete: isam/_cache.c
      BitKeeper/deleted/.del-_dbug.c~88d7964ae5e3c9bd:
        Delete: isam/_dbug.c
      BitKeeper/deleted/.del-_dynrec.c~48dd758f5a5450df:
        Delete: isam/_dynrec.c
      BitKeeper/deleted/.del-_key.c~ce62d47a6c681084:
        Delete: isam/_key.c
      BitKeeper/deleted/.del-_locking.c~dea4cdc6ea425c67:
        Delete: isam/_locking.c
      BitKeeper/deleted/.del-_packrec.c~47ae1b16c007e9be:
        Delete: isam/_packrec.c
      BitKeeper/deleted/.del-_page.c~148b1a613d052ee8:
        Delete: isam/_page.c
      BitKeeper/deleted/.del-_search.c~f509292aa1ff18ff:
        Delete: isam/_search.c
      BitKeeper/deleted/.del-_statrec.c~58d9263b3475d58b:
        Delete: isam/_statrec.c
      BitKeeper/deleted/.del-changed.c~d075de80a314b02d:
        Delete: isam/changed.c
      BitKeeper/deleted/.del-close.c~fd62629496ee5bcc:
        Delete: isam/close.c
      BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
        Delete: isam/create.c
      BitKeeper/deleted/.del-delete.c~65ee8daaa75a14b6:
        Delete: isam/delete.c
      BitKeeper/deleted/.del-extra.c~706f29d72beb2565:
        Delete: isam/extra.c
      BitKeeper/deleted/.del-info.c~96cfb747af8da0d:
        Delete: isam/info.c
      BitKeeper/deleted/.del-isamchk.c~c0f59c2687d2248f:
        Delete: isam/isamchk.c
      BitKeeper/deleted/.del-isamlog.c~85b6b31c6e2b8519:
        Delete: isam/isamlog.c
      BitKeeper/deleted/.del-log.c~55a973013d55cade:
        Delete: isam/log.c
      BitKeeper/deleted/.del-open.c~95b3b75042fae00a:
        Delete: isam/open.c
      BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
        Delete: isam/pack_isam.c
      BitKeeper/deleted/.del-panic.c~f7fd71605324f8f3:
        Delete: isam/panic.c
      BitKeeper/deleted/.del-range.c~142f1f8ac4948082:
        Delete: isam/range.c
      BitKeeper/deleted/.del-rfirst.c~66f494291dc005d3:
        Delete: isam/rfirst.c
      BitKeeper/deleted/.del-rkey.c~cc54c6498352f999:
        Delete: isam/rkey.c
      BitKeeper/deleted/.del-rlast.c~d1fe1866139e9866:
        Delete: isam/rlast.c
      BitKeeper/deleted/.del-rnext.c~b308eaa1e11ea7de:
        Delete: isam/rnext.c
      BitKeeper/deleted/.del-rprev.c~b359f71fdea4bbce:
        Delete: isam/rprev.c
      BitKeeper/deleted/.del-rrnd.c~7fcfcce88d4a5200:
        Delete: isam/rrnd.c
      BitKeeper/deleted/.del-rsame.c~75a62d5548103a15:
        Delete: isam/rsame.c
      BitKeeper/deleted/.del-rsamepos.c~5b5652dd2cda6d5d:
        Delete: isam/rsamepos.c
      BitKeeper/deleted/.del-sort.c~e2e56b5a37ce86f4:
        Delete: isam/sort.c
      BitKeeper/deleted/.del-static.c~3a1354b84f4a9cc7:
        Delete: isam/static.c
      BitKeeper/deleted/.del-test1.c~64d52e9412d457ed:
        Delete: isam/test1.c
      BitKeeper/deleted/.del-test2.c~2f9a632cab572958:
        Delete: isam/test2.c
      BitKeeper/deleted/.del-test3.c~e8a7a4afe8a087:
        Delete: isam/test3.c
      BitKeeper/deleted/.del-isamdef.h~ac8d49e7e2201c66:
        Delete: isam/isamdef.h
      BitKeeper/deleted/.del-update.c~670264f51dc44934:
        Delete: isam/update.c
      BitKeeper/deleted/.del-write.c~8f1918b1f6770e54:
        Delete: isam/write.c
      BitKeeper/deleted/.del-Makefile.am~6cfa0db5e7778d09:
        Delete: isam/Makefile.am
      BitKeeper/deleted/.del-make-ccc~3ee55391eda0b0ab:
        Delete: isam/make-ccc
      BitKeeper/deleted/.del-ChangeLog~208984fb7a51e568:
        Delete: isam/ChangeLog
      BitKeeper/deleted/.del-test_all.res~c2aafb49a3a77db7:
        Delete: isam/test_all.res
      BitKeeper/deleted/.del-test_all~93c701e44a9c5b65:
        Delete: isam/test_all
      BitKeeper/deleted/.del-.cvsignore~54f6f0f2d5012561:
        Delete: isam/.cvsignore
      BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
        Delete: sql/ha_isammrg.cc
      BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
        Delete: sql/ha_isam.h
      BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
        Delete: sql/ha_isammrg.h
      acinclude.m4:
        Remove ISAM
      client/mysqldump.c:
        FIELD_TYPE -> MYSQL_TYPE
      client/mysqltest.c:
        Add missing DBUG_RETURN
      configure.in:
        Remove ISAM
      heap/heapdef.h:
        Add support for VARCHAR
      heap/hp_create.c:
        Add support for VARCHAR
      heap/hp_delete.c:
        Add support for VARCHAR
      heap/hp_hash.c:
        Add support for VARCHAR
        (VARCHAR keys was not supported before)
      heap/hp_rkey.c:
        Add support for VARCHAR
      heap/hp_update.c:
        Add support for VARCHAR
      heap/hp_write.c:
        Add support for VARCHAR
        (Added flag SEARCH_UPDATE to mark that this is an update)
      include/decimal.h:
        Remove not needed my_global.h
      include/m_ctype.h:
        Add support for VARCHAR
      include/my_base.h:
        Add support for VARCHAR
      include/my_handler.h:
        Moved general purpose macro from MyISAM code
      include/mysql_com.h:
        Add support for VARCHAR
      libmysql/libmysql.c:
        Add support for VARCHAR
      libmysqld/Makefile.am:
        Removed ISAM
      myisam/ft_static.c:
        Add support for VARCHAR
      myisam/ft_test1.c:
        Add support for VARCHAR
      myisam/ft_update.c:
        Add support for VARCHAR
      myisam/mi_check.c:
        Add support for VARCHAR
      myisam/mi_create.c:
        Add support for VARCHAR
        - VARCHAR key segments are marked with HA_VAR_LENGTH_PART
      myisam/mi_key.c:
        Add support for VARCHAR
        Fixed bug in old VARCHAR code when reading index-only
      myisam/mi_range.c:
        Fixed comment style
      myisam/mi_rnext_same.c:
        Handle case where equal keys can be of different length
      myisam/mi_search.c:
        Add support for VARCHAR
      myisam/mi_test1.c:
        Add support for VARCHAR
      myisam/mi_unique.c:
        Add support for VARCHAR
        (Some new code to handle keys that are equal but have different lengths)
      myisam/mi_write.c:
        Fixed comment
      myisam/myisamchk.c:
        Better infotext if wrong type
      mysql-test/r/bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/create.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ctype_tis620.result:
        Updated old result and new results for VARCHAR
        (Old code sorted tis620 wrong)
      mysql-test/r/ctype_ucs.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/endspace.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/func_like.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/innodb.result:
        Updated old result. This will change a bit when also InnoDB supports VARCHAR
      mysql-test/r/merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/mysqldump.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/order_by.result:
        Updated old result and new results for VARCHAR
        (Key length is different for VARCHAR)
      mysql-test/r/ps.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_1general.result:
        Updated results for new .frm version
        Don't print seconds in show full process list as this may change
      mysql-test/r/ps_2myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_3innodb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_4heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_5merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_6bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select.result.es:
        Updated results by hand
      mysql-test/r/select.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select_found.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/show_check.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/strict.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/subselect.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/system_mysql_db.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_blob.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result.es:
        Updated some results by hand
      mysql-test/t/bdb.test:
        Test VARCHAR
      mysql-test/t/ctype_ucs.test:
        Some fixes related to VARCHAR
      mysql-test/t/endspace.test:
        Fixes to make it easier to compare columns with end space
      mysql-test/t/heap.test:
        Test VARCHAR
      mysql-test/t/innodb.test:
        Prepare for testing VARCHAR
      mysql-test/t/myisam.test:
        Test VARCHAR
      mysql-test/t/ps_1general.test:
        Don't show seconds for show processlist
      mysql-test/t/ps_4heap.test:
        Update for VARCHAR
      mysql-test/t/strict.test:
        Fix test for VARCHAR
      mysql-test/t/type_blob.test:
        Update test for VARCHAR
        Note that now you can't store 'a' and 'a ' in an unique varchar/text index if the column is not binary
      mysys/my_handler.c:
        Add support for VARCHAR
      ndb/src/common/util/NdbSqlUtil.cpp:
        Fix for usage of strnncollsp
      scripts/mysql_fix_privilege_tables.sh:
        Simple fix so that my_print_defaults works
      sql/Makefile.am:
        Remove ISAM
      sql/field.cc:
        Add support for VARCHAR
        Fixed the keys for blob's are compared with strnncollsp
        Ensure that old tables from MySQL 4.0 works as they did before.
        (Old VARCHAR will be converted to new VARCHAR on ALTER TABLE)
      sql/field.h:
        Add support for VARCHAR
      sql/field_conv.cc:
        Change FIELD_TYPE_VAR_STRING -> MYSQL_TYPE_VARCHAR
        Added usage of HA_KEY_BLOB_LENGTH
      sql/ha_berkeley.cc:
        Add support for VARCHAR
        Added usage of table->insert_or_update if we would ever want to know in key_cmp if we are changing keys
      sql/ha_heap.cc:
        Add support for VARCHAR
      sql/ha_innodb.cc:
        Changed MYSQL_TYPE_VAR_STRING to MYSQL_TYPE_VARCHAR.
        Waiting for Heikki to add full VARCHAR support
      sql/ha_innodb.h:
        InnoDB doesn't support full VARCHAR yet
      sql/ha_myisam.cc:
        Add support for VARCHAR
      sql/ha_ndbcluster.cc:
        Add support for VARCHAR
      sql/handler.h:
        Added HA_NO_VARCHAR for table handler that doesn't support VARCHAR. In this case MySQL will create a normal CHAR instead
      sql/item.cc:
        Fixed access of already freed memory
        Added support of VARCHAR
        - varchar length is now checked in mysql_prepare
      sql/item_cmpfunc.cc:
        Added new parameter to strncollsp
      sql/item_sum.cc:
        Added new parameter to strncollsp
        FIELD_TYPE -> MYSQL_TYPE
      sql/key.cc:
        Add support for VARCHAR
      sql/opt_range.cc:
        Remove character set parameter from set_key_image()
      sql/opt_sum.cc:
        Remove character set parameter from set_key_image()
      sql/protocol.cc:
        Return MYSQL_TYPE_VAR_STRING instead of MYSQL_TYPE_VARCHAR to clients (to not cause compatiblity problems)
      sql/sql_acl.cc:
        Change key handling code so that we can use CHAR or VARCHAR for the user table columns
      sql/sql_base.cc:
        Remove old, not used code
      sql/sql_help.cc:
        Remove charset from get_key_image
      sql/sql_parse.cc:
        Ensure that OPTION_TABLE_LOCK is cleared ASAP; This fixed a problem in BDB transaction code when one used LOCK TABLES on a BDB table
        Added support for VARCHAR
        Moved field length checking and VARCHAR -> TEXT convert to mysql_prepare (as we need the know the character set for the column)
      sql/sql_select.cc:
        Added support of VARCHAR
        Added heuristic to use fixed size rows for tmp tables if we are using only a few short VARCHAR's
      sql/sql_string.cc:
        Added extra argument to strnncollsp
      sql/sql_table.cc:
        Add support for VARCHAR
        Automaticly convert (with warning) big VARCHAR (but not CHAR) to TEXT
        If handler doesn't support VARCHAR convert VARCHAR to CHAR
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_yacc.yy:
        Add support for VARCHAR
      sql/strfunc.cc:
        Fixed valgrind warning
      sql/structs.h:
        Added 'table' to KEY structure to make life easier for some handler functions
      sql/table.cc:
        Add support for VARCHAR
        - New .frm version
        - FIELD_TYPE -> MYSQL_TYPE
      sql/table.h:
        Added insert_or_update; A bool flag a handler can set/reset if needed (for handler internal usage)
      sql/unireg.h:
        Add support for VARCHAR
      strings/ctype-big5.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-bin.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-czech.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-gbk.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-latin1.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-mb.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-simple.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-sjis.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-tis620.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-uca.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-ucs2.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-utf8.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-win1250ch.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/decimal.c:
        Fixed include files usage
        Fixed some compiler warnings
      tests/client_test.c:
        Ensure tests works with VARCHAR
      a8ea31fa
  5. 19 Nov, 2004 1 commit
    • unknown's avatar
      Bug #6658 MAX(column) returns incorrect coercibility · aa6785d7
      unknown authored
      Also, Item_sum_hybrid->charset was removed as redundant,
      and switched to use collation.collation instead.
      
      
      mysql-test/r/func_group.result:
        Bug #6658 MAX(column) returns incorrect coercibility
      mysql-test/r/func_str.result:
        Bug #6658 MAX(column) returns incorrect coercibility
      mysql-test/t/func_group.test:
        Bug #6658 MAX(column) returns incorrect coercibility
      sql/item_func.cc:
        Bug #6658 MAX(column) returns incorrect coercibility
      sql/item_sum.cc:
        Bug #6658 MAX(column) returns incorrect coercibility
      sql/item_sum.h:
        Bug #6658 MAX(column) returns incorrect coercibility
      aa6785d7
  6. 18 Nov, 2004 1 commit
    • unknown's avatar
      reporting empty result added in case of max/min optimisation of ALL/ANY/SOME subqueries · 9438c2ca
      unknown authored
      fixed null processing in NOT operation used in ALL subquery (Bug #6247)
      
      
      mysql-test/r/subselect.result:
        new tests of ALL/ANY wiews
      mysql-test/t/subselect.test:
        new tests of ALL/ANY wiews
      sql/item_cmpfunc.cc:
        fixed special NOT ALL processing
        fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
      sql/item_cmpfunc.h:
        fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
      sql/item_subselect.cc:
        reporting empty result added for max/min subqueries
      sql/item_subselect.h:
        reporting empty result added for max/min subqueries
      sql/item_sum.cc:
        reporting empty result added fox max/min aggregate functions
      sql/item_sum.h:
        reporting empty result added fox max/min aggregate functions
      sql/sql_class.cc:
        reporting empty result added for max/min subqueries
      sql/sql_parse.cc:
        reporting empty result added for max/min subqueries
      sql/sql_union.cc:
        reporting empty result added for max/min subqueries
      9438c2ca
  7. 12 Nov, 2004 1 commit
    • unknown's avatar
      post-review fixes · 9e921615
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      9e921615
  8. 11 Nov, 2004 1 commit
    • unknown's avatar
      Rename: Item::val -> Item::val_real(). · 2e6fb936
      unknown authored
      sql/filesort.cc:
        val -> val_real
      sql/item.cc:
        val -> val_real
      sql/item.h:
        val -> val_real
      sql/item_buff.cc:
        val -> val_real
      sql/item_cmpfunc.cc:
        val -> val_real
      sql/item_cmpfunc.h:
        val -> val_real
      sql/item_func.cc:
        val -> val_real
      sql/item_func.h:
        val -> val_real
      sql/item_geofunc.cc:
        val -> val_real
      sql/item_geofunc.h:
        val -> val_real
      sql/item_row.h:
        val -> val_real
      sql/item_strfunc.cc:
        val -> val_real
      sql/item_strfunc.h:
        val -> val_real
      sql/item_subselect.cc:
        val -> val_real
      sql/item_subselect.h:
        val -> val_real
      sql/item_sum.cc:
        val -> val_real
      sql/item_sum.h:
        val -> val_real
      sql/item_timefunc.h:
        val -> val_real
      sql/item_uniq.h:
        val -> val_real
      sql/procedure.h:
        val -> val_real
      sql/sp_head.cc:
        val -> val_real
      sql/sql_analyse.cc:
        val -> val_real
      sql/sql_class.cc:
        val -> val_real
      sql/sql_select.cc:
        val -> val_real
      2e6fb936
  9. 09 Nov, 2004 1 commit
    • unknown's avatar
      After merge fixes · db676261
      unknown authored
      Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
      (Before one had to change thd->mem_root ; push_back(); restore mem_root.
      
      
      mysql-test/t/range.test:
        After merge fixRecR
      sql/item_func.cc:
        After merge fix
      sql/item_sum.cc:
        After merge fix
      sql/opt_range.cc:
        After merge fix
      sql/parse_file.cc:
        After merge fix
      sql/sp.cc:
        After merge fix
      sql/sp_head.cc:
        After merge fix
      sql/sp_head.h:
        After merge fix
      sql/sql_base.cc:
        After merge fix
      sql/sql_class.h:
        After merge fix
      sql/sql_list.h:
        Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
        (Before one had to change thd->mem_root ; push_back(); restore mem_root.
      sql/sql_prepare.cc:
        After merge fix
      sql/sql_select.cc:
        After merge fix
      sql/sql_table.cc:
        After merge fix
        Fixed problem with OPTIMIZE on INNODB tables
      sql/sql_trigger.cc:
        After merge fix
      sql/sql_union.cc:
        After merge fix
      sql/sql_view.cc:
        After merge fix
      sql/sql_yacc.yy:
        After merge fix
      sql/table.cc:
        After merge fix
      db676261
  10. 07 Nov, 2004 1 commit
    • unknown's avatar
      Simpler arena swapping code · 435b20aa
      unknown authored
      Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
      This gives us the following benefits:
      - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
      - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
      - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
      
      
      
      client/mysqltest.c:
        Remove some not needed defines
        (Things like this should be done in config-win.h)
      include/config-win.h:
        Added popen() and pclose() compatibility macros
      mysql-test/t/rpl_failed_optimize-master.opt:
        Portability fix
      sql/ha_berkeley.cc:
        New thd->memroot handling
      sql/item_cmpfunc.cc:
        Simpler arena swapping code
      sql/item_func.cc:
        Simpler arena swapping code
      sql/item_subselect.cc:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/item_sum.cc:
        New thd->mem_root handling
      sql/item_timefunc.cc:
        Fixed not-initalized usage errors found by valgrind
      sql/log_event.cc:
        New thd->mem_root handling
      sql/mysql_priv.h:
        New thd->mem_root handling
      sql/mysqld.cc:
        New thd->mem_root handling
      sql/opt_range.cc:
        New thd->mem_root handling
      sql/repl_failsafe.cc:
        New thd->mem_root handling
      sql/set_var.cc:
        New thd->mem_root handling
      sql/sql_acl.cc:
        New thd->mem_root handling
      sql/sql_base.cc:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/sql_class.cc:
        New thd->mem_root handling
      sql/sql_class.h:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/sql_db.cc:
        New thd->mem_root handling
      sql/sql_error.cc:
        New thd->mem_root handling
      sql/sql_help.cc:
        New thd->mem_root handling
      sql/sql_insert.cc:
        New thd->mem_root handling
      sql/sql_parse.cc:
        New thd->mem_root handling
        Added some extra checking of return value of new
      sql/sql_prepare.cc:
        New thd->mem_root handling
      sql/sql_select.cc:
        New thd->mem_root handling
      sql/sql_select.h:
        New thd->mem_root handling
      sql/sql_union.cc:
        Simpler arena swapping code
      sql/sql_yacc.yy:
        New thd->mem_root handling
      sql/table.cc:
        New thd->mem_root handling
      sql/thr_malloc.cc:
        New thd->mem_root handling
      tests/client_test.c:
        Added drop table to some tests
        Changed some table names to 't1'
      435b20aa
  11. 26 Oct, 2004 1 commit
    • unknown's avatar
      A lot of fixes for prepared statements (PS): · 853c2c78
      unknown authored
      New mysqltest that can run mysqltest with PS
      Added support for ZEROFILL in PS
      Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
      Updated test cases to support --ps-protocol
      (Some tests are still run using old protocol)
      Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
      Fixed crash in PS when using sub queries
      Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
      Fix for PS and SELECT ... PROCEDURE
      Reset all warnings when executing a new PS query
      group_concat(...ORDER BY) didn't work with PS
      Fixed problem with test suite when not using innodb
      
      
      BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
        Delete: mysql-test/t/innodb-lock-master.opt
      client/Makefile.am:
        mysqltest now uses regex
      client/mysqltest.c:
        Added support for testing of prepared statements (with --ps-protocol)
        Main code was done by Kent, I did mainly some cleanups and minor bug fixes
        New test commands:
        --disable_ps_protocol
        --enable_ps_protocol
        NOTE: new code still has some things that needs to be cleaned up.
        For example run_query_stmt_handle_error() should be made more general so that same code can be used also by 'normal' queries
      configure.in:
        mysqltest now uses regex
      libmysql/libmysql.c:
        Reset warning_count after prepare (safety). In the future we should also provide warnings on prepare
        integer -> string conversion now handles ZEROFILL
        double -> string conversion is now closer to the one in the server
        Fixed crash when one called mysql_stmt_store_result() without preceding mysql_stmt_bind_result()
      libmysqld/examples/Makefile.am:
        mysqltest now uses regex
      mysql-test/include/have_query_cache.inc:
        Fixes for --ps-protocol
      mysql-test/include/ps_conv.inc:
        Fixes for --ps-protocol
      mysql-test/mysql-test-run.sh:
        Added options --ps-protocol
      mysql-test/r/ctype_utf8.result:
        Fixed test case
      mysql-test/r/fulltext_cache.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/fulltext_left_join.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/fulltext_multi.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/innodb-lock.result:
        Fixed test to work even if Innodb is not compiled in.
      mysql-test/t/create.test:
        Fixes for --ps-protocol
      mysql-test/t/ctype_utf8.test:
        Remove warnings
      mysql-test/t/date_formats.test:
        Fixes for --ps-protocol
      mysql-test/t/fulltext_cache.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/fulltext_left_join.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/fulltext_multi.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/func_group.test:
        Fixes for --ps-protocol
      mysql-test/t/func_sapdb.test:
        Fixes for --ps-protocol
      mysql-test/t/innodb-lock.test:
        Fixed test to work even if Innodb is not compiled in.
      mysql-test/t/insert.test:
        Fixes for --ps-protocol
      mysql-test/t/insert_select.test:
        Fixes for --ps-protocol
      mysql-test/t/insert_update.test:
        Fixes for --ps-protocol
      mysql-test/t/metadata.test:
        Fixes for --ps-protocol
      mysql-test/t/multi_statement.test:
        Fixes for --ps-protocol
      mysql-test/t/ps_1general.test:
        Fixes for --ps-protocol
      mysql-test/t/rollback.test:
        Fixes for --ps-protocol
      mysql-test/t/rpl_redirect.test:
        Fixes for --ps-protocol
      mysql-test/t/rpl_user_variables.test:
        Fixes for --ps-protocol
      mysql-test/t/select.test:
        Fixes for --ps-protocol
      mysql-test/t/status.test:
        Fixes for --ps-protocol
      mysql-test/t/type_blob.test:
        Fixes for --ps-protocol
      mysql-test/t/type_float.test:
        Fixes for --ps-protocol
      mysql-test/t/union.test:
        Fixes for --ps-protocol
      mysql-test/t/warnings.test:
        Fixes for --ps-protocol
      mysys/my_alloc.c:
        More debugging information
      sql-common/client.c:
        More debugging information
      sql-common/my_time.c:
        TIME didn't support full range with PS
      sql/field.cc:
        TIME didn't support full range with PS
      sql/item_cmpfunc.cc:
        IN(constants,...) didn't work with PS
      sql/item_subselect.cc:
        Some subqueries didn't work with PS
      sql/item_sum.cc:
        group_concat(...ORDER BY) didn't work with PS
        Removed variable warning_available as 'warning' can be used for this.
      sql/item_sum.h:
        Removed not needed variable
      sql/protocol.cc:
        TIME didn't support full range with PS
      sql/set_var.cc:
        Style fix
      sql/sql_base.cc:
        setup_wild() didn't properly restore old arena, which caused core dump in PS when using
        SELECT * FROM t1 NATURAL JOIN t2...
      sql/sql_class.cc:
        Style fix
      sql/sql_error.cc:
        Style fix
      sql/sql_insert.cc:
        Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      sql/sql_lex.h:
        Fix for PS and procedures
      sql/sql_parse.cc:
        More debugging information
        Make a copy of 'db' in PS as this may change
        Fixed wrong permissions check in PS and multi-table updates
      sql/sql_prepare.cc:
        Fix for PS and SELECT ... PROCEDURE
        Reset all warnings when executing a new query
      sql/sql_union.cc:
        Fixes for PS and SELECT ... PROCEDURE
        Reset 'with_wild' as 'wild' is resolved on prepare
      853c2c78
  12. 20 Oct, 2004 1 commit
    • unknown's avatar
      errors without code removed · 066c9056
      unknown authored
      net_printf/send_error calls replaced by my_error family functions
      -1/1 (sent/unsent) error reporting removed
      (WL#2133)
      
      
      include/mysqld_error.h:
        new errors added.
      mysql-test/r/rpl_charset.result:
        new error
      mysql-test/r/rpl_timezone.result:
        new error
      mysql-test/r/sp-security.result:
        more clean error message
      mysql-test/r/sp.result:
        now error state intercepted correctly
      mysql-test/t/connect.test:
        new error message
      mysql-test/t/rpl_charset.test:
        new error message
      mysql-test/t/rpl_timezone.test:
        new error
      mysql-test/t/sp-security.test:
        more correct error handling
      mysql-test/t/sp.test:
        now error state intercepted correctly
      sql/ha_innodb.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/ha_innodb.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item.cc:
        only boolean values should be returned by fix_fields()
      sql/item_cmpfunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_func.cc:
        only boolean values should be returned by fix_fields()
        net_printf/send_error calls replaced by my_error family functions
      sql/item_row.cc:
        only boolean values should be returned by fix_fields()
      sql/item_subselect.cc:
        only boolean values should be returned by fix_fields()
        -1/1 (sent/unsent) error reporting removed
      sql/item_subselect.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item_sum.cc:
        only boolean values should be returned by fix_fields()
      sql/item_timefunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_uniq.h:
        only boolean values should be returned by fix_fields()
      sql/mysql_priv.h:
        -1/1 (sent/unsent) error reporting removed
      sql/mysqld.cc:
        net_printf/send_error calls replaced by my_error family functions
        changes in my_message_sql to support error handling correctly
      sql/protocol.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/protocol_cursor.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/repl_failsafe.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/repl_failsafe.h:
        -1/1 (sent/unsent) error reporting removed
      sql/set_var.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/share/czech/errmsg.txt:
        new error messages
      sql/share/danish/errmsg.txt:
        new error messages
      sql/share/dutch/errmsg.txt:
        new error messages
      sql/share/english/errmsg.txt:
        new error messages
      sql/share/estonian/errmsg.txt:
        new error messages
      sql/share/french/errmsg.txt:
        new error messages
      sql/share/german/errmsg.txt:
        new error messages
      sql/share/greek/errmsg.txt:
        new error messages
      sql/share/hungarian/errmsg.txt:
        new error messages
      sql/share/italian/errmsg.txt:
        new error messages
      sql/share/japanese/errmsg.txt:
        new error messages
      sql/share/korean/errmsg.txt:
        new error messages
      sql/share/norwegian-ny/errmsg.txt:
        new error messages
      sql/share/norwegian/errmsg.txt:
        new error messages
      sql/share/polish/errmsg.txt:
        new error messages
      sql/share/portuguese/errmsg.txt:
        new error messages
      sql/share/romanian/errmsg.txt:
        new error messages
      sql/share/russian/errmsg.txt:
        new error messages
      sql/share/serbian/errmsg.txt:
        new error messages
      sql/share/slovak/errmsg.txt:
        new error messages
      sql/share/spanish/errmsg.txt:
        new error messages
      sql/share/swedish/errmsg.txt:
        new error messages
      sql/share/ukrainian/errmsg.txt:
        new error messages
      sql/slave.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/slave.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sp.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_head.cc:
        new eror handling support
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_rcontext.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_acl.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_acl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_base.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.h:
        my_messhage_sql now set/reset query_error flag
      sql/sql_db.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_delete.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_do.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_error.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_handler.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_help.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_insert.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_lex.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_load.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_map.cc:
        errors without code removed
      sql/sql_parse.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed from mysql_execute_command
      sql/sql_prepare.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.cc:
        error messages fixed
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_show.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_table.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_trigger.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_udf.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_union.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_update.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_view.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_view.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_yacc.yy:
        net_printf/send_error calls replaced by my_error family functions
      066c9056
  13. 10 Oct, 2004 1 commit
    • unknown's avatar
      Blob support for the group_concat() function. · b123f514
      unknown authored
      (Bug #4315: GROUP_CONCAT with ORDER BY returns strange results for TEXT fields
       Bug #5564: Strange behaviour with group_concat and distinct
       Bug #5970: group_concat doesn't print warnings)
      
      
      b123f514
  14. 08 Oct, 2004 1 commit
    • unknown's avatar
      args_copy and cleunup() removed from Item_sum · c6b382d6
      unknown authored
      registration changing ITEM_SUM arguments added
      
      
      sql/item.cc:
        cleunup for Item_result_field
      sql/item.h:
        cleunup for Item_result_field
      sql/item_sum.cc:
        args_copy and cleunup() removed from Item_sum
      sql/item_sum.h:
        args_copy and cleunup() removed from Item_sum
      sql/sql_select.cc:
        registration changing ITEM_SUM arguments
      c6b382d6
  15. 10 Sep, 2004 1 commit
    • unknown's avatar
      Implementation of the last review comments for WL#1724 · 4f1d7b7d
      unknown authored
      "Min/Max Optimization for Queries with Group By Clause"
      
      
      mysql-test/r/group_min_max.result:
        Added new test
      mysql-test/t/group_min_max.test:
        Added new test & comments
      sql/item.h:
        Remove processor methods that are no longer used.
      sql/item_sum.cc:
        Remove processor methods that are no longer used.
      sql/item_sum.h:
        Remove processor methods that are no longer used.
      sql/opt_range.cc:
        - the test procedure no longer needs to build lists and to traverse the expression trees
        - all usable indexes are tested and the bes one is chosen
        - added/edited function comments
      sql/sql_select.cc:
        Modified make_sum_func_list() so it can be reused in the test for MIN/MAX optimization.
      sql/sql_select.h:
        Modified make_sum_func_list() so it can be reused in the test for MIN/MAX optimization.
      4f1d7b7d
  16. 09 Sep, 2004 2 commits
    • unknown's avatar
      post merge fixes · b386f888
      unknown authored
      mysql-test/t/merge.test:
        additional test
      sql/item.h:
        parameter to detect need of saving view field names
      sql/item_subselect.cc:
        arena fix
        used nearest thd pointer
      sql/item_sum.cc:
        after merge fix
      sql/mysql_priv.h:
        after merge fix
      sql/sql_base.cc:
        fixed unique test
        fixed postmerge arena mamgement
      sql/sql_class.h:
        mey method to detect conventional execution
      sql/sql_handler.cc:
        new parameter
      sql/sql_lex.cc:
        fixed postmerge arena mamgement
      sql/sql_parse.cc:
        fixed unique test
      sql/sql_select.cc:
        fixed postmerge arena mamgement
      sql/sql_union.cc:
        fixed postmerge arena mamgement
      sql/sql_view.cc:
        fixed postmerge arena mamgement
      sql/table.cc:
        fixed postmerge arena mamgement
      b386f888
    • unknown's avatar
      After merge fixes of merge with 4.1 that included the new arena code. · 33efc967
      unknown authored
      Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
      Prefix addresses with 0x for easier comparisons of debug logs
      Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
      This fix changed some 'index' queries to 'range' queries in the test suite
      Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
      This fix removed of a lot of 'Using where' notes in the test suite.
      Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      Give NOTE instead of WARNING for safe field-type conversions
      
      
      Makefile.am:
        Don't automaticly update files from bk
      client/mysqlbinlog.cc:
        Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
      include/my_sys.h:
        Faster clear_alloc_root()
      mysql-test/r/bdb.result:
        Updated results after merge
      mysql-test/r/create.result:
        Updated results after merge
      mysql-test/r/func_group.result:
        Updated results after merge
      mysql-test/r/func_if.result:
        Updated results after merge
      mysql-test/r/heap_btree.result:
        Updated results after merge
      mysql-test/r/index_merge.result:
        Updated results after merge
      mysql-test/r/index_merge_ror.result:
        Updated results after merge
      mysql-test/r/innodb.result:
        Updated results after merge
      mysql-test/r/join_outer.result:
        Updated results after merge
      mysql-test/r/mysqlbinlog2.result:
        Updated results after merge
      mysql-test/r/negation_elimination.result:
        Updated results after merge
      mysql-test/r/null.result:
        Updated results after merge
        Added more tests
      mysql-test/r/null_key.result:
        Updated results after merge
        Added more tests
      mysql-test/r/order_by.result:
        Updated results after merge
      mysql-test/r/range.result:
        Updated results after merge
        Added more tests
      mysql-test/r/rpl_charset.result:
        Updated results after merge
      mysql-test/r/sp-error.result:
        Updated results after merge
      mysql-test/r/sp.result:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/r/type_blob.result:
        Updated results after merge
        (Some warnings are now notes)
      mysql-test/r/user_var.result:
        Updated results after merge
        Added more tests
      mysql-test/r/variables.result:
        Updated results after merge
      mysql-test/r/view.result:
        Updated results after merge
      mysql-test/t/mysqlbinlog2.test:
        Updated tests to use new positions
      mysql-test/t/null.test:
        More tests
      mysql-test/t/null_key.test:
        More tests
      mysql-test/t/range.test:
        More tests
      mysql-test/t/rpl_charset.test:
        Avoid big diffs in the future if tests changes
      mysql-test/t/sp-error.test:
        Updated error numbers
      mysql-test/t/sp-security.test:
        Updated error numbers
      mysql-test/t/sp.test:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/t/user_var.test:
        More tests
      mysql-test/t/view.test:
        Updated error numbers
      mysys/my_alloc.c:
        Write into debug log the address of the allocated area
      sql/ha_isam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_myisam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_ndbcluster.cc:
        Add missing enum to switch
      sql/handler.cc:
        remove compiler warning
      sql/item.cc:
        More debugging
        Simple cleanup
      sql/item.h:
        Move Item::cleanup() to item.cc
      sql/item_cmpfunc.cc:
        Fix arena code
      sql/item_subselect.cc:
        After merge fixes
      sql/item_subselect.h:
        After merge fixes
      sql/item_sum.cc:
        Updated comment
      sql/log_event.cc:
        Remove wrong test
      sql/mysql_priv.h:
        Indentation fixes
      sql/mysqld.cc:
        After merge fixes
        Added 0x to pointers in debug log
      sql/opt_range.cc:
        Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
        This fix changed some 'index' queries to 'range' queries in the test suite
      sql/set_var.cc:
        Indentation fixes
      sql/sp_head.cc:
        Set state to INITIALIZED to make SP work with new arena code
      sql/sql_base.cc:
        After merge fixes
      sql/sql_class.cc:
        More debugging
        Use clear_alloc_root() instead of init_alloc_root() as the former is faster
      sql/sql_class.h:
        New method 'only_prepare()'
      sql/sql_lex.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_parse.cc:
        Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
        This fix removed of a lot of 'Using where' notes in the test suite
      sql/sql_table.cc:
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_union.cc:
        After merge fix
      sql/sql_view.cc:
        After merge fix
      sql/table.cc:
        After merge fix
      sql/tztime.cc:
        Update timezone table handling to use new table lists structure
      sql/tztime.h:
        Update timezone table handling to use new table lists structure
      sql/unireg.cc:
        Use 0x before pointers
      33efc967
  17. 08 Sep, 2004 1 commit
  18. 01 Sep, 2004 1 commit
  19. 27 Aug, 2004 1 commit
    • unknown's avatar
      WL#1724 "Min/Max Optimization for Queries with Group By Clause" · d9450332
      unknown authored
      - after-review changes
      - merged with the source tree from 204-08-27
      
      
      mysql-test/r/distinct.result:
        Different plans due to group-by optimization.
      sql/ha_myisam.cc:
        More general interface to key_copy.
      sql/handler.cc:
        More general interface to key_copy.
      sql/item.cc:
        New method to collect all Item_field objects. Used by Item::walk.
      sql/item.h:
        Several methods to collect different kinds of items from expression trees.
        Used by Item::walk.
      sql/item_sum.cc:
        Added helper to collect Item_sum objects.
      sql/item_sum.h:
        Methods to collect and test Item_sum objects.
      sql/key.cc:
        More general interface to key_copy and key_restore.
      sql/mysql_priv.h:
        More general interface to key_copy and key_restore.
      sql/opt_range.cc:
        Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
      sql/opt_range.h:
        Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
      sql/opt_sum.cc:
        simple_pred is re-used in opt_range.cc
      sql/sql_acl.cc:
        More general interface to key_copy and key_restore.
      sql/sql_handler.cc:
        More general interface to key_copy.
      sql/sql_insert.cc:
        More general interface to key_copy.
      sql/sql_select.cc:
        Changes to hook the new QUICK_GROUP_MIN_MAX_SELECT due to two differences from all other
        quick selects:
        1)
        This quick select may be created (and used) even if there is no WHERE clause.
        Several places assumed that a QUICK_SELECT is constructed only if there is a WHERE clause,
        which had to be changed so that QUICK_GROUP_MIN_MAX can be used.
        2)
        Unlike all other quick selects, this QUICK_GROUP_MIN_MAX_SELECT operates for GROUP BY queries.
        Since for the caller the quick select already produces one result tuple per group, there is
        no need to call end_send_group, instead we have to call end_send as for a regular quick select.
      sql/sql_select.h:
        simple_pred is re-used in opt_range.cc
      d9450332
  20. 26 Aug, 2004 1 commit
    • unknown's avatar
      Portability fixes · 44b2807e
      unknown authored
      Fixed bug in end space handle for WHERE text_column="constant"
      
      
      heap/hp_hash.c:
        Optimzations (no change of logic)
      libmysql/libmysql.c:
        Added missing casts (portability fix)
      myisam/mi_key.c:
        Changed macro to take arguments and not depend on local variables
        Simple indentation fixes ?
      mysql-test/r/connect.result:
        Added test for setting empty password
      mysql-test/r/create_select_tmp.result:
        TYPE -> ENGINE
      mysql-test/r/ctype_utf8.result:
        Combine drop's
      mysql-test/r/endspace.result:
        Added more tests to test end space behaviour
      mysql-test/r/having.result:
        Added missing DROP TABLE
      mysql-test/r/type_blob.result:
        Added more tests to ensure that fix for BLOB usage is correct
      mysql-test/r/type_timestamp.result:
        Add test from 4.0
      mysql-test/t/connect.test:
        Added test for setting empty password
      mysql-test/t/create_select_tmp.test:
        TYPE -> ENGINE
      mysql-test/t/ctype_utf8.test:
        Combine drop's
      mysql-test/t/endspace.test:
        Added more tests to test end space behaviour
      mysql-test/t/having.test:
        Added missing DROP TABLE
      mysql-test/t/type_blob.test:
        Added more tests to ensure that fix for BLOB usage is correct
      mysql-test/t/type_timestamp.test:
        Add test from 4.0
      sql/field.cc:
        Removed not used variable
        Portability fix (cast)
        Simplified Field_str::double()
        Simple indentation cleanups
      sql/field.h:
        Removed not needed class variable
      sql/item_cmpfunc.cc:
        Indentation fix
      sql/item_strfunc.cc:
        Use on stack variable for Item_str_func::val() instead of str_value.
        This makes it safe to use str_value inside the Item's val function.
        Cleaned up LEFT() usage, thanks to the above change
      sql/item_sum.cc:
        Indentation cleanups
      sql/protocol.cc:
        Added missing cast
      sql/sql_acl.cc:
        Indentatin cleanups.
        Added missing cast
        Simple optimization of get_sort()
      sql/sql_select.cc:
        Don't use 'ref' to search on text field that is not of type BINARY (use 'range' instead).
        The reson is that for 'ref' we use 'index_next_same' to read the next possible row. 
        For text fields, rows in a ref may not come in order, like for 'x', 'x\t' 'x ' (stored in this order) which causes a search for 'column='x ' to fail
      sql/tztime.cc:
        Simple cleanup
      strings/ctype-bin.c:
        Comment fixes
      strings/ctype-mb.c:
        Changed variable names for arguments
      44b2807e
  21. 23 Aug, 2004 1 commit
  22. 20 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug#4912 "mysqld crashs in case a statement is executed · 095b686c
      unknown authored
       a second time". The bug was caused by incompatibility of
      negations elimination algorithm and PS: during first statement 
      execute a subtree with negation was replaced with equivalent 
      subtree without NOTs.
      The problem was that although this transformation was permanent, 
      items of the new subtree were created in execute-local memory.
      The patch adds means to check if it is the first execute of a
      prepared statement, and if this is the case, to allocate items
      in memory of the prepared statement.
      The implementation:
      - backports Item_arena from 5.0
      - adds Item_arena::is_stmt_prepare(), 
        Item_arena::is_first_stmt_execute().
      - deletes THD::allocate_temporary_pool_for_ps_preparing(),
        THD::free_temporary_pool_for_ps_preparing(); they
        were redundant.
      and adds a few invariants:
      - thd->free_list never contains junk (= freed items)
      - thd->current_arena is never null. If there is no
        prepared statement, it points at the thd. 
      The rest of the patch contains mainly mechanical changes and
      cleanups.
      
      
      mysql-test/r/ps.result:
        Test results updated (test case for Bug#4912)
      mysql-test/t/ps.test:
        A test case for Bug#4912 "mysqld crashs in case a statement is 
        executed a second time"
      sql/item_cmpfunc.cc:
        current_statement -> current_arena
      sql/item_subselect.cc:
        Statement -> Item_arena, current_statement -> current_arena
      sql/item_subselect.h:
        Item_subselect does not need to save thd->current_statement.
      sql/item_sum.cc:
        Statement -> Item_arena
      sql/item_sum.h:
        Statement -> Item_arena
      sql/mysql_priv.h:
        Statement -> Item_arena
      sql/sql_base.cc:
        current_statement -> current_arena
      sql/sql_class.cc:
        - Item_arena
        - convenient set_n_backup_statement, restore_backup_statement
        (nice idea, Sanja)
      sql/sql_class.h:
        - Item_arena: backport from 5.0
        - allocate_temporary_pool_for_ps_preparing,
          free_temporary_pool_for_ps_preparing removed.
      sql/sql_derived.cc:
        current_statement -> current_arena
      sql/sql_lex.cc:
        current_statement -> current_arena
      sql/sql_parse.cc:
        Deploy invariant that thd->free_list never contains junk items
        (backport from 5.0).
      sql/sql_prepare.cc:
        - backporting Item_arena
        - no need to allocate_temporary_pool_for_ps_preparing().
      sql/sql_select.cc:
        Fix for bug#4912 "mysqld crashs in case a statement is 
        executed a second time": if this is the first execute of
        a prepared statement, negation elimination is
        done in memory of the prepared statement.
      sql/sql_union.cc:
        Backporting Item_arena from 5.0.
      095b686c
  23. 12 Aug, 2004 1 commit
    • unknown's avatar
      olap.test, olap.result: · 090bc713
      unknown authored
        Added test case for bug #4767.
      item_sum.cc:
        Added a correct setting of the maybe_null flag for a copy of 
        an Item_sum object where the argument was a field of an inner table
        in an outer join read from a temporary table.
        It's part of the fix for bug #4767.
      sql_select.cc:
        Made change_refs_to_tmp_fields work correctly
        for test case of bug #4767 where Item_sum::get_tmp_table_item
        failed to build a correct copy of an Item_sum object referring
        to a field in a temporary table.
        It looks like a hack yet.
      
      
      sql/sql_select.cc:
        Made change_refs_to_tmp_fields work correctly
        for test case of bug #4767 where Item_sum::get_tmp_table_item
        failed to build a copy of an Item_sum object referring
        to a field in  a temporary table.
        It looks like a hack yet.
      sql/item_sum.cc:
        Added a correct setting of maybe_null flag for copy of a
        Item_sum object where there argument is a field of nullable table
        read from the temporary table.
        It's part of the fix for bug #4767.
      mysql-test/r/olap.result:
        Added test case for bug #4767.
      mysql-test/t/olap.test:
        Added test case for bug #4767.
      090bc713
  24. 11 Aug, 2004 1 commit
    • unknown's avatar
      BUG#4315 · 02b810d2
      unknown authored
      BUG#4535
      BUG#4686
      
      
      sql/item_sum.cc:
        Changed code of fix_fields
        Fixed wrong order of parameters in create_tmp_table
        Changed value set_sum_field in create_tmp_table
      02b810d2
  25. 10 Aug, 2004 1 commit
    • unknown's avatar
      BUG#4315 · 700c2d62
      unknown authored
      BUG#4535
      BUG#4686
      
      
      mysql-test/r/func_gconcat.result:
        add testes of blobs and null values
      mysql-test/t/func_gconcat.test:
        add testes of blobs and null values
      sql/item_sum.cc:
        replace code with maybe_null and change store mode of fields
      700c2d62
  26. 20 Jul, 2004 1 commit
    • unknown's avatar
      misc fixes for compile-time errors · d0c69399
      unknown authored
      sql/item_sum.cc:
        "unused variable" warning
      sql/item_timefunc.cc:
        "unused variable" warning
      sql/log_event.h:
        const bool is_valid() -> bool is_valid() const
      sql/opt_range.cc:
        cast log's argument to double (otherwise an error on some compilers)
      sql/opt_range.h:
        get_quick_select_for_ref should be declared in the global scope to be visible.
      d0c69399
  27. 10 Jun, 2004 1 commit
    • unknown's avatar
      cleunup() of count() and max()/min() added (BUG#2687) · 8e6b48f8
      unknown authored
      mysql-test/r/func_group.result:
        test of optimized aggregate function re-execution
      mysql-test/t/func_group.test:
        test of optimized aggregate function re-execution
      sql/item_sum.cc:
        cleunup() added
      sql/item_sum.h:
        cleunup() added
      8e6b48f8
  28. 08 Jun, 2004 1 commit
    • unknown's avatar
      a fix · 66c40872
      unknown authored
      (Bug #4035 GROUP_CONCAT with HAVING clause truncates field                       
      Bug #4057 LEFT() function in HAVING clause truncates query result).
      
      
      mysql-test/r/func_gconcat.result:
        a test case
        Bug #4035 GROUP_CONCAT with HAVING clause truncates field                       
        Bug #4057 LEFT() function in HAVING clause truncates query result
      mysql-test/t/func_gconcat.test:
        a test case
        Bug #4035 GROUP_CONCAT with HAVING clause truncates field                       
        Bug #4057 LEFT() function in HAVING clause truncates query result
      sql/item_strfunc.cc:
        a fix (Bug #4057 LEFT() function in HAVING clause truncates query result)
      sql/item_strfunc.h:
        a fix (Bug #4057 LEFT() function in HAVING clause truncates query result)
      sql/item_sum.cc:
        a fix (Bug #4035 GROUP_CONCAT with HAVING clause truncates field)
      sql/item_sum.h:
        a fix (Bug #4035 GROUP_CONCAT with HAVING clause truncates field)
      66c40872
  29. 19 May, 2004 1 commit
    • unknown's avatar
      PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266) · 16227c28
      unknown authored
      mysql-test/r/sp.result:
        test suite for Bug #2266
      mysql-test/t/sp.test:
        test suite for Bug #2266
      sql/item_subselect.cc:
        made ancestor for Statement (Item_arena)
      sql/item_subselect.h:
        made ancestor for Statement (Item_arena)
      sql/item_sum.cc:
        made ancestor for Statement (Item_arena)
      sql/item_sum.h:
        made ancestor for Statement (Item_arena)
      sql/mysql_priv.h:
        reset_stmt_for_execute use PS and SP
      sql/sp_head.cc:
        sp_head use Item_arena as ancestor to be PS cleunup compatible
        SP use PS storing/restoring/cleanup mechanisms
        cleanup() of SP Items added
        Items created in temporary memory pool during SP execution saved for normal freeing after SP execution
      sql/sp_head.h:
        sp_head use Item_arena
      sql/sql_base.cc:
        made ancestor for Statement (Item_arena)
        results of wild_setup made permanent
        setup_conds make natural joins expanding only once and store results in PS/SP memory
      sql/sql_class.cc:
        made ancestor for Statement (Item_arena)
      sql/sql_class.h:
        made ancestor for Statement (Item_arena)
        method to detect PS preparation added
      sql/sql_delete.cc:
        storing where for DELETE and mark first execution
      sql/sql_derived.cc:
        use method
      sql/sql_insert.cc:
        mark first execution for INSERT
      sql/sql_lex.cc:
        flags to correctly make transformations of query and storing them in memory of PS/SP
        made ancestor for Statement (Item_arena)
      sql/sql_lex.h:
        reved variable od SP ol saving data
        flags to correctly make transformations of query and storing them in memory of PS/SP
      sql/sql_parse.cc:
        cleunup unit for any query
      sql/sql_prepare.cc:
        made ancestor for Statement (Item_arena)
        storing where moved to preparation
        changed interface of reset_stmt_for_execute to use it is SP
        do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand))
      sql/sql_select.cc:
        storing where for SELECT/multi-DELETE/... and mark first execution
      sql/sql_union.cc:
        made ancestor for Statement (Item_arena)
      sql/sql_update.cc:
        storing where for UPDATE and mark first execution
      16227c28
  30. 07 May, 2004 1 commit
    • unknown's avatar
      keep old engine & JOIN if we changed subquery Item (Bug #3646) · e54ca13b
      unknown authored
      mysql-test/r/subselect.result:
        ALL/ANY test
      mysql-test/t/subselect.test:
        ALL/ANY test
      sql/item_subselect.cc:
        keep old engine & JOIN if we changed subquery Item, which allow avoid second all SELECT items fix_fields call with pervios clean up (because of second setup_tables which remove table->key_use and maybe something else)
        keep list when we change Item in SELECT list
        processing inserted max/min function (now JOIN::prepare will be called only once)
        methods of changing item for subselect engines
      sql/item_subselect.h:
        change item & results procedure
      sql/item_sum.cc:
        Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
      sql/item_sum.h:
        Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
      sql/sql_lex.cc:
        note about new method
      sql/sql_lex.h:
        method for changing result of UNION JOINs
      sql/sql_select.cc:
        method for changing result in JOIN
      sql/sql_select.h:
        method for changing result in JOIN
      sql/sql_union.cc:
        method for changing result in JOIN
      e54ca13b
  31. 07 Apr, 2004 1 commit
    • unknown's avatar
      Portability fixes · e9447881
      unknown authored
      Fixed problems with group_concat() and HAVING
      Updated crash-me values
      
      
      sql-bench/limits/mysql-4.0.cfg:
        Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
      include/my_global.h:
        Safety fix
      libmysqld/Makefile.am:
        Portability fix (For AIX 64 bit)
      mysql-test/r/func_gconcat.result:
        More tests
      mysql-test/t/func_gconcat.test:
        More tests
      sql/field.cc:
        Cleanups
      sql/init.cc:
        moved thread_stack_min to right place
      sql/item_sum.cc:
        Fixed problems with group_concat() and HAVING
        Removed some not needed variables
      sql/item_sum.h:
        Fixed problems with group_concat() and HAVING
        Removed some not needed variables
      sql/mysqld.cc:
        Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
      sql/sql_parse.cc:
        More debugging
      sql/sql_select.cc:
        Cleanup
      sql/sql_yacc.yy:
        Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)
      e9447881
  32. 06 Apr, 2004 1 commit
    • unknown's avatar
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(),... · c6270543
      unknown authored
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      Field::val_str simplification, comment
      
      
      include/my_base.h:
        typos fixed
      mysql-test/r/myisam.result:
        alter table enable/disable keys
      mysql-test/t/help.test:
        cleanup
      mysql-test/t/myisam.test:
        alter table enable/disable keys
      sql/field.cc:
        Field::val_str() simplification
      sql/field.h:
        Field::val_str() simplification and comment
      sql/field_conv.cc:
        Field::val_str() simplification
      sql/ha_berkeley.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_berkeley.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisam.cc:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisam.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/handler.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/item.cc:
        Field::val_str() simplification
      sql/item_sum.cc:
        Field::val_str() simplification
      sql/key.cc:
        Field::val_str() simplification
      sql/opt_range.cc:
        Field::val_str() simplification
      sql/protocol.cc:
        Field::val_str() simplification
      sql/records.cc:
        HA_FAST_KEY_READ
      sql/sql_acl.cc:
        Field::val_str() simplification
      sql/sql_base.cc:
        ::reset
      sql/sql_insert.cc:
        ::reset(), start_bulk_insert(), end_bulk_insert()
      sql/sql_load.cc:
        start_bulk_insert(), end_bulk_insert()
      sql/sql_show.cc:
        Field::val_str() simplification
      sql/sql_table.cc:
        disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/table.cc:
        Field::val_str() simplification
      c6270543
  33. 05 Apr, 2004 1 commit
    • unknown's avatar
      Fixed many compiler warnings · 7873b89f
      unknown authored
      Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
      Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      Set locked_in_memory properly
      
      
      include/mysql_com.h:
        Fixed compiler warning
      libmysqld/emb_qcache.cc:
        Removed not used variable
      libmysqld/lib_sql.cc:
        Removed not used variable
      myisam/mi_locking.c:
        Added comment
      myisam/mi_rnext.c:
        Fixed bug in concurrent insert
      myisam/mi_rprev.c:
        Simple optimization
      mysql-test/r/func_gconcat.result:
        New tests
      mysql-test/t/func_gconcat.test:
        New tests
      mysql-test/t/func_group.test:
        Cleanup
      sql-common/client.c:
        Removed compiler warning
      sql/derror.cc:
        Better comments
      sql/field.cc:
        Removed not used function/variable
      sql/field.h:
        Removed not needed variable
      sql/ha_innodb.cc:
        Removed not used function
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_func.cc:
        Fixed compiler warning
      sql/item_geofunc.cc:
        Fixed compiler warning
      sql/item_sum.cc:
        Fixed bugs in group_concat and added more comments
        (Bugs #2695, #3381 and #3319)
        - field->abs_offset was not needed
        - Wrong assumption of field order in temporary table
        - Some not used variables removed
        - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
        - Optimized loops
      sql/item_sum.h:
        Bug fixing and cleanup of group_concat()
      sql/log.cc:
        Removed wrong comment
      sql/log_event.cc:
        Removed compiler warning
      sql/mysqld.cc:
        Set locked_in_memory properly
      sql/protocol.cc:
        Removed compiler warning
      sql/set_var.cc:
        Code cleanup
      sql/slave.cc:
        Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      sql/sql_cache.cc:
        Removed compiler warnings
      sql/sql_derived.cc:
        Removed not used variable
      sql/sql_insert.cc:
        Removed compiler warnings
      sql/sql_lex.cc:
        Removed not used lable
      sql/sql_lex.h:
        Removed compiler warnings
      sql/sql_parse.cc:
        Removed compiler warnings
      sql/sql_prepare.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        Removed not used variables
        Added function comments
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_yacc.yy:
        Fix for ORDER BY handling in GROUP_CONCAT()
      7873b89f
  34. 03 Apr, 2004 1 commit
    • unknown's avatar
      fixed brocken of client_test · 8c8dffb6
      unknown authored
      fixed aggregate functions in PS (BUG#3360)
      
      
      mysql-test/r/union.result:
        4.1 more correct error
      sql/item_cmpfunc.h:
        and_conds do not make fix fields
      sql/item_sum.cc:
        storing/restoring argument of aggregate function for prepared statements
        restoring order list of group_concat for safety
      sql/item_sum.h:
        storing/restoring argument of aggregate function for prepared statements
        layout fix
      sql/mysql_priv.h:
        just declaration
      sql/sql_base.cc:
        fix_fields() have to be called with temporary memory pool active
      sql/sql_parse.cc:
        removed hack with item pointer storing
      sql/sql_prepare.cc:
        debug output added
        removed hack with item pointer storing
      sql/sql_select.cc:
        fix_fields now should be called separately
      sql/sql_union.cc:
        removed wrong merged check from 4.0 (4.1 have its own protection)
      sql/table.h:
        removed hack with item pointer storing
      tests/client_test.c:
        new test fo PS
      8c8dffb6
  35. 29 Mar, 2004 1 commit
    • unknown's avatar
      false/true -> FALSE/TRUE · ceeaa24d
      unknown authored
      Fixes after last merge
      
      
      mysql-test/r/bdb-crash.result:
        fixed bad merge
      mysql-test/r/myisam.result:
        after merge fix
      mysql-test/r/order_by.result:
        fixed bad merge
      mysql-test/t/order_by.test:
        after merge fix
      sql/field_conv.cc:
        false/true -> FALSE/TRUE
      sql/handler.cc:
        false/true -> FALSE/TRUE
      sql/item.cc:
        false/true -> FALSE/TRUE
      sql/item_cmpfunc.cc:
        false/true -> FALSE/TRUE
      sql/item_sum.cc:
        false/true -> FALSE/TRUE
      sql/slave.cc:
        false/true -> FALSE/TRUE
      sql/sql_acl.cc:
        false/true -> FALSE/TRUE
      sql/sql_cache.cc:
        after merge fix
      sql/sql_help.cc:
        false/true -> FALSE/TRUE
      sql/sql_olap.cc:
        false/true -> FALSE/TRUE
      sql/sql_parse.cc:
        false/true -> FALSE/TRUE
      sql/sql_select.cc:
        fix after bad merge
      sql/sql_table.cc:
        fix after bad merge
      sql/sql_test.cc:
        false/true -> FALSE/TRUE
      ceeaa24d
  36. 20 Mar, 2004 1 commit
    • unknown's avatar
      after review changes · f379d7b1
      unknown authored
      sql/item.cc:
        removed double_fix & already_fixed in Item_field
      sql/item.h:
        added quick_fix_field() for cases when we are sure that no need full fix_field processing
        fixed neg() method for numeric constants to have the same logic as constant parser
        Item_null, Item_real, ... are constant which are fixed by creation
      sql/item_cmpfunc.h:
        right fix_fields in and_conds call
      sql/item_func.cc:
        changed Item_field constructor call
        fix_field emulation call
      sql/item_strfunc.cc:
        correct layout
      sql/item_subselect.cc:
        correct layout
        changed Item_field constructor call
      sql/item_sum.cc:
        changed Item_field constructor call
      sql/item_sum.h:
        changed Item_field constructor call
      sql/sql_base.cc:
        fixed layout
        right fix_fields calls
      sql/sql_help.cc:
        changed Item_field constructor call
      sql/sql_load.cc:
        changed Item_field constructor call
      sql/sql_parse.cc:
        constant changed
      sql/sql_select.cc:
        fixed layout
        fix_field emulation insted of real fix_fields call
      sql/sql_show.cc:
        changed Item_field constructor call
      sql/sql_union.cc:
        changed Item_field constructor call
        double_fix removed
      sql/sql_update.cc:
        renamed variable, fixed layout
      sql/sql_yacc.yy:
        typo fixed
        fix_fields emulation calls
        hegation of numbers fixed
      f379d7b1
  37. 18 Mar, 2004 1 commit
    • unknown's avatar
      DBUG_ASSERT(fixed == 1); added to val* · 1a81e041
      unknown authored
      small optimisation in signed_literal
      
      
      sql/field.cc:
        layout fixed
      sql/item.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
        fixed= 1; added where it was forgoten in fix_fields
        Item_string can be used without fix_fields
      sql/item.h:
        DBUG_ASSERT(fixed == 1); added to val*
        Item_string can be used without fix_fields
      sql/item_cmpfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_cmpfunc.h:
        fixed layout and getting Item statistic
      sql/item_func.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_func.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_geofunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_strfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
      sql/item_strfunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_subselect.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_uniq.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/sql_base.cc:
        Item creation revised
      sql/sql_help.cc:
        Item creation revised
      sql/sql_load.cc:
        Item creation revised
      sql/sql_parse.cc:
        fix_field call added
      sql/sql_select.cc:
        Item creation revised
      sql/sql_show.cc:
        Item creation revised
      sql/sql_union.cc:
        Item creation revised
      sql/sql_update.cc:
        Item creation revised
      sql/sql_yacc.yy:
        Item creation revised
        small optimisation in signed_literal
      1a81e041
  38. 17 Mar, 2004 1 commit
    • unknown's avatar
      DBUG_ASSERT(fixed == 0) added to fix_fields() · f83cf414
      unknown authored
      sql/item.cc:
        layout fixed
        fixed bug in prepared statements with subqueries and outer references
      sql/item.h:
        neg_transformer get thd argument to call fix_fields
      sql/item_cmpfunc.cc:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        fixed Item_in_optimizer fixed flag
        neg_arguments(), neg_transformer() call fix_field() on created items to avoid bouble fix field or non-called fixfields()
      sql/item_cmpfunc.h:
        neg_transformer get thd argument to call fix_fields
        fixed forgoten cleanup() call of parent class
      sql/item_func.cc:
        DBUG_ASSERT(fixed == 0) and fixed flag check added to fix_fields()
      sql/item_func.h:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        fixed forgoten cleanup() call of parent class
      sql/item_row.cc:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        added forgoten 'fixed' flag set
      sql/item_subselect.cc:
        DBUG_ASSERT(fixed == 0) added to fix_fields()
        fixed subquery transformation
      sql/sql_base.cc:
        check of fixed flag added
      sql/sql_derived.cc:
        fixed cleunup union in derived table during EXPLAIN command processing
      sql/sql_select.cc:
        thd argument add to function to allow call fix_fields() of new created items
        fixed EXPLAIN double preparation
        check of fixed flag added
        eliminate_not_funcs fixed for corrcet fix_fields call of new created items
      sql/sql_select.h:
        thd argument add to function to allow call fix_fields() of new created items
      sql/sql_union.cc:
        union processing fixed
      tests/client_test.c:
        layout fixed
        new test of outer references fron subqueries
      f83cf414
  39. 17 Feb, 2004 1 commit
    • unknown's avatar
      revision of fix_fields() calls (BUG2838) · ae7eec92
      unknown authored
      mysql-test/r/subselect.result:
        test suite for BUG#2838
      mysql-test/t/subselect.test:
        test suite for BUG#2838
      sql/item.cc:
        revision of fix_fields() calls
        removed unnecessary variabl, and used correct last parameter of fix_fields()
      sql/item_cmpfunc.cc:
        revision of fix_fields() calls (BUG#2838)
      sql/item_func.cc:
        revision of fix_fields() calls
      sql/item_row.cc:
        changed for efficience (and to be similar for Item_func::fix_fields)
      sql/item_subselect.cc:
        fixed last arguments for fix_fields call
      sql/item_sum.cc:
        layout fixed
        revision of fix_fields() calls
      sql/log_event.cc:
        revision of fix_fields() calls
      sql/set_var.cc:
        revision of fix_fields() calls
      sql/sql_base.cc:
        revision of fix_fields() calls
      sql/sql_class.cc:
        revision of fix_fields() calls
      sql/sql_handler.cc:
        revision of fix_fields() calls
      ae7eec92