An error occurred fetching the project authors.
  1. 16 Mar, 2005 1 commit
    • dlenev@brandersnatch.localdomain's avatar
      WL#874 "Extended LOAD DATA". · f1691140
      dlenev@brandersnatch.localdomain authored
      Now one can use user variables as target for data loaded from file
      (besides table's columns). Also LOAD DATA got new SET-clause in which
      one can specify values for table columns as expressions.
      
      For example the following is possible:
      LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1;
      
      This patch also implements new way of replicating LOAD DATA.
      Now we do it similarly to other queries.
      We store LOAD DATA query in new Execute_load_query event
      (which is last in the sequence of events representing LOAD DATA).
      When we are executing this event we simply rewrite part of query which
      holds name of file (we use name of temporary file) and then execute it
      as usual query. In the beggining of this sequence we use Begin_load_query
      event which is almost identical to Append_file event
      f1691140
  2. 16 Feb, 2005 1 commit
  3. 08 Feb, 2005 1 commit
  4. 03 Feb, 2005 1 commit
    • guilhem@mysql.com's avatar
      WL#1062 "log charset info into all Query_log_event": · ed1696f6
      guilhem@mysql.com authored
      we store 7 bytes (1 + 2*3) in every Query_log_event.
      In the future if users want binlog optimized for small size and less safe,
      we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info
      is something by design optional (even if for now we don't offer possibility to disable it):
      it's not a binlog format change.
      We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum
      by caching the charset read from the previous event (which will often be equal to the one of the current event).
      We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later).
      No more errors if one changes the global value of charset vars on master or slave
      (as we log charset info in all Query_log_event).
      Not fixing Load_log_event as it will be rewritten soon by Dmitri.
      Testing how mysqlbinlog behaves in rpl_charset.test.
      mysqlbinlog needs to know where charset file is (to be able to convert a charset number found
      in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass
      the correct value for this option to mysqlbinlog.
      Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS).
      Roughly the same job is to be done for timezones :)
      ed1696f6
  5. 16 Jan, 2005 1 commit
  6. 15 Jul, 2004 1 commit
    • monty@mysql.com's avatar
      After merge fixes · 5b3c418b
      monty@mysql.com authored
      Note: The following tests fails
      - fulltext (Sergei has promised to fix)
      - rpl_charset (Guilhem should fix)
      - rpl_timezone (Dimitray has promised to fix)
      
      Sanja needs to check out the calling of close_thread_tables() in sp_head.cc
      5b3c418b
  7. 23 Jun, 2004 1 commit
    • serg@serg.mylan's avatar
      handler interface cleanups: · 3f1c4ba7
      serg@serg.mylan authored
        more logical table/index_flags
        return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
        max_keys and other limits renamed to max_supported_keys/etc
        max_keys/etc are now wrappers to max_supported_keys/etc 
        ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
      3f1c4ba7
  8. 08 Jun, 2004 1 commit
    • guilhem@mysql.com's avatar
      Correction to replication of charsets in 4.1: · b514e6a8
      guilhem@mysql.com authored
      In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
      To be perfect, we should have escaped with character_set_client. But this charset is unknown
      to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
      100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
      b514e6a8
  9. 07 Jun, 2004 1 commit
  10. 03 Jun, 2004 1 commit
    • guilhem@mysql.com's avatar
      Implementation of WL#1824 "Add replication of character set variables in 4.1", · 86e8ecc9
      guilhem@mysql.com authored
      by binlogging some SET ONE_SHOT CHARACTER_SETetc,
      which will be enough until we have it more compact and more complete in 5.0. With the present patch,
      replication will work ok between 4.1.3 master and slaves, as long as:
      - master and slave have the same GLOBAL.COLLATION_SERVER
      - COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
      - application does not use the fact that table is created with charset of the USEd db (BUG#2326).
      all of which are not too hard to fulfill. 
      ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
      so we give error if used for non-charset vars.
      Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
       variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
       properly after SET NAMES".
      Detecting that master and slave have different global charsets or server ids.
      86e8ecc9
  11. 19 Dec, 2003 1 commit
    • guilhem@gbichot2's avatar
      This is the final commit for Worklog tasks: · df3b1a54
      guilhem@gbichot2 authored
         * A more dynamic binlog format which allows small changes (1064)
         * Log session variables in Query_log_event (1063)
      It contains a few bugfixes (which I made when running the testsuite).
      I carefully updated the results of the testsuite (i.e. I checked for every one,
      if the difference between .reject and .result could be explained).
      Apparently mysql-test-run --manager is broken in 4.1 and 5.0 currently,
      so I could neither run the few tests which require --manager, nor check
      that they pass nor modify their .result. But for builds, we don't run
      with --manager.
      Apart from --manager, the full testsuite passes, with Valgrind too (no errors).
      I'm going to push in the next minutes. Remains: update the manual.
      Note: by chance I saw that (in 4.1, in 5.0) rpl_get_lock fails when run alone;
      this is normal at it makes assumptions on thread ids. I will fix this one day
      in 4.1.
      df3b1a54
  12. 02 Oct, 2003 1 commit
    • guilhem@gbichot2's avatar
      fix for BUG#1331: "Unexistent user variable is not replicated". · 2f11e5d1
      guilhem@gbichot2 authored
      When an update query is to be written to the binlog, and it reads unset
      user variables (example: INSERT INTO t VALUEs(@A) where @A does not exist),
      we create the variable like if it had been set with SET before, and we loop
      (i.e. we redo the steps of logging, now that the variable exists).
      2f11e5d1
  13. 18 Aug, 2003 1 commit
    • monty@mashka.mysql.fi's avatar
      After merge fixes · 4f751216
      monty@mashka.mysql.fi authored
      Use server character set if --default-character-set is not used
      Added convert_string() for more efficient alloc+character-set convert of strings
      4f751216
  14. 21 Feb, 2003 1 commit
  15. 14 Feb, 2003 1 commit
  16. 30 Jan, 2003 1 commit