An error occurred fetching the project authors.
  1. 04 Apr, 2004 1 commit
    • unknown's avatar
      removed old way to prevent using stack tables for caching Items in PS · 3c01162f
      unknown authored
      fixed error code in union test
      
      
      mysql-test/t/union.test:
        right code worr 4.1 error
      sql/log_event.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/repl_failsafe.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/slave.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_acl.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_base.cc:
        assign non-cachable for Item status for all stack tables for safety
        non-cachable status processing
      sql/sql_cache.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_class.cc:
        removed ald way to prevent using stack tables for caching Items in PS
      sql/sql_class.h:
        removed old way to prevent using stack tables for caching Items in PS
      sql/sql_help.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_insert.cc:
        assign non-cachable for Item status for all stack tables for safety
        removed old way to prevent using stack tables for caching Items in PS
      sql/table.h:
        non-cachable for Item status for tables
      3c01162f
  2. 02 Apr, 2004 1 commit
    • unknown's avatar
      WL#1266 "Separate auto-set logic from TIMESTAMP type." · 32b28f92
      unknown authored
      Final version of patch.
      
      Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
      clauses for TIMESTAMP field definition.
      Current implementation allows only one such field per table and
      uses several unireg types for storing info about this properties of
      field. It should be replaced with better implementation when new
      .frm format is introduced.
      
      
      include/mysqld_error.h:
        Added error codes for case when we have more than one column with NOW()
        in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
        clause with wrong type.
      mysql-test/r/create.result:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/r/show_check.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/system_mysql_db.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/type_ranges.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW COLUMNS.
      mysql-test/r/type_timestamp.result:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      mysql-test/t/create.test:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/t/type_timestamp.test:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      sql/field.cc:
        Added support for various combinations of DEFAULT and ON UPDATE clauses
        for TIMESTAMP field. 
        
        Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set 
        option taking into account their unireg type (which corresponds to 
        various DEFAULT/ON UPDATE values combinations). Replaced 
        TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
        couple moved their setup to separate method set_timestamp_offsets(),
        which now is called from  open_table instead of Field_timestamp cons.
      sql/field.h:
        Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
        NOW() for TIMESTAMP fields.
        Fixed value corresponding to DEFAULT item for TIMESTAMP field.
      sql/ha_berkeley.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_heap.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_innodb.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/item_func.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/item_timefunc.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/mysql_priv.h:
        Added parameter for ON UPDATE value to add_field_to_list() function.
      sql/share/czech/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/danish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/dutch/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/english/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/estonian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/french/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/german/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/greek/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/hungarian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/italian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/japanese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/korean/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian-ny/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/polish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/portuguese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/romanian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/russian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/serbian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/slovak/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/spanish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/swedish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/ukrainian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/sql_base.cc:
        Added setup of TABLE::timestamp_default_now/on_update_now pair
        for each statement to open_table().
      sql/sql_insert.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. Added check for case then REPLACE could not
        be converted to UPDATE because of different DEFAULT/ON UPDATE values
        for TIMESTAMP field.
      sql/sql_lex.h:
        Added member for value used in ON UPDATE clause to st_lex.
      sql/sql_load.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. We don't need to restore these members
        since they are set up for each statement in open_table().
      sql/sql_parse.cc:
        Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
        TIMESTAMP fields to add_field_to_list() function.
      sql/sql_show.cc:
        Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and 
        ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
      sql/sql_table.cc:
        mysql_create_table() function - added check for number of TIMESTAMP 
          fields with auto-set values and replacing of old style TIMESTAMPs
          with their newer analogs.
        mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now 
          pair instead of old TABLE::time_stamp. We don't need to restore these
          members since they are set up for each statement in open_table().
      sql/sql_update.cc:
        Left only setting of TABLE::timestamp_default_now/on_update_now
        to 0 since they should be already set up in open_table().
      sql/sql_yacc.yy:
        Added support for DEFAULT NOW() and ON UPDATE NOW() in field
        definitions.
      sql/table.h:
        Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
        pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
        clauses and optimize checks if TIMESTAMP field should be set to NOW()
        in handlers.
      sql/unireg.cc:
        Now we are marking only TIMESTAMP fields with NOW() as default or
        as on update value as special field for unireg.
      32b28f92
  3. 01 Apr, 2004 1 commit
    • unknown's avatar
      fix for table/field caching mechanism · 54a8eb62
      unknown authored
      save moving ON/USING tables conditions to WHERE clause (BUG#2794)
      
      
      sql/sql_base.cc:
        fix for table/field caching mechanism (global lock of it and right table passed as parameter)
        save moving ON/USING tables conditions to WHERE clause (BUG#2794)
      sql/sql_class.cc:
        lock for using field/table cache in Item name resolution
      sql/sql_class.h:
        lock for using field/table cache in Item name resolution
      sql/sql_insert.cc:
        lock for using field/table cache in Item name resolution
      tests/client_test.c:
        Test of PS queries with ON condition
      54a8eb62
  4. 30 Mar, 2004 1 commit
    • unknown's avatar
      Fix to get correct metadata when using temporary tables to create result. (Bug #2654) · bc12d57f
      unknown authored
      client/mysqltest.c:
        Added support for --enable_metadata
      mysql-test/t/order_by.test:
        Improved comment
      scripts/mysqlaccess.sh:
        CGI is required (Bug #2988)
      sql/field.cc:
        Fix to get correct metadata when using temporary tables to create result
      sql/field.h:
        Fix to get correct metadata when using temporary tables to create result
      sql/sql_insert.cc:
        Fix to get correct metadata when using temporary tables to create result
      bc12d57f
  5. 29 Mar, 2004 1 commit
  6. 26 Mar, 2004 1 commit
    • unknown's avatar
      Changing SET SQL_LOG_BIN so that it explicitely throws an error if · ab8c3d89
      unknown authored
      user is not SUPER, instead of setting the value but ignoring it
      silently internally.
      
      
      mysql-test/r/rpl_temporary.result:
        result update
      mysql-test/t/rpl_temporary.test:
        adding test for privileges for SET SQL_LOG_BIN
      sql/log.cc:
        don't need to check SUPER
      sql/set_var.cc:
        refuse SET SQL_LOG_BIN if not SUPER
      sql/sql_insert.cc:
        Don't need to check SUPER
      ab8c3d89
  7. 15 Mar, 2004 1 commit
    • unknown's avatar
      actions for bug · 1d3b1633
      unknown authored
      #2709 Affected Rows for ON DUPL. KEY undocumented, perheps illogical 
      1. added COPY_INFO::updated to work with it in
         'insert .. on duplicate' instead of COPY_INFO::deleted
      2. added affected rows to output of "info:" in mysqltest.c
      
      
      client/mysqltest.c:
        added "affected rows" to output of "info : "..
      mysql-test/r/insert_update.result:
        added tests for affected rows with insert .. duplicate (bug #2709)
      mysql-test/t/insert_update.test:
        added tests for affected rows with insert .. duplicate (bug #2709)
      sql/sql_class.h:
        added COPY_INFO::updated
      sql/sql_insert.cc:
        get write_record to work with COPY_INFO::updated instead of 
        COPY_INFO::deleted for 'insert ... duplicate' statement
      1d3b1633
  8. 04 Mar, 2004 2 commits
    • unknown's avatar
      Fixed Bug#2491, INSERT DELAYED causes binary log unusable by mysqlbinlog (replication is ok) · 52236ae1
      unknown authored
      Setting insert delayed threads = 0 at mysql_init_command.
      
      
      sql/mysql_priv.h:
        New session variable, max_insert_delayed_threads
      sql/mysqld.cc:
        New session variable, max_insert_delayed_threads
      sql/set_var.cc:
        New session variable, max_insert_delayed_threads
      sql/sql_class.h:
        New session variable, max_insert_delayed_threads
      sql/sql_insert.cc:
        New session variable, max_insert_delayed_threads
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      52236ae1
    • unknown's avatar
      Rollback UPDATE/DELETE statements on kill · 0b751edc
      unknown authored
      nsure that rows in a multi-row INSERT DELAYED are inserted atomicly
      
      
      mysql-test/mysql-test-run.sh:
        Make test case safe for openserver/unixware (Bug #2700)
      sql/sql_delete.cc:
        Rollback statement on kill
      sql/sql_insert.cc:
        Ensure that rows in a multi-row INSERT DELAYED are inserted atomicly (without releasing logs).
        This is needed to ensure that the mysqlbinlog is consistent.
        Bug #2491
      sql/sql_list.h:
        Ensure that rows in a multi-row INSERT DELAYED is inserted atomicly (without releasing logs).
        This is needed to ensure that the mysqlbinlog is consistent.
        Bug #2491
      sql/sql_update.cc:
        Rollback statement on kill
      0b751edc
  9. 16 Feb, 2004 1 commit
    • unknown's avatar
      ulternative bugfix for BUG#2508 and fix for BUG#2809 - every table has its own TABLE structure · 54d93c41
      unknown authored
      mysql-test/r/union.result:
        fix for union test becuase now not all fields in UNION allow NULLS
        fix of test
        test suite for BUG#2809
      mysql-test/t/union.test:
        test suite for BUG#2809
      sql/mysql_priv.h:
        removed unused parameter of setup_tables()
      sql/sql_base.cc:
        removed unused parameter of setup_tables()
        cleanup of unused code
      sql/sql_class.h:
        removed unused field
      sql/sql_help.cc:
        removed unused parameter of setup_tables()
      sql/sql_insert.cc:
        removed unused parameter of setup_tables()
      sql/sql_lex.cc:
        excluded duplicate tables finding for UNION
      sql/sql_load.cc:
        removed unused parameter of setup_tables()
      sql/sql_olap.cc:
        removed unused parameter of setup_tables()
      sql/sql_prepare.cc:
        removed unused parameter of setup_tables()
      sql/sql_select.cc:
        removed unused parameter of setup_tables()
        revert old BUG#2508 patch
      sql/sql_union.cc:
        revert old BUG#2508 patch
        removed unused code
      sql/sql_update.cc:
        removed unused parameter of setup_tables()
      sql/table.h:
        shared used only for multi-update for now
      54d93c41
  10. 10 Feb, 2004 1 commit
    • unknown's avatar
      Code cleanups · 30d52f53
      unknown authored
      client/mysqlbinlog.cc:
        Ensure that errors are returned to upper levels instead of just doing 'exit/die' in sub function.
      sql/handler.h:
        Indentation cleanup
      sql/sql_insert.cc:
        Indentation cleanup
      30d52f53
  11. 09 Feb, 2004 1 commit
    • unknown's avatar
      row0mysql.c: · e2646f09
      unknown authored
        Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
      Many files:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      
      
      sql/ha_innodb.cc:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      sql/sql_insert.cc:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      sql/ha_innodb.h:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      sql/handler.h:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      innobase/dict/dict0dict.c:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      innobase/include/dict0dict.h:
        Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
      innobase/row/row0mysql.c:
        Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
      e2646f09
  12. 02 Feb, 2004 1 commit
  13. 01 Feb, 2004 1 commit
    • unknown's avatar
      now all tables of query are locked in one place (including derived tables) · 68c0a299
      unknown authored
      fixed BUG#2120 and other problem with EXPLAINing derived tables
      
      
      mysql-test/r/derived.result:
        correct tables names & Co in derived tables
        test case for BUG#2120
      mysql-test/t/derived.test:
        test case for BUG#2120
      sql/mysql_priv.h:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables)
      sql/repl_failsafe.cc:
        correct initialization of TABLE_LIST
      sql/sql_acl.cc:
        used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
      sql/sql_base.cc:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables)
      sql/sql_delete.cc:
        all tables processing is done during opening
      sql/sql_derived.cc:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
      sql/sql_insert.cc:
        all tables processing is done during opening
        correct initialization of TABLE_LIST
      sql/sql_lex.cc:
        now table list will be created for whole query
        layout fix
        correct check of updated table in subqueries
      sql/sql_lex.h:
        now table list will be created for whole query
        correct check of updated table in subqueries
      sql/sql_olap.cc:
        THIS FUNCTION IS USED NOWHERE
        it will be good to remove it at all (handle_olaps)
      sql/sql_parse.cc:
        derived tables processing moved after open/locking all tables (in open_and_lock_tables)
      sql/sql_prepare.cc:
        new creating list parameters
        all tables processing is done during opening
      sql/sql_select.cc:
        all tables processing is done during opening
      sql/sql_select.h:
        now it used only within file where is defined
      sql/sql_udf.cc:
        used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
      sql/sql_update.cc:
        all tables processing is done during opening
      68c0a299
  14. 02 Jan, 2004 1 commit
    • unknown's avatar
      removed droping field->query_id for reinitialization tables for subquery. · b21d8b0e
      unknown authored
      (BUG#2089)
      
      
      mysql-test/r/subselect_innodb.result:
        correct results
      sql/mysql_priv.h:
        new parameter for setup_tables()
      sql/sql_base.cc:
        new parameter for setup_tables() added to avoid dropping query_id of fields during reinitialization subquery
      sql/sql_class.cc:
        layout fixed
      sql/sql_help.cc:
        new parameter for setup_tables()
      sql/sql_insert.cc:
        new parameter for setup_tables()
      sql/sql_lex.cc:
        removed incorrect code
      sql/sql_load.cc:
        new parameter for setup_tables()
      sql/sql_olap.cc:
        new parameter for setup_tables()
      sql/sql_prepare.cc:
        new parameter for setup_tables()
      sql/sql_select.cc:
        new parameter for setup_tables()
      sql/sql_update.cc:
        new parameter for setup_tables()
      b21d8b0e
  15. 30 Dec, 2003 1 commit
    • unknown's avatar
      Some small portability fixes. · 376fb080
      unknown authored
      Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
      This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
      
      
      client/mysqltest.c:
        Indentation cleanup
      include/myisam.h:
        Made some pointers 'const'
      mysql-test/mysql-test-run.sh:
        Portability fix for OSX
      sql/filesort.cc:
        Safety fix (not needed for current code but needed for 5.0)
      sql/ha_berkeley.cc:
        More debugging
        Changed 'create' to return error number
      sql/ha_berkeley.h:
        Added HA_FILE_BASED
      sql/ha_innodb.cc:
        Added missing DBUG_RETURN
      sql/ha_isam.cc:
        Changed create to return error number
      sql/ha_isam.h:
        Added HA_FILE_BASED
      sql/ha_isammrg.h:
        Added HA_FILE_BASED
      sql/ha_myisam.cc:
        Changed create to return error number
      sql/ha_myisam.h:
        Added HA_FILE_BASED
      sql/ha_myisammrg.cc:
        Changed create to return error number
      sql/ha_myisammrg.h:
        Added HA_FILE_BASED
      sql/handler.cc:
        Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
        Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
      sql/handler.h:
        Added HA_FILE_BASED
        Made some struct entries 'const'
        Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
      sql/mysql_priv.h:
        Support for lower_case_table_names=2
      sql/mysqld.cc:
        Support for lower_case_table_names=2
        Moved test of case insenstive file system after all mutex are created
      sql/set_var.cc:
        Support for lower_case_table_names=2
      sql/sql_class.h:
        Indentation change
      sql/sql_db.cc:
        Support for lower_case_table_names=2
      sql/sql_insert.cc:
        Indentation change
      sql/sql_parse.cc:
        Support for lower_case_table_names=2
      sql/sql_rename.cc:
        Support for lower_case_table_names=2
        Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
      sql/sql_show.cc:
        If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
      sql/sql_table.cc:
        Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
      376fb080
  16. 19 Dec, 2003 1 commit
    • unknown's avatar
      THD::lex now points to THD::main_lex like in 5.0 · 8d987f9e
      unknown authored
      All tests pass (client_test included)
      
      
      libmysqld/lib_sql.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/filesort.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_innodb.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_myisam.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_cmpfunc.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_create.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_func.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_subselect.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_sum.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysql_priv.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysqld.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/protocol.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/repl_failsafe.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/slave.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_acl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_base.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_cache.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_delete.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_error.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_insert.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_parse.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_prepare.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_repl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_select.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_table.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_union.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_update.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_yacc.yy:
        THD::lex now points to THD::main_lex like in 5.0
      8d987f9e
  17. 16 Dec, 2003 1 commit
    • unknown's avatar
      Fix for BUG#2083 · e97722e4
      unknown authored
      "EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
      The problem was that during execution of the command on the master, an error
      can occur (for example, not space left on device, then mysqld waits and when
      there is space it completes successfully: so finally it worked but the error
      EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
      To know if finally the command succeeded, we test the 'error' variable in
      every place, and if it shows no failure we reset thd->net.last_err* using
      the function THD::clear_error() which is backported from 4.1.
      A new test to see if now only real errors get to the binlog (note: the test
      uses "rm").
      
      Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
      mem_root after every query in the slave SQL thread: we can keep the initial
      block of it; which will be freed when the thread terminates).
      
      
      sql/log_event.cc:
        In the slave SQL thread, it's a waste to free the initial block of the mem_root
        after every query. We can instead keep it. It will be freed when the thread
        terminates (in THD::~THD()).
      sql/sql_acl.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_base.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_class.h:
        Backport of THD::clear_error() from 4.1:
        clears the error in thd->net.last_errno
      sql/sql_db.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_delete.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_insert.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_parse.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_rename.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_table.cc:
        clear the error in thd->net.last_errno as there was no error
      sql/sql_update.cc:
        clear the error in thd->net.last_errno as there was no error
      e97722e4
  18. 10 Dec, 2003 1 commit
  19. 04 Dec, 2003 1 commit
    • unknown's avatar
      - Fix for BUG#1858 "SQL-Thread stops working when using optimize table": · 66927c51
      unknown authored
      we change THD::system_thread from a 'bool' to a bitmap to be able to
      distinguish between delayed-insert threads and slave threads.
      - Fix for BUG#1701 "Update from multiple tables" (one line in sql_parse.cc,
      plus a new test rpl_multi_update.test). That's just adding an initialization.
      
      
      sql/repl_failsafe.cc:
        comment to warn about this unused code
      sql/slave.cc:
        Now thd->system_thread is a bitmap, not a bool.
      sql/sql_class.h:
        'bool' for THD::system_thread is not accurate enough; sometimes we need
        to distinguish between delayed-insert threads and slave threads;
        so changing THD::system_thread to a bitmap (uint).
      sql/sql_insert.cc:
        thd.system_thread is now a bitmap
      sql/sql_parse.cc:
        We need to initialize thd->lex.select_lex.options in mysql_init_query();
        it's already initialized in dispatch_command() but replication calls
        mysql_parse() directly, thus bypassing dispatch_command().
        Not initing it here leads to a query influencing the next query,
        in the slave SQL thread.
        The initialization in dispatch_command() must be kept as this
        command uses the variable in tests, even when the command was not a
        query (i.e. when mysql_init_query() was not called).
      66927c51
  20. 20 Nov, 2003 1 commit
    • unknown's avatar
      Merge key cache structures to one · 35da5e43
      unknown authored
      Fixed compiler warnings (IRIX C compiler and VC++)
      
      
      VC++Files/client/mysqlclient.dsp:
        Add missing file to project
      VC++Files/libmysql/libmysql.dsp:
        Add missing file to project
      VC++Files/myisam/myisam.dsp:
        Add missing file to project
      VC++Files/mysys/mysys.dsp:
        Add missing file to project
      heap/hp_test1.c:
        Fixed wrong call to heap_rkey()
      heap/hp_test2.c:
        Fixed wrong call to heap_rkey()
      include/hash.h:
        Move not used (internal) struct to hash.c
      include/my_pthread.h:
        Made some structs 'const char*' to avoid warnings
      include/my_sys.h:
        Moved key cache structs and functions to keycache.h
      include/myisam.h:
        Merge key cache structures to one
      include/mysql.h:
        Remove STDCALL from internal functions
      include/sql_common.h:
        Remove STDCALL from internal functions
      include/violite.h:
        Fixed compiler warning
      isam/_locking.c:
        Merge key cache structures to one
      isam/_page.c:
        Merge key cache structures to one
      isam/close.c:
        Merge key cache structures to one
      isam/extra.c:
        Merge key cache structures to one
      isam/isamchk.c:
        Merge key cache structures to one
      isam/isamdef.h:
        Merge key cache structures to one
      isam/isamlog.c:
        Merge key cache structures to one
      isam/panic.c:
        Merge key cache structures to one
      isam/test2.c:
        Merge key cache structures to one
      isam/test3.c:
        Merge key cache structures to one
      libmysql/client_settings.h:
        Remove STDCALL from internal functions
      libmysql/libmysql.c:
        Remove STDCALL from internal functions
      myisam/ft_boolean_search.c:
        Fixed compiler warning
      myisam/ft_dump.c:
        Fixed compiler warnings (%qx is not portable)
      myisam/ft_update.c:
        Fixed compiler warnings
      myisam/mi_check.c:
        Merge key cache structures to one
      myisam/mi_close.c:
        Merge key cache structures to one
      myisam/mi_delete_all.c:
        Merge key cache structures to one
      myisam/mi_extra.c:
        Merge key cache structures to one
      myisam/mi_keycache.c:
        Merge key cache structures to one
      myisam/mi_locking.c:
        Merge key cache structures to one
      myisam/mi_page.c:
        Merge key cache structures to one
      myisam/mi_panic.c:
        Merge key cache structures to one
      myisam/mi_preload.c:
        Merge key cache structures to one
      myisam/mi_test1.c:
        Merge key cache structures to one
      myisam/mi_test2.c:
        Merge key cache structures to one
      myisam/mi_test3.c:
        Merge key cache structures to one
      myisam/myisamchk.c:
        Merge key cache structures to one
      myisam/myisamdef.h:
        Merge key cache structures to one
      myisam/myisamlog.c:
        Merge key cache structures to one
        Removed not used option
      myisam/sort.c:
        Fixed compiler warnings
      myisam/sp_test.c:
        Fixed compiler warnings
      mysql-test/r/case.result:
        Updated results after fix of correct NULL detection in WHEN
      mysql-test/r/date_formats.result:
        Updated results after fixing date handling
      mysql-test/r/symlink.result:
        Updated results after adding DEFAULT CHARSET
      mysql-test/t/case.test:
        New test
      mysql-test/t/symlink.test:
        Updated error numbers
      mysys/hash.c:
        Made HASH_LINK struct local
      mysys/mf_keycache.c:
        Merge key cache structures to one
        Fixed key_cache_read() and key_cache_write() to be resize-safe.
      mysys/mf_keycaches.c:
        Merge key cache structures to one
      mysys/thr_mutex.c:
        Added test if mutex is initalized
      sql-common/client.c:
        Remove STDCALL from internal functions
      sql/derror.cc:
        Added comment
      sql/field.cc:
        Removed not used variables
      sql/ha_innodb.cc:
        Fixed compiler warnings (removed not used variables)
      sql/ha_myisam.cc:
        Merge key cache structures to one
      sql/ha_myisammrg.cc:
        Removed not used variables
      sql/handler.cc:
        Merge key cache structures to one
      sql/handler.h:
        Merge key cache structures to one
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Remove not used variables
      sql/item_func.cc:
        Remove not used variables
      sql/item_strfunc.cc:
        Removed not used variables
      sql/item_sum.cc:
        Removed not used variables
        Moved setting of item_thd to fix_fields()
      sql/item_timefunc.cc:
        Removed not used variables
      sql/mysql_priv.h:
        Merge key cache structures to one
      sql/mysqld.cc:
        Merge key cache structures to one
        init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
      sql/opt_sum.cc:
        Remove not used variables
      sql/protocol.cc:
        Don't send errors after ok has been sent
      sql/protocol_cursor.cc:
        Remove not used variable
        Simple optimization
      sql/repl_failsafe.cc:
        Remove not used variables
      sql/set_var.cc:
        Merge key cache structures to one
      sql/set_var.h:
        Merge key cache structures to one
      sql/sql_acl.cc:
        Remove not used variables
      sql/sql_base.cc:
        Remove not used function
      sql/sql_db.cc:
        Remove not used variables
      sql/sql_handler.cc:
        Remove not used variables
      sql/sql_insert.cc:
        More DBUG statements
        Simple code cleanup
      sql/sql_lex.cc:
        Remove not used variables
      sql/sql_parse.cc:
        Remove not used variables
      sql/sql_prepare.cc:
        Remove not used variables
      sql/sql_repl.cc:
        Remove not used variables
      sql/sql_select.cc:
        Remove not used variables
      sql/sql_show.cc:
        Remove not used variables
      sql/sql_table.cc:
        Merge key cache structures to one
        Removed not used variables
      sql/sql_test.cc:
        Merge key cache structures to one
      sql/strfunc.cc:
        Fixed that find_type() returns correct value for partly matched words.
        (This fixed the error found by date_formats.test)
      sql/time.cc:
        Remove not used variables
      strings/my_strtoll10.c:
        Fixed compiler warnings
      35da5e43
  21. 15 Oct, 2003 1 commit
    • unknown's avatar
      Better fix for CREATE TABLE IF NOT EXISTS ... SELECT · b06eb4d8
      unknown authored
      Fixed chsize() problem on windows
      Extend default timeout on windows clients to 1 year (to avoid timeout problems)
      
      
      include/mysql.h:
        Added client timeouts (for TCP/IP)
      libmysql/libmysql.c:
        Added client timeouts (for TCP/IP)
      mysql-test/r/create.result:
        More tests for CREATE TABLE IF NOT EXISTS ... SELECT
      mysql-test/t/create.test:
        More tests for CREATE TABLE IF NOT EXISTS ... SELECT
      mysys/my_chsize.c:
        Fix for windows
      sql/handler.h:
        Remove not used field 'if_not_exists'
        Ordered fields to be more optimized for new CPU's
        Added field 'table_existed'
      sql/slave.cc:
        Cleanup temporary tables when slave ends
      sql/sql_class.h:
        Remove not used 'do_not_drop' field
      sql/sql_insert.cc:
        Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
      sql/sql_table.cc:
        Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
      b06eb4d8
  22. 11 Oct, 2003 1 commit
    • unknown's avatar
      Add warnings for single line inserts. To do this I had to convert... · 0cdddbf1
      unknown authored
      Add warnings for single line inserts. To do this I had to convert count_cuted_fields to an enum (to be able to detect setting a NOT NULL field to NULL)
      
      
      mysql-test/r/ctype_mb.result:
        update results after adding more warnings
      mysql-test/r/null.result:
        update results after adding more warnings
      mysql-test/r/select_found.result:
        update results after adding more warnings
      mysql-test/r/warnings.result:
        update results after adding more warnings
      mysql-test/t/ctype_mb.test:
        Add missing drop table
      mysql-test/t/myisam.test:
        Disable some warnings
      mysql-test/t/select_found.test:
        update results after adding more warnings
      sql/field_conv.cc:
        Add warnings for single line inserts
      sql/item_func.cc:
        Remove compile warnings
      sql/sql_class.cc:
        Add warnings for single line inserts
      sql/sql_class.h:
        Add warnings for single line inserts
      sql/sql_insert.cc:
        Add warnings for single line inserts
      sql/sql_load.cc:
        Add warnings for single line inserts
      sql/sql_select.cc:
        Add warnings for single line inserts
      sql/sql_table.cc:
        Add warnings for single line inserts
      sql/sql_update.cc:
        Add warnings for single line inserts
      0cdddbf1
  23. 08 Oct, 2003 2 commits
    • unknown's avatar
      Fixed bug in error handling of CREATE ... SELECT · 32747b19
      unknown authored
      More tests cases
      After merge fixes
      
      
      BitKeeper/deleted/.del-ansi-master.opt~4d337eb61642a838:
        Delete: mysql-test/t/ansi-master.opt
      mysql-test/r/ansi.result:
        Cleaned up test to be able to remove ansi-master.opt
      mysql-test/r/create.result:
        Updated results
      mysql-test/r/insert_select.result:
        Updated results
      mysql-test/r/rpl000009.result:
        Updated results
      mysql-test/t/ansi.test:
        Cleaned up test to be able to remove ansi-master.opt
      mysql-test/t/create.test:
        More tests
      mysql-test/t/insert_select.test:
        More tests
      mysql-test/t/mysqlbinlog.test:
        Fixed test after merge
      sql/mysql_priv.h:
        Added character-sets-dir to 'show variables'
      sql/set_var.cc:
        Added character-sets-dir to 'show variables'
      sql/sql_class.cc:
        Fixed that send_error() is called properly when a SELECT fails
      sql/sql_class.h:
        Fixed that send_error() is called properly when a SELECT fails
      sql/sql_insert.cc:
        Fixed bug in error handling of CREATE ... SELECT
      sql/sql_select.cc:
        Fixed bug in error handling of CREATE ... SELECT
      32747b19
    • unknown's avatar
      Fixes after merge · 1ead85e6
      unknown authored
      mysql-test/std_data/trunc_binlog.000001:
        Rename: mysql-test/std_data/trunc_binlog.001 -> mysql-test/std_data/trunc_binlog.000001
      client/mysqltest.c:
        Fixed merge problem
      mysql-test/mysql-test-run.sh:
        Fixed merge problem
      mysql-test/r/distinct.result:
        Fix after merge
      mysql-test/r/drop_temp_table.result:
        Fix after merge
      mysql-test/r/join_outer.result:
        Fix after merge
      mysql-test/r/mysqldump.result:
        Fix after merge
      mysql-test/r/null_key.result:
        Fix after merge
      mysql-test/r/order_by.result:
        Fix after merge
      mysql-test/r/rpl_alter.result:
        Fix after merge
      mysql-test/r/rpl_loaddata.result:
        Fix after merge
      mysql-test/r/rpl_loaddata_rule_m.result:
        Fix after merge
      mysql-test/r/rpl_trunc_binlog.result:
        Fix after merge
      mysql-test/r/select_safe.result:
        Fix after merge
      mysql-test/t/insert.test:
        Fix after merge
      mysql-test/t/mysqlbinlog.test:
        Fix after merge
      mysql-test/t/rpl000009.test:
        Fix after merge
      mysql-test/t/rpl_alter.test:
        Fix after merge
      mysql-test/t/rpl_loaddata_rule_m.test:
        Fix after merge
      mysql-test/t/rpl_trunc_binlog.test:
        Fix after merge
      sql-common/client.c:
        Fix after merge
      sql/item_subselect.cc:
        Fix after merge
      sql/repl_failsafe.cc:
        Fix after merge
      sql/slave.cc:
        Fix after merge
      sql/sql_insert.cc:
        Fix after merge
      1ead85e6
  24. 06 Oct, 2003 2 commits
    • unknown's avatar
      Move init_compiled_charsets to own file · 0e93376e
      unknown authored
      Remove dependency of charsets (in my_init) to get smaller binaries when charsets are not used
      Simple code cleanup
      
      
      client/mysql.cc:
        Fixed indentation
      include/my_sys.h:
        Move init_compiled_charsets to own file
      include/mysql.h:
        Remove compiler warning	
      libmysql/Makefile.shared:
        Move init_compiled_charsets to own file
      mysys/Makefile.am:
        Move init_compiled_charsets to own file
      mysys/charset.c:
        Move init_compiled_charsets to own file
      mysys/my_init.c:
        Remove dependency of charsets
      scripts/mysql_create_system_tables.sh:
        Remove run time warning
      scripts/mysql_fix_privilege_tables.sql:
        Add help tables
      sql/sql_insert.cc:
        Code cleanup
      0e93376e
    • unknown's avatar
      bug #1434 (and related issues) · e86fc82c
      unknown authored
      e86fc82c
  25. 26 Sep, 2003 1 commit
    • unknown's avatar
      SCRUM: · 17053698
      unknown authored
      WL#604 Privileges in embedded library
      code added to check privileges in embedded library
      NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
      access-checking parts. Actually we now can exclude these parts from
      standalone server as well. Do we need it?
      Access checks are disabled in embedded server by default. One should
      edit libmysqld/Makefile manually to get this working.
      We definitely need the separate configure for embedded server
      
      
      include/mysql.h:
        options added so user of embedded library can set the client host
        it will work as if the usual client connects from this host
      libmysqld/Makefile.am:
        Usually one doesn't need access checking in embedded library
        we definitely should separate configure for embedded server
      libmysqld/lib_sql.cc:
        necessary code for getting passwords and access checks added
      libmysqld/libmysqld.c:
        code #ifdef-ed - we use this only when we check permissions
      sql-common/client.c:
        one mysql_close left now
      sql/item_strfunc.cc:
        #ifndef-s added
      sql/log.cc:
        #ifndef-s added
      sql/mysql_priv.h:
        #ifndef-s added
        also i removed default parameters from check_access and check_table_access
        definitions to set definitions working
      sql/mysqld.cc:
        #ifndef-s added
        localhost renamed to my_localhost
      sql/repl_failsafe.cc:
        parameters added
      sql/set_var.cc:
        #ifndef-s added
      sql/sql_acl.cc:
        #ifndef-s added
      sql/sql_acl.h:
        #ifndef-s added
      sql/sql_base.cc:
        #ifndef-s added
      sql/sql_cache.cc:
        #ifndef-s added
      sql/sql_class.cc:
        #ifndef-s added
      sql/sql_db.cc:
        #ifndef-s added
      sql/sql_derived.cc:
        #ifndef-s added
      sql/sql_insert.cc:
        #ifndef-s added
      sql/sql_parse.cc:
        a horde of #ifndef-s added
      sql/sql_prepare.cc:
        #ifndef-s added
      sql/sql_repl.cc:
        parameters added
      sql/sql_show.cc:
        #ifndef-s added
      sql/sql_update.cc:
        #ifndef-s added
      17053698
  26. 13 Sep, 2003 1 commit
    • unknown's avatar
      Remove 'extern' references from .cc files · c4079104
      unknown authored
      mysys/checksum.c:
        Cleanup
      mysys/my_static.h:
        Remove not used include file
      sql/item_strfunc.cc:
        Remove 'extern' references
      sql/lock.cc:
        Remove 'extern' references
      sql/log.cc:
        Remove 'extern' references
      sql/mysql_priv.h:
        Add 'extern' references
      sql/net_serv.cc:
        Added comment
      sql/repl_failsafe.cc:
        Remove 'extern' references
      sql/set_var.cc:
        Remove 'extern' references
      sql/sql_derived.cc:
        Remove 'extern' references
      sql/sql_insert.cc:
        Remove 'extern' references
      sql/sql_parse.cc:
        Remove 'extern' references
      sql/sql_prepare.cc:
        Remove 'extern' references
      sql/sql_repl.cc:
        Remove 'extern' references
      sql/sql_string.cc:
        Added comment
      sql/sql_table.cc:
        Remove 'extern' references
      sql/sql_test.cc:
        Remove 'extern' references
      sql/sql_yacc.yy:
        Remove 'extern' references
      sql/table.cc:
        Remove 'extern' references
      c4079104
  27. 22 Aug, 2003 2 commits
    • unknown's avatar
      bug #1078. two innodb+delayed crashes · 619c0d89
      unknown authored
      619c0d89
    • unknown's avatar
      2 minor edits, plus · fdfb10f2
      unknown authored
      fix for BUG#1113 "INSERT into non-trans table SELECT ; ROLLBACK" does not send warning"
      and
      fix for BUG#873 "In transaction, INSERT to non-trans table is written too early to binlog".
      Now we don't always write the non-trans update immediately to the binlog;
      if there is something in the binlog cache we write it to the binlog cache
      (because the non-trans update could depend on a trans table which was modified
      earlier in the transaction); then in case of ROLLBACK, we write the binlog
      cache to the binlog, wrapped with BEGIN/ROLLBACK.
      This guarantees that the slave does the same updates.
      For ROLLBACK TO SAVEPOINT: when we execute a SAVEPOINT command we write it
      to the binlog cache. At ROLLBACK TO SAVEPOINT, if some non-trans table was updated,
      we write ROLLBACK TO SAVEPOINT to the binlog cache; when the transaction
      terminates (COMMIT/ROLLBACK), the binlog cache will be flushed to the binlog
      (because of the non-trans update) so we'll have SAVEPOINT and ROLLBACK TO
      SAVEPOINT in the binlog.
      
      Apart from this rare case of updates of mixed table types in transaction, the
      usual way is still clear the binlog cache at ROLLBACK, or chop it at
      ROLLBACK TO SAVEPOINT (meaning the SAVEPOINT command is also chopped, which
      is fine).
      Note that BUG#873 encompasses subbugs 1) and 2) of BUG#333 "3 binlogging bugs when doing INSERT with mixed InnoDB/MyISAM".
      
      
      client/mysqldump.c:
        Minor edit: one CHANGE MASTER with 2 arguments instead of 2 CHANGE MASTER with one argument each.
      mysql-test/r/rpl_loaddata.result:
        result update
      mysql-test/t/rpl_loaddata.test:
        minor edit: simplifying the test.
      sql/handler.cc:
        Fix for BUG#873. See comments in code, and the description of the changeset.
      sql/log.cc:
        * Previously, if a query updated a non-transactional table we wrote it immediately
        to the real binlog. This causes a bug when the update is done inside a transaction
        and uses the content of an updated transactional table (because this makes
        a wrong order of queries in the binlog). So if the binlog cache is not empty,
        we write the query to the binlog cache; otherwise we can write it to the binlog.
        * Previously, when we flushed the binlog cache to the binlog, we wrapped it
        with BEGIN/COMMIT. Now it's also possible to wrap it with BEGIN/ROLLBACK, to handle
        transactions which update both transactional and non-transactional tables.
      sql/log_event.cc:
        The slave thread can leave a transaction if COMMIT or if ROLLBACK.
      sql/sql_class.h:
        prototype
      sql/sql_insert.cc:
        Fix for BUG#1113:
        this was because the INSERT SELECT code did not set OPTION_STATUS_NO_TRANS_UPDATE.
      sql/sql_parse.cc:
        Don't send ER_WARNING_NOT_COMPLETE_ROLLBACK if this is the SQL slave thread (see comments).
      fdfb10f2
  28. 28 Jul, 2003 1 commit
    • unknown's avatar
      changed for AUTO_VALUE_ON_ZERO · a56959a5
      unknown authored
      mysql-test/r/auto_increment.result:
        added test for AUTO_VALUE_ON_ZERO
      mysql-test/t/auto_increment.test:
        added test for AUTO_VALUE_ON_ZERO
      a56959a5
  29. 22 Jul, 2003 1 commit
  30. 21 Jul, 2003 2 commits
  31. 14 Jul, 2003 2 commits
    • unknown's avatar
      Fix for the bug #841: wrong number of warnings · 350f2003
      unknown authored
      350f2003
    • unknown's avatar
      Safety and speedup fixes: · e1a30696
      unknown authored
      Changed is_open() to work as before.
      Added back inited argument to LOG
      
      
      mysql-test/r/rpl_flush_log_loop.result:
        Fixed results (probably bug in previous rpatch)
      sql/handler.cc:
        Changed is_open() to work as before
      sql/item_func.cc:
        Changed is_open() to work as before
      sql/log.cc:
        Part revert of previous patch.
        The reason for adding back 'inited' is that is that we can't be 100 % sure that init_pthread_objects() is called before mysqld dies (for example on windows)
        I removed mutex lock handling in is_open() as the new code didn't have ANY affect except beeing slower.
        Added back checking of is_open() to some functions as we don't want to do a mutex lock when we are not using logging.
        Indentation/comment fixes
      sql/log_event.cc:
        Changed is_open() to work as before
      sql/repl_failsafe.cc:
        Changed is_open() to work as before
      sql/sql_base.cc:
        Changed is_open() to work as before
      sql/sql_class.h:
        Changed is_open() to work as before. Added back 'inited' variable
      sql/sql_db.cc:
        Changed is_open() to work as before
      sql/sql_delete.cc:
        Changed is_open() to work as before
      sql/sql_insert.cc:
        Changed is_open() to work as before
      sql/sql_load.cc:
        Changed is_open() to work as before
      sql/sql_parse.cc:
        Changed is_open() to work as before
      sql/sql_rename.cc:
        Changed is_open() to work as before
      sql/sql_repl.cc:
        Changed is_open() to work as before
      sql/sql_table.cc:
        Changed is_open() to work as before
      sql/sql_update.cc:
        Changed is_open() to work as before
      e1a30696
  32. 11 Jul, 2003 1 commit
    • unknown's avatar
      Fix for BUG#791: · d974959b
      unknown authored
      a safer way of initing the mutexes in MYSQL_LOG.
      is_open() is now always thread-safe.
      See each file for details.
      
      
      sql/handler.cc:
        is_open() with locks
      sql/item_func.cc:
        is_open() with locks
      sql/log.cc:
        No more 'inited'.
        We now always use is_open() in a thread-safe manner.
        This simplifies some functions (no more need to test is_open() twice).
      sql/log_event.cc:
        is_open() with locks
      sql/mysqld.cc:
        Init mutexes for the global MYSQL_LOG objects.
        We care about no_rotate, because we can't do it in open() anymore (because
        we don't have 'inited' anymore).
      sql/repl_failsafe.cc:
        is_open() with locks
      sql/slave.cc:
        init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
        Some better locking in rotate_relay_log().
      sql/sql_base.cc:
        is_open() with locks
      sql/sql_class.h:
        Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
        when we were never 100% sure that it had been inited. For example, if the server
        was running without --log-bin, ::open() was not called so the mutex was not
        inited. We could detect it with !inited, but not safely as 'inited' was not
        protected by any mutex.
        So now:
        we *always* init the LOCK_log mutex, even if the log is not used. We can't init
        the mutex in MYSQL_LOG's constructor, because for global objects like
        mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
        safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
        which we call in main(), after MY_INIT().
        For the relay log, we call this function in the constructor of
        st_relay_log_info, which is called before any function tries to
        use the relay log (the relay log is always invoked as rli.relay_log).
        So now we should be safe in all cases and we don't need 'inited'.
      sql/sql_db.cc:
        is_open() with locks
      sql/sql_delete.cc:
        is_open() with locks
      sql/sql_insert.cc:
        is_open() with locks
      sql/sql_load.cc:
        is_open() with locks
      sql/sql_parse.cc:
        is_open() with locks
      sql/sql_rename.cc:
        is_open() with locks
      sql/sql_repl.cc:
        is_open() with locks
      sql/sql_table.cc:
        is_open() with locks
      sql/sql_update.cc:
        is_open() with locks
      d974959b
  33. 15 Jun, 2003 1 commit
  34. 04 Jun, 2003 1 commit
    • unknown's avatar
      Windows build fixups with the latest source · fc59ec4e
      unknown authored
      sql/item_cmpfunc.cc:
        Remove unused variables
      sql/mysqld.cc:
        fix the defination as this is different from the prototype (cl compiler failed)
      sql/sql_insert.cc:
        fix the windows error (without cast)
      sql/sql_show.cc:
        Remove unused variables
      include/config-win.h:
        Fix for Windows build to go (charsets + collation default defs)
      VC++Files/client/mysqlclient.dsp:
        Take care of newly added/removed files
      VC++Files/libmysql/libmysql.dsp:
        Take care of newly added/removed files
      VC++Files/sql/mysqld.dsp:
        Take care of newly added/removed files
      fc59ec4e