[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2771)

2009-11-25 Thread knielsen
#At lp:maria

 2771 kniel...@knielsen-hq.org  2009-11-25
  After-merge fix for merge of MySQL 5.1.41 into MariaDB.
  
  Manually apply fix for Bug#48340 (basically missing initialisation
  of thd->lex->local_file in Load_log_event::do_apply_event())
  modified:
sql/log_event.cc

=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc  2009-11-16 20:49:51 +
+++ b/sql/log_event.cc  2009-11-25 09:15:05 +
@@ -4509,6 +4509,7 @@ int Load_log_event::do_apply_event(NET* 
 as the present method does not call mysql_parse().
   */
   lex_start(thd);
+  thd->lex->local_file= local_fname;
   mysql_reset_thd_for_next_command(thd);
 
   if (!use_rli_only_for_errors)


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to filter updates to certain tables (40)

2009-11-25 Thread worklog-noreply
---
  WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...: Add a mysqlbinlog option to filter updates to certain tables
CREATION DATE..: Mon, 10 Aug 2009, 13:25
SUPERVISOR.: Monty
IMPLEMENTOR: 
COPIES TO..: Psergey
CATEGORY...: Server-Sprint
TASK ID: 40 (http://askmonty.org/worklog/?tid=40)
VERSION: Server-9.x
STATUS.: Un-Assigned
PRIORITY...: 60
WORKED HOURS...: 32
ESTIMATE...: 32 (hours remain)
ORIG. ESTIMATE.: 48

PROGRESS NOTES:

-=-=(Guest - Wed, 25 Nov 2009, 11:41)=-=-
Category updated.
--- /tmp/wklog.40.old.5737  2009-11-25 11:41:03.0 +0200
+++ /tmp/wklog.40.new.5737  2009-11-25 11:41:03.0 +0200
@@ -1 +1 @@
-Server-RawIdeaBin
+Server-Sprint

-=-=(Bothorsen - Tue, 17 Nov 2009, 17:20)=-=-
Alex is closer to a working patch now.

Worked 14 hours and estimate 32 hours remain (original estimate unchanged).

-=-=(Bothorsen - Thu, 12 Nov 2009, 13:13)=-=-
Work hours by Alexi and Bo + estimated time for the task.

Worked 16 hours and estimate 46 hours remain (original estimate increased by 14 
hours).

-=-=(Alexi - Sun, 08 Nov 2009, 15:18)=-=-
Low Level Design modified.
--- /tmp/wklog.40.old.15787 2009-11-08 15:18:11.0 +0200
+++ /tmp/wklog.40.new.15787 2009-11-08 15:18:11.0 +0200
@@ -62,7 +62,7 @@
it considers the query to extent to the end of the event.
 2. For 'db' (current db) the trailing zero is redundant since the length
is already known.
-3. db_len = 0 means that this is the current db.
+3. In tables_info, db_len = 0 means that this is the current db.
 
 When reading Query events from binary log, we can recognize its format
 by its post-header length: in extended case the post-header includes 4
@@ -75,6 +75,77 @@
 + #define Q_QUERY_LEN_OFFSET  Q_STATUS_VARS_LEN_OFFSET + 2
 + #define Q_QUERY_TABLES_INFO_LEN_OFFSET  Q_QUERY_LEN_OFFSET + 2
 
+
+***
+HELP NEEDED
+***
+The QUERY_HEADER_LEN is used in the definition of MAX_LOG_EVENT_HEADER:
+
+log_event.h
+~~~
+#define MAX_LOG_EVENT_HEADER   ( /* in order of Query_log_event::write */ \
+  LOG_EVENT_HEADER_LEN + /* write_header */ \
+  QUERY_HEADER_LEN  + /* write_data */   \
+  EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN + /*write_post_header_for_derived */ \
+  MAX_SIZE_LOG_EVENT_STATUS + /* status */ \
+  NAME_LEN + 1)
+
+which is used only for setting
+
+  thd->variables.max_allowed_packet
+  mysql->net.max_packet_size
+
+Looks like (but I am not quite sure) that QUERY_HEADER_LEN can simply
+(without making any other changes) be substituted in this definition by
+QUERY_HEADER_LEN_EXT.
+
+Below I list all places where MAX_LOG_EVENT_HEADER is used:
+
+slave.cc
+
+static int init_slave_thread(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_allowed_packet on all
+slave threads, since a replication event can become this much larger
+than the corresponding packet (query) sent from client to master.
+  */
+  thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet
++ MAX_LOG_EVENT_HEADER;  /* note, incr over the global not session var */
+  ...
+}
+pthread_handler_t handle_slave_io(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_packet_size on the I/O
+thread, since a replication event can become this much larger than
+the corresponding packet (query) sent from client to master.
+  */
+  mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
+sql_repl.cc
+~~~
+void mysql_binlog_send(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN, since a binlog event can become
+this larger than the corresponding packet (query) sent 
+from client to master.
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+bool mysql_show_binlog_events(...)
+{ ...
+  /*
+to account binlog event header size
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
 3. Changes in log events
 
 
@@ -84,7 +155,7 @@
 This setting is done in Format description event constructor which creates
 the event for writing to binary log:
 
-  if (binlog_with_tables_info)
+  if (opt_binlog_with_tables_info)
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN_EXT;
   else
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN;
@@ -99,12 +170,12 @@
 following manner:
 
   switch (binlog_ver) {
-  case 4: /* MySQL 5.0 and higher */
 + #ifndef MYSQL_CLIENT
+  case 4: /* MySQL 5.0 and higher */
 ...
-+ #else
-+   
+break;
 + #endif
+
   case 1:
   case 3:
 ...
@@ -132,7 +203,7 @@
 
 [Creates the event for binlogging]
 
-In case of binlog_with_tables_info = 

[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to filter updates to certain tables (40)

2009-11-25 Thread worklog-noreply
---
  WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...: Add a mysqlbinlog option to filter updates to certain tables
CREATION DATE..: Mon, 10 Aug 2009, 13:25
SUPERVISOR.: Monty
IMPLEMENTOR: 
COPIES TO..: Psergey
CATEGORY...: Server-Sprint
TASK ID: 40 (http://askmonty.org/worklog/?tid=40)
VERSION: Server-9.x
STATUS.: Un-Assigned
PRIORITY...: 60
WORKED HOURS...: 32
ESTIMATE...: 32 (hours remain)
ORIG. ESTIMATE.: 48

PROGRESS NOTES:

-=-=(Guest - Wed, 25 Nov 2009, 11:41)=-=-
Category updated.
--- /tmp/wklog.40.old.5737  2009-11-25 11:41:03.0 +0200
+++ /tmp/wklog.40.new.5737  2009-11-25 11:41:03.0 +0200
@@ -1 +1 @@
-Server-RawIdeaBin
+Server-Sprint

-=-=(Bothorsen - Tue, 17 Nov 2009, 17:20)=-=-
Alex is closer to a working patch now.

Worked 14 hours and estimate 32 hours remain (original estimate unchanged).

-=-=(Bothorsen - Thu, 12 Nov 2009, 13:13)=-=-
Work hours by Alexi and Bo + estimated time for the task.

Worked 16 hours and estimate 46 hours remain (original estimate increased by 14 
hours).

-=-=(Alexi - Sun, 08 Nov 2009, 15:18)=-=-
Low Level Design modified.
--- /tmp/wklog.40.old.15787 2009-11-08 15:18:11.0 +0200
+++ /tmp/wklog.40.new.15787 2009-11-08 15:18:11.0 +0200
@@ -62,7 +62,7 @@
it considers the query to extent to the end of the event.
 2. For 'db' (current db) the trailing zero is redundant since the length
is already known.
-3. db_len = 0 means that this is the current db.
+3. In tables_info, db_len = 0 means that this is the current db.
 
 When reading Query events from binary log, we can recognize its format
 by its post-header length: in extended case the post-header includes 4
@@ -75,6 +75,77 @@
 + #define Q_QUERY_LEN_OFFSET  Q_STATUS_VARS_LEN_OFFSET + 2
 + #define Q_QUERY_TABLES_INFO_LEN_OFFSET  Q_QUERY_LEN_OFFSET + 2
 
+
+***
+HELP NEEDED
+***
+The QUERY_HEADER_LEN is used in the definition of MAX_LOG_EVENT_HEADER:
+
+log_event.h
+~~~
+#define MAX_LOG_EVENT_HEADER   ( /* in order of Query_log_event::write */ \
+  LOG_EVENT_HEADER_LEN + /* write_header */ \
+  QUERY_HEADER_LEN  + /* write_data */   \
+  EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN + /*write_post_header_for_derived */ \
+  MAX_SIZE_LOG_EVENT_STATUS + /* status */ \
+  NAME_LEN + 1)
+
+which is used only for setting
+
+  thd->variables.max_allowed_packet
+  mysql->net.max_packet_size
+
+Looks like (but I am not quite sure) that QUERY_HEADER_LEN can simply
+(without making any other changes) be substituted in this definition by
+QUERY_HEADER_LEN_EXT.
+
+Below I list all places where MAX_LOG_EVENT_HEADER is used:
+
+slave.cc
+
+static int init_slave_thread(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_allowed_packet on all
+slave threads, since a replication event can become this much larger
+than the corresponding packet (query) sent from client to master.
+  */
+  thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet
++ MAX_LOG_EVENT_HEADER;  /* note, incr over the global not session var */
+  ...
+}
+pthread_handler_t handle_slave_io(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_packet_size on the I/O
+thread, since a replication event can become this much larger than
+the corresponding packet (query) sent from client to master.
+  */
+  mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
+sql_repl.cc
+~~~
+void mysql_binlog_send(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN, since a binlog event can become
+this larger than the corresponding packet (query) sent 
+from client to master.
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+bool mysql_show_binlog_events(...)
+{ ...
+  /*
+to account binlog event header size
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
 3. Changes in log events
 
 
@@ -84,7 +155,7 @@
 This setting is done in Format description event constructor which creates
 the event for writing to binary log:
 
-  if (binlog_with_tables_info)
+  if (opt_binlog_with_tables_info)
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN_EXT;
   else
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN;
@@ -99,12 +170,12 @@
 following manner:
 
   switch (binlog_ver) {
-  case 4: /* MySQL 5.0 and higher */
 + #ifndef MYSQL_CLIENT
+  case 4: /* MySQL 5.0 and higher */
 ...
-+ #else
-+   
+break;
 + #endif
+
   case 1:
   case 3:
 ...
@@ -132,7 +203,7 @@
 
 [Creates the event for binlogging]
 
-In case of binlog_with_tables_info = 

[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to filter updates to certain tables (40)

2009-11-25 Thread worklog-noreply
---
  WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...: Add a mysqlbinlog option to filter updates to certain tables
CREATION DATE..: Mon, 10 Aug 2009, 13:25
SUPERVISOR.: Monty
IMPLEMENTOR: 
COPIES TO..: Psergey
CATEGORY...: Server-Sprint
TASK ID: 40 (http://askmonty.org/worklog/?tid=40)
VERSION: Server-9.x
STATUS.: Assigned
PRIORITY...: 60
WORKED HOURS...: 32
ESTIMATE...: 32 (hours remain)
ORIG. ESTIMATE.: 48

PROGRESS NOTES:

-=-=(Guest - Wed, 25 Nov 2009, 11:41)=-=-
Status updated.
--- /tmp/wklog.40.old.5760  2009-11-25 11:41:09.0 +0200
+++ /tmp/wklog.40.new.5760  2009-11-25 11:41:09.0 +0200
@@ -1 +1 @@
-Un-Assigned
+Assigned

-=-=(Guest - Wed, 25 Nov 2009, 11:41)=-=-
Category updated.
--- /tmp/wklog.40.old.5737  2009-11-25 11:41:03.0 +0200
+++ /tmp/wklog.40.new.5737  2009-11-25 11:41:03.0 +0200
@@ -1 +1 @@
-Server-RawIdeaBin
+Server-Sprint

-=-=(Bothorsen - Tue, 17 Nov 2009, 17:20)=-=-
Alex is closer to a working patch now.

Worked 14 hours and estimate 32 hours remain (original estimate unchanged).

-=-=(Bothorsen - Thu, 12 Nov 2009, 13:13)=-=-
Work hours by Alexi and Bo + estimated time for the task.

Worked 16 hours and estimate 46 hours remain (original estimate increased by 14 
hours).

-=-=(Alexi - Sun, 08 Nov 2009, 15:18)=-=-
Low Level Design modified.
--- /tmp/wklog.40.old.15787 2009-11-08 15:18:11.0 +0200
+++ /tmp/wklog.40.new.15787 2009-11-08 15:18:11.0 +0200
@@ -62,7 +62,7 @@
it considers the query to extent to the end of the event.
 2. For 'db' (current db) the trailing zero is redundant since the length
is already known.
-3. db_len = 0 means that this is the current db.
+3. In tables_info, db_len = 0 means that this is the current db.
 
 When reading Query events from binary log, we can recognize its format
 by its post-header length: in extended case the post-header includes 4
@@ -75,6 +75,77 @@
 + #define Q_QUERY_LEN_OFFSET  Q_STATUS_VARS_LEN_OFFSET + 2
 + #define Q_QUERY_TABLES_INFO_LEN_OFFSET  Q_QUERY_LEN_OFFSET + 2
 
+
+***
+HELP NEEDED
+***
+The QUERY_HEADER_LEN is used in the definition of MAX_LOG_EVENT_HEADER:
+
+log_event.h
+~~~
+#define MAX_LOG_EVENT_HEADER   ( /* in order of Query_log_event::write */ \
+  LOG_EVENT_HEADER_LEN + /* write_header */ \
+  QUERY_HEADER_LEN  + /* write_data */   \
+  EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN + /*write_post_header_for_derived */ \
+  MAX_SIZE_LOG_EVENT_STATUS + /* status */ \
+  NAME_LEN + 1)
+
+which is used only for setting
+
+  thd->variables.max_allowed_packet
+  mysql->net.max_packet_size
+
+Looks like (but I am not quite sure) that QUERY_HEADER_LEN can simply
+(without making any other changes) be substituted in this definition by
+QUERY_HEADER_LEN_EXT.
+
+Below I list all places where MAX_LOG_EVENT_HEADER is used:
+
+slave.cc
+
+static int init_slave_thread(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_allowed_packet on all
+slave threads, since a replication event can become this much larger
+than the corresponding packet (query) sent from client to master.
+  */
+  thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet
++ MAX_LOG_EVENT_HEADER;  /* note, incr over the global not session var */
+  ...
+}
+pthread_handler_t handle_slave_io(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_packet_size on the I/O
+thread, since a replication event can become this much larger than
+the corresponding packet (query) sent from client to master.
+  */
+  mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
+sql_repl.cc
+~~~
+void mysql_binlog_send(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN, since a binlog event can become
+this larger than the corresponding packet (query) sent 
+from client to master.
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+bool mysql_show_binlog_events(...)
+{ ...
+  /*
+to account binlog event header size
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
 3. Changes in log events
 
 
@@ -84,7 +155,7 @@
 This setting is done in Format description event constructor which creates
 the event for writing to binary log:
 
-  if (binlog_with_tables_info)
+  if (opt_binlog_with_tables_info)
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN_EXT;
   else
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN;
@@ -99,12 +170,12 @@
 following manner:
 
   switch (binlog_ver) {
-  case 4: /* MySQL 5.0 and higher */
 + #ifndef MYSQL_CLIENT
+  case 4: /* MySQL 

[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to filter updates to certain tables (40)

2009-11-25 Thread worklog-noreply
---
  WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...: Add a mysqlbinlog option to filter updates to certain tables
CREATION DATE..: Mon, 10 Aug 2009, 13:25
SUPERVISOR.: Monty
IMPLEMENTOR: 
COPIES TO..: Psergey
CATEGORY...: Server-Sprint
TASK ID: 40 (http://askmonty.org/worklog/?tid=40)
VERSION: Server-9.x
STATUS.: Assigned
PRIORITY...: 60
WORKED HOURS...: 32
ESTIMATE...: 32 (hours remain)
ORIG. ESTIMATE.: 48

PROGRESS NOTES:

-=-=(Guest - Wed, 25 Nov 2009, 11:41)=-=-
Status updated.
--- /tmp/wklog.40.old.5760  2009-11-25 11:41:09.0 +0200
+++ /tmp/wklog.40.new.5760  2009-11-25 11:41:09.0 +0200
@@ -1 +1 @@
-Un-Assigned
+Assigned

-=-=(Guest - Wed, 25 Nov 2009, 11:41)=-=-
Category updated.
--- /tmp/wklog.40.old.5737  2009-11-25 11:41:03.0 +0200
+++ /tmp/wklog.40.new.5737  2009-11-25 11:41:03.0 +0200
@@ -1 +1 @@
-Server-RawIdeaBin
+Server-Sprint

-=-=(Bothorsen - Tue, 17 Nov 2009, 17:20)=-=-
Alex is closer to a working patch now.

Worked 14 hours and estimate 32 hours remain (original estimate unchanged).

-=-=(Bothorsen - Thu, 12 Nov 2009, 13:13)=-=-
Work hours by Alexi and Bo + estimated time for the task.

Worked 16 hours and estimate 46 hours remain (original estimate increased by 14 
hours).

-=-=(Alexi - Sun, 08 Nov 2009, 15:18)=-=-
Low Level Design modified.
--- /tmp/wklog.40.old.15787 2009-11-08 15:18:11.0 +0200
+++ /tmp/wklog.40.new.15787 2009-11-08 15:18:11.0 +0200
@@ -62,7 +62,7 @@
it considers the query to extent to the end of the event.
 2. For 'db' (current db) the trailing zero is redundant since the length
is already known.
-3. db_len = 0 means that this is the current db.
+3. In tables_info, db_len = 0 means that this is the current db.
 
 When reading Query events from binary log, we can recognize its format
 by its post-header length: in extended case the post-header includes 4
@@ -75,6 +75,77 @@
 + #define Q_QUERY_LEN_OFFSET  Q_STATUS_VARS_LEN_OFFSET + 2
 + #define Q_QUERY_TABLES_INFO_LEN_OFFSET  Q_QUERY_LEN_OFFSET + 2
 
+
+***
+HELP NEEDED
+***
+The QUERY_HEADER_LEN is used in the definition of MAX_LOG_EVENT_HEADER:
+
+log_event.h
+~~~
+#define MAX_LOG_EVENT_HEADER   ( /* in order of Query_log_event::write */ \
+  LOG_EVENT_HEADER_LEN + /* write_header */ \
+  QUERY_HEADER_LEN  + /* write_data */   \
+  EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN + /*write_post_header_for_derived */ \
+  MAX_SIZE_LOG_EVENT_STATUS + /* status */ \
+  NAME_LEN + 1)
+
+which is used only for setting
+
+  thd->variables.max_allowed_packet
+  mysql->net.max_packet_size
+
+Looks like (but I am not quite sure) that QUERY_HEADER_LEN can simply
+(without making any other changes) be substituted in this definition by
+QUERY_HEADER_LEN_EXT.
+
+Below I list all places where MAX_LOG_EVENT_HEADER is used:
+
+slave.cc
+
+static int init_slave_thread(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_allowed_packet on all
+slave threads, since a replication event can become this much larger
+than the corresponding packet (query) sent from client to master.
+  */
+  thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet
++ MAX_LOG_EVENT_HEADER;  /* note, incr over the global not session var */
+  ...
+}
+pthread_handler_t handle_slave_io(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN to the max_packet_size on the I/O
+thread, since a replication event can become this much larger than
+the corresponding packet (query) sent from client to master.
+  */
+  mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
+sql_repl.cc
+~~~
+void mysql_binlog_send(...)
+{ ...
+  /*
+Adding MAX_LOG_EVENT_HEADER_LEN, since a binlog event can become
+this larger than the corresponding packet (query) sent 
+from client to master.
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+bool mysql_show_binlog_events(...)
+{ ...
+  /*
+to account binlog event header size
+  */
+  thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
+  ...
+}
+
 3. Changes in log events
 
 
@@ -84,7 +155,7 @@
 This setting is done in Format description event constructor which creates
 the event for writing to binary log:
 
-  if (binlog_with_tables_info)
+  if (opt_binlog_with_tables_info)
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN_EXT;
   else
   post_header_len[QUERY_EVENT - 1] = QUERY_HEADER_LEN;
@@ -99,12 +170,12 @@
 following manner:
 
   switch (binlog_ver) {
-  case 4: /* MySQL 5.0 and higher */
 + #ifndef MYSQL_CLIENT
+  case 4: /* MySQL 

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2771)

2009-11-25 Thread knielsen
#At lp:maria

 2771 kniel...@knielsen-hq.org  2009-11-25
  After-merge fix for merge of MySQL 5.1.41 into MariaDB: Valgrind fixes.
  modified:
mysql-test/mysql-test-run.pl
sql/log_event.cc

per-file messages:
  mysql-test/mysql-test-run.pl
Fix Valgrind warnings: add more post-shutdown warning suppressions, and 
revert
bad previous change.
  sql/log_event.cc
Manually apply fix for Bug#48340 (basically missing initialisation
of thd->lex->local_file in Load_log_event::do_apply_event())
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl  2009-11-24 09:34:42 +
+++ b/mysql-test/mysql-test-run.pl  2009-11-25 11:06:01 +
@@ -223,7 +223,7 @@ my $opt_strace_client;
 our $opt_user = "root";
 
 my $opt_valgrind= 0;
-my $opt_valgrind_mysqld= 0;
+our $opt_valgrind_mysqld= 0;
 my $opt_valgrind_mysqltest= 0;
 my @default_valgrind_args= ("--show-reachable=yes");
 my @valgrind_args;
@@ -3990,6 +3990,8 @@ sub extract_warning_lines ($) {
  qr/unknown variable 'loose-/,
  qr/Now setting lower_case_table_names to [02]/,
  qr/deprecated/,
+ qr/Slave SQL thread retried transaction/,
+ qw/Slave \(additional info\)/,
 );
 
   my $match_count= 0;

=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc  2009-11-16 20:49:51 +
+++ b/sql/log_event.cc  2009-11-25 11:06:01 +
@@ -4509,6 +4509,7 @@ int Load_log_event::do_apply_event(NET* 
 as the present method does not call mysql_parse().
   */
   lex_start(thd);
+  thd->lex->local_file= local_fname;
   mysql_reset_thd_for_next_command(thd);
 
   if (!use_rli_only_for_errors)


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2772)

2009-11-25 Thread knielsen
#At lp:maria

 2772 kniel...@knielsen-hq.org  2009-11-25
  After-merge fixes following Merge of Mysql 5.1.41 into MariaDB: Fix path 
for SSL stuff when running testsuite from installed package.
  modified:
mysql-test/lib/My/ConfigFactory.pm

=== modified file 'mysql-test/lib/My/ConfigFactory.pm'
--- a/mysql-test/lib/My/ConfigFactory.pm2009-11-16 20:49:51 +
+++ b/mysql-test/lib/My/ConfigFactory.pm2009-11-25 13:00:28 +
@@ -142,8 +142,7 @@ sub fix_secure_file_priv {
 
 sub fix_std_data {
   my ($self, $config, $group_name, $group)= @_;
-  my $basedir= $self->get_basedir($group);
-  return "$basedir/mysql-test/std_data";
+  return "$::opt_vardir/std_data";
 }
 
 sub ssl_supported {


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Test failures in PBXT after merging with MySQL-5.1.41

2009-11-25 Thread Kristian Nielsen
Kristian Nielsen  writes:

> We are working on merging latest MySQL (5.1.41) into MariaDB.
>
> After the merge, I see some test failures in the PBXT test suite. See here:

Ok, seems most of the PBXT failures are gone now. But one remains:


http://askmonty.org/buildbot/reports/cross_reference#branch=5.1-merge&revision=&platform=debian5-i386-fulltest&dt=&bbnum=&typ=&info=&fail_name=pbxt.join_nested&fail_variant=&fail_info_short=&fail_info_full=

(see end of mail for diff).

It looks like the test is not deterministic, and chooses a slightly different
execution plan between different test runs and platforms for the table t3 and
t4.

Do you have any suggestions about how to deal with this?

 - Kristian.


CURRENT_TEST: pbxt.join_nested 
--- 
/var/lib/buildbot/maria-slave/debian5-i386-fulltest/build/mysql-test/suite/pbxt/r/join_nested.result
 2009-11-25 21:10:35.0 +0300 
+++ 
/var/lib/buildbot/maria-slave/debian5-i386-fulltest/build/mysql-test/suite/pbxt/r/join_nested.reject
 2009-11-25 21:46:01.0 +0300 
@@ -1008,13 +1008,13 @@
 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where 
-1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 1 100.00 Using where 
+1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 1 100.00
 1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where
 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
 1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
 1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 1 100.00 Using where
 1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer 
-Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` 
AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS 
`b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS 
`a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS 
`b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS 
`a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS 
`b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join 
`test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) 
on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join 
`test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` 
on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10 
on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2 
on`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 
2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or 
isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) 
and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and 
(`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and 
((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) 
or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or 
isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) 
or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or 
isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or 
isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) 
and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`))) 
+Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` 
AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS 
`b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS 
`a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS 
`b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS 
`a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS 
`b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join 
`test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) 
on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join 
`test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` 
on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10 
on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2 
on`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 
2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or 
isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) 
and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and 
(`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and 
((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) 
or isnull(`test`.`t3`.`c`)) and ((`test`.`t3`.`b` = `test`.`t4`.`b`) or 
isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) 
or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or 
isnu

[Maria-developers] Help with memory leak in EXPLAIN

2009-11-25 Thread Kristian Nielsen
Hi Sergey,

I encountered a memory leak while working on fixing the MySQL 5.1.41 merge.

The memory leak is repeatable with the following test case:

-- cut here --
#
# Bug#45989 memory leak after explain encounters an error in the query
#
CREATE TABLE t1(a LONGTEXT);
INSERT INTO t1 VALUES (repeat('a',@@global.max_allowed_packet));
INSERT INTO t1 VALUES (repeat('b',@@global.max_allowed_packet));
--error ER_BAD_FIELD_ERROR
EXPLAIN SELECT DISTINCT 1 FROM t1,
(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) as d1
 WHERE t1.a = d1.a;
DROP TABLE t1;
-- cut here --

perl mysql-test-run.pl --valgrind kn.test

Errors/warnings were found in logfiles during server shutdown after running the
following sequence(s) of tests:
main.kn

==14709== 1,048,584 bytes in 1 blocks are possibly lost in loss record 7 of 7
==14709==at 0x4C22FAB: malloc (vg_replace_malloc.c:207)
==14709==by 0xB1DDD0: my_malloc (my_malloc.c:37)
==14709==by 0x6691C1: String::real_alloc(unsigned) (sql_string.cc:43)
==14709==by 0x5D7BFF: String::alloc(unsigned) (sql_string.h:210)
==14709==by 0x669835: String::copy(String const&) (sql_string.cc:192)
==14709==by 0x7E8BB0: do_save_blob(Copy_field*) (field_conv.cc:296)
==14709==by 0x7E6922: do_copy_null(Copy_field*) (field_conv.cc:207)
==14709==by 0x6EB28B: copy_fields(TMP_TABLE_PARAM*) (sql_select.cc:15374)
==14709==by 0x6F7F1B: end_write_group(JOIN*, st_join_table*, bool) 
(sql_select.cc:12715)
==14709==by 0x6F4415: evaluate_join_record(JOIN*, st_join_table*, int) 
(sql_select.cc:11514)
==14709==by 0x6F464E: sub_select(JOIN*, st_join_table*, bool) 
(sql_select.cc:11399)
==14709==by 0x705B1E: do_select(JOIN*, List*, st_table*, Procedure*) 
(sql_select.cc:11155)
==14709==by 0x7161C2: JOIN::exec() (sql_select.cc:1809)
==14709==by 0x7127B6: mysql_select(THD*, Item***, TABLE_LIST*, unsigned, 
List&, Item*, unsigned, st_order*, st_order*, Item*, st_order*, unsigned 
long long, select_result*, st_select_lex_unit*, st_select_lex*) 
(sql_select.cc:2425)
==14709==by 0x82EEEB: mysql_derived_filling(THD*, st_lex*, TABLE_LIST*) 
(sql_derived.cc:294)
==14709==by 0x82EC8B: mysql_handle_derived(st_lex*, bool (*)(THD*, st_lex*, 
TABLE_LIST*)) (sql_derived.cc:56)

This bug is also in main lp:maria MariaDB trunk, and also in current MySQL
(there is a MySQL bug, http://bugs.mysql.com/bug.php?id=45989).

Could you take a look, and see if it is something you/we could fix, or if you
have any other suggestions for how to deal with this?

 - Kristian.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] WL47: Second suggestion.

2009-11-25 Thread Alexi1952
Having to start with WL47 which already contains the 'First suggestion',
I'd like to discuss:

Second suggestion
~
Add query text to the RBR events data part (together with adding query_len
field to their header).

Reason (compared with the First suggestion):
- this makes binary log bit smaller (no need to store headers of new events).
- almost all changes needed in this case are localized in the RBR-event
  classes (e.g. replication, being, roughly speaking, based on calling the
  apply_event() and other Log_event methods, shouldn't care about whether
  there is a query_text in the event or not).
 
We can recognize whether an RBR-event in a binary log contain query text
or not by looking at it header length in the Format description event
(the post_header member): containing the additional query_len field,
the header of the 'extended' event have a diferent size.

Because we are able to recognize RBR-events format _only_ by the Format
description event (at the beginning of the binary log), we can not allow
to mix in one binary log both 'standard' and 'extended' formats (which is
possible within the First suggestion). If possibility of such a mix is
important then we should prefer the First suggestion.

Any remarks ?
Which way to go ?

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] New (by Sanja): Subquery optimization: Avoid recalculating subquery if external fields values found in subquery cache (66)

2009-11-25 Thread worklog-noreply
---
  WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...: Subquery optimization: Avoid recalculating subquery if 
external fields
values found in subquery cache
CREATION DATE..: Wed, 25 Nov 2009, 22:25
SUPERVISOR.: Monty
IMPLEMENTOR: Sanja
COPIES TO..: 
CATEGORY...: Server-BackLog
TASK ID: 66 (http://askmonty.org/worklog/?tid=66)
VERSION: Server-5.2
STATUS.: Assigned
PRIORITY...: 60
WORKED HOURS...: 0
ESTIMATE...: 0 (hours remain)
ORIG. ESTIMATE.: 0

PROGRESS NOTES:



DESCRIPTION:

Collect all outer items/references (left part of the subquiery and outer
references inside the subquery) in key string. Compare the string (which
represents certain value set of the references) against values in hash table and
return cached result of subquery if the reference values combination has already
been used.

For example in the following subquery:
(L1, L2) IN (SELECT A, B FROM T WHERE T.F1>OTER_FIELD)
set of references to look into the subquery cache is (L1, L2, OTER_FIELD).

The subquery cache should be implemented as simple LRU connected to the 
subquery.

Size of the subquery cache (in number of results (but maybe in used memory
amount)) is limited by session variable (query parameter?).


ESTIMATED WORK TIME

ESTIMATED COMPLETION DATE
---
WorkLog (v3.5.9)




___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] New (by Sanja): Subquery optimization: Avoid recalculating subquery if external fields values found in subquery cache (66)

2009-11-25 Thread worklog-noreply
---
  WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...: Subquery optimization: Avoid recalculating subquery if 
external fields
values found in subquery cache
CREATION DATE..: Wed, 25 Nov 2009, 22:25
SUPERVISOR.: Monty
IMPLEMENTOR: Sanja
COPIES TO..: 
CATEGORY...: Server-BackLog
TASK ID: 66 (http://askmonty.org/worklog/?tid=66)
VERSION: Server-5.2
STATUS.: Assigned
PRIORITY...: 60
WORKED HOURS...: 0
ESTIMATE...: 0 (hours remain)
ORIG. ESTIMATE.: 0

PROGRESS NOTES:



DESCRIPTION:

Collect all outer items/references (left part of the subquiery and outer
references inside the subquery) in key string. Compare the string (which
represents certain value set of the references) against values in hash table and
return cached result of subquery if the reference values combination has already
been used.

For example in the following subquery:
(L1, L2) IN (SELECT A, B FROM T WHERE T.F1>OTER_FIELD)
set of references to look into the subquery cache is (L1, L2, OTER_FIELD).

The subquery cache should be implemented as simple LRU connected to the 
subquery.

Size of the subquery cache (in number of results (but maybe in used memory
amount)) is limited by session variable (query parameter?).


ESTIMATED WORK TIME

ESTIMATED COMPLETION DATE
---
WorkLog (v3.5.9)




___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (monty:2767)

2009-11-25 Thread Michael Widenius
#At lp:maria based on revid:mo...@askmonty.org-20091125073628-7fekfnr2hmkbjos1

 2767 Michael Widenius  2009-11-26
  Fixed LPBUG#485443 --with-fast-mutexes and without safe mutexes (debug 
build) maria do not builds
  Added 'mariadb_SERVER' as extra config group for MariaDB embedded server
  modified:
client/mysql.cc
mysys/thr_mutex.c

per-file messages:
  client/mysql.cc
Cleanup
Added 'mariadb_SERVER' as extra config group for MariaDB embedded server
  mysys/thr_mutex.c
Fixed LPBUG#485443 --with-fast-mutexes and without safe mutexes (debug 
build) maria do not builds
=== modified file 'client/mysql.cc'
--- a/client/mysql.cc   2009-11-06 17:22:32 +
+++ b/client/mysql.cc   2009-11-25 23:18:23 +
@@ -83,7 +83,7 @@ extern "C" {
 #include 
 #endif
 #endif
-#endif
+#endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
 
 #undef bcmp// Fix problem with new readline
 #if defined(__WIN__)
@@ -92,7 +92,6 @@ extern "C" {
 #include 
 #define HAVE_READLINE
 #endif
-  //int vidattr(long unsigned int attrs);  // Was missing in sun curses
 }
 
 #if !defined(HAVE_VIDATTR)
@@ -1024,7 +1023,7 @@ static const char *load_default_groups[]
 static int embedded_server_arg_count= 0;
 static char   *embedded_server_args[MAX_SERVER_ARGS];
 static const char *embedded_server_groups[]=
-{ "server", "embedded", "mysql_SERVER", 0 };
+{ "server", "embedded", "mysql_SERVER", "mariadb_SERVER", 0 };
 
 #ifdef HAVE_READLINE
 /*

=== modified file 'mysys/thr_mutex.c'
--- a/mysys/thr_mutex.c 2009-06-22 08:06:35 +
+++ b/mysys/thr_mutex.c 2009-11-25 23:18:23 +
@@ -36,6 +36,7 @@
 #undef pthread_mutex_init
 #undef pthread_mutex_lock
 #undef pthread_mutex_unlock
+#undef pthread_mutex_trylock
 #undef pthread_mutex_destroy
 #undef pthread_cond_wait
 #undef pthread_cond_timedwait
@@ -838,31 +839,9 @@ static void print_deadlock_warning(safe_
   DBUG_VOID_RETURN;
 }
 
+#elif defined(MY_PTHREAD_FASTMUTEX)
 
-#endif /* THREAD && SAFE_MUTEX */
-
-#if defined(THREAD) && defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX)
-
-#include "mysys_priv.h"
-#include "my_static.h"
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#undef pthread_mutex_t
-#undef pthread_mutex_init
-#undef pthread_mutex_lock
-#undef pthread_mutex_trylock
-#undef pthread_mutex_unlock
-#undef pthread_mutex_destroy
-#undef pthread_cond_wait
-#undef pthread_cond_timedwait
-
-ulong mutex_delay(ulong delayloops)
+static ulong mutex_delay(ulong delayloops)
 {
   ulongi;
   volatile ulong j;
@@ -943,6 +922,6 @@ void fastmutex_global_init(void)
   cpu_count= sysconf(_SC_NPROCESSORS_CONF);
 #endif
 }
-  
-#endif /* SAFE_MUTEX_DEFINED */
+
+#endif /* defined(MY_PTHREAD_FASTMUTEX) */
 #endif /* THREAD */


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] [Branch ~maria-captains/maria/5.1] Rev 2767: Fixed LPBUG#485443 --with-fast-mutexes and without safe mutexes (debug build) maria do not builds

2009-11-25 Thread noreply

revno: 2767
committer: Michael Widenius 
branch nick: maria-5.1
timestamp: Thu 2009-11-26 01:18:23 +0200
message:
  Fixed LPBUG#485443 --with-fast-mutexes and without safe mutexes (debug build) 
maria do not builds
  Added 'mariadb_SERVER' as extra config group for MariaDB embedded server
modified:
  client/mysql.cc
  mysys/thr_mutex.c


--
lp:maria
https://code.launchpad.net/~maria-captains/maria/5.1

Your team Maria developers is subscribed to branch lp:maria.
To unsubscribe from this branch go to 
https://code.launchpad.net/~maria-captains/maria/5.1/+edit-subscription.
=== modified file 'client/mysql.cc'
--- client/mysql.cc	2009-11-06 17:22:32 +
+++ client/mysql.cc	2009-11-25 23:18:23 +
@@ -83,7 +83,7 @@
 #include 
 #endif
 #endif
-#endif
+#endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
 
 #undef bcmp// Fix problem with new readline
 #if defined(__WIN__)
@@ -92,7 +92,6 @@
 #include 
 #define HAVE_READLINE
 #endif
-  //int vidattr(long unsigned int attrs);	// Was missing in sun curses
 }
 
 #if !defined(HAVE_VIDATTR)
@@ -1024,7 +1023,7 @@
 static int embedded_server_arg_count= 0;
 static char   *embedded_server_args[MAX_SERVER_ARGS];
 static const char *embedded_server_groups[]=
-{ "server", "embedded", "mysql_SERVER", 0 };
+{ "server", "embedded", "mysql_SERVER", "mariadb_SERVER", 0 };
 
 #ifdef HAVE_READLINE
 /*

=== modified file 'mysys/thr_mutex.c'
--- mysys/thr_mutex.c	2009-06-22 08:06:35 +
+++ mysys/thr_mutex.c	2009-11-25 23:18:23 +
@@ -36,6 +36,7 @@
 #undef pthread_mutex_init
 #undef pthread_mutex_lock
 #undef pthread_mutex_unlock
+#undef pthread_mutex_trylock
 #undef pthread_mutex_destroy
 #undef pthread_cond_wait
 #undef pthread_cond_timedwait
@@ -838,31 +839,9 @@
   DBUG_VOID_RETURN;
 }
 
-
-#endif /* THREAD && SAFE_MUTEX */
-
-#if defined(THREAD) && defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX)
-
-#include "mysys_priv.h"
-#include "my_static.h"
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#undef pthread_mutex_t
-#undef pthread_mutex_init
-#undef pthread_mutex_lock
-#undef pthread_mutex_trylock
-#undef pthread_mutex_unlock
-#undef pthread_mutex_destroy
-#undef pthread_cond_wait
-#undef pthread_cond_timedwait
-
-ulong mutex_delay(ulong delayloops)
+#elif defined(MY_PTHREAD_FASTMUTEX)
+
+static ulong mutex_delay(ulong delayloops)
 {
   ulong	i;
   volatile ulong j;
@@ -943,6 +922,6 @@
   cpu_count= sysconf(_SC_NPROCESSORS_CONF);
 #endif
 }
-  
-#endif /* SAFE_MUTEX_DEFINED */
+
+#endif /* defined(MY_PTHREAD_FASTMUTEX) */
 #endif /* THREAD */

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2773)

2009-11-25 Thread knielsen
#At lp:maria

 2773 kniel...@knielsen-hq.org  2009-11-26
  After-merge fix for MySQL 5.1.41 merge into MariaDB: Another warning 
antipattern also needed during shutdown.
  modified:
mysql-test/mysql-test-run.pl

=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl  2009-11-25 11:06:01 +
+++ b/mysql-test/mysql-test-run.pl  2009-11-26 07:45:54 +
@@ -3989,6 +3989,7 @@ sub extract_warning_lines ($) {
  qr/unknown option '--loose-/,
  qr/unknown variable 'loose-/,
  qr/Now setting lower_case_table_names to [02]/,
+ qr/Setting lower_case_table_names=2/,
  qr/deprecated/,
  qr/Slave SQL thread retried transaction/,
  qw/Slave \(additional info\)/,


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp