Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 194561 | Differences between
and this patch

Collapse All | Expand All

(-)a/0000_index.txt (-15 / +95 lines)
Lines 479-556 Link Here
479
@@ Prevent SIGBUS on Sparc with NDB
479
@@ Prevent SIGBUS on Sparc with NDB
480
480
481
@patch 1001_all_show_patches-percona-5.0.75-b12.patch
481
@patch 1001_all_show_patches-percona-5.0.75-b12.patch
482
@ver 5.00.75.00 to 5.00.99.99
482
@ver 5.00.75.00 to 5.00.75.99
483
@pn mysql-community
483
@pn mysql-community
484
@@ Percona 5.0.75-b12: Patch listing in build data
484
@@ Percona 5.0.75-b12: Patch listing in build data
485
485
486
@patch 1002_all_microslow_innodb-percona-5.0.75-b12.patch
486
@patch 1002_all_microslow_innodb-percona-5.0.75-b12.patch
487
@ver 5.00.75.00 to 5.00.99.99
487
@ver 5.00.75.00 to 5.00.75.99
488
@pn mysql-community
488
@pn mysql-community
489
@@ Percona 5.0.75-b12: Extended statistics in slow.log
489
@@ Percona 5.0.75-b12: Extended statistics in slow.log
490
490
491
@patch 1003_all_userstatv2-percona-5.0.75-b12.patch
491
@patch 1003_all_userstatv2-percona-5.0.75-b12.patch
492
@ver 5.00.75.00 to 5.00.99.99
492
@ver 5.00.75.00 to 5.00.75.99
493
@pn mysql-community
493
@pn mysql-community
494
@@ Percona 5.0.75-b12: SHOW USER/TABLE/INDEX statistics
494
@@ Percona 5.0.75-b12: SHOW USER/TABLE/INDEX statistics
495
# Respin?
495
# Respin?
496
496
497
@patch 1004_all_microsec_process-percona-5.0.75-b12.patch
497
@patch 1004_all_microsec_process-percona-5.0.75-b12.patch
498
@ver 5.00.75.00 to 5.00.99.99
498
@ver 5.00.75.00 to 5.00.75.99
499
@pn mysql-community
499
@pn mysql-community
500
@@ Percona 5.0.75-b12: Adds INFOMATION_SCHEMA.PROCESSLIST with TIME_MS column
500
@@ Percona 5.0.75-b12: Adds INFOMATION_SCHEMA.PROCESSLIST with TIME_MS column
501
501
502
@patch 1005_all_innodb_io_patches-percona-5.0.75-b12.patch
502
@patch 1005_all_innodb_io_patches-percona-5.0.75-b12.patch
503
@ver 5.00.75.00 to 5.00.99.99
503
@ver 5.00.75.00 to 5.00.75.99
504
@pn mysql-community
504
@pn mysql-community
505
@@ Percona 5.0.75-b12: Cluster of past InnoDB IO patches
505
@@ Percona 5.0.75-b12: Cluster of past InnoDB IO patches
506
506
507
# Disabled, broken.
507
# Disabled, broken.
508
#@patch 1006_all_mirror_binlog-percona-5.0.75-b12.patch
508
#@patch 1006_all_mirror_binlog-percona-5.0.75-b12.patch
509
#@ver 5.00.75.00 to 5.00.99.99
509
#@ver 5.00.75.00 to 5.00.75.99
510
#@pn mysql-community
510
#@pn mysql-community
511
#@@ Percona 5.0.75-b12: Mirroring binary logs on slave
511
#@@ Percona 5.0.75-b12: Mirroring binary logs on slave
512
512
513
@patch 1007_all_mysqld_safe_syslog-percona-5.0.75-b12.patch
513
@patch 1007_all_mysqld_safe_syslog-percona-5.0.75-b12.patch
514
@ver 5.00.75.00 to 5.00.99.99
514
@ver 5.00.75.00 to 5.00.75.99
515
@pn mysql-community
515
@pn mysql-community
516
@@ Percona 5.0.75-b12: allows redirect output of error.log to syslog-ng
516
@@ Percona 5.0.75-b12: allows redirect output of error.log to syslog-ng
517
517
518
@patch 1008_all_innodb_locks_held-percona-5.0.75-b12.patch
518
@patch 1008_all_innodb_locks_held-percona-5.0.75-b12.patch
519
@ver 5.00.75.00 to 5.00.99.99
519
@ver 5.00.75.00 to 5.00.75.99
520
@pn mysql-community
520
@pn mysql-community
521
@@ Percona 5.0.75-b12: Add locks held, remove locked records in SHOW INNODB STATUS
521
@@ Percona 5.0.75-b12: Add locks held, remove locked records in SHOW INNODB STATUS
522
522
523
@patch 1009_all_innodb_show_bp-percona-5.0.75-b12.patch
523
@patch 1009_all_innodb_show_bp-percona-5.0.75-b12.patch
524
@ver 5.00.75.00 to 5.00.99.99
524
@ver 5.00.75.00 to 5.00.75.99
525
@pn mysql-community
525
@pn mysql-community
526
@@ Percona 5.0.75-b12: show innodb buffer pool content
526
@@ Percona 5.0.75-b12: show innodb buffer pool content
527
527
528
@patch 1010_all_innodb_show_hashed_memory-percona-5.0.75-b12.patch
528
@patch 1010_all_innodb_show_hashed_memory-percona-5.0.75-b12.patch
529
@ver 5.00.75.00 to 5.00.99.99
529
@ver 5.00.75.00 to 5.00.75.99
530
@pn mysql-community
530
@pn mysql-community
531
@@ Percona 5.0.75-b12: Adds additional information of InnoDB internal hash table memories in SHOW INNODB STATUS
531
@@ Percona 5.0.75-b12: Adds additional information of InnoDB internal hash table memories in SHOW INNODB STATUS
532
532
533
@patch 1011_all_innodb_check_fragmentation-percona-5.0.75-b12.patch
533
@patch 1011_all_innodb_check_fragmentation-percona-5.0.75-b12.patch
534
@ver 5.00.75.00 to 5.00.99.99
534
@ver 5.00.75.00 to 5.00.75.99
535
@pn mysql-community
535
@pn mysql-community
536
@@ Percona 5.0.75-b12: Session status to check fragmentation of the last InnoDB scan
536
@@ Percona 5.0.75-b12: Session status to check fragmentation of the last InnoDB scan
537
537
538
@patch 1012_all_innodb_io_pattern-percona-5.0.75-b12.patch
538
@patch 1012_all_innodb_io_pattern-percona-5.0.75-b12.patch
539
@ver 5.00.75.00 to 5.00.99.99
539
@ver 5.00.75.00 to 5.00.75.99
540
@pn mysql-community
540
@pn mysql-community
541
@@ Percona 5.0.75-b12: Information schema table of InnoDB IO counts for each datafile pages
541
@@ Percona 5.0.75-b12: Information schema table of InnoDB IO counts for each datafile pages
542
542
543
@patch 1013_all_innodb_fsync_source-percona-5.0.75-b12.patch
543
@patch 1013_all_innodb_fsync_source-percona-5.0.75-b12.patch
544
@ver 5.00.75.00 to 5.00.99.99
544
@ver 5.00.75.00 to 5.00.75.99
545
@pn mysql-community
545
@pn mysql-community
546
@@ Percona 5.0.75-b12: Information of fsync callers in InnoDB
546
@@ Percona 5.0.75-b12: Information of fsync callers in InnoDB
547
547
548
@patch 1100_all_split_buf_pool_mutex_fixed_optimistic_safe-percona-5.0.75-b12.patch
548
@patch 1100_all_split_buf_pool_mutex_fixed_optimistic_safe-percona-5.0.75-b12.patch
549
@ver 5.00.75.00 to 5.00.99.99
549
@ver 5.00.75.00 to 5.00.75.99
550
@pn mysql-community
550
@pn mysql-community
551
@@ Percona 5.0.75-b12: InnoDB patch to fix buffer pool scalability
551
@@ Percona 5.0.75-b12: InnoDB patch to fix buffer pool scalability
552
552
553
@patch 1101_all_innodb_rw_lock-percona-5.0.75-b12.patch
553
@patch 1101_all_innodb_rw_lock-percona-5.0.75-b12.patch
554
@ver 5.00.75.00 to 5.00.99.99
554
@ver 5.00.75.00 to 5.00.75.99
555
@pn mysql-community
555
@pn mysql-community
556
@@ Percona 5.0.75-b12: Fix of InnoDB rw_locks
556
@@ Percona 5.0.75-b12: Fix of InnoDB rw_locks
557
558
@patch 1200_all_show_patches-percona-5.0.77-b13.patch
559
@ver 5.0.77.00 to 5.00.77.99
560
@pn mysql-community
561
@@ Percona 5.0.77-b13: Patch listing in build data
562
563
@patch 1201_all_microslow_innodb-percona-5.0.77-b13.patch
564
@ver 5.0.77.00 to 5.00.77.99
565
@pn mysql-community
566
@@ Percona 5.0.77-b13: Extended statistics in slow.log
567
568
@patch 1202_all_userstatv2-percona-5.0.77-b13.patch
569
@ver 5.0.77.00 to 5.00.77.99
570
@pn mysql-community
571
@@ Percona 5.0.77-b13: SHOW USER/TABLE/INDEX statistics
572
573
@patch 1203_all_microsec_process-percona-5.0.77-b13.patch
574
@ver 5.0.77.00 to 5.00.77.99
575
@pn mysql-community
576
@@ Percona 5.0.77-b13: Adds INFOMATION_SCHEMA.PROCESSLIST with TIME_MS column
577
578
@patch 1204_all_innodb_io_patches-percona-5.0.77-b13.patch
579
@ver 5.0.77.00 to 5.00.77.99
580
@pn mysql-community
581
@@ Percona 5.0.77-b13: Cluster of past InnoDB IO patches
582
583
@patch 1205_all_mirror_binlog-percona-5.0.77-b13.patch
584
@ver 5.0.77.00 to 5.00.77.99
585
@pn mysql-community
586
@@ Percona 5.0.77-b13: Mirroring binary logs on slave
587
588
@patch 1206_all_mysqld_safe_syslog-percona-5.0.77-b13.patch
589
@ver 5.0.77.00 to 5.00.77.99
590
@pn mysql-community
591
@@ Percona 5.0.77-b13: allows redirect output of error.log to syslog-ng
592
593
@patch 1207_all_innodb_locks_held-percona-5.0.77-b13.patch
594
@ver 5.0.77.00 to 5.00.77.99
595
@pn mysql-community
596
@@ Percona 5.0.77-b13: Add locks held, remove locked records in SHOW INNODB STATUS
597
598
@patch 1208_all_innodb_show_bp-percona-5.0.77-b13.patch
599
@ver 5.0.77.00 to 5.00.77.99
600
@pn mysql-community
601
@@ Percona 5.0.77-b13: show innodb buffer pool content
602
603
@patch 1209_all_innodb_show_hashed_memory-percona-5.0.77-b13.patch
604
@ver 5.0.77.00 to 5.00.77.99
605
@pn mysql-community
606
@@ Percona 5.0.77-b13: Adds additional information of InnoDB internal hash table memories in SHOW INNODB STATUS
607
608
@patch 1210_all_innodb_check_fragmentation-percona-5.0.77-b13.patch
609
@ver 5.0.77.00 to 5.00.77.99
610
@pn mysql-community
611
@@ Percona 5.0.77-b13: Session status to check fragmentation of the last InnoDB scan
612
613
@patch 1211_all_innodb_io_pattern-percona-5.0.77-b13.patch
614
@ver 5.0.77.00 to 5.00.77.99
615
@pn mysql-community
616
@@ Percona 5.0.77-b13: Information schema table of InnoDB IO counts for each datafile pages
617
618
@patch 1212_all_innodb_fsync_source-percona-5.0.77-b13.patch
619
@ver 5.0.77.00 to 5.00.77.99
620
@pn mysql-community
621
@@ Percona 5.0.77-b13: Information of fsync callers in InnoDB
622
623
@patch 1213_all_split_buf_pool_mutex_fixed_optimistic_safe-percona-5.0.77-b13.patch
624
@ver 5.0.77.00 to 5.00.77.99
625
@pn mysql-community
626
@@ Percona 5.0.77-b13: InnoDB patch to fix buffer pool scalability
627
628
@patch 1214_all_innodb_rw_lock-percona-5.0.77-b13.patch
629
@ver 5.0.77.00 to 5.00.77.99
630
@pn mysql-community
631
@@ Percona 5.0.77-b13: Fix of InnoDB rw_locks
632
633
@patch 1215_all_innodb_dict_size_limit-percona-5.0.77-b13.patch
634
@ver 5.0.77.00 to 5.00.77.99
635
@pn mysql-community
636
@@ Percona 5.0.77-b13: Fix of InnoDB dict size limit
(-)a/1002_all_microslow_innodb-percona-5.0.75-b12.patch (-1 lines)
Lines 1-6 Link Here
1
diff -r 25523be1816e include/my_getopt.h
(-)- a/include/my_getopt.h (-1 lines)
Lines 11-19 diff -r 25523be1816e include/my_getopt.h Link Here
11
 
11
 
12
 #define GET_ASK_ADDR	 128
12
 #define GET_ASK_ADDR	 128
13
 #define GET_TYPE_MASK	 127
13
 #define GET_TYPE_MASK	 127
14
diff -r 25523be1816e include/my_time.h
(-)- a/include/my_time.h (-1 lines)
Lines 23-31 diff -r 25523be1816e include/my_time.h Link Here
23
 C_MODE_END
23
 C_MODE_END
24
 
24
 
25
 #endif /* _my_time_h_ */
25
 #endif /* _my_time_h_ */
26
diff -r 25523be1816e innobase/buf/buf0buf.c
(-)- a/innobase/buf/buf0buf.c (-1 lines)
Lines 196-204 diff -r 25523be1816e innobase/buf/buf0buf.c Link Here
196
 
196
 
197
 	return(TRUE);
197
 	return(TRUE);
198
 }
198
 }
199
diff -r 25523be1816e innobase/buf/buf0rea.c
(-)- a/innobase/buf/buf0rea.c (-1 lines)
Lines 315-323 diff -r 25523be1816e innobase/buf/buf0rea.c Link Here
315
 		}
315
 		}
316
 	}
316
 	}
317
 	
317
 	
318
diff -r 25523be1816e innobase/fil/fil0fil.c
(-)- a/innobase/fil/fil0fil.c (-1 lines)
Lines 356-364 diff -r 25523be1816e innobase/fil/fil0fil.c Link Here
356
 #endif
356
 #endif
357
 	ut_a(ret);
357
 	ut_a(ret);
358
 
358
 
359
diff -r 25523be1816e innobase/include/buf0rea.h
(-)- a/innobase/include/buf0rea.h (-1 lines)
Lines 388-396 diff -r 25523be1816e innobase/include/buf0rea.h Link Here
388
 /************************************************************************
388
 /************************************************************************
389
 Issues read requests for pages which the ibuf module wants to read in, in
389
 Issues read requests for pages which the ibuf module wants to read in, in
390
 order to contract the insert buffer tree. Technically, this function is like
390
 order to contract the insert buffer tree. Technically, this function is like
391
diff -r 25523be1816e innobase/include/fil0fil.h
(-)- a/innobase/include/fil0fil.h (-1 lines)
Lines 415-423 diff -r 25523be1816e innobase/include/fil0fil.h Link Here
415
 /************************************************************************
415
 /************************************************************************
416
 Reads data from a space to a buffer. Remember that the possible incomplete
416
 Reads data from a space to a buffer. Remember that the possible incomplete
417
 blocks at the end of file are ignored: they are not taken into account when
417
 blocks at the end of file are ignored: they are not taken into account when
418
diff -r 25523be1816e innobase/include/os0file.h
(-)- a/innobase/include/os0file.h (-1 lines)
Lines 460-468 diff -r 25523be1816e innobase/include/os0file.h Link Here
460
 /****************************************************************************
460
 /****************************************************************************
461
 Wakes up all async i/o threads so that they know to exit themselves in
461
 Wakes up all async i/o threads so that they know to exit themselves in
462
 shutdown. */
462
 shutdown. */
463
diff -r 25523be1816e innobase/include/srv0srv.h
(-)- a/innobase/include/srv0srv.h (-1 lines)
Lines 472-480 diff -r 25523be1816e innobase/include/srv0srv.h Link Here
472
 
472
 
473
 /* This is set to TRUE if the MySQL user has set it in MySQL */
473
 /* This is set to TRUE if the MySQL user has set it in MySQL */
474
 extern ibool	srv_lower_case_table_names;
474
 extern ibool	srv_lower_case_table_names;
475
diff -r 25523be1816e innobase/include/trx0trx.h
(-)- a/innobase/include/trx0trx.h (-1 lines)
Lines 493-501 diff -r 25523be1816e innobase/include/trx0trx.h Link Here
493
 };
493
 };
494
 
494
 
495
 #define TRX_MAX_N_THREADS	32	/* maximum number of concurrent
495
 #define TRX_MAX_N_THREADS	32	/* maximum number of concurrent
496
diff -r 25523be1816e innobase/lock/lock0lock.c
(-)- a/innobase/lock/lock0lock.c (-1 lines)
Lines 538-546 diff -r 25523be1816e innobase/lock/lock0lock.c Link Here
538
 	trx->que_state = TRX_QUE_LOCK_WAIT;
538
 	trx->que_state = TRX_QUE_LOCK_WAIT;
539
 	trx->was_chosen_as_deadlock_victim = FALSE;
539
 	trx->was_chosen_as_deadlock_victim = FALSE;
540
 	trx->wait_started = time(NULL);
540
 	trx->wait_started = time(NULL);
541
diff -r 25523be1816e innobase/os/os0file.c
(-)- a/innobase/os/os0file.c (-1 lines)
Lines 702-710 diff -r 25523be1816e innobase/os/os0file.c Link Here
702
 	if (type == OS_FILE_READ) {
702
 	if (type == OS_FILE_READ) {
703
 		if (os_aio_use_native_aio) {
703
 		if (os_aio_use_native_aio) {
704
 #ifdef WIN_ASYNC_IO
704
 #ifdef WIN_ASYNC_IO
705
diff -r 25523be1816e innobase/srv/srv0srv.c
(-)- a/innobase/srv/srv0srv.c (-1 lines)
Lines 756-764 diff -r 25523be1816e innobase/srv/srv0srv.c Link Here
756
 
756
 
757
 	os_fast_mutex_lock(&srv_conc_mutex);
757
 	os_fast_mutex_lock(&srv_conc_mutex);
758
 
758
 
759
diff -r 25523be1816e innobase/trx/trx0trx.c
(-)- a/innobase/trx/trx0trx.c (-1 lines)
Lines 859-867 diff -r 25523be1816e innobase/trx/trx0trx.c Link Here
859
 	trx->que_state = TRX_QUE_RUNNING;
859
 	trx->que_state = TRX_QUE_RUNNING;
860
 }
860
 }
861
 
861
 
862
diff -r 25523be1816e mysys/my_getopt.c
(-)- a/mysys/my_getopt.c (-3 / +1 lines)
Lines 872-880 diff -r 25523be1816e mysys/my_getopt.c Link Here
872
       case GET_LL:
872
       case GET_LL:
873
 	printf("%s\n", llstr(*((longlong*) value), buff));
873
 	printf("%s\n", llstr(*((longlong*) value), buff));
874
 	break;
874
 	break;
875
diff -r 25523be1816e patch_info/microslow_innodb.info
875
diff -r 04958490fc6d patch_info/microslow_innodb.info
876
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
876
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
877
+++ b/patch_info/microslow_innodb.info	Mon Dec 22 00:26:39 2008 -0800
Lines 891-899 diff -r 25523be1816e patch_info/microslow_innodb.info Link Here
891
+
891
+
892
+2008-11
892
+2008-11
893
+Arjen Lentz: Fixups (backward compatibility) by Arjen Lentz <arjen@openquery.com.au>
893
+Arjen Lentz: Fixups (backward compatibility) by Arjen Lentz <arjen@openquery.com.au>
894
diff -r 25523be1816e scripts/mysqldumpslow.sh
(-)- a/scripts/mysqldumpslow.sh (-1 lines)
Lines 905-913 diff -r 25523be1816e scripts/mysqldumpslow.sh Link Here
905
     $t -= $l unless $opt{l};
905
     $t -= $l unless $opt{l};
906
 
906
 
907
     # remove fluff that mysqld writes to log when it (re)starts:
907
     # remove fluff that mysqld writes to log when it (re)starts:
908
diff -r 25523be1816e sql-common/my_time.c
(-)- a/sql-common/my_time.c (-1 lines)
Lines 946-954 diff -r 25523be1816e sql-common/my_time.c Link Here
946
+    *ltime= newtime;
946
+    *ltime= newtime;
947
+  return newtime;
947
+  return newtime;
948
+}
948
+}
949
diff -r 25523be1816e sql/filesort.cc
(-)- a/sql/filesort.cc (-1 lines)
Lines 973-981 diff -r 25523be1816e sql/filesort.cc Link Here
973
   if (param->not_killable)
973
   if (param->not_killable)
974
   {
974
   {
975
     killed= &not_killable;
975
     killed= &not_killable;
976
diff -r 25523be1816e sql/ha_innodb.cc
(-)- a/sql/ha_innodb.cc (-7 / +6 lines)
Lines 1025-1031 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1025
 
1025
 
1026
 	/* The default dir for log files is the datadir of MySQL */
1026
 	/* The default dir for log files is the datadir of MySQL */
1027
 
1027
 
1028
@@ -4673,6 +4701,12 @@
1028
@@ -4681,6 +4709,12 @@
1029
 		trx->check_unique_secondary = FALSE;
1029
 		trx->check_unique_secondary = FALSE;
1030
 	}
1030
 	}
1031
 
1031
 
Lines 1038-1044 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1038
 	if (lower_case_table_names) {
1038
 	if (lower_case_table_names) {
1039
 		srv_lower_case_table_names = TRUE;
1039
 		srv_lower_case_table_names = TRUE;
1040
 	} else {
1040
 	} else {
1041
@@ -4938,6 +4972,12 @@
1041
@@ -4946,6 +4980,12 @@
1042
 		trx->check_unique_secondary = FALSE;
1042
 		trx->check_unique_secondary = FALSE;
1043
 	}
1043
 	}
1044
 
1044
 
Lines 1051-1057 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1051
 	name_len = strlen(name);
1051
 	name_len = strlen(name);
1052
 
1052
 
1053
 	assert(name_len < 1000);
1053
 	assert(name_len < 1000);
1054
@@ -5025,6 +5065,12 @@
1054
@@ -5033,6 +5073,12 @@
1055
 		trx->check_foreigns = FALSE;
1055
 		trx->check_foreigns = FALSE;
1056
 	}
1056
 	}
1057
 
1057
 
Lines 1064-1070 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1064
   	error = row_drop_database_for_mysql(namebuf, trx);
1064
   	error = row_drop_database_for_mysql(namebuf, trx);
1065
 	my_free(namebuf, MYF(0));
1065
 	my_free(namebuf, MYF(0));
1066
 
1066
 
1067
@@ -5089,6 +5135,12 @@
1067
@@ -5097,6 +5143,12 @@
1068
 
1068
 
1069
 	if (current_thd->options & OPTION_NO_FOREIGN_KEY_CHECKS) {
1069
 	if (current_thd->options & OPTION_NO_FOREIGN_KEY_CHECKS) {
1070
 		trx->check_foreigns = FALSE;
1070
 		trx->check_foreigns = FALSE;
Lines 1077-1083 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1077
 	}
1077
 	}
1078
 
1078
 
1079
 	name_len1 = strlen(from);
1079
 	name_len1 = strlen(from);
1080
@@ -6098,6 +6150,7 @@
1080
@@ -6106,6 +6158,7 @@
1081
 {
1081
 {
1082
 	row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt;
1082
 	row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt;
1083
 	trx_t*		trx;
1083
 	trx_t*		trx;
Lines 1085-1091 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1085
 
1085
 
1086
   	DBUG_ENTER("ha_innobase::external_lock");
1086
   	DBUG_ENTER("ha_innobase::external_lock");
1087
 	DBUG_PRINT("enter",("lock_type: %d", lock_type));
1087
 	DBUG_PRINT("enter",("lock_type: %d", lock_type));
1088
@@ -6221,7 +6274,24 @@
1088
@@ -6229,7 +6282,24 @@
1089
 
1089
 
1090
 	if (trx->n_mysql_tables_in_use == 0) {
1090
 	if (trx->n_mysql_tables_in_use == 0) {
1091
 
1091
 
Lines 1111-1119 diff -r 25523be1816e sql/ha_innodb.cc Link Here
1111
 		prebuilt->used_in_HANDLER = FALSE;
1111
 		prebuilt->used_in_HANDLER = FALSE;
1112
 
1112
 
1113
 		if (!(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN))) {
1113
 		if (!(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN))) {
1114
diff -r 25523be1816e sql/ha_innodb.h
(-)- a/sql/ha_innodb.h (-1 lines)
Lines 1123-1132 diff -r 25523be1816e sql/ha_innodb.h Link Here
1123
 /***********************************************************************
1123
 /***********************************************************************
1124
 This function is used to prepare X/Open XA distributed transaction   */
1124
 This function is used to prepare X/Open XA distributed transaction   */
1125
 
1125
 
1126
diff -r 25523be1816e sql/log.cc
(-)- a/sql/log.cc (-3 / +2 lines)
Lines 1141-1147 diff -r 25523be1816e sql/log.cc Link Here
1141
     return 0;
1141
     return 0;
1142
   DBUG_ENTER("MYSQL_LOG::write");
1142
   DBUG_ENTER("MYSQL_LOG::write");
1143
 
1143
 
1144
@@ -2243,7 +2244,8 @@
1144
@@ -2298,7 +2299,8 @@
1145
     int tmp_errno=0;
1145
     int tmp_errno=0;
1146
     char buff[80],*end;
1146
     char buff[80],*end;
1147
     end=buff;
1147
     end=buff;
Lines 1151-1157 diff -r 25523be1816e sql/log.cc Link Here
1151
     {
1151
     {
1152
       VOID(pthread_mutex_unlock(&LOCK_log));
1152
       VOID(pthread_mutex_unlock(&LOCK_log));
1153
       DBUG_RETURN(0);
1153
       DBUG_RETURN(0);
1154
@@ -2273,22 +2275,72 @@
1154
@@ -2328,22 +2330,72 @@
1155
       if (my_b_printf(&log_file, "# User@Host: %s[%s] @ %s [%s]\n",
1155
       if (my_b_printf(&log_file, "# User@Host: %s[%s] @ %s [%s]\n",
1156
                       sctx->priv_user ?
1156
                       sctx->priv_user ?
1157
                       sctx->priv_user : "",
1157
                       sctx->priv_user : "",
Lines 1230-1238 diff -r 25523be1816e sql/log.cc Link Here
1230
     }
1230
     }
1231
     if (thd->db && strcmp(thd->db,db))
1231
     if (thd->db && strcmp(thd->db,db))
1232
     {						// Database changed
1232
     {						// Database changed
1233
diff -r 25523be1816e sql/log_event.cc
(-)- a/sql/log_event.cc (-1 lines)
Lines 1241-1250 diff -r 25523be1816e sql/log_event.cc Link Here
1241
 
1241
 
1242
     }
1242
     }
1243
     else
1243
     else
1244
diff -r 25523be1816e sql/mysql_priv.h
(-)- a/sql/mysql_priv.h (-3 / +2 lines)
Lines 1323-1329 diff -r 25523be1816e sql/mysql_priv.h Link Here
1323
 
1323
 
1324
 enum enum_parsing_place
1324
 enum enum_parsing_place
1325
 {
1325
 {
1326
@@ -1345,6 +1417,7 @@
1326
@@ -1351,6 +1423,7 @@
1327
 extern bool using_update_log, opt_large_files, server_id_supplied;
1327
 extern bool using_update_log, opt_large_files, server_id_supplied;
1328
 extern bool opt_update_log, opt_bin_log, opt_error_log;
1328
 extern bool opt_update_log, opt_bin_log, opt_error_log;
1329
 extern my_bool opt_log, opt_slow_log, opt_log_queries_not_using_indexes;
1329
 extern my_bool opt_log, opt_slow_log, opt_log_queries_not_using_indexes;
Lines 1331-1337 diff -r 25523be1816e sql/mysql_priv.h Link Here
1331
 extern bool opt_disable_networking, opt_skip_show_db;
1331
 extern bool opt_disable_networking, opt_skip_show_db;
1332
 extern my_bool opt_character_set_client_handshake;
1332
 extern my_bool opt_character_set_client_handshake;
1333
 extern bool volatile abort_loop, shutdown_in_progress, grant_option;
1333
 extern bool volatile abort_loop, shutdown_in_progress, grant_option;
1334
@@ -1356,7 +1429,8 @@
1334
@@ -1362,7 +1435,8 @@
1335
 extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs;
1335
 extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs;
1336
 extern my_bool opt_secure_auth;
1336
 extern my_bool opt_secure_auth;
1337
 extern char* opt_secure_file_priv;
1337
 extern char* opt_secure_file_priv;
Lines 1341-1349 diff -r 25523be1816e sql/mysql_priv.h Link Here
1341
 extern my_bool sp_automatic_privileges, opt_noacl;
1341
 extern my_bool sp_automatic_privileges, opt_noacl;
1342
 extern my_bool opt_old_style_user_limits, trust_function_creators;
1342
 extern my_bool opt_old_style_user_limits, trust_function_creators;
1343
 extern uint opt_crash_binlog_innodb;
1343
 extern uint opt_crash_binlog_innodb;
1344
diff -r 25523be1816e sql/mysqld.cc
(-)- a/sql/mysqld.cc (-12 / +11 lines)
Lines 1366-1372 diff -r 25523be1816e sql/mysqld.cc Link Here
1366
 /*
1366
 /*
1367
   True if there is at least one per-hour limit for some user, so we should
1367
   True if there is at least one per-hour limit for some user, so we should
1368
   check them before each query (and possibly reset counters when hour is
1368
   check them before each query (and possibly reset counters when hour is
1369
@@ -507,6 +508,7 @@
1369
@@ -507,6 +509,7 @@
1370
 Ge_creator ge_creator;
1370
 Ge_creator ge_creator;
1371
 Le_creator le_creator;
1371
 Le_creator le_creator;
1372
 
1372
 
Lines 1374-1380 diff -r 25523be1816e sql/mysqld.cc Link Here
1374
 
1374
 
1375
 FILE *bootstrap_file;
1375
 FILE *bootstrap_file;
1376
 int bootstrap_error;
1376
 int bootstrap_error;
1377
@@ -584,7 +586,7 @@
1377
@@ -584,7 +587,7 @@
1378
 static int cleanup_done;
1378
 static int cleanup_done;
1379
 static ulong opt_specialflag, opt_myisam_block_size;
1379
 static ulong opt_specialflag, opt_myisam_block_size;
1380
 static char *opt_logname, *opt_update_logname, *opt_binlog_index_name;
1380
 static char *opt_logname, *opt_update_logname, *opt_binlog_index_name;
Lines 1383-1389 diff -r 25523be1816e sql/mysqld.cc Link Here
1383
 static char *mysql_home_ptr, *pidfile_name_ptr;
1383
 static char *mysql_home_ptr, *pidfile_name_ptr;
1384
 static char **defaults_argv;
1384
 static char **defaults_argv;
1385
 static char *opt_bin_logname;
1385
 static char *opt_bin_logname;
1386
@@ -3655,6 +3657,8 @@
1386
@@ -3693,6 +3696,8 @@
1387
       unireg_abort(1);
1387
       unireg_abort(1);
1388
     }
1388
     }
1389
   }
1389
   }
Lines 1392-1398 diff -r 25523be1816e sql/mysqld.cc Link Here
1392
 #endif /* __WIN__ */
1392
 #endif /* __WIN__ */
1393
 
1393
 
1394
   if (init_common_variables(MYSQL_CONFIG_NAME,
1394
   if (init_common_variables(MYSQL_CONFIG_NAME,
1395
@@ -4901,7 +4905,7 @@
1395
@@ -4943,7 +4948,7 @@
1396
   OPT_INTERACTIVE_TIMEOUT, OPT_JOIN_BUFF_SIZE,
1396
   OPT_INTERACTIVE_TIMEOUT, OPT_JOIN_BUFF_SIZE,
1397
   OPT_KEY_BUFFER_SIZE, OPT_KEY_CACHE_BLOCK_SIZE,
1397
   OPT_KEY_BUFFER_SIZE, OPT_KEY_CACHE_BLOCK_SIZE,
1398
   OPT_KEY_CACHE_DIVISION_LIMIT, OPT_KEY_CACHE_AGE_THRESHOLD,
1398
   OPT_KEY_CACHE_DIVISION_LIMIT, OPT_KEY_CACHE_AGE_THRESHOLD,
Lines 1401-1407 diff -r 25523be1816e sql/mysqld.cc Link Here
1401
   OPT_LOWER_CASE_TABLE_NAMES, OPT_MAX_ALLOWED_PACKET,
1401
   OPT_LOWER_CASE_TABLE_NAMES, OPT_MAX_ALLOWED_PACKET,
1402
   OPT_MAX_BINLOG_CACHE_SIZE, OPT_MAX_BINLOG_SIZE,
1402
   OPT_MAX_BINLOG_CACHE_SIZE, OPT_MAX_BINLOG_SIZE,
1403
   OPT_MAX_CONNECTIONS, OPT_MAX_CONNECT_ERRORS,
1403
   OPT_MAX_CONNECTIONS, OPT_MAX_CONNECT_ERRORS,
1404
@@ -4992,11 +4996,18 @@
1404
@@ -5034,11 +5039,18 @@
1405
   OPT_TIMED_MUTEXES,
1405
   OPT_TIMED_MUTEXES,
1406
   OPT_OLD_STYLE_USER_LIMITS,
1406
   OPT_OLD_STYLE_USER_LIMITS,
1407
   OPT_LOG_SLOW_ADMIN_STATEMENTS,
1407
   OPT_LOG_SLOW_ADMIN_STATEMENTS,
Lines 1420-1426 diff -r 25523be1816e sql/mysqld.cc Link Here
1420
   OPT_INNODB_ROLLBACK_ON_TIMEOUT,
1420
   OPT_INNODB_ROLLBACK_ON_TIMEOUT,
1421
   OPT_SECURE_FILE_PRIV,
1421
   OPT_SECURE_FILE_PRIV,
1422
   OPT_KEEP_FILES_ON_CREATE,
1422
   OPT_KEEP_FILES_ON_CREATE,
1423
@@ -5386,8 +5396,17 @@
1423
@@ -5428,8 +5440,17 @@
1424
    (gptr*) &opt_log_slow_admin_statements,
1424
    (gptr*) &opt_log_slow_admin_statements,
1425
    (gptr*) &opt_log_slow_admin_statements,
1425
    (gptr*) &opt_log_slow_admin_statements,
1426
    0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1426
    0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
Lines 1438-1444 diff -r 25523be1816e sql/mysqld.cc Link Here
1438
    (gptr*) &opt_slow_logname, (gptr*) &opt_slow_logname, 0, GET_STR, OPT_ARG,
1438
    (gptr*) &opt_slow_logname, (gptr*) &opt_slow_logname, 0, GET_STR, OPT_ARG,
1439
    0, 0, 0, 0, 0, 0},
1439
    0, 0, 0, 0, 0, 0},
1440
   {"log-tc", OPT_LOG_TC,
1440
   {"log-tc", OPT_LOG_TC,
1441
@@ -5753,6 +5772,9 @@
1441
@@ -5795,6 +5816,9 @@
1442
    "Tells the slave thread to continue replication when a query returns an error from the provided list.",
1442
    "Tells the slave thread to continue replication when a query returns an error from the provided list.",
1443
    0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1443
    0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1444
 #endif
1444
 #endif
Lines 1448-1454 diff -r 25523be1816e sql/mysqld.cc Link Here
1448
   {"socket", OPT_SOCKET, "Socket file to use for connection.",
1448
   {"socket", OPT_SOCKET, "Socket file to use for connection.",
1449
    (gptr*) &mysqld_unix_port, (gptr*) &mysqld_unix_port, 0, GET_STR,
1449
    (gptr*) &mysqld_unix_port, (gptr*) &mysqld_unix_port, 0, GET_STR,
1450
    REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1450
    REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1451
@@ -6055,11 +6077,31 @@
1451
@@ -6097,11 +6121,31 @@
1452
    (gptr*) 0,
1452
    (gptr*) 0,
1453
    0, (GET_ULONG | GET_ASK_ADDR) , REQUIRED_ARG, 100,
1453
    0, (GET_ULONG | GET_ASK_ADDR) , REQUIRED_ARG, 100,
1454
    1, 100, 0, 1, 0},
1454
    1, 100, 0, 1, 0},
Lines 1485-1491 diff -r 25523be1816e sql/mysqld.cc Link Here
1485
   {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,
1485
   {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,
1486
    "If set to 1 table names are stored in lowercase on disk and table names will be case-insensitive.  Should be set to 2 if you are using a case insensitive file system",
1486
    "If set to 1 table names are stored in lowercase on disk and table names will be case-insensitive.  Should be set to 2 if you are using a case insensitive file system",
1487
    (gptr*) &lower_case_table_names,
1487
    (gptr*) &lower_case_table_names,
1488
@@ -6835,7 +6873,11 @@
1488
@@ -6878,7 +6922,11 @@
1489
   global_system_variables.max_join_size= (ulonglong) HA_POS_ERROR;
1489
   global_system_variables.max_join_size= (ulonglong) HA_POS_ERROR;
1490
   max_system_variables.max_join_size=   (ulonglong) HA_POS_ERROR;
1490
   max_system_variables.max_join_size=   (ulonglong) HA_POS_ERROR;
1491
   global_system_variables.old_passwords= 0;
1491
   global_system_variables.old_passwords= 0;
Lines 1498-1504 diff -r 25523be1816e sql/mysqld.cc Link Here
1498
   /*
1498
   /*
1499
     Default behavior for 4.1 and 5.0 is to treat NULL values as unequal
1499
     Default behavior for 4.1 and 5.0 is to treat NULL values as unequal
1500
     when collecting index statistics for MyISAM tables.
1500
     when collecting index statistics for MyISAM tables.
1501
@@ -7296,6 +7338,35 @@
1501
@@ -7339,6 +7387,35 @@
1502
   case OPT_BOOTSTRAP:
1502
   case OPT_BOOTSTRAP:
1503
     opt_noacl=opt_bootstrap=1;
1503
     opt_noacl=opt_bootstrap=1;
1504
     break;
1504
     break;
Lines 1534-1540 diff -r 25523be1816e sql/mysqld.cc Link Here
1534
   case OPT_STORAGE_ENGINE:
1534
   case OPT_STORAGE_ENGINE:
1535
   {
1535
   {
1536
     if ((enum db_type)((global_system_variables.table_type=
1536
     if ((enum db_type)((global_system_variables.table_type=
1537
@@ -7628,10 +7699,14 @@
1537
@@ -7671,10 +7748,14 @@
1538
   if (opt_bdb)
1538
   if (opt_bdb)
1539
     sql_print_warning("this binary does not contain BDB storage engine");
1539
     sql_print_warning("this binary does not contain BDB storage engine");
1540
 #endif
1540
 #endif
Lines 1552-1560 diff -r 25523be1816e sql/mysqld.cc Link Here
1552
   if (argc > 0)
1552
   if (argc > 0)
1553
   {
1553
   {
1554
     fprintf(stderr, "%s: Too many arguments (first extra is '%s').\nUse --help to get a list of available options\n", my_progname, *argv);
1554
     fprintf(stderr, "%s: Too many arguments (first extra is '%s').\nUse --help to get a list of available options\n", my_progname, *argv);
1555
diff -r 25523be1816e sql/set_var.cc
(-)- a/sql/set_var.cc (-14 / +13 lines)
Lines 1570-1576 diff -r 25523be1816e sql/set_var.cc Link Here
1570
 sys_var_thd_bool	sys_low_priority_updates("low_priority_updates",
1570
 sys_var_thd_bool	sys_low_priority_updates("low_priority_updates",
1571
 						 &SV::low_priority_updates,
1571
 						 &SV::low_priority_updates,
1572
 						 fix_low_priority_updates);
1572
 						 fix_low_priority_updates);
1573
@@ -283,6 +285,8 @@
1573
@@ -283,6 +287,8 @@
1574
 					   &SV::max_tmp_tables);
1574
 					   &SV::max_tmp_tables);
1575
 sys_var_long_ptr	sys_max_write_lock_count("max_write_lock_count",
1575
 sys_var_long_ptr	sys_max_write_lock_count("max_write_lock_count",
1576
 						 &max_write_lock_count);
1576
 						 &max_write_lock_count);
Lines 1579-1585 diff -r 25523be1816e sql/set_var.cc Link Here
1579
 sys_var_thd_ulong       sys_multi_range_count("multi_range_count",
1579
 sys_var_thd_ulong       sys_multi_range_count("multi_range_count",
1580
                                               &SV::multi_range_count);
1580
                                               &SV::multi_range_count);
1581
 sys_var_long_ptr	sys_myisam_data_pointer_size("myisam_data_pointer_size",
1581
 sys_var_long_ptr	sys_myisam_data_pointer_size("myisam_data_pointer_size",
1582
@@ -327,6 +331,20 @@
1582
@@ -327,6 +333,20 @@
1583
 sys_var_bool_ptr	sys_relay_log_purge("relay_log_purge",
1583
 sys_var_bool_ptr	sys_relay_log_purge("relay_log_purge",
1584
                                             &relay_log_purge);
1584
                                             &relay_log_purge);
1585
 #endif
1585
 #endif
Lines 1600-1606 diff -r 25523be1816e sql/set_var.cc Link Here
1600
 sys_var_long_ptr	sys_rpl_recovery_rank("rpl_recovery_rank",
1600
 sys_var_long_ptr	sys_rpl_recovery_rank("rpl_recovery_rank",
1601
 					      &rpl_recovery_rank);
1601
 					      &rpl_recovery_rank);
1602
 sys_var_long_ptr	sys_query_cache_size("query_cache_size",
1602
 sys_var_long_ptr	sys_query_cache_size("query_cache_size",
1603
@@ -694,6 +712,10 @@
1603
@@ -694,6 +714,10 @@
1604
   &sys_log_off,
1604
   &sys_log_off,
1605
   &sys_log_queries_not_using_indexes,
1605
   &sys_log_queries_not_using_indexes,
1606
   &sys_log_slow,
1606
   &sys_log_slow,
Lines 1611-1617 diff -r 25523be1816e sql/set_var.cc Link Here
1611
   &sys_log_update,
1611
   &sys_log_update,
1612
   &sys_log_warnings,
1612
   &sys_log_warnings,
1613
   &sys_long_query_time,
1613
   &sys_long_query_time,
1614
@@ -717,6 +738,7 @@
1614
@@ -717,6 +741,7 @@
1615
   &sys_max_tmp_tables,
1615
   &sys_max_tmp_tables,
1616
   &sys_max_user_connections,
1616
   &sys_max_user_connections,
1617
   &sys_max_write_lock_count,
1617
   &sys_max_write_lock_count,
Lines 1619-1625 diff -r 25523be1816e sql/set_var.cc Link Here
1619
   &sys_multi_range_count,
1619
   &sys_multi_range_count,
1620
   &sys_myisam_data_pointer_size,
1620
   &sys_myisam_data_pointer_size,
1621
   &sys_myisam_max_sort_file_size,
1621
   &sys_myisam_max_sort_file_size,
1622
@@ -770,6 +792,8 @@
1622
@@ -770,6 +795,8 @@
1623
   &sys_slave_skip_counter,
1623
   &sys_slave_skip_counter,
1624
 #endif
1624
 #endif
1625
   &sys_slow_launch_time,
1625
   &sys_slow_launch_time,
Lines 1628-1634 diff -r 25523be1816e sql/set_var.cc Link Here
1628
   &sys_sort_buffer,
1628
   &sys_sort_buffer,
1629
   &sys_sql_big_tables,
1629
   &sys_sql_big_tables,
1630
   &sys_sql_low_priority_updates,
1630
   &sys_sql_low_priority_updates,
1631
@@ -986,8 +1010,11 @@
1631
@@ -986,8 +1013,11 @@
1632
   {"log_slave_updates",       (char*) &opt_log_slave_updates,       SHOW_MY_BOOL},
1632
   {"log_slave_updates",       (char*) &opt_log_slave_updates,       SHOW_MY_BOOL},
1633
 #endif
1633
 #endif
1634
   {sys_log_slow.name,         (char*) &sys_log_slow,                SHOW_SYS},
1634
   {sys_log_slow.name,         (char*) &sys_log_slow,                SHOW_SYS},
Lines 1641-1647 diff -r 25523be1816e sql/set_var.cc Link Here
1641
   {sys_low_priority_updates.name, (char*) &sys_low_priority_updates, SHOW_SYS},
1641
   {sys_low_priority_updates.name, (char*) &sys_low_priority_updates, SHOW_SYS},
1642
   {"lower_case_file_system",  (char*) &lower_case_file_system,      SHOW_MY_BOOL},
1642
   {"lower_case_file_system",  (char*) &lower_case_file_system,      SHOW_MY_BOOL},
1643
   {"lower_case_table_names",  (char*) &lower_case_table_names,      SHOW_INT},
1643
   {"lower_case_table_names",  (char*) &lower_case_table_names,      SHOW_INT},
1644
@@ -1014,6 +1041,7 @@
1644
@@ -1014,6 +1044,7 @@
1645
   {sys_max_tmp_tables.name,	(char*) &sys_max_tmp_tables,	    SHOW_SYS},
1645
   {sys_max_tmp_tables.name,	(char*) &sys_max_tmp_tables,	    SHOW_SYS},
1646
   {sys_max_user_connections.name,(char*) &sys_max_user_connections, SHOW_SYS},
1646
   {sys_max_user_connections.name,(char*) &sys_max_user_connections, SHOW_SYS},
1647
   {sys_max_write_lock_count.name, (char*) &sys_max_write_lock_count,SHOW_SYS},
1647
   {sys_max_write_lock_count.name, (char*) &sys_max_write_lock_count,SHOW_SYS},
Lines 1649-1655 diff -r 25523be1816e sql/set_var.cc Link Here
1649
   {sys_multi_range_count.name,  (char*) &sys_multi_range_count,     SHOW_SYS},
1649
   {sys_multi_range_count.name,  (char*) &sys_multi_range_count,     SHOW_SYS},
1650
   {sys_myisam_data_pointer_size.name, (char*) &sys_myisam_data_pointer_size, SHOW_SYS},
1650
   {sys_myisam_data_pointer_size.name, (char*) &sys_myisam_data_pointer_size, SHOW_SYS},
1651
   {sys_myisam_max_sort_file_size.name, (char*) &sys_myisam_max_sort_file_size,
1651
   {sys_myisam_max_sort_file_size.name, (char*) &sys_myisam_max_sort_file_size,
1652
@@ -1101,6 +1129,8 @@
1652
@@ -1101,6 +1132,8 @@
1653
   {sys_slave_trans_retries.name,(char*) &sys_slave_trans_retries,   SHOW_SYS},
1653
   {sys_slave_trans_retries.name,(char*) &sys_slave_trans_retries,   SHOW_SYS},
1654
 #endif
1654
 #endif
1655
   {sys_slow_launch_time.name, (char*) &sys_slow_launch_time,        SHOW_SYS},
1655
   {sys_slow_launch_time.name, (char*) &sys_slow_launch_time,        SHOW_SYS},
Lines 1658-1664 diff -r 25523be1816e sql/set_var.cc Link Here
1658
 #ifdef HAVE_SYS_UN_H
1658
 #ifdef HAVE_SYS_UN_H
1659
   {"socket",                  (char*) &mysqld_unix_port,             SHOW_CHAR_PTR},
1659
   {"socket",                  (char*) &mysqld_unix_port,             SHOW_CHAR_PTR},
1660
 #endif
1660
 #endif
1661
@@ -1141,6 +1171,7 @@
1661
@@ -1141,6 +1174,7 @@
1662
   {sys_tx_isolation.name,     (char*) &sys_tx_isolation,	    SHOW_SYS},
1662
   {sys_tx_isolation.name,     (char*) &sys_tx_isolation,	    SHOW_SYS},
1663
   {sys_updatable_views_with_limit.name,
1663
   {sys_updatable_views_with_limit.name,
1664
                               (char*) &sys_updatable_views_with_limit,SHOW_SYS},
1664
                               (char*) &sys_updatable_views_with_limit,SHOW_SYS},
Lines 1666-1672 diff -r 25523be1816e sql/set_var.cc Link Here
1666
   {sys_version.name,          (char*) &sys_version,                 SHOW_SYS},
1666
   {sys_version.name,          (char*) &sys_version,                 SHOW_SYS},
1667
 #ifdef HAVE_BERKELEY_DB
1667
 #ifdef HAVE_BERKELEY_DB
1668
   {sys_version_bdb.name,      (char*) &sys_version_bdb,             SHOW_SYS},
1668
   {sys_version_bdb.name,      (char*) &sys_version_bdb,             SHOW_SYS},
1669
@@ -1769,6 +1799,17 @@
1669
@@ -1769,6 +1803,17 @@
1670
 }
1670
 }
1671
 
1671
 
1672
 
1672
 
Lines 1684-1690 diff -r 25523be1816e sql/set_var.cc Link Here
1684
 bool sys_var_thd_bool::update(THD *thd,  set_var *var)
1684
 bool sys_var_thd_bool::update(THD *thd,  set_var *var)
1685
 {
1685
 {
1686
   if (var->type == OPT_GLOBAL)
1686
   if (var->type == OPT_GLOBAL)
1687
@@ -1924,6 +1965,19 @@
1687
@@ -1924,6 +1969,19 @@
1688
     value= *(longlong*) value_ptr(thd, var_type, base);
1688
     value= *(longlong*) value_ptr(thd, var_type, base);
1689
     pthread_mutex_unlock(&LOCK_global_system_variables);
1689
     pthread_mutex_unlock(&LOCK_global_system_variables);
1690
     return new Item_int(value);
1690
     return new Item_int(value);
Lines 1704-1710 diff -r 25523be1816e sql/set_var.cc Link Here
1704
   }
1704
   }
1705
   case SHOW_HA_ROWS:
1705
   case SHOW_HA_ROWS:
1706
   {
1706
   {
1707
@@ -2757,6 +2811,30 @@
1707
@@ -2757,6 +2815,30 @@
1708
 }
1708
 }
1709
 
1709
 
1710
 
1710
 
Lines 1735-1741 diff -r 25523be1816e sql/set_var.cc Link Here
1735
 #ifdef HAVE_REPLICATION
1735
 #ifdef HAVE_REPLICATION
1736
 bool sys_var_slave_skip_counter::check(THD *thd, set_var *var)
1736
 bool sys_var_slave_skip_counter::check(THD *thd, set_var *var)
1737
 {
1737
 {
1738
@@ -3519,6 +3597,191 @@
1738
@@ -3526,6 +3608,191 @@
1739
 #endif
1739
 #endif
1740
 }
1740
 }
1741
 
1741
 
Lines 1927-1935 diff -r 25523be1816e sql/set_var.cc Link Here
1927
 /****************************************************************************
1927
 /****************************************************************************
1928
  Functions to handle table_type
1928
  Functions to handle table_type
1929
 ****************************************************************************/
1929
 ****************************************************************************/
1930
diff -r 25523be1816e sql/set_var.h
(-)- a/sql/set_var.h (-1 lines)
Lines 2075-2083 diff -r 25523be1816e sql/set_var.h Link Here
2075
+                               const ulong none_val, const ulong invalid_val);
2075
+                               const ulong none_val, const ulong invalid_val);
2076
+const char *msl_option_get_name(const struct msl_opts *opts, ulong val);
2076
+const char *msl_option_get_name(const struct msl_opts *opts, ulong val);
2077
+char *msl_flag_get_name(const struct msl_opts *opts, char *buf, ulong val);
2077
+char *msl_flag_get_name(const struct msl_opts *opts, char *buf, ulong val);
2078
diff -r 25523be1816e sql/slave.cc
(-)- a/sql/slave.cc (-1 lines)
Lines 2091-2099 diff -r 25523be1816e sql/slave.cc Link Here
2091
   thd->client_capabilities = CLIENT_LOCAL_FILES;
2091
   thd->client_capabilities = CLIENT_LOCAL_FILES;
2092
   thd->real_id=pthread_self();
2092
   thd->real_id=pthread_self();
2093
   pthread_mutex_lock(&LOCK_thread_count);
2093
   pthread_mutex_lock(&LOCK_thread_count);
2094
diff -r 25523be1816e sql/sql_cache.cc
(-)- a/sql/sql_cache.cc (-1 lines)
Lines 2110-2118 diff -r 25523be1816e sql/sql_cache.cc Link Here
2110
   DBUG_RETURN(0);				// Query was not cached
2110
   DBUG_RETURN(0);				// Query was not cached
2111
 }
2111
 }
2112
 
2112
 
2113
diff -r 25523be1816e sql/sql_class.cc
(-)- a/sql/sql_class.cc (-1 lines)
Lines 2163-2171 diff -r 25523be1816e sql/sql_class.cc Link Here
2163
 }
2163
 }
2164
 
2164
 
2165
 
2165
 
2166
diff -r 25523be1816e sql/sql_class.h
(-)- a/sql/sql_class.h (-8 / +7 lines)
Lines 2174-2180 diff -r 25523be1816e sql/sql_class.h Link Here
2174
 
2174
 
2175
 #define TC_LOG_PAGE_SIZE   8192
2175
 #define TC_LOG_PAGE_SIZE   8192
2176
 #define TC_LOG_MIN_SIZE    (3*TC_LOG_PAGE_SIZE)
2176
 #define TC_LOG_MIN_SIZE    (3*TC_LOG_PAGE_SIZE)
2177
@@ -314,7 +321,7 @@
2177
@@ -321,7 +322,7 @@
2178
   bool write(THD *thd, enum enum_server_command command,
2178
   bool write(THD *thd, enum enum_server_command command,
2179
 	     const char *format, ...) ATTRIBUTE_FORMAT(printf, 4, 5);
2179
 	     const char *format, ...) ATTRIBUTE_FORMAT(printf, 4, 5);
2180
   bool write(THD *thd, const char *query, uint query_length,
2180
   bool write(THD *thd, const char *query, uint query_length,
Lines 2183-2189 diff -r 25523be1816e sql/sql_class.h Link Here
2183
   bool write(Log_event* event_info); // binary log write
2183
   bool write(Log_event* event_info); // binary log write
2184
   bool write(THD *thd, IO_CACHE *cache, Log_event *commit_event);
2184
   bool write(THD *thd, IO_CACHE *cache, Log_event *commit_event);
2185
 
2185
 
2186
@@ -520,13 +527,14 @@
2186
@@ -527,13 +528,14 @@
2187
   ulong auto_increment_increment, auto_increment_offset;
2187
   ulong auto_increment_increment, auto_increment_offset;
2188
   ulong bulk_insert_buff_size;
2188
   ulong bulk_insert_buff_size;
2189
   ulong join_buff_size;
2189
   ulong join_buff_size;
Lines 2199-2205 diff -r 25523be1816e sql/sql_class.h Link Here
2199
   ulong multi_range_count;
2199
   ulong multi_range_count;
2200
   ulong myisam_repair_threads;
2200
   ulong myisam_repair_threads;
2201
   ulong myisam_sort_buff_size;
2201
   ulong myisam_sort_buff_size;
2202
@@ -542,10 +550,13 @@
2202
@@ -549,10 +551,13 @@
2203
   ulong preload_buff_size;
2203
   ulong preload_buff_size;
2204
   ulong profiling_history_size;
2204
   ulong profiling_history_size;
2205
   ulong query_cache_type;
2205
   ulong query_cache_type;
Lines 2213-2219 diff -r 25523be1816e sql/sql_class.h Link Here
2213
   ulong table_type;
2213
   ulong table_type;
2214
   ulong tx_isolation;
2214
   ulong tx_isolation;
2215
   ulong completion_type;
2215
   ulong completion_type;
2216
@@ -1121,6 +1132,12 @@
2216
@@ -1128,6 +1133,12 @@
2217
   uint in_sub_stmt;
2217
   uint in_sub_stmt;
2218
   bool enable_slow_log, insert_id_used, clear_next_insert_id;
2218
   bool enable_slow_log, insert_id_used, clear_next_insert_id;
2219
   bool last_insert_id_used;
2219
   bool last_insert_id_used;
Lines 2226-2232 diff -r 25523be1816e sql/sql_class.h Link Here
2226
   my_bool no_send_ok;
2226
   my_bool no_send_ok;
2227
   SAVEPOINT *savepoints;
2227
   SAVEPOINT *savepoints;
2228
 };
2228
 };
2229
@@ -1177,6 +1194,11 @@
2229
@@ -1184,6 +1195,11 @@
2230
 class THD :public Statement,
2230
 class THD :public Statement,
2231
            public Open_tables_state
2231
            public Open_tables_state
2232
 {
2232
 {
Lines 2238-2244 diff -r 25523be1816e sql/sql_class.h Link Here
2238
 public:
2238
 public:
2239
   /*
2239
   /*
2240
     Constant for THD::where initialization in the beginning of every query.
2240
     Constant for THD::where initialization in the beginning of every query.
2241
@@ -1285,10 +1307,24 @@
2241
@@ -1292,10 +1308,24 @@
2242
   */
2242
   */
2243
   const char *where;
2243
   const char *where;
2244
   time_t     start_time,time_after_lock,user_time;
2244
   time_t     start_time,time_after_lock,user_time;
Lines 2263-2269 diff -r 25523be1816e sql/sql_class.h Link Here
2263
   /* <> 0 if we are inside of trigger or stored function. */
2263
   /* <> 0 if we are inside of trigger or stored function. */
2264
   uint in_sub_stmt;
2264
   uint in_sub_stmt;
2265
 
2265
 
2266
@@ -1678,11 +1714,11 @@
2266
@@ -1685,11 +1715,11 @@
2267
       sql_print_information("time() failed with %d", errno);
2267
       sql_print_information("time() failed with %d", errno);
2268
   }
2268
   }
2269
 
2269
 
Lines 2280-2288 diff -r 25523be1816e sql/sql_class.h Link Here
2280
   inline void	insert_id(ulonglong id_arg)
2280
   inline void	insert_id(ulonglong id_arg)
2281
   {
2281
   {
2282
     last_insert_id= id_arg;
2282
     last_insert_id= id_arg;
2283
diff -r 25523be1816e sql/sql_parse.cc
(-)- a/sql/sql_parse.cc (-2 / +1 lines)
Lines 2381-2387 diff -r 25523be1816e sql/sql_parse.cc Link Here
2381
   /*
2381
   /*
2382
     Reset warning count for each query that uses tables
2382
     Reset warning count for each query that uses tables
2383
     A better approach would be to reset this for any commands
2383
     A better approach would be to reset this for any commands
2384
@@ -6084,6 +6120,15 @@
2384
@@ -6084,6 +6124,15 @@
2385
     thd->total_warn_count=0;			// Warnings for this query
2385
     thd->total_warn_count=0;			// Warnings for this query
2386
     thd->rand_used= 0;
2386
     thd->rand_used= 0;
2387
     thd->sent_row_count= thd->examined_row_count= 0;
2387
     thd->sent_row_count= thd->examined_row_count= 0;
Lines 2397-2406 diff -r 25523be1816e sql/sql_parse.cc Link Here
2397
   }
2397
   }
2398
   DBUG_VOID_RETURN;
2398
   DBUG_VOID_RETURN;
2399
 }
2399
 }
2400
diff -r 25523be1816e sql/sql_select.cc
(-)- a/sql/sql_select.cc (-4 / +3 lines)
Lines 2412-2418 diff -r 25523be1816e sql/sql_select.cc Link Here
2412
 	  }
2412
 	  }
2413
 	}
2413
 	}
2414
 	else
2414
 	else
2415
@@ -6237,8 +6240,11 @@
2415
@@ -6240,8 +6243,11 @@
2416
 	  {
2416
 	  {
2417
 	    join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
2417
 	    join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
2418
 	    if (statistics)
2418
 	    if (statistics)
Lines 2424-2430 diff -r 25523be1816e sql/sql_select.cc Link Here
2424
 	  }
2424
 	  }
2425
 	}
2425
 	}
2426
 	if (!table->no_keyread)
2426
 	if (!table->no_keyread)
2427
@@ -9302,6 +9308,7 @@
2427
@@ -9305,6 +9311,7 @@
2428
 		      (ulong) rows_limit,test(group)));
2428
 		      (ulong) rows_limit,test(group)));
2429
 
2429
 
2430
   statistic_increment(thd->status_var.created_tmp_tables, &LOCK_status);
2430
   statistic_increment(thd->status_var.created_tmp_tables, &LOCK_status);
Lines 2432-2438 diff -r 25523be1816e sql/sql_select.cc Link Here
2432
 
2432
 
2433
   if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES))
2433
   if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES))
2434
     temp_pool_slot = bitmap_set_next(&temp_pool);
2434
     temp_pool_slot = bitmap_set_next(&temp_pool);
2435
@@ -10162,6 +10169,7 @@
2435
@@ -10165,6 +10172,7 @@
2436
   }
2436
   }
2437
   statistic_increment(table->in_use->status_var.created_tmp_disk_tables,
2437
   statistic_increment(table->in_use->status_var.created_tmp_disk_tables,
2438
 		      &LOCK_status);
2438
 		      &LOCK_status);
Lines 2440-2449 diff -r 25523be1816e sql/sql_select.cc Link Here
2440
   table->s->db_record_offset= 1;
2440
   table->s->db_record_offset= 1;
2441
   DBUG_RETURN(0);
2441
   DBUG_RETURN(0);
2442
  err:
2442
  err:
2443
diff -r 25523be1816e sql/sql_show.cc
(-)- a/sql/sql_show.cc (-1 lines)
Lines 2456-2464 diff -r 25523be1816e sql/sql_show.cc Link Here
2456
           break;
2456
           break;
2457
         case SHOW_HA_ROWS:
2457
         case SHOW_HA_ROWS:
2458
           end= longlong10_to_str((longlong) *(ha_rows*) value, buff, 10);
2458
           end= longlong10_to_str((longlong) *(ha_rows*) value, buff, 10);
2459
diff -r 25523be1816e sql/structs.h
(-)- a/sql/structs.h (-1 / +1 lines)
Lines 2467-2472 diff -r 25523be1816e sql/structs.h Link Here
2467
-  SHOW_DOUBLE_STATUS,
2467
-  SHOW_DOUBLE_STATUS,
2468
+  SHOW_LONG, SHOW_LONGLONG, SHOW_MICROTIME, SHOW_INT, SHOW_CHAR, SHOW_CHAR_PTR, 
2468
+  SHOW_LONG, SHOW_LONGLONG, SHOW_MICROTIME, SHOW_INT, SHOW_CHAR, SHOW_CHAR_PTR, 
2469
+  SHOW_DOUBLE_STATUS, 
2469
+  SHOW_DOUBLE_STATUS, 
2470
   SHOW_BOOL, SHOW_MY_BOOL, SHOW_OPENTABLES, SHOW_STARTTIME, 
2470
   SHOW_BOOL, SHOW_MY_BOOL, SHOW_OPENTABLES, SHOW_STARTTIME, SHOW_QUERIES,
2471
   SHOW_LONG_CONST, SHOW_INT_CONST, SHOW_HAVE, SHOW_SYS, SHOW_HA_ROWS,
2471
   SHOW_LONG_CONST, SHOW_INT_CONST, SHOW_HAVE, SHOW_SYS, SHOW_HA_ROWS,
2472
   SHOW_VARS,
2472
   SHOW_VARS,
(-)a/1003_all_userstatv2-percona-5.0.75-b12.patch (-1 lines)
Lines 1-7 Link Here
1
diff -r 1270c564d514 BUILD/Makefile.in
(-)- a/BUILD/Makefile.in (-1 lines)
Lines 9-18 diff -r 1270c564d514 BUILD/Makefile.in Link Here
9
 LIBS = @LIBS@
9
 LIBS = @LIBS@
10
 LIBTOOL = @LIBTOOL@
10
 LIBTOOL = @LIBTOOL@
11
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
11
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
12
diff -r 1270c564d514 Docs/Makefile.in
(-)- a/Docs/Makefile.in (-1 lines)
Lines 20-29 diff -r 1270c564d514 Docs/Makefile.in Link Here
20
 LIBS = @LIBS@
20
 LIBS = @LIBS@
21
 LIBTOOL = @LIBTOOL@
21
 LIBTOOL = @LIBTOOL@
22
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
22
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
23
diff -r 1270c564d514 Makefile.in
(-)- a/Makefile.in (-1 lines)
Lines 31-40 diff -r 1270c564d514 Makefile.in Link Here
31
 LIBS = @LIBS@
31
 LIBS = @LIBS@
32
 LIBTOOL = @LIBTOOL@
32
 LIBTOOL = @LIBTOOL@
33
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
33
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
34
diff -r 1270c564d514 SSL/Makefile.in
(-)- a/SSL/Makefile.in (-1 lines)
Lines 42-60 diff -r 1270c564d514 SSL/Makefile.in Link Here
42
 LIBS = @LIBS@
42
 LIBS = @LIBS@
43
 LIBTOOL = @LIBTOOL@
43
 LIBTOOL = @LIBTOOL@
44
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
44
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
45
diff -r 1270c564d514 aclocal.m4
(-)- a/aclocal.m4 (-20 / +3 lines)
Lines 64-70 diff -r 1270c564d514 aclocal.m4 Link Here
64
 # An ERE matcher.
55
 # An ERE matcher.
65
 EGREP=$lt_EGREP
56
 EGREP=$lt_EGREP
66
 
57
 
67
@@ -4438,11 +4441,11 @@
58
@@ -4545,11 +4548,11 @@
68
 
59
 
69
 # Dependencies to place before the objects being linked to create a
60
 # Dependencies to place before the objects being linked to create a
70
 # shared library.
61
 # shared library.
Lines 78-84 diff -r 1270c564d514 aclocal.m4 Link Here
78
 
69
 
79
 # Dependencies to place before the objects being linked to create a
70
 # Dependencies to place before the objects being linked to create a
80
 # shared library.
71
 # shared library.
81
@@ -4454,7 +4457,7 @@
72
@@ -4561,7 +4564,7 @@
82
 
73
 
83
 # The library search path used internally by the compiler when linking
74
 # The library search path used internally by the compiler when linking
84
 # a shared library.
75
 # a shared library.
Lines 87-93 diff -r 1270c564d514 aclocal.m4 Link Here
87
 
78
 
88
 # Method to check whether dependent libraries are shared objects.
79
 # Method to check whether dependent libraries are shared objects.
89
 deplibs_check_method=$lt_deplibs_check_method
80
 deplibs_check_method=$lt_deplibs_check_method
90
@@ -4534,7 +4537,7 @@
81
@@ -4641,7 +4644,7 @@
91
 link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
82
 link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
92
 
83
 
93
 # Compile-time system search path for libraries
84
 # Compile-time system search path for libraries
Lines 96-121 diff -r 1270c564d514 aclocal.m4 Link Here
96
 
87
 
97
 # Run-time system search path for libraries
88
 # Run-time system search path for libraries
98
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
89
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
99
@@ -6370,6 +6373,7 @@
100
     done
101
   done
102
 done
103
+IFS=$as_save_IFS
104
 lt_ac_max=0
105
 lt_ac_count=0
106
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
107
@@ -6402,6 +6406,7 @@
108
 done
109
 ])
110
 SED=$lt_cv_path_SED
111
+AC_SUBST([SED])
112
 AC_MSG_RESULT([$SED])
113
 ])
114
 
115
diff -r 1270c564d514 client/Makefile.in
(-)- a/client/Makefile.in (-1 lines)
Lines 123-132 diff -r 1270c564d514 client/Makefile.in Link Here
123
 LIBS = @CLIENT_LIBS@
98
 LIBS = @CLIENT_LIBS@
124
 LIBTOOL = @LIBTOOL@
99
 LIBTOOL = @LIBTOOL@
125
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
100
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
126
diff -r 1270c564d514 cmd-line-utils/Makefile.in
(-)- a/cmd-line-utils/Makefile.in (-1 lines)
Lines 134-143 diff -r 1270c564d514 cmd-line-utils/Makefile.in Link Here
134
 LIBS = @LIBS@
109
 LIBS = @LIBS@
135
 LIBTOOL = @LIBTOOL@
110
 LIBTOOL = @LIBTOOL@
136
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
111
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
137
diff -r 1270c564d514 cmd-line-utils/libedit/Makefile.in
(-)- a/cmd-line-utils/libedit/Makefile.in (-1 lines)
Lines 145-154 diff -r 1270c564d514 cmd-line-utils/libedit/Makefile.in Link Here
145
 LIBS = @LIBS@
120
 LIBS = @LIBS@
146
 LIBTOOL = @LIBTOOL@
121
 LIBTOOL = @LIBTOOL@
147
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
122
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
148
diff -r 1270c564d514 cmd-line-utils/readline/Makefile.in
(-)- a/cmd-line-utils/readline/Makefile.in (-1 lines)
Lines 156-174 diff -r 1270c564d514 cmd-line-utils/readline/Makefile.in Link Here
156
 LIBS = @LIBS@
131
 LIBS = @LIBS@
157
 LIBTOOL = @LIBTOOL@
132
 LIBTOOL = @LIBTOOL@
158
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
133
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
159
diff -r 1270c564d514 configure
(-)- a/configure (-11 / +2 lines)
Lines 260-267 diff -r 1270c564d514 configure Link Here
260
+
226
+
261
 for ac_func in clock_gettime
227
 for ac_func in clock_gettime
262
 do
228
 do
263
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
229
 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
264
@@ -41644,7 +41728,7 @@
230
@@ -42956,7 +43040,7 @@
265
 
231
 
266
 fi
232
 fi
267
 
233
 
Lines 270-286 diff -r 1270c564d514 configure Link Here
270
 
236
 
271
 
237
 
272
 
238
 
273
@@ -42984,6 +43068,7 @@
274
 s,@MAKE_SHELL@,$MAKE_SHELL,;t t
275
 s,@TERMCAP_LIB@,$TERMCAP_LIB,;t t
276
 s,@LIBEDIT_LOBJECTS@,$LIBEDIT_LOBJECTS,;t t
277
+s,@LIBRT@,$LIBRT,;t t
278
 s,@tools_dirs@,$tools_dirs,;t t
279
 s,@openssl_libs@,$openssl_libs,;t t
280
 s,@openssl_includes@,$openssl_includes,;t t
281
diff -r 1270c564d514 configure.in
(-)- a/configure.in (-1 lines)
Lines 310-319 diff -r 1270c564d514 configure.in Link Here
310
 
268
 
311
 AC_SUBST(CLIENT_LIBS)
269
 AC_SUBST(CLIENT_LIBS)
312
 AC_SUBST(NON_THREADED_LIBS)
270
 AC_SUBST(NON_THREADED_LIBS)
313
diff -r 1270c564d514 dbug/Makefile.in
(-)- a/dbug/Makefile.in (-1 lines)
Lines 321-330 diff -r 1270c564d514 dbug/Makefile.in Link Here
321
 LIBS = @LIBS@
279
 LIBS = @LIBS@
322
 LIBTOOL = @LIBTOOL@
280
 LIBTOOL = @LIBTOOL@
323
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
281
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
324
diff -r 1270c564d514 extra/Makefile.in
(-)- a/extra/Makefile.in (-1 lines)
Lines 332-341 diff -r 1270c564d514 extra/Makefile.in Link Here
332
 LIBS = @LIBS@
290
 LIBS = @LIBS@
333
 LIBTOOL = @LIBTOOL@
291
 LIBTOOL = @LIBTOOL@
334
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
292
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
335
diff -r 1270c564d514 extra/yassl/Makefile.in
(-)- a/extra/yassl/Makefile.in (-1 lines)
Lines 343-352 diff -r 1270c564d514 extra/yassl/Makefile.in Link Here
343
 LIBS = @LIBS@
301
 LIBS = @LIBS@
344
 LIBTOOL = @LIBTOOL@
302
 LIBTOOL = @LIBTOOL@
345
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
303
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
346
diff -r 1270c564d514 extra/yassl/src/Makefile.in
(-)- a/extra/yassl/src/Makefile.in (-1 lines)
Lines 354-363 diff -r 1270c564d514 extra/yassl/src/Makefile.in Link Here
354
 LIBS = @LIBS@
312
 LIBS = @LIBS@
355
 LIBTOOL = @LIBTOOL@
313
 LIBTOOL = @LIBTOOL@
356
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
314
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
357
diff -r 1270c564d514 extra/yassl/taocrypt/Makefile.in
(-)- a/extra/yassl/taocrypt/Makefile.in (-1 lines)
Lines 365-374 diff -r 1270c564d514 extra/yassl/taocrypt/Makefile.in Link Here
365
 LIBS = @LIBS@
323
 LIBS = @LIBS@
366
 LIBTOOL = @LIBTOOL@
324
 LIBTOOL = @LIBTOOL@
367
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
325
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
368
diff -r 1270c564d514 extra/yassl/taocrypt/benchmark/Makefile.in
(-)- a/extra/yassl/taocrypt/benchmark/Makefile.in (-1 lines)
Lines 376-385 diff -r 1270c564d514 extra/yassl/taocrypt/benchmark/Makefile.in Link Here
376
 LIBS = @LIBS@
334
 LIBS = @LIBS@
377
 LIBTOOL = @LIBTOOL@
335
 LIBTOOL = @LIBTOOL@
378
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
336
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
379
diff -r 1270c564d514 extra/yassl/taocrypt/src/Makefile.in
(-)- a/extra/yassl/taocrypt/src/Makefile.in (-1 lines)
Lines 387-396 diff -r 1270c564d514 extra/yassl/taocrypt/src/Makefile.in Link Here
387
 LIBS = @LIBS@
345
 LIBS = @LIBS@
388
 LIBTOOL = @LIBTOOL@
346
 LIBTOOL = @LIBTOOL@
389
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
347
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
390
diff -r 1270c564d514 extra/yassl/taocrypt/test/Makefile.in
(-)- a/extra/yassl/taocrypt/test/Makefile.in (-1 lines)
Lines 398-407 diff -r 1270c564d514 extra/yassl/taocrypt/test/Makefile.in Link Here
398
 LIBS = @LIBS@
356
 LIBS = @LIBS@
399
 LIBTOOL = @LIBTOOL@
357
 LIBTOOL = @LIBTOOL@
400
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
358
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
401
diff -r 1270c564d514 extra/yassl/testsuite/Makefile.in
(-)- a/extra/yassl/testsuite/Makefile.in (-1 lines)
Lines 409-418 diff -r 1270c564d514 extra/yassl/testsuite/Makefile.in Link Here
409
 LIBS = @LIBS@
367
 LIBS = @LIBS@
410
 LIBTOOL = @LIBTOOL@
368
 LIBTOOL = @LIBTOOL@
411
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
369
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
412
diff -r 1270c564d514 heap/Makefile.in
(-)- a/heap/Makefile.in (-1 lines)
Lines 420-429 diff -r 1270c564d514 heap/Makefile.in Link Here
420
 LIBS = @LIBS@
378
 LIBS = @LIBS@
421
 LIBTOOL = @LIBTOOL@
379
 LIBTOOL = @LIBTOOL@
422
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
380
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
423
diff -r 1270c564d514 include/Makefile.in
(-)- a/include/Makefile.in (-1 lines)
Lines 431-439 diff -r 1270c564d514 include/Makefile.in Link Here
431
 LIBS = @LIBS@
389
 LIBS = @LIBS@
432
 LIBTOOL = @LIBTOOL@
390
 LIBTOOL = @LIBTOOL@
433
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
391
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
434
diff -r 1270c564d514 include/mysql_com.h
(-)- a/include/mysql_com.h (-1 lines)
Lines 446-455 diff -r 1270c564d514 include/mysql_com.h Link Here
446
 
404
 
447
 /* The following can't be set with mysql_refresh() */
405
 /* The following can't be set with mysql_refresh() */
448
 #define REFRESH_READ_LOCK	16384	/* Lock tables for read */
406
 #define REFRESH_READ_LOCK	16384	/* Lock tables for read */
449
diff -r 1270c564d514 libmysql/Makefile.in
(-)- a/libmysql/Makefile.in (-1 lines)
Lines 457-466 diff -r 1270c564d514 libmysql/Makefile.in Link Here
457
 LIBS = @CLIENT_LIBS@ 
415
 LIBS = @CLIENT_LIBS@ 
458
 LIBTOOL = @LIBTOOL@
416
 LIBTOOL = @LIBTOOL@
459
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
417
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
460
diff -r 1270c564d514 libmysql_r/Makefile.in
(-)- a/libmysql_r/Makefile.in (-1 lines)
Lines 468-477 diff -r 1270c564d514 libmysql_r/Makefile.in Link Here
468
 LIBS = @LIBS@ @ZLIB_LIBS@ @openssl_libs@
426
 LIBS = @LIBS@ @ZLIB_LIBS@ @openssl_libs@
469
 LIBTOOL = @LIBTOOL@
427
 LIBTOOL = @LIBTOOL@
470
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
428
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
471
diff -r 1270c564d514 libmysqld/Makefile.in
(-)- a/libmysqld/Makefile.in (-1 lines)
Lines 479-488 diff -r 1270c564d514 libmysqld/Makefile.in Link Here
479
 LIBS = @LIBS@
437
 LIBS = @LIBS@
480
 LIBTOOL = @LIBTOOL@
438
 LIBTOOL = @LIBTOOL@
481
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
439
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
482
diff -r 1270c564d514 libmysqld/examples/Makefile.in
(-)- a/libmysqld/examples/Makefile.in (-1 lines)
Lines 490-499 diff -r 1270c564d514 libmysqld/examples/Makefile.in Link Here
490
 LIBS = @LIBS@ @WRAPLIBS@ @CLIENT_LIBS@ $(yassl_libs)
448
 LIBS = @LIBS@ @WRAPLIBS@ @CLIENT_LIBS@ $(yassl_libs)
491
 LIBTOOL = @LIBTOOL@
449
 LIBTOOL = @LIBTOOL@
492
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
450
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
493
diff -r 1270c564d514 man/Makefile.in
(-)- a/man/Makefile.in (-1 lines)
Lines 501-510 diff -r 1270c564d514 man/Makefile.in Link Here
501
 LIBS = @LIBS@
459
 LIBS = @LIBS@
502
 LIBTOOL = @LIBTOOL@
460
 LIBTOOL = @LIBTOOL@
503
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
461
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
504
diff -r 1270c564d514 myisam/Makefile.in
(-)- a/myisam/Makefile.in (-1 lines)
Lines 512-521 diff -r 1270c564d514 myisam/Makefile.in Link Here
512
 LIBS = @LIBS@
470
 LIBS = @LIBS@
513
 LIBTOOL = @LIBTOOL@
471
 LIBTOOL = @LIBTOOL@
514
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
472
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
515
diff -r 1270c564d514 myisammrg/Makefile.in
(-)- a/myisammrg/Makefile.in (-1 lines)
Lines 523-532 diff -r 1270c564d514 myisammrg/Makefile.in Link Here
523
 LIBS = @LIBS@
481
 LIBS = @LIBS@
524
 LIBTOOL = @LIBTOOL@
482
 LIBTOOL = @LIBTOOL@
525
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
483
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
526
diff -r 1270c564d514 mysql-test/Makefile.in
(-)- a/mysql-test/Makefile.in (-1 lines)
Lines 534-543 diff -r 1270c564d514 mysql-test/Makefile.in Link Here
534
 LIBS = @LIBS@
492
 LIBS = @LIBS@
535
 LIBTOOL = @LIBTOOL@
493
 LIBTOOL = @LIBTOOL@
536
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
494
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
537
diff -r 1270c564d514 mysql-test/ndb/Makefile.in
(-)- a/mysql-test/ndb/Makefile.in (-1 lines)
Lines 545-553 diff -r 1270c564d514 mysql-test/ndb/Makefile.in Link Here
545
 LIBS = @LIBS@
503
 LIBS = @LIBS@
546
 LIBTOOL = @LIBTOOL@
504
 LIBTOOL = @LIBTOOL@
547
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
505
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
548
diff -r 1270c564d514 mysql-test/r/information_schema.result
(-)- a/mysql-test/r/information_schema.result (-1 lines)
Lines 730-738 diff -r 1270c564d514 mysql-test/r/information_schema.result Link Here
730
 VIEWS	information_schema.VIEWS	1
688
 VIEWS	information_schema.VIEWS	1
731
 show global status like "Uptime_%";
689
 show global status like "Uptime_%";
732
 Variable_name	Value
690
 Variable_name	Value
733
diff -r 1270c564d514 mysql-test/r/information_schema_db.result
(-)- a/mysql-test/r/information_schema_db.result (-1 lines)
Lines 764-772 diff -r 1270c564d514 mysql-test/r/information_schema_db.result Link Here
764
 TRIGGERS
722
 TRIGGERS
765
 create database `inf%`;
723
 create database `inf%`;
766
 create database mbase;
724
 create database mbase;
767
diff -r 1270c564d514 mysql-test/r/mysqlshow.result
(-)- a/mysql-test/r/mysqlshow.result (-1 lines)
Lines 815-824 diff -r 1270c564d514 mysql-test/r/mysqlshow.result Link Here
815
 | VIEWS                                 |
773
 | VIEWS                                 |
816
 +---------------------------------------+
774
 +---------------------------------------+
817
 Wildcard: inf_rmation_schema
775
 Wildcard: inf_rmation_schema
818
diff -r 1270c564d514 mysys/Makefile.in
(-)- a/mysys/Makefile.in (-1 lines)
Lines 826-835 diff -r 1270c564d514 mysys/Makefile.in Link Here
826
 LIBS = @LIBS@
784
 LIBS = @LIBS@
827
 LIBTOOL = @LIBTOOL@
785
 LIBTOOL = @LIBTOOL@
828
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
786
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
829
diff -r 1270c564d514 ndb/Makefile.in
(-)- a/ndb/Makefile.in (-1 lines)
Lines 837-846 diff -r 1270c564d514 ndb/Makefile.in Link Here
837
 LIBS = @LIBS@
795
 LIBS = @LIBS@
838
 LIBTOOL = @LIBTOOL@
796
 LIBTOOL = @LIBTOOL@
839
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
797
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
840
diff -r 1270c564d514 ndb/docs/Makefile.in
(-)- a/ndb/docs/Makefile.in (-1 lines)
Lines 848-857 diff -r 1270c564d514 ndb/docs/Makefile.in Link Here
848
 LIBS = @LIBS@
806
 LIBS = @LIBS@
849
 LIBTOOL = @LIBTOOL@
807
 LIBTOOL = @LIBTOOL@
850
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
808
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
851
diff -r 1270c564d514 ndb/include/Makefile.in
(-)- a/ndb/include/Makefile.in (-1 lines)
Lines 859-868 diff -r 1270c564d514 ndb/include/Makefile.in Link Here
859
 LIBS = @LIBS@
817
 LIBS = @LIBS@
860
 LIBTOOL = @LIBTOOL@
818
 LIBTOOL = @LIBTOOL@
861
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
819
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
862
diff -r 1270c564d514 ndb/src/Makefile.in
(-)- a/ndb/src/Makefile.in (-1 lines)
Lines 870-879 diff -r 1270c564d514 ndb/src/Makefile.in Link Here
870
 LIBS = @LIBS@
828
 LIBS = @LIBS@
871
 LIBTOOL = @LIBTOOL@
829
 LIBTOOL = @LIBTOOL@
872
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
830
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
873
diff -r 1270c564d514 ndb/src/common/Makefile.in
(-)- a/ndb/src/common/Makefile.in (-1 lines)
Lines 881-890 diff -r 1270c564d514 ndb/src/common/Makefile.in Link Here
881
 LIBS = @LIBS@
839
 LIBS = @LIBS@
882
 LIBTOOL = @LIBTOOL@
840
 LIBTOOL = @LIBTOOL@
883
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
841
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
884
diff -r 1270c564d514 ndb/src/common/debugger/Makefile.in
(-)- a/ndb/src/common/debugger/Makefile.in (-1 lines)
Lines 892-901 diff -r 1270c564d514 ndb/src/common/debugger/Makefile.in Link Here
892
 LIBS = @LIBS@
850
 LIBS = @LIBS@
893
 LIBTOOL = @LIBTOOL@
851
 LIBTOOL = @LIBTOOL@
894
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
852
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
895
diff -r 1270c564d514 ndb/src/common/debugger/signaldata/Makefile.in
(-)- a/ndb/src/common/debugger/signaldata/Makefile.in (-1 lines)
Lines 903-912 diff -r 1270c564d514 ndb/src/common/debugger/signaldata/Makefile.in Link Here
903
 LIBS = @LIBS@
861
 LIBS = @LIBS@
904
 LIBTOOL = @LIBTOOL@
862
 LIBTOOL = @LIBTOOL@
905
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
863
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
906
diff -r 1270c564d514 ndb/src/common/logger/Makefile.in
(-)- a/ndb/src/common/logger/Makefile.in (-1 lines)
Lines 914-923 diff -r 1270c564d514 ndb/src/common/logger/Makefile.in Link Here
914
 LIBS = @LIBS@
872
 LIBS = @LIBS@
915
 LIBTOOL = @LIBTOOL@
873
 LIBTOOL = @LIBTOOL@
916
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
874
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
917
diff -r 1270c564d514 ndb/src/common/mgmcommon/Makefile.in
(-)- a/ndb/src/common/mgmcommon/Makefile.in (-1 lines)
Lines 925-934 diff -r 1270c564d514 ndb/src/common/mgmcommon/Makefile.in Link Here
925
 LIBS = @LIBS@
883
 LIBS = @LIBS@
926
 LIBTOOL = @LIBTOOL@
884
 LIBTOOL = @LIBTOOL@
927
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
885
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
928
diff -r 1270c564d514 ndb/src/common/portlib/Makefile.in
(-)- a/ndb/src/common/portlib/Makefile.in (-1 lines)
Lines 936-945 diff -r 1270c564d514 ndb/src/common/portlib/Makefile.in Link Here
936
 LIBS = @LIBS@
894
 LIBS = @LIBS@
937
 LIBTOOL = @LIBTOOL@
895
 LIBTOOL = @LIBTOOL@
938
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
896
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
939
diff -r 1270c564d514 ndb/src/common/transporter/Makefile.in
(-)- a/ndb/src/common/transporter/Makefile.in (-1 lines)
Lines 947-956 diff -r 1270c564d514 ndb/src/common/transporter/Makefile.in Link Here
947
 LIBS = @LIBS@
905
 LIBS = @LIBS@
948
 LIBTOOL = @LIBTOOL@
906
 LIBTOOL = @LIBTOOL@
949
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
907
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
950
diff -r 1270c564d514 ndb/src/common/util/Makefile.in
(-)- a/ndb/src/common/util/Makefile.in (-1 lines)
Lines 958-967 diff -r 1270c564d514 ndb/src/common/util/Makefile.in Link Here
958
 LIBS = @LIBS@
916
 LIBS = @LIBS@
959
 LIBTOOL = @LIBTOOL@
917
 LIBTOOL = @LIBTOOL@
960
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
918
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
961
diff -r 1270c564d514 ndb/src/cw/Makefile.in
(-)- a/ndb/src/cw/Makefile.in (-1 lines)
Lines 969-978 diff -r 1270c564d514 ndb/src/cw/Makefile.in Link Here
969
 LIBS = @LIBS@
927
 LIBS = @LIBS@
970
 LIBTOOL = @LIBTOOL@
928
 LIBTOOL = @LIBTOOL@
971
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
929
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
972
diff -r 1270c564d514 ndb/src/cw/cpcd/Makefile.in
(-)- a/ndb/src/cw/cpcd/Makefile.in (-1 lines)
Lines 980-989 diff -r 1270c564d514 ndb/src/cw/cpcd/Makefile.in Link Here
980
 LIBS = @LIBS@
938
 LIBS = @LIBS@
981
 LIBTOOL = @LIBTOOL@
939
 LIBTOOL = @LIBTOOL@
982
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
940
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
983
diff -r 1270c564d514 ndb/src/kernel/Makefile.in
(-)- a/ndb/src/kernel/Makefile.in (-1 lines)
Lines 991-1000 diff -r 1270c564d514 ndb/src/kernel/Makefile.in Link Here
991
 LIBS = @LIBS@
949
 LIBS = @LIBS@
992
 LIBTOOL = @LIBTOOL@
950
 LIBTOOL = @LIBTOOL@
993
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
951
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
994
diff -r 1270c564d514 ndb/src/kernel/blocks/Makefile.in
(-)- a/ndb/src/kernel/blocks/Makefile.in (-1 lines)
Lines 1002-1011 diff -r 1270c564d514 ndb/src/kernel/blocks/Makefile.in Link Here
1002
 LIBS = @LIBS@
960
 LIBS = @LIBS@
1003
 LIBTOOL = @LIBTOOL@
961
 LIBTOOL = @LIBTOOL@
1004
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
962
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1005
diff -r 1270c564d514 ndb/src/kernel/blocks/backup/Makefile.in
(-)- a/ndb/src/kernel/blocks/backup/Makefile.in (-1 lines)
Lines 1013-1022 diff -r 1270c564d514 ndb/src/kernel/blocks/backup/Makefile.in Link Here
1013
 LIBS = @LIBS@
971
 LIBS = @LIBS@
1014
 LIBTOOL = @LIBTOOL@
972
 LIBTOOL = @LIBTOOL@
1015
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
973
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1016
diff -r 1270c564d514 ndb/src/kernel/blocks/cmvmi/Makefile.in
(-)- a/ndb/src/kernel/blocks/cmvmi/Makefile.in (-1 lines)
Lines 1024-1033 diff -r 1270c564d514 ndb/src/kernel/blocks/cmvmi/Makefile.in Link Here
1024
 LIBS = @LIBS@
982
 LIBS = @LIBS@
1025
 LIBTOOL = @LIBTOOL@
983
 LIBTOOL = @LIBTOOL@
1026
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
984
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1027
diff -r 1270c564d514 ndb/src/kernel/blocks/dbacc/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbacc/Makefile.in (-1 lines)
Lines 1035-1044 diff -r 1270c564d514 ndb/src/kernel/blocks/dbacc/Makefile.in Link Here
1035
 LIBS = @LIBS@
993
 LIBS = @LIBS@
1036
 LIBTOOL = @LIBTOOL@
994
 LIBTOOL = @LIBTOOL@
1037
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
995
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1038
diff -r 1270c564d514 ndb/src/kernel/blocks/dbdict/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbdict/Makefile.in (-1 lines)
Lines 1046-1055 diff -r 1270c564d514 ndb/src/kernel/blocks/dbdict/Makefile.in Link Here
1046
 LIBS = @LIBS@
1004
 LIBS = @LIBS@
1047
 LIBTOOL = @LIBTOOL@
1005
 LIBTOOL = @LIBTOOL@
1048
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1006
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1049
diff -r 1270c564d514 ndb/src/kernel/blocks/dbdih/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbdih/Makefile.in (-1 lines)
Lines 1057-1066 diff -r 1270c564d514 ndb/src/kernel/blocks/dbdih/Makefile.in Link Here
1057
 LIBS = @LIBS@
1015
 LIBS = @LIBS@
1058
 LIBTOOL = @LIBTOOL@
1016
 LIBTOOL = @LIBTOOL@
1059
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1017
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1060
diff -r 1270c564d514 ndb/src/kernel/blocks/dblqh/Makefile.in
(-)- a/ndb/src/kernel/blocks/dblqh/Makefile.in (-1 lines)
Lines 1068-1077 diff -r 1270c564d514 ndb/src/kernel/blocks/dblqh/Makefile.in Link Here
1068
 LIBS = @LIBS@
1026
 LIBS = @LIBS@
1069
 LIBTOOL = @LIBTOOL@
1027
 LIBTOOL = @LIBTOOL@
1070
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1028
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1071
diff -r 1270c564d514 ndb/src/kernel/blocks/dbtc/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbtc/Makefile.in (-1 lines)
Lines 1079-1088 diff -r 1270c564d514 ndb/src/kernel/blocks/dbtc/Makefile.in Link Here
1079
 LIBS = @LIBS@
1037
 LIBS = @LIBS@
1080
 LIBTOOL = @LIBTOOL@
1038
 LIBTOOL = @LIBTOOL@
1081
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1039
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1082
diff -r 1270c564d514 ndb/src/kernel/blocks/dbtup/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbtup/Makefile.in (-1 lines)
Lines 1090-1099 diff -r 1270c564d514 ndb/src/kernel/blocks/dbtup/Makefile.in Link Here
1090
 LIBS = @LIBS@
1048
 LIBS = @LIBS@
1091
 LIBTOOL = @LIBTOOL@
1049
 LIBTOOL = @LIBTOOL@
1092
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1050
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1093
diff -r 1270c564d514 ndb/src/kernel/blocks/dbtux/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbtux/Makefile.in (-1 lines)
Lines 1101-1110 diff -r 1270c564d514 ndb/src/kernel/blocks/dbtux/Makefile.in Link Here
1101
 LIBS = @LIBS@
1059
 LIBS = @LIBS@
1102
 LIBTOOL = @LIBTOOL@
1060
 LIBTOOL = @LIBTOOL@
1103
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1061
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1104
diff -r 1270c564d514 ndb/src/kernel/blocks/dbutil/Makefile.in
(-)- a/ndb/src/kernel/blocks/dbutil/Makefile.in (-1 lines)
Lines 1112-1121 diff -r 1270c564d514 ndb/src/kernel/blocks/dbutil/Makefile.in Link Here
1112
 LIBS = @LIBS@
1070
 LIBS = @LIBS@
1113
 LIBTOOL = @LIBTOOL@
1071
 LIBTOOL = @LIBTOOL@
1114
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1072
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1115
diff -r 1270c564d514 ndb/src/kernel/blocks/ndbcntr/Makefile.in
(-)- a/ndb/src/kernel/blocks/ndbcntr/Makefile.in (-1 lines)
Lines 1123-1132 diff -r 1270c564d514 ndb/src/kernel/blocks/ndbcntr/Makefile.in Link Here
1123
 LIBS = @LIBS@
1081
 LIBS = @LIBS@
1124
 LIBTOOL = @LIBTOOL@
1082
 LIBTOOL = @LIBTOOL@
1125
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1083
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1126
diff -r 1270c564d514 ndb/src/kernel/blocks/ndbfs/Makefile.in
(-)- a/ndb/src/kernel/blocks/ndbfs/Makefile.in (-1 lines)
Lines 1134-1143 diff -r 1270c564d514 ndb/src/kernel/blocks/ndbfs/Makefile.in Link Here
1134
 LIBS = @LIBS@
1092
 LIBS = @LIBS@
1135
 LIBTOOL = @LIBTOOL@
1093
 LIBTOOL = @LIBTOOL@
1136
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1094
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1137
diff -r 1270c564d514 ndb/src/kernel/blocks/qmgr/Makefile.in
(-)- a/ndb/src/kernel/blocks/qmgr/Makefile.in (-1 lines)
Lines 1145-1154 diff -r 1270c564d514 ndb/src/kernel/blocks/qmgr/Makefile.in Link Here
1145
 LIBS = @LIBS@
1103
 LIBS = @LIBS@
1146
 LIBTOOL = @LIBTOOL@
1104
 LIBTOOL = @LIBTOOL@
1147
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1105
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1148
diff -r 1270c564d514 ndb/src/kernel/blocks/suma/Makefile.in
(-)- a/ndb/src/kernel/blocks/suma/Makefile.in (-1 lines)
Lines 1156-1165 diff -r 1270c564d514 ndb/src/kernel/blocks/suma/Makefile.in Link Here
1156
 LIBS = @LIBS@
1114
 LIBS = @LIBS@
1157
 LIBTOOL = @LIBTOOL@
1115
 LIBTOOL = @LIBTOOL@
1158
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1116
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1159
diff -r 1270c564d514 ndb/src/kernel/blocks/trix/Makefile.in
(-)- a/ndb/src/kernel/blocks/trix/Makefile.in (-1 lines)
Lines 1167-1176 diff -r 1270c564d514 ndb/src/kernel/blocks/trix/Makefile.in Link Here
1167
 LIBS = @LIBS@
1125
 LIBS = @LIBS@
1168
 LIBTOOL = @LIBTOOL@
1126
 LIBTOOL = @LIBTOOL@
1169
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1127
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1170
diff -r 1270c564d514 ndb/src/kernel/error/Makefile.in
(-)- a/ndb/src/kernel/error/Makefile.in (-1 lines)
Lines 1178-1187 diff -r 1270c564d514 ndb/src/kernel/error/Makefile.in Link Here
1178
 LIBS = @LIBS@
1136
 LIBS = @LIBS@
1179
 LIBTOOL = @LIBTOOL@
1137
 LIBTOOL = @LIBTOOL@
1180
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1138
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1181
diff -r 1270c564d514 ndb/src/kernel/vm/Makefile.in
(-)- a/ndb/src/kernel/vm/Makefile.in (-1 lines)
Lines 1189-1198 diff -r 1270c564d514 ndb/src/kernel/vm/Makefile.in Link Here
1189
 LIBS = @LIBS@
1147
 LIBS = @LIBS@
1190
 LIBTOOL = @LIBTOOL@
1148
 LIBTOOL = @LIBTOOL@
1191
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1149
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1192
diff -r 1270c564d514 ndb/src/mgmapi/Makefile.in
(-)- a/ndb/src/mgmapi/Makefile.in (-1 lines)
Lines 1200-1209 diff -r 1270c564d514 ndb/src/mgmapi/Makefile.in Link Here
1200
 LIBS = @LIBS@
1158
 LIBS = @LIBS@
1201
 LIBTOOL = @LIBTOOL@
1159
 LIBTOOL = @LIBTOOL@
1202
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1160
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1203
diff -r 1270c564d514 ndb/src/mgmclient/Makefile.in
(-)- a/ndb/src/mgmclient/Makefile.in (-1 lines)
Lines 1211-1220 diff -r 1270c564d514 ndb/src/mgmclient/Makefile.in Link Here
1211
 LIBS = @LIBS@
1169
 LIBS = @LIBS@
1212
 LIBTOOL = @LIBTOOL@
1170
 LIBTOOL = @LIBTOOL@
1213
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1171
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1214
diff -r 1270c564d514 ndb/src/mgmsrv/Makefile.in
(-)- a/ndb/src/mgmsrv/Makefile.in (-1 lines)
Lines 1222-1231 diff -r 1270c564d514 ndb/src/mgmsrv/Makefile.in Link Here
1222
 LIBS = @LIBS@
1180
 LIBS = @LIBS@
1223
 LIBTOOL = @LIBTOOL@
1181
 LIBTOOL = @LIBTOOL@
1224
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1182
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1225
diff -r 1270c564d514 ndb/src/ndbapi/Makefile.in
(-)- a/ndb/src/ndbapi/Makefile.in (-1 lines)
Lines 1233-1242 diff -r 1270c564d514 ndb/src/ndbapi/Makefile.in Link Here
1233
 LIBS = @LIBS@
1191
 LIBS = @LIBS@
1234
 LIBTOOL = @LIBTOOL@
1192
 LIBTOOL = @LIBTOOL@
1235
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1193
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1236
diff -r 1270c564d514 ndb/test/Makefile.in
(-)- a/ndb/test/Makefile.in (-1 lines)
Lines 1244-1253 diff -r 1270c564d514 ndb/test/Makefile.in Link Here
1244
 LIBS = @LIBS@
1202
 LIBS = @LIBS@
1245
 LIBTOOL = @LIBTOOL@
1203
 LIBTOOL = @LIBTOOL@
1246
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1204
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1247
diff -r 1270c564d514 ndb/test/ndbapi/Makefile.in
(-)- a/ndb/test/ndbapi/Makefile.in (-1 lines)
Lines 1255-1264 diff -r 1270c564d514 ndb/test/ndbapi/Makefile.in Link Here
1255
 LIBS = @LIBS@
1213
 LIBS = @LIBS@
1256
 LIBTOOL = @LIBTOOL@
1214
 LIBTOOL = @LIBTOOL@
1257
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1215
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1258
diff -r 1270c564d514 ndb/test/ndbapi/bank/Makefile.in
(-)- a/ndb/test/ndbapi/bank/Makefile.in (-1 lines)
Lines 1266-1275 diff -r 1270c564d514 ndb/test/ndbapi/bank/Makefile.in Link Here
1266
 LIBS = @LIBS@
1224
 LIBS = @LIBS@
1267
 LIBTOOL = @LIBTOOL@
1225
 LIBTOOL = @LIBTOOL@
1268
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1226
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1269
diff -r 1270c564d514 ndb/test/run-test/Makefile.in
(-)- a/ndb/test/run-test/Makefile.in (-1 lines)
Lines 1277-1286 diff -r 1270c564d514 ndb/test/run-test/Makefile.in Link Here
1277
 LIBS = @LIBS@
1235
 LIBS = @LIBS@
1278
 LIBTOOL = @LIBTOOL@
1236
 LIBTOOL = @LIBTOOL@
1279
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1237
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1280
diff -r 1270c564d514 ndb/test/src/Makefile.in
(-)- a/ndb/test/src/Makefile.in (-1 lines)
Lines 1288-1297 diff -r 1270c564d514 ndb/test/src/Makefile.in Link Here
1288
 LIBS = @LIBS@
1246
 LIBS = @LIBS@
1289
 LIBTOOL = @LIBTOOL@
1247
 LIBTOOL = @LIBTOOL@
1290
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1248
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1291
diff -r 1270c564d514 ndb/test/tools/Makefile.in
(-)- a/ndb/test/tools/Makefile.in (-1 lines)
Lines 1299-1308 diff -r 1270c564d514 ndb/test/tools/Makefile.in Link Here
1299
 LIBS = @LIBS@
1257
 LIBS = @LIBS@
1300
 LIBTOOL = @LIBTOOL@
1258
 LIBTOOL = @LIBTOOL@
1301
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1259
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1302
diff -r 1270c564d514 ndb/tools/Makefile.in
(-)- a/ndb/tools/Makefile.in (-1 lines)
Lines 1310-1319 diff -r 1270c564d514 ndb/tools/Makefile.in Link Here
1310
 LIBS = @LIBS@
1268
 LIBS = @LIBS@
1311
 LIBTOOL = @LIBTOOL@
1269
 LIBTOOL = @LIBTOOL@
1312
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1270
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1313
diff -r 1270c564d514 netware/Makefile.in
(-)- a/netware/Makefile.in (-1 lines)
Lines 1321-1330 diff -r 1270c564d514 netware/Makefile.in Link Here
1321
 LIBS = @LIBS@
1279
 LIBS = @LIBS@
1322
 LIBTOOL = @LIBTOOL@
1280
 LIBTOOL = @LIBTOOL@
1323
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1281
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1324
diff -r 1270c564d514 os2/Makefile.in
(-)- a/os2/Makefile.in (-1 lines)
Lines 1332-1341 diff -r 1270c564d514 os2/Makefile.in Link Here
1332
 LIBS = @LIBS@
1290
 LIBS = @LIBS@
1333
 LIBTOOL = @LIBTOOL@
1291
 LIBTOOL = @LIBTOOL@
1334
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1292
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1335
diff -r 1270c564d514 os2/include/Makefile.in
(-)- a/os2/include/Makefile.in (-1 lines)
Lines 1343-1352 diff -r 1270c564d514 os2/include/Makefile.in Link Here
1343
 LIBS = @LIBS@
1301
 LIBS = @LIBS@
1344
 LIBTOOL = @LIBTOOL@
1302
 LIBTOOL = @LIBTOOL@
1345
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1303
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1346
diff -r 1270c564d514 os2/include/sys/Makefile.in
(-)- a/os2/include/sys/Makefile.in (-3 / +1 lines)
Lines 1354-1362 diff -r 1270c564d514 os2/include/sys/Makefile.in Link Here
1354
 LIBS = @LIBS@
1312
 LIBS = @LIBS@
1355
 LIBTOOL = @LIBTOOL@
1313
 LIBTOOL = @LIBTOOL@
1356
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1314
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1357
diff -r 1270c564d514 patch_info/userstats.info
1315
diff -r 23e5576aa59a patch_info/userstats.info
1358
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
1316
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
1359
+++ b/patch_info/userstats.info	Mon Dec 22 00:31:13 2008 -0800
Lines 1372-1381 diff -r 1270c564d514 patch_info/userstats.info Link Here
1372
+
1330
+
1373
+2008-12-09
1331
+2008-12-09
1374
+YK: fixed "Row_sent: 0" problem at microslow_innodb.patch
1332
+YK: fixed "Row_sent: 0" problem at microslow_innodb.patch
1375
diff -r 1270c564d514 pstack/Makefile.in
(-)- a/pstack/Makefile.in (-1 lines)
Lines 1383-1392 diff -r 1270c564d514 pstack/Makefile.in Link Here
1383
 LIBS = @LIBS@
1341
 LIBS = @LIBS@
1384
 LIBTOOL = @LIBTOOL@
1342
 LIBTOOL = @LIBTOOL@
1385
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1343
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1386
diff -r 1270c564d514 pstack/aout/Makefile.in
(-)- a/pstack/aout/Makefile.in (-1 lines)
Lines 1394-1403 diff -r 1270c564d514 pstack/aout/Makefile.in Link Here
1394
 LIBS = @LIBS@
1352
 LIBS = @LIBS@
1395
 LIBTOOL = @LIBTOOL@
1353
 LIBTOOL = @LIBTOOL@
1396
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1354
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1397
diff -r 1270c564d514 regex/Makefile.in
(-)- a/regex/Makefile.in (-1 lines)
Lines 1405-1414 diff -r 1270c564d514 regex/Makefile.in Link Here
1405
 LIBS = @LIBS@
1363
 LIBS = @LIBS@
1406
 LIBTOOL = @LIBTOOL@
1364
 LIBTOOL = @LIBTOOL@
1407
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1365
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1408
diff -r 1270c564d514 scripts/Makefile.in
(-)- a/scripts/Makefile.in (-1 lines)
Lines 1416-1425 diff -r 1270c564d514 scripts/Makefile.in Link Here
1416
 LIBS = @LIBS@
1374
 LIBS = @LIBS@
1417
 LIBTOOL = @LIBTOOL@
1375
 LIBTOOL = @LIBTOOL@
1418
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1376
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1419
diff -r 1270c564d514 server-tools/Makefile.in
(-)- a/server-tools/Makefile.in (-1 lines)
Lines 1427-1436 diff -r 1270c564d514 server-tools/Makefile.in Link Here
1427
 LIBS = @LIBS@
1385
 LIBS = @LIBS@
1428
 LIBTOOL = @LIBTOOL@
1386
 LIBTOOL = @LIBTOOL@
1429
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1387
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1430
diff -r 1270c564d514 server-tools/instance-manager/Makefile.in
(-)- a/server-tools/instance-manager/Makefile.in (-1 lines)
Lines 1438-1447 diff -r 1270c564d514 server-tools/instance-manager/Makefile.in Link Here
1438
 LIBS = @LIBS@
1396
 LIBS = @LIBS@
1439
 LIBTOOL = @LIBTOOL@
1397
 LIBTOOL = @LIBTOOL@
1440
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1398
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1441
diff -r 1270c564d514 sql/Makefile.in
(-)- a/sql/Makefile.in (-1 lines)
Lines 1449-1458 diff -r 1270c564d514 sql/Makefile.in Link Here
1449
 LIBS = @LIBS@
1407
 LIBS = @LIBS@
1450
 LIBTOOL = @LIBTOOL@
1408
 LIBTOOL = @LIBTOOL@
1451
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1409
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
1452
diff -r 1270c564d514 sql/ha_innodb.cc
(-)- a/sql/ha_innodb.cc (-4 / +3 lines)
Lines 1461-1467 diff -r 1270c564d514 sql/ha_innodb.cc Link Here
1461
 	if (error == DB_SUCCESS && auto_inc_used) {
1419
 	if (error == DB_SUCCESS && auto_inc_used) {
1462
 
1420
 
1463
         	/* Fetch the value that was set in the autoincrement field */
1421
         	/* Fetch the value that was set in the autoincrement field */
1464
@@ -3588,6 +3590,8 @@
1422
@@ -3596,6 +3598,8 @@
1465
 		}
1423
 		}
1466
 	}
1424
 	}
1467
 
1425
 
Lines 1470-1476 diff -r 1270c564d514 sql/ha_innodb.cc Link Here
1470
 	innodb_srv_conc_exit_innodb(prebuilt->trx);
1428
 	innodb_srv_conc_exit_innodb(prebuilt->trx);
1471
 
1429
 
1472
 	error = convert_error_code_to_mysql(error, user_thd);
1430
 	error = convert_error_code_to_mysql(error, user_thd);
1473
@@ -3635,6 +3639,8 @@
1431
@@ -3643,6 +3647,8 @@
1474
 	innodb_srv_conc_enter_innodb(prebuilt->trx);
1432
 	innodb_srv_conc_enter_innodb(prebuilt->trx);
1475
 
1433
 
1476
 	error = row_update_for_mysql((byte*) record, prebuilt);
1434
 	error = row_update_for_mysql((byte*) record, prebuilt);
Lines 1479-1485 diff -r 1270c564d514 sql/ha_innodb.cc Link Here
1479
 
1437
 
1480
 	innodb_srv_conc_exit_innodb(prebuilt->trx);
1438
 	innodb_srv_conc_exit_innodb(prebuilt->trx);
1481
 
1439
 
1482
@@ -4068,6 +4074,9 @@
1440
@@ -4076,6 +4082,9 @@
1483
 	if (ret == DB_SUCCESS) {
1441
 	if (ret == DB_SUCCESS) {
1484
 		error = 0;
1442
 		error = 0;
1485
 		table->status = 0;
1443
 		table->status = 0;
Lines 1489-1497 diff -r 1270c564d514 sql/ha_innodb.cc Link Here
1489
 
1447
 
1490
 	} else if (ret == DB_RECORD_NOT_FOUND) {
1448
 	} else if (ret == DB_RECORD_NOT_FOUND) {
1491
 		error = HA_ERR_END_OF_FILE;
1449
 		error = HA_ERR_END_OF_FILE;
1492
diff -r 1270c564d514 sql/ha_myisam.cc
(-)- a/sql/ha_myisam.cc (-1 lines)
Lines 1651-1659 diff -r 1270c564d514 sql/ha_myisam.cc Link Here
1651
   return error;
1609
   return error;
1652
 }
1610
 }
1653
 
1611
 
1654
diff -r 1270c564d514 sql/handler.cc
(-)- a/sql/handler.cc (-1 lines)
Lines 1800-1808 diff -r 1270c564d514 sql/handler.cc Link Here
1800
 
1758
 
1801
 /****************************************************************************
1759
 /****************************************************************************
1802
 ** Some general functions that isn't in the handler class
1760
 ** Some general functions that isn't in the handler class
1803
diff -r 1270c564d514 sql/handler.h
(-)- a/sql/handler.h (-1 lines)
Lines 1860-1868 diff -r 1270c564d514 sql/handler.h Link Here
1860
   /*
1818
   /*
1861
     default rename_table() and delete_table() rename/delete files with a
1819
     default rename_table() and delete_table() rename/delete files with a
1862
     given name and extensions from bas_ext()
1820
     given name and extensions from bas_ext()
1863
diff -r 1270c564d514 sql/lex.h
(-)- a/sql/lex.h (-1 lines)
Lines 1903-1912 diff -r 1270c564d514 sql/lex.h Link Here
1903
   { "USE_FRM",		SYM(USE_FRM)},
1861
   { "USE_FRM",		SYM(USE_FRM)},
1904
   { "USING",		SYM(USING)},
1862
   { "USING",		SYM(USING)},
1905
   { "UTC_DATE",         SYM(UTC_DATE_SYM)},
1863
   { "UTC_DATE",         SYM(UTC_DATE_SYM)},
1906
diff -r 1270c564d514 sql/log.cc
(-)- a/sql/log.cc (-7 / +6 lines)
Lines 1931-1937 diff -r 1270c564d514 sql/log.cc Link Here
1931
       }
1889
       }
1932
       if (thd->user_var_events.elements)
1890
       if (thd->user_var_events.elements)
1933
       {
1891
       {
1934
@@ -1926,6 +1932,8 @@
1892
@@ -1981,6 +1987,8 @@
1935
 			       user_var_event->charset_number);
1893
 			       user_var_event->charset_number);
1936
 	  if (e.write(file))
1894
 	  if (e.write(file))
1937
 	    goto err;
1895
 	    goto err;
Lines 1940-1946 diff -r 1270c564d514 sql/log.cc Link Here
1940
 	}
1898
 	}
1941
       }
1899
       }
1942
     }
1900
     }
1943
@@ -1936,6 +1944,8 @@
1901
@@ -1991,6 +1999,8 @@
1944
 
1902
 
1945
     if (event_info->write(file))
1903
     if (event_info->write(file))
1946
       goto err;
1904
       goto err;
Lines 1949-1955 diff -r 1270c564d514 sql/log.cc Link Here
1949
 
1907
 
1950
     if (file == &log_file) // we are writing to the real log (disk)
1908
     if (file == &log_file) // we are writing to the real log (disk)
1951
     {
1909
     {
1952
@@ -2057,6 +2067,7 @@
1910
@@ -2112,6 +2122,7 @@
1953
     */
1911
     */
1954
     if (qinfo.write(&log_file))
1912
     if (qinfo.write(&log_file))
1955
       goto err;
1913
       goto err;
Lines 1957-1963 diff -r 1270c564d514 sql/log.cc Link Here
1957
 
1915
 
1958
     /* Read from the file used to cache the queries .*/
1916
     /* Read from the file used to cache the queries .*/
1959
     if (reinit_io_cache(cache, READ_CACHE, 0, 0, 0))
1917
     if (reinit_io_cache(cache, READ_CACHE, 0, 0, 0))
1960
@@ -2103,6 +2114,7 @@
1918
@@ -2158,6 +2169,7 @@
1961
         /* write the first half of the split header */
1919
         /* write the first half of the split header */
1962
         if (my_b_write(&log_file, header, carry))
1920
         if (my_b_write(&log_file, header, carry))
1963
           goto err;
1921
           goto err;
Lines 1965-1971 diff -r 1270c564d514 sql/log.cc Link Here
1965
 
1923
 
1966
         /*
1924
         /*
1967
           copy fixed second half of header to cache so the correct
1925
           copy fixed second half of header to cache so the correct
1968
@@ -2171,6 +2183,8 @@
1926
@@ -2226,6 +2238,8 @@
1969
       /* Write data to the binary log file */
1927
       /* Write data to the binary log file */
1970
       if (my_b_write(&log_file, cache->read_pos, length))
1928
       if (my_b_write(&log_file, cache->read_pos, length))
1971
         goto err;
1929
         goto err;
Lines 1974-1980 diff -r 1270c564d514 sql/log.cc Link Here
1974
       cache->read_pos=cache->read_end;		// Mark buffer used up
1932
       cache->read_pos=cache->read_end;		// Mark buffer used up
1975
       DBUG_EXECUTE_IF("half_binlogged_transaction", goto DBUG_skip_commit;);
1933
       DBUG_EXECUTE_IF("half_binlogged_transaction", goto DBUG_skip_commit;);
1976
     } while ((length=my_b_fill(cache)));
1934
     } while ((length=my_b_fill(cache)));
1977
@@ -2179,6 +2193,8 @@
1935
@@ -2234,6 +2248,8 @@
1978
 
1936
 
1979
     if (commit_event->write(&log_file))
1937
     if (commit_event->write(&log_file))
1980
       goto err;
1938
       goto err;
Lines 1983-1992 diff -r 1270c564d514 sql/log.cc Link Here
1983
 #ifndef DBUG_OFF
1941
 #ifndef DBUG_OFF
1984
 DBUG_skip_commit:
1942
 DBUG_skip_commit:
1985
 #endif
1943
 #endif
1986
diff -r 1270c564d514 sql/mysql_priv.h
(-)- a/sql/mysql_priv.h (-4 / +3 lines)
Lines 2002-2008 diff -r 1270c564d514 sql/mysql_priv.h Link Here
2002
 pthread_handler_t handle_one_connection(void *arg);
1960
 pthread_handler_t handle_one_connection(void *arg);
2003
 pthread_handler_t handle_bootstrap(void *arg);
1961
 pthread_handler_t handle_bootstrap(void *arg);
2004
 void end_thread(THD *thd,bool put_in_cache);
1962
 void end_thread(THD *thd,bool put_in_cache);
2005
@@ -1396,6 +1404,7 @@
1963
@@ -1402,6 +1410,7 @@
2006
 extern ulong max_connections,max_connect_errors, connect_timeout;
1964
 extern ulong max_connections,max_connect_errors, connect_timeout;
2007
 extern ulong slave_net_timeout, slave_trans_retries;
1965
 extern ulong slave_net_timeout, slave_trans_retries;
2008
 extern uint max_user_connections;
1966
 extern uint max_user_connections;
Lines 2010-2016 diff -r 1270c564d514 sql/mysql_priv.h Link Here
2010
 extern ulong what_to_log,flush_time;
1968
 extern ulong what_to_log,flush_time;
2011
 extern ulong query_buff_size, thread_stack;
1969
 extern ulong query_buff_size, thread_stack;
2012
 extern ulong max_prepared_stmt_count, prepared_stmt_count;
1970
 extern ulong max_prepared_stmt_count, prepared_stmt_count;
2013
@@ -1426,6 +1435,7 @@
1971
@@ -1432,6 +1441,7 @@
2014
 extern my_bool opt_safe_show_db, opt_local_infile;
1972
 extern my_bool opt_safe_show_db, opt_local_infile;
2015
 extern my_bool opt_slave_compressed_protocol, use_temp_pool;
1973
 extern my_bool opt_slave_compressed_protocol, use_temp_pool;
2016
 extern my_bool opt_readonly, lower_case_file_system;
1974
 extern my_bool opt_readonly, lower_case_file_system;
Lines 2018-2024 diff -r 1270c564d514 sql/mysql_priv.h Link Here
2018
 extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs;
1976
 extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs;
2019
 extern my_bool opt_secure_auth;
1977
 extern my_bool opt_secure_auth;
2020
 extern char* opt_secure_file_priv;
1978
 extern char* opt_secure_file_priv;
2021
@@ -1472,6 +1482,14 @@
1979
@@ -1479,6 +1489,14 @@
2022
 extern struct system_variables max_system_variables;
1980
 extern struct system_variables max_system_variables;
2023
 extern struct system_status_var global_status_var;
1981
 extern struct system_status_var global_status_var;
2024
 extern struct rand_struct sql_rand;
1982
 extern struct rand_struct sql_rand;
Lines 2033-2042 diff -r 1270c564d514 sql/mysql_priv.h Link Here
2033
 
1991
 
2034
 extern const char *opt_date_time_formats[];
1992
 extern const char *opt_date_time_formats[];
2035
 extern KNOWN_DATE_TIME_FORMAT known_date_time_formats[];
1993
 extern KNOWN_DATE_TIME_FORMAT known_date_time_formats[];
2036
diff -r 1270c564d514 sql/mysqld.cc
(-)- a/sql/mysqld.cc (-11 / +10 lines)
Lines 2044-2050 diff -r 1270c564d514 sql/mysqld.cc Link Here
2044
 /*
2002
 /*
2045
   True if there is at least one per-hour limit for some user, so we should
2003
   True if there is at least one per-hour limit for some user, so we should
2046
   check them before each query (and possibly reset counters when hour is
2004
   check them before each query (and possibly reset counters when hour is
2047
@@ -450,6 +451,7 @@
2005
@@ -451,6 +452,7 @@
2048
 ulong binlog_cache_use= 0, binlog_cache_disk_use= 0;
2006
 ulong binlog_cache_use= 0, binlog_cache_disk_use= 0;
2049
 ulong max_connections, max_connect_errors;
2007
 ulong max_connections, max_connect_errors;
2050
 uint  max_user_connections= 0;
2008
 uint  max_user_connections= 0;
Lines 2052-2058 diff -r 1270c564d514 sql/mysqld.cc Link Here
2052
 /*
2010
 /*
2053
   Limit of the total number of prepared statements in the server.
2011
   Limit of the total number of prepared statements in the server.
2054
   Is necessary to protect the server against out-of-memory attacks.
2012
   Is necessary to protect the server against out-of-memory attacks.
2055
@@ -550,6 +552,10 @@
2013
@@ -551,6 +553,10 @@
2056
 		LOCK_crypt, LOCK_bytes_sent, LOCK_bytes_received,
2014
 		LOCK_crypt, LOCK_bytes_sent, LOCK_bytes_received,
2057
 	        LOCK_global_system_variables,
2015
 	        LOCK_global_system_variables,
2058
 		LOCK_user_conn, LOCK_slave_list, LOCK_active_mi;
2016
 		LOCK_user_conn, LOCK_slave_list, LOCK_active_mi;
Lines 2063-2069 diff -r 1270c564d514 sql/mysqld.cc Link Here
2063
 /*
2021
 /*
2064
   The below lock protects access to two global server variables:
2022
   The below lock protects access to two global server variables:
2065
   max_prepared_stmt_count and prepared_stmt_count. These variables
2023
   max_prepared_stmt_count and prepared_stmt_count. These variables
2066
@@ -1191,6 +1197,10 @@
2024
@@ -1192,6 +1198,10 @@
2067
   x_free(opt_secure_file_priv);
2025
   x_free(opt_secure_file_priv);
2068
   bitmap_free(&temp_pool);
2026
   bitmap_free(&temp_pool);
2069
   free_max_user_conn();
2027
   free_max_user_conn();
Lines 2074-2080 diff -r 1270c564d514 sql/mysqld.cc Link Here
2074
 #ifdef HAVE_REPLICATION
2032
 #ifdef HAVE_REPLICATION
2075
   end_slave_list();
2033
   end_slave_list();
2076
   free_list(&replicate_do_db);
2034
   free_list(&replicate_do_db);
2077
@@ -1305,6 +1315,10 @@
2035
@@ -1306,6 +1316,10 @@
2078
   (void) pthread_cond_destroy(&COND_thread_cache);
2036
   (void) pthread_cond_destroy(&COND_thread_cache);
2079
   (void) pthread_cond_destroy(&COND_flush_thread_cache);
2037
   (void) pthread_cond_destroy(&COND_flush_thread_cache);
2080
   (void) pthread_cond_destroy(&COND_manager);
2038
   (void) pthread_cond_destroy(&COND_manager);
Lines 2085-2091 diff -r 1270c564d514 sql/mysqld.cc Link Here
2085
 }
2043
 }
2086
 
2044
 
2087
 #endif /*EMBEDDED_LIBRARY*/
2045
 #endif /*EMBEDDED_LIBRARY*/
2088
@@ -3152,6 +3166,10 @@
2046
@@ -3153,6 +3167,10 @@
2089
   (void) pthread_mutex_init(&LOCK_rpl_status, MY_MUTEX_INIT_FAST);
2047
   (void) pthread_mutex_init(&LOCK_rpl_status, MY_MUTEX_INIT_FAST);
2090
   (void) pthread_cond_init(&COND_rpl_status, NULL);
2048
   (void) pthread_cond_init(&COND_rpl_status, NULL);
2091
 #endif
2049
 #endif
Lines 2096-2102 diff -r 1270c564d514 sql/mysqld.cc Link Here
2096
   sp_cache_init();
2054
   sp_cache_init();
2097
   /* Parameter for threads created for connections */
2055
   /* Parameter for threads created for connections */
2098
   (void) pthread_attr_init(&connection_attrib);
2056
   (void) pthread_attr_init(&connection_attrib);
2099
@@ -3423,6 +3441,10 @@
2057
@@ -3424,6 +3442,10 @@
2100
     sql_print_error("Out of memory");
2058
     sql_print_error("Out of memory");
2101
     unireg_abort(1);
2059
     unireg_abort(1);
2102
   }
2060
   }
Lines 2107-2113 diff -r 1270c564d514 sql/mysqld.cc Link Here
2107
   if (ha_init())
2065
   if (ha_init())
2108
   {
2066
   {
2109
     sql_print_error("Can't init databases");
2067
     sql_print_error("Can't init databases");
2110
@@ -3505,6 +3527,8 @@
2068
@@ -3506,6 +3528,8 @@
2111
 
2069
 
2112
   init_max_user_conn();
2070
   init_max_user_conn();
2113
   init_update_queries();
2071
   init_update_queries();
Lines 2116-2122 diff -r 1270c564d514 sql/mysqld.cc Link Here
2116
   DBUG_RETURN(0);
2074
   DBUG_RETURN(0);
2117
 }
2075
 }
2118
 
2076
 
2119
@@ -4189,6 +4213,7 @@
2077
@@ -4232,6 +4256,7 @@
2120
   {
2078
   {
2121
     DBUG_PRINT("error",("Too many connections"));
2079
     DBUG_PRINT("error",("Too many connections"));
2122
     close_connection(thd, ER_CON_COUNT_ERROR, 1);
2080
     close_connection(thd, ER_CON_COUNT_ERROR, 1);
Lines 2124-2130 diff -r 1270c564d514 sql/mysqld.cc Link Here
2124
     delete thd;
2082
     delete thd;
2125
     DBUG_VOID_RETURN;
2083
     DBUG_VOID_RETURN;
2126
   }
2084
   }
2127
@@ -5007,6 +5032,7 @@
2085
@@ -5050,6 +5075,7 @@
2128
   OPT_PROFILING,
2086
   OPT_PROFILING,
2129
   OPT_SLOW_LOG,
2087
   OPT_SLOW_LOG,
2130
   OPT_SLOW_QUERY_LOG_FILE,
2088
   OPT_SLOW_QUERY_LOG_FILE,
Lines 2132-2138 diff -r 1270c564d514 sql/mysqld.cc Link Here
2132
   OPT_USE_GLOBAL_LONG_QUERY_TIME,
2090
   OPT_USE_GLOBAL_LONG_QUERY_TIME,
2133
   OPT_INNODB_ROLLBACK_ON_TIMEOUT,
2091
   OPT_INNODB_ROLLBACK_ON_TIMEOUT,
2134
   OPT_SECURE_FILE_PRIV,
2092
   OPT_SECURE_FILE_PRIV,
2135
@@ -6450,6 +6476,10 @@
2093
@@ -6498,6 +6524,10 @@
2136
    (gptr*) &max_system_variables.net_wait_timeout, 0, GET_ULONG,
2094
    (gptr*) &max_system_variables.net_wait_timeout, 0, GET_ULONG,
2137
    REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT),
2095
    REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT),
2138
    0, 1, 0},
2096
    0, 1, 0},
Lines 2143-2152 diff -r 1270c564d514 sql/mysqld.cc Link Here
2143
   {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
2101
   {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
2144
 };
2102
 };
2145
 
2103
 
2146
diff -r 1270c564d514 sql/set_var.cc
(-)- a/sql/set_var.cc (-3 / +2 lines)
Lines 2154-2160 diff -r 1270c564d514 sql/set_var.cc Link Here
2154
 sys_var_thd_ulong	sys_read_rnd_buff_size("read_rnd_buffer_size",
2112
 sys_var_thd_ulong	sys_read_rnd_buff_size("read_rnd_buffer_size",
2155
 					       &SV::read_rnd_buff_size);
2113
 					       &SV::read_rnd_buff_size);
2156
 sys_var_thd_ulong	sys_div_precincrement("div_precision_increment",
2114
 sys_var_thd_ulong	sys_div_precincrement("div_precision_increment",
2157
@@ -825,6 +826,7 @@
2115
@@ -828,6 +829,7 @@
2158
   &sys_trans_alloc_block_size,
2116
   &sys_trans_alloc_block_size,
2159
   &sys_trans_prealloc_size,
2117
   &sys_trans_prealloc_size,
2160
   &sys_tx_isolation,
2118
   &sys_tx_isolation,
Lines 2162-2168 diff -r 1270c564d514 sql/set_var.cc Link Here
2162
   &sys_version,
2120
   &sys_version,
2163
 #ifdef HAVE_BERKELEY_DB
2121
 #ifdef HAVE_BERKELEY_DB
2164
   &sys_version_bdb,
2122
   &sys_version_bdb,
2165
@@ -1171,6 +1173,7 @@
2123
@@ -1174,6 +1176,7 @@
2166
   {sys_tx_isolation.name,     (char*) &sys_tx_isolation,	    SHOW_SYS},
2124
   {sys_tx_isolation.name,     (char*) &sys_tx_isolation,	    SHOW_SYS},
2167
   {sys_updatable_views_with_limit.name,
2125
   {sys_updatable_views_with_limit.name,
2168
                               (char*) &sys_updatable_views_with_limit,SHOW_SYS},
2126
                               (char*) &sys_updatable_views_with_limit,SHOW_SYS},
Lines 2170-2179 diff -r 1270c564d514 sql/set_var.cc Link Here
2170
   {sys_use_global_long_query_time.name, (char*) &sys_use_global_long_query_time, SHOW_SYS},
2128
   {sys_use_global_long_query_time.name, (char*) &sys_use_global_long_query_time, SHOW_SYS},
2171
   {sys_version.name,          (char*) &sys_version,                 SHOW_SYS},
2129
   {sys_version.name,          (char*) &sys_version,                 SHOW_SYS},
2172
 #ifdef HAVE_BERKELEY_DB
2130
 #ifdef HAVE_BERKELEY_DB
2173
diff -r 1270c564d514 sql/share/Makefile.in
(-)- a/sql/share/Makefile.in (-1 lines)
Lines 2181-2189 diff -r 1270c564d514 sql/share/Makefile.in Link Here
2181
 LIBS = @LIBS@
2139
 LIBS = @LIBS@
2182
 LIBTOOL = @LIBTOOL@
2140
 LIBTOOL = @LIBTOOL@
2183
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
2141
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
2184
diff -r 1270c564d514 sql/sql_base.cc
(-)- a/sql/sql_base.cc (-1 lines)
Lines 2207-2215 diff -r 1270c564d514 sql/sql_base.cc Link Here
2207
   db_type table_type=table->s->db_type;
2165
   db_type table_type=table->s->db_type;
2208
   strmov(path,table->s->path);
2166
   strmov(path,table->s->path);
2209
   free_io_cache(table);
2167
   free_io_cache(table);
2210
diff -r 1270c564d514 sql/sql_class.cc
(-)- a/sql/sql_class.cc (-1 lines)
Lines 2389-2398 diff -r 1270c564d514 sql/sql_class.cc Link Here
2389
 }
2347
 }
2390
 
2348
 
2391
 
2349
 
2392
diff -r 1270c564d514 sql/sql_class.h
(-)- a/sql/sql_class.h (-6 / +5 lines)
Lines 2401-2407 diff -r 1270c564d514 sql/sql_class.h Link Here
2401
   uint32     server_id;
2359
   uint32     server_id;
2402
   uint32     file_id;			// for LOAD DATA INFILE
2360
   uint32     file_id;			// for LOAD DATA INFILE
2403
   /*
2361
   /*
2404
@@ -1487,6 +1489,8 @@
2362
@@ -1488,6 +1490,8 @@
2405
   /* variables.transaction_isolation is reset to this after each commit */
2363
   /* variables.transaction_isolation is reset to this after each commit */
2406
   enum_tx_isolation session_tx_isolation;
2364
   enum_tx_isolation session_tx_isolation;
2407
   enum_check_fields count_cuted_fields;
2365
   enum_check_fields count_cuted_fields;
Lines 2410-2416 diff -r 1270c564d514 sql/sql_class.h Link Here
2410
 
2368
 
2411
   DYNAMIC_ARRAY user_var_events;        /* For user variables replication */
2369
   DYNAMIC_ARRAY user_var_events;        /* For user variables replication */
2412
   MEM_ROOT      *user_var_events_alloc; /* Allocate above array elements here */
2370
   MEM_ROOT      *user_var_events_alloc; /* Allocate above array elements here */
2413
@@ -1593,6 +1597,49 @@
2371
@@ -1594,6 +1598,49 @@
2414
   */
2372
   */
2415
   LOG_INFO*  current_linfo;
2373
   LOG_INFO*  current_linfo;
2416
   NET*       slave_net;			// network connection from slave -> m.
2374
   NET*       slave_net;			// network connection from slave -> m.
Lines 2460-2466 diff -r 1270c564d514 sql/sql_class.h Link Here
2460
   /* Used by the sys_var class to store temporary values */
2418
   /* Used by the sys_var class to store temporary values */
2461
   union
2419
   union
2462
   {
2420
   {
2463
@@ -1648,6 +1695,11 @@
2421
@@ -1649,6 +1696,11 @@
2464
     alloc_root.
2422
     alloc_root.
2465
   */
2423
   */
2466
   void init_for_queries();
2424
   void init_for_queries();
Lines 2472-2478 diff -r 1270c564d514 sql/sql_class.h Link Here
2472
   void change_user(void);
2430
   void change_user(void);
2473
   void cleanup(void);
2431
   void cleanup(void);
2474
   void cleanup_after_query();
2432
   void cleanup_after_query();
2475
@@ -1877,7 +1929,13 @@
2433
@@ -1878,7 +1930,13 @@
2476
     if (p_db_length)
2434
     if (p_db_length)
2477
       *p_db_length= db_length;
2435
       *p_db_length= db_length;
2478
     return FALSE;
2436
     return FALSE;
Lines 2486-2492 diff -r 1270c564d514 sql/sql_class.h Link Here
2486
 
2444
 
2487
 public:
2445
 public:
2488
   /**
2446
   /**
2489
@@ -1921,6 +1979,11 @@
2447
@@ -1922,6 +1980,11 @@
2490
   MEM_ROOT main_mem_root;
2448
   MEM_ROOT main_mem_root;
2491
 };
2449
 };
2492
 
2450
 
Lines 2498-2506 diff -r 1270c564d514 sql/sql_class.h Link Here
2498
 
2456
 
2499
 #define tmp_disable_binlog(A)       \
2457
 #define tmp_disable_binlog(A)       \
2500
   {ulonglong tmp_disable_binlog__save_options= (A)->options; \
2458
   {ulonglong tmp_disable_binlog__save_options= (A)->options; \
2501
diff -r 1270c564d514 sql/sql_delete.cc
(-)- a/sql/sql_delete.cc (-1 lines)
Lines 2517-2525 diff -r 1270c564d514 sql/sql_delete.cc Link Here
2517
   return 0;
2475
   return 0;
2518
 }
2476
 }
2519
 
2477
 
2520
diff -r 1270c564d514 sql/sql_insert.cc
(-)- a/sql/sql_insert.cc (-1 lines)
Lines 2536-2544 diff -r 1270c564d514 sql/sql_insert.cc Link Here
2536
   DBUG_RETURN(0);
2494
   DBUG_RETURN(0);
2537
 }
2495
 }
2538
 
2496
 
2539
diff -r 1270c564d514 sql/sql_lex.h
(-)- a/sql/sql_lex.h (-1 lines)
Lines 2549-2557 diff -r 1270c564d514 sql/sql_lex.h Link Here
2549
   /* This should be the last !!! */
2507
   /* This should be the last !!! */
2550
   SQLCOM_END
2508
   SQLCOM_END
2551
 };
2509
 };
2552
diff -r 1270c564d514 sql/sql_parse.cc
(-)- a/sql/sql_parse.cc (-22 / +25 lines)
Lines 3040-3046 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3040
 /*
2998
 /*
3041
   Reset per-hour user resource limits when it has been more than
2999
   Reset per-hour user resource limits when it has been more than
3042
   an hour since they were last checked
3000
   an hour since they were last checked
3043
@@ -1184,6 +1607,8 @@
3001
@@ -1184,6 +1610,8 @@
3044
     my_net_set_read_timeout(net, connect_timeout);
3002
     my_net_set_read_timeout(net, connect_timeout);
3045
     my_net_set_write_timeout(net, connect_timeout);
3003
     my_net_set_write_timeout(net, connect_timeout);
3046
 
3004
 
Lines 3049-3055 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3049
     if ((error=check_connection(thd)))
3007
     if ((error=check_connection(thd)))
3050
     {						// Wrong permissions
3008
     {						// Wrong permissions
3051
       if (error > 0)
3009
       if (error > 0)
3052
@@ -1193,8 +1618,22 @@
3010
@@ -1193,8 +1621,22 @@
3053
 	my_sleep(1000);				/* must wait after eof() */
3011
 	my_sleep(1000);				/* must wait after eof() */
3054
 #endif
3012
 #endif
3055
       statistic_increment(aborted_connects,&LOCK_status);
3013
       statistic_increment(aborted_connects,&LOCK_status);
Lines 3072-3078 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3072
 #ifdef __NETWARE__
3030
 #ifdef __NETWARE__
3073
     netware_reg_user(sctx->ip, sctx->user, "MySQL");
3031
     netware_reg_user(sctx->ip, sctx->user, "MySQL");
3074
 #endif
3032
 #endif
3075
@@ -1251,6 +1690,7 @@
3033
@@ -1251,6 +1693,7 @@
3076
         net->vio && net->error && net->report_error)
3034
         net->vio && net->error && net->report_error)
3077
     {
3035
     {
3078
       statistic_increment(aborted_threads, &LOCK_status);
3036
       statistic_increment(aborted_threads, &LOCK_status);
Lines 3080-3086 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3080
     }
3038
     }
3081
 
3039
 
3082
     if (net->error && net->vio != 0 && net->report_error)
3040
     if (net->error && net->vio != 0 && net->report_error)
3083
@@ -1270,6 +1710,8 @@
3041
@@ -1270,6 +1713,8 @@
3084
 
3042
 
3085
 end_thread:
3043
 end_thread:
3086
     close_connection(thd, 0, 1);
3044
     close_connection(thd, 0, 1);
Lines 3089-3095 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3089
     end_thread(thd,1);
3047
     end_thread(thd,1);
3090
     /*
3048
     /*
3091
       If end_thread returns, we are either running with --one-thread
3049
       If end_thread returns, we are either running with --one-thread
3092
@@ -1601,6 +2043,13 @@
3050
@@ -1601,6 +2046,13 @@
3093
 
3051
 
3094
   thd->clear_error();				// Clear error message
3052
   thd->clear_error();				// Clear error message
3095
 
3053
 
Lines 3103-3109 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3103
   net_new_transaction(net);
3061
   net_new_transaction(net);
3104
 
3062
 
3105
   packet_length= my_net_read(net);
3063
   packet_length= my_net_read(net);
3106
@@ -1759,6 +2208,9 @@
3064
@@ -1759,6 +2211,9 @@
3107
   }
3065
   }
3108
 
3066
 
3109
   thd->command=command;
3067
   thd->command=command;
Lines 3113-3119 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3113
   /*
3071
   /*
3114
     Commands which always take a long time are logged into
3072
     Commands which always take a long time are logged into
3115
     the slow log only if opt_log_slow_admin_statements is set.
3073
     the slow log only if opt_log_slow_admin_statements is set.
3116
@@ -4424,6 +4876,15 @@
3074
@@ -4428,6 +4883,15 @@
3117
     if (check_global_access(thd,RELOAD_ACL))
3075
     if (check_global_access(thd,RELOAD_ACL))
3118
       goto error;
3076
       goto error;
3119
 
3077
 
Lines 3129-3135 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3129
     /*
3087
     /*
3130
       reload_acl_and_cache() will tell us if we are allowed to write to the
3088
       reload_acl_and_cache() will tell us if we are allowed to write to the
3131
       binlog or not.
3089
       binlog or not.
3132
@@ -4731,6 +5192,7 @@
3090
@@ -4735,6 +5199,7 @@
3133
     {
3091
     {
3134
       if (check_global_access(thd, SUPER_ACL))
3092
       if (check_global_access(thd, SUPER_ACL))
3135
       {
3093
       {
Lines 3137-3143 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3137
         my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
3095
         my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
3138
         goto create_sp_error;
3096
         goto create_sp_error;
3139
       }
3097
       }
3140
@@ -5567,6 +6029,7 @@
3098
@@ -5571,6 +6036,7 @@
3141
       if (!no_errors)
3099
       if (!no_errors)
3142
       {
3100
       {
3143
         const char *db_name= db ? db : thd->db;
3101
         const char *db_name= db ? db : thd->db;
Lines 3145-3151 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3145
         my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
3103
         my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
3146
                  sctx->priv_user, sctx->priv_host, db_name);
3104
                  sctx->priv_user, sctx->priv_host, db_name);
3147
       }
3105
       }
3148
@@ -5602,6 +6065,7 @@
3106
@@ -5606,6 +6072,7 @@
3149
   {						// We can never grant this
3107
   {						// We can never grant this
3150
     DBUG_PRINT("error",("No possible access"));
3108
     DBUG_PRINT("error",("No possible access"));
3151
     if (!no_errors)
3109
     if (!no_errors)
Lines 3153-3159 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3153
       my_error(ER_ACCESS_DENIED_ERROR, MYF(0),
3111
       my_error(ER_ACCESS_DENIED_ERROR, MYF(0),
3154
                sctx->priv_user,
3112
                sctx->priv_user,
3155
                sctx->priv_host,
3113
                sctx->priv_host,
3156
@@ -5634,11 +6098,15 @@
3114
@@ -5638,11 +6105,15 @@
3157
 
3115
 
3158
   DBUG_PRINT("error",("Access denied"));
3116
   DBUG_PRINT("error",("Access denied"));
3159
   if (!no_errors)
3117
   if (!no_errors)
Lines 3169-3175 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3169
   DBUG_RETURN(TRUE);				/* purecov: tested */
3127
   DBUG_RETURN(TRUE);				/* purecov: tested */
3170
 #endif /* NO_EMBEDDED_ACCESS_CHECKS */
3128
 #endif /* NO_EMBEDDED_ACCESS_CHECKS */
3171
 }
3129
 }
3172
@@ -5672,6 +6140,7 @@
3130
@@ -5676,6 +6147,7 @@
3173
   if ((thd->security_ctx->master_access & want_access))
3131
   if ((thd->security_ctx->master_access & want_access))
3174
     return 0;
3132
     return 0;
3175
   get_privilege_desc(command, sizeof(command), want_access);
3133
   get_privilege_desc(command, sizeof(command), want_access);
Lines 3177-3183 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3177
   my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);
3135
   my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);
3178
   return 1;
3136
   return 1;
3179
 #endif /* NO_EMBEDDED_ACCESS_CHECKS */
3137
 #endif /* NO_EMBEDDED_ACCESS_CHECKS */
3180
@@ -5704,6 +6173,7 @@
3138
@@ -5708,6 +6180,7 @@
3181
 
3139
 
3182
       if (!thd->col_access && check_grant_db(thd, dst_db_name))
3140
       if (!thd->col_access && check_grant_db(thd, dst_db_name))
3183
       {
3141
       {
Lines 3185-3191 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3185
         my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
3143
         my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
3186
                  thd->security_ctx->priv_user,
3144
                  thd->security_ctx->priv_user,
3187
                  thd->security_ctx->priv_host,
3145
                  thd->security_ctx->priv_host,
3188
@@ -5735,6 +6205,12 @@
3146
@@ -5739,6 +6212,12 @@
3189
              check_grant(thd, SELECT_ACL, dst_table, 2, UINT_MAX, FALSE);
3147
              check_grant(thd, SELECT_ACL, dst_table, 2, UINT_MAX, FALSE);
3190
     }
3148
     }
3191
 
3149
 
Lines 3198-3204 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3198
   case SCH_OPEN_TABLES:
3156
   case SCH_OPEN_TABLES:
3199
   case SCH_VARIABLES:
3157
   case SCH_VARIABLES:
3200
   case SCH_STATUS:
3158
   case SCH_STATUS:
3201
@@ -5788,8 +6264,8 @@
3159
@@ -5792,8 +6271,8 @@
3202
 #ifndef NO_EMBEDDED_ACCESS_CHECKS
3160
 #ifndef NO_EMBEDDED_ACCESS_CHECKS
3203
   TABLE_LIST *org_tables= tables;
3161
   TABLE_LIST *org_tables= tables;
3204
 #endif
3162
 #endif
Lines 3208-3214 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3208
   /*
3166
   /*
3209
     The check that first_not_own_table is not reached is for the case when
3167
     The check that first_not_own_table is not reached is for the case when
3210
     the given table list refers to the list for prelocking (contains tables
3168
     the given table list refers to the list for prelocking (contains tables
3211
@@ -5806,9 +6282,12 @@
3169
@@ -5810,9 +6289,12 @@
3212
         (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL)))
3170
         (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL)))
3213
     {
3171
     {
3214
       if (!no_errors)
3172
       if (!no_errors)
Lines 3221-3227 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3221
       return TRUE;
3179
       return TRUE;
3222
     }
3180
     }
3223
     /*
3181
     /*
3224
@@ -6317,6 +6796,30 @@
3182
@@ -6321,6 +6803,30 @@
3225
   */
3183
   */
3226
   lex_start(thd);
3184
   lex_start(thd);
3227
   mysql_reset_thd_for_next_command(thd);
3185
   mysql_reset_thd_for_next_command(thd);
Lines 3252-3258 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3252
 
3210
 
3253
   if (query_cache_send_result_to_client(thd, (char*) inBuf, length) <= 0)
3211
   if (query_cache_send_result_to_client(thd, (char*) inBuf, length) <= 0)
3254
   {
3212
   {
3255
@@ -6396,6 +6899,39 @@
3213
@@ -6400,6 +6906,43 @@
3256
     *found_semicolon= NULL;
3214
     *found_semicolon= NULL;
3257
   }
3215
   }
3258
 
3216
 
Lines 3280-3288 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3280
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3238
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3281
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3239
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3282
+#endif
3240
+#endif
3283
+    if (start_cpu_nsecs && !cputime_error)
3241
+    if (start_cpu_nsecs && !cputime_error) {
3284
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3242
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3285
+    else
3243
+      // In case there are bad values, 2629743 is the #seconds in a month.
3244
+      if (thd->cpu_time > 2629743) {
3245
+        thd->cpu_time = 0;
3246
+      }
3247
+    } else
3286
+      thd->cpu_time = 0;
3248
+      thd->cpu_time = 0;
3287
+  }
3249
+  }
3288
+  // Updates THD stats and the global user stats.
3250
+  // Updates THD stats and the global user stats.
Lines 3292-3298 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3292
   DBUG_VOID_RETURN;
3254
   DBUG_VOID_RETURN;
3293
 }
3255
 }
3294
 
3256
 
3295
@@ -7407,8 +7943,35 @@
3257
@@ -7411,8 +7954,35 @@
3296
    pthread_mutex_unlock(&LOCK_active_mi);
3258
    pthread_mutex_unlock(&LOCK_active_mi);
3297
  }
3259
  }
3298
 #endif
3260
 #endif
Lines 3330-3338 diff -r 1270c564d514 sql/sql_parse.cc Link Here
3330
  *write_to_binlog= tmp_write_to_binlog;
3292
  *write_to_binlog= tmp_write_to_binlog;
3331
  return result;
3293
  return result;
3332
 }
3294
 }
3333
diff -r 1270c564d514 sql/sql_prepare.cc
(-)- a/sql/sql_prepare.cc (-16 / +31 lines)
Lines 3386-3392 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3386
   }
3348
   }
3387
 
3349
 
3388
   /* Reset warnings from previous command */
3350
   /* Reset warnings from previous command */
3389
@@ -1941,6 +1968,40 @@
3351
@@ -1941,6 +1968,44 @@
3390
     thd->stmt_map.erase(stmt);
3352
     thd->stmt_map.erase(stmt);
3391
   }
3353
   }
3392
   /* check_prepared_statemnt sends the metadata packet in case of success */
3354
   /* check_prepared_statemnt sends the metadata packet in case of success */
Lines 3415-3423 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3415
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3377
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3416
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3378
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3417
+#endif
3379
+#endif
3418
+    if (start_cpu_nsecs && !cputime_error)
3380
+    if (start_cpu_nsecs && !cputime_error) {
3419
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3381
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3420
+    else
3382
+      // In case there are bad values, 2629743 is the #seconds in a month.
3383
+      if (thd->cpu_time > 2629743) {
3384
+        thd->cpu_time = 0;
3385
+      }
3386
+    } else
3421
+      thd->cpu_time = 0;
3387
+      thd->cpu_time = 0;
3422
+  }
3388
+  }
3423
+  // Updates THD stats and the global user stats.
3389
+  // Updates THD stats and the global user stats.
Lines 3427-3433 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3427
   DBUG_VOID_RETURN;
3393
   DBUG_VOID_RETURN;
3428
 }
3394
 }
3429
 
3395
 
3430
@@ -2281,8 +2342,32 @@
3396
@@ -2281,8 +2346,32 @@
3431
   /* First of all clear possible warnings from the previous command */
3397
   /* First of all clear possible warnings from the previous command */
3432
   mysql_reset_thd_for_next_command(thd);
3398
   mysql_reset_thd_for_next_command(thd);
3433
 
3399
 
Lines 3461-3467 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3461
 
3427
 
3462
 #ifdef ENABLED_PROFILING
3428
 #ifdef ENABLED_PROFILING
3463
   thd->profiling.set_query_source(stmt->query, stmt->query_length);
3429
   thd->profiling.set_query_source(stmt->query, stmt->query_length);
3464
@@ -2325,11 +2410,46 @@
3430
@@ -2325,11 +2414,50 @@
3465
                        test(flags & (ulong) CURSOR_TYPE_READ_ONLY));
3431
                        test(flags & (ulong) CURSOR_TYPE_READ_ONLY));
3466
   if (!(specialflag & SPECIAL_NO_PRIOR))
3432
   if (!(specialflag & SPECIAL_NO_PRIOR))
3467
     my_pthread_setprio(pthread_self(), WAIT_PRIOR);
3433
     my_pthread_setprio(pthread_self(), WAIT_PRIOR);
Lines 3497-3505 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3497
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3463
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3498
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3464
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3499
+#endif
3465
+#endif
3500
+    if (start_cpu_nsecs && !cputime_error)
3466
+    if (start_cpu_nsecs && !cputime_error) {
3501
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3467
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3502
+    else
3468
+      // In case there are bad values, 2629743 is the #seconds in a month.
3469
+      if (thd->cpu_time > 2629743) {
3470
+        thd->cpu_time = 0;
3471
+      }
3472
+    } else
3503
+      thd->cpu_time = 0;
3473
+      thd->cpu_time = 0;
3504
+  }
3474
+  }
3505
+  // Updates THD stats and the global user stats.
3475
+  // Updates THD stats and the global user stats.
Lines 3509-3515 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3509
   DBUG_VOID_RETURN;
3479
   DBUG_VOID_RETURN;
3510
 }
3480
 }
3511
 
3481
 
3512
@@ -2423,6 +2543,31 @@
3482
@@ -2423,6 +2551,31 @@
3513
 
3483
 
3514
   /* First of all clear possible warnings from the previous command */
3484
   /* First of all clear possible warnings from the previous command */
3515
   mysql_reset_thd_for_next_command(thd);
3485
   mysql_reset_thd_for_next_command(thd);
Lines 3541-3547 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3541
   statistic_increment(thd->status_var.com_stmt_fetch, &LOCK_status);
3511
   statistic_increment(thd->status_var.com_stmt_fetch, &LOCK_status);
3542
   if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_fetch")))
3512
   if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_fetch")))
3543
     DBUG_VOID_RETURN;
3513
     DBUG_VOID_RETURN;
3544
@@ -2455,6 +2600,39 @@
3514
@@ -2455,6 +2608,43 @@
3545
   thd->restore_backup_statement(stmt, &stmt_backup);
3515
   thd->restore_backup_statement(stmt, &stmt_backup);
3546
   thd->stmt_arena= thd;
3516
   thd->stmt_arena= thd;
3547
 
3517
 
Lines 3569-3577 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3569
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3539
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3570
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3540
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3571
+#endif
3541
+#endif
3572
+    if (start_cpu_nsecs && !cputime_error)
3542
+    if (start_cpu_nsecs && !cputime_error) {
3573
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3543
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3574
+    else
3544
+      // In case there are bad values, 2629743 is the #seconds in a month.
3545
+      if (thd->cpu_time > 2629743) {
3546
+        thd->cpu_time = 0;
3547
+      }
3548
+    } else
3575
+      thd->cpu_time = 0;
3549
+      thd->cpu_time = 0;
3576
+  }
3550
+  }
3577
+  // Updates THD stats and the global user stats.
3551
+  // Updates THD stats and the global user stats.
Lines 3581-3587 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3581
   DBUG_VOID_RETURN;
3555
   DBUG_VOID_RETURN;
3582
 }
3556
 }
3583
 
3557
 
3584
@@ -2487,6 +2665,30 @@
3558
@@ -2487,6 +2677,30 @@
3585
   /* First of all clear possible warnings from the previous command */
3559
   /* First of all clear possible warnings from the previous command */
3586
   mysql_reset_thd_for_next_command(thd);
3560
   mysql_reset_thd_for_next_command(thd);
3587
 
3561
 
Lines 3612-3618 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3612
   statistic_increment(thd->status_var.com_stmt_reset, &LOCK_status);
3586
   statistic_increment(thd->status_var.com_stmt_reset, &LOCK_status);
3613
   if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_reset")))
3587
   if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_reset")))
3614
     DBUG_VOID_RETURN;
3588
     DBUG_VOID_RETURN;
3615
@@ -2502,6 +2704,39 @@
3589
@@ -2502,6 +2716,43 @@
3616
   stmt->state= Query_arena::PREPARED;
3590
   stmt->state= Query_arena::PREPARED;
3617
 
3591
 
3618
   send_ok(thd);
3592
   send_ok(thd);
Lines 3641-3649 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3641
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3615
+        !(cputime_error = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)))
3642
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3616
+      end_cpu_nsecs = tp.tv_sec*1000000000.0+tp.tv_nsec;
3643
+#endif
3617
+#endif
3644
+    if (start_cpu_nsecs && !cputime_error)
3618
+    if (start_cpu_nsecs && !cputime_error) {
3645
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3619
+      thd->cpu_time = (end_cpu_nsecs - start_cpu_nsecs) / 1000000000;
3646
+    else
3620
+      // In case there are bad values, 2629743 is the #seconds in a month.
3621
+      if (thd->cpu_time > 2629743) {
3622
+        thd->cpu_time = 0;
3623
+      }
3624
+    } else
3647
+      thd->cpu_time = 0;
3625
+      thd->cpu_time = 0;
3648
+  }
3626
+  }
3649
+  // Updates THD stats and the global user stats.
3627
+  // Updates THD stats and the global user stats.
Lines 3652-3660 diff -r 1270c564d514 sql/sql_prepare.cc Link Here
3652
 
3630
 
3653
   DBUG_VOID_RETURN;
3631
   DBUG_VOID_RETURN;
3654
 }
3632
 }
3655
diff -r 1270c564d514 sql/sql_show.cc
(-)- a/sql/sql_show.cc (-6 / +5 lines)
Lines 3663-3669 diff -r 1270c564d514 sql/sql_show.cc Link Here
3663
     my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
3641
     my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
3664
              sctx->priv_user, sctx->host_or_ip, dbname);
3642
              sctx->priv_user, sctx->host_or_ip, dbname);
3665
     mysql_log.write(thd,COM_INIT_DB,ER(ER_DBACCESS_DENIED_ERROR),
3643
     mysql_log.write(thd,COM_INIT_DB,ER(ER_DBACCESS_DENIED_ERROR),
3666
@@ -1858,6 +1859,300 @@
3644
@@ -1872,6 +1873,300 @@
3667
   DBUG_RETURN(FALSE);
3645
   DBUG_RETURN(FALSE);
3668
 }
3646
 }
3669
 
3647
 
Lines 3964-3970 diff -r 1270c564d514 sql/sql_show.cc Link Here
3964
 
3942
 
3965
 /* collect status for all running threads */
3943
 /* collect status for all running threads */
3966
 
3944
 
3967
@@ -4468,6 +4763,77 @@
3945
@@ -4482,6 +4777,77 @@
3968
   {0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
3946
   {0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
3969
 };
3947
 };
3970
 
3948
 
Lines 4042-4048 diff -r 1270c564d514 sql/sql_show.cc Link Here
4042
 
4020
 
4043
 /*
4021
 /*
4044
   Description of ST_FIELD_INFO in table.h
4022
   Description of ST_FIELD_INFO in table.h
4045
@@ -4477,6 +4843,8 @@
4023
@@ -4491,6 +4857,8 @@
4046
 {
4024
 {
4047
   {"CHARACTER_SETS", charsets_fields_info, create_schema_table, 
4025
   {"CHARACTER_SETS", charsets_fields_info, create_schema_table, 
4048
    fill_schema_charsets, make_character_sets_old_format, 0, -1, -1, 0},
4026
    fill_schema_charsets, make_character_sets_old_format, 0, -1, -1, 0},
Lines 4051-4057 diff -r 1270c564d514 sql/sql_show.cc Link Here
4051
   {"COLLATIONS", collation_fields_info, create_schema_table, 
4029
   {"COLLATIONS", collation_fields_info, create_schema_table, 
4052
    fill_schema_collation, make_old_format, 0, -1, -1, 0},
4030
    fill_schema_collation, make_old_format, 0, -1, -1, 0},
4053
   {"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info,
4031
   {"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info,
4054
@@ -4485,6 +4853,8 @@
4032
@@ -4499,6 +4867,8 @@
4055
    get_all_tables, make_columns_old_format, get_schema_column_record, 1, 2, 0},
4033
    get_all_tables, make_columns_old_format, get_schema_column_record, 1, 2, 0},
4056
   {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,
4034
   {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,
4057
     fill_schema_column_privileges, 0, 0, -1, -1, 0},
4035
     fill_schema_column_privileges, 0, 0, -1, -1, 0},
Lines 4060-4066 diff -r 1270c564d514 sql/sql_show.cc Link Here
4060
   {"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table,
4038
   {"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table,
4061
     get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0},
4039
     get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0},
4062
   {"OPEN_TABLES", open_tables_fields_info, create_schema_table,
4040
   {"OPEN_TABLES", open_tables_fields_info, create_schema_table,
4063
@@ -4510,10 +4880,14 @@
4041
@@ -4524,10 +4894,14 @@
4064
    get_all_tables, make_table_names_old_format, 0, 1, 2, 1},
4042
    get_all_tables, make_table_names_old_format, 0, 1, 2, 1},
4065
   {"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table,
4043
   {"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table,
4066
     fill_schema_table_privileges, 0, 0, -1, -1, 0},
4044
     fill_schema_table_privileges, 0, 0, -1, -1, 0},
Lines 4075-4083 diff -r 1270c564d514 sql/sql_show.cc Link Here
4075
   {"VARIABLES", variables_fields_info, create_schema_table, fill_variables,
4053
   {"VARIABLES", variables_fields_info, create_schema_table, fill_variables,
4076
    make_old_format, 0, -1, -1, 1},
4054
    make_old_format, 0, -1, -1, 1},
4077
   {"VIEWS", view_fields_info, create_schema_table, 
4055
   {"VIEWS", view_fields_info, create_schema_table, 
4078
diff -r 1270c564d514 sql/sql_update.cc
(-)- a/sql/sql_update.cc (-1 lines)
Lines 4095-4103 diff -r 1270c564d514 sql/sql_update.cc Link Here
4095
+  thd->updated_row_count += thd->row_count_func;
4073
+  thd->updated_row_count += thd->row_count_func;
4096
   return FALSE;
4074
   return FALSE;
4097
 }
4075
 }
4098
diff -r 1270c564d514 sql/sql_yacc.yy
(-)- a/sql/sql_yacc.yy (-1 lines)
Lines 4233-4241 diff -r 1270c564d514 sql/sql_yacc.yy Link Here
4233
 	| USE_FRM		{}
4211
 	| USE_FRM		{}
4234
 	| VARIABLES		{}
4212
 	| VARIABLES		{}
4235
 	| VIEW_SYM		{}
4213
 	| VIEW_SYM		{}
4236
diff -r 1270c564d514 sql/structs.h
(-)- a/sql/structs.h (-1 lines)
Lines 4335-4343 diff -r 1270c564d514 sql/structs.h Link Here
4335
 	/* Bits in form->update */
4313
 	/* Bits in form->update */
4336
 #define REG_MAKE_DUPP		1	/* Make a copy of record when read */
4314
 #define REG_MAKE_DUPP		1	/* Make a copy of record when read */
4337
 #define REG_NEW_RECORD		2	/* Write a new record if not found */
4315
 #define REG_NEW_RECORD		2	/* Write a new record if not found */
4338
diff -r 1270c564d514 sql/table.h
(-)- a/sql/table.h (-1 lines)
Lines 4362-4371 diff -r 1270c564d514 sql/table.h Link Here
4362
   SCH_VARIABLES,
4340
   SCH_VARIABLES,
4363
   SCH_VIEWS
4341
   SCH_VIEWS
4364
 };
4342
 };
4365
diff -r 1270c564d514 strings/Makefile.in
(-)- a/strings/Makefile.in (-1 lines)
Lines 4373-4382 diff -r 1270c564d514 strings/Makefile.in Link Here
4373
 LIBS = @LIBS@
4351
 LIBS = @LIBS@
4374
 LIBTOOL = @LIBTOOL@
4352
 LIBTOOL = @LIBTOOL@
4375
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4353
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4376
diff -r 1270c564d514 support-files/MacOSX/Makefile.in
(-)- a/support-files/MacOSX/Makefile.in (-1 lines)
Lines 4384-4393 diff -r 1270c564d514 support-files/MacOSX/Makefile.in Link Here
4384
 LIBS = @LIBS@
4362
 LIBS = @LIBS@
4385
 LIBTOOL = @LIBTOOL@
4363
 LIBTOOL = @LIBTOOL@
4386
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4364
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4387
diff -r 1270c564d514 support-files/Makefile.in
(-)- a/support-files/Makefile.in (-1 lines)
Lines 4395-4404 diff -r 1270c564d514 support-files/Makefile.in Link Here
4395
 LIBS = @LIBS@
4373
 LIBS = @LIBS@
4396
 LIBTOOL = @LIBTOOL@
4374
 LIBTOOL = @LIBTOOL@
4397
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4375
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4398
diff -r 1270c564d514 support-files/RHEL4-SElinux/Makefile.in
(-)- a/support-files/RHEL4-SElinux/Makefile.in (-1 lines)
Lines 4406-4415 diff -r 1270c564d514 support-files/RHEL4-SElinux/Makefile.in Link Here
4406
 LIBS = @LIBS@
4384
 LIBS = @LIBS@
4407
 LIBTOOL = @LIBTOOL@
4385
 LIBTOOL = @LIBTOOL@
4408
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4386
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4409
diff -r 1270c564d514 tests/Makefile.in
(-)- a/tests/Makefile.in (-1 lines)
Lines 4417-4426 diff -r 1270c564d514 tests/Makefile.in Link Here
4417
 LIBS = @CLIENT_LIBS@
4395
 LIBS = @CLIENT_LIBS@
4418
 LIBTOOL = @LIBTOOL@
4396
 LIBTOOL = @LIBTOOL@
4419
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4397
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4420
diff -r 1270c564d514 tools/Makefile.in
(-)- a/tools/Makefile.in (-1 lines)
Lines 4428-4437 diff -r 1270c564d514 tools/Makefile.in Link Here
4428
 LIBS = @LIBS@
4406
 LIBS = @LIBS@
4429
 LIBTOOL = @LIBTOOL@
4407
 LIBTOOL = @LIBTOOL@
4430
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4408
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4431
diff -r 1270c564d514 vio/Makefile.in
(-)- a/vio/Makefile.in (-1 lines)
Lines 4439-4448 diff -r 1270c564d514 vio/Makefile.in Link Here
4439
 LIBS = @LIBS@
4417
 LIBS = @LIBS@
4440
 LIBTOOL = @LIBTOOL@
4418
 LIBTOOL = @LIBTOOL@
4441
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4419
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4442
diff -r 1270c564d514 win/Makefile.in
(-)- a/win/Makefile.in (-1 lines)
Lines 4450-4459 diff -r 1270c564d514 win/Makefile.in Link Here
4450
 LIBS = @LIBS@
4428
 LIBS = @LIBS@
4451
 LIBTOOL = @LIBTOOL@
4429
 LIBTOOL = @LIBTOOL@
4452
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4430
 LIB_EXTRA_CCFLAGS = @LIB_EXTRA_CCFLAGS@
4453
diff -r 1270c564d514 zlib/Makefile.in
(-)a/1008_all_innodb_locks_held-percona-5.0.75-b12.patch (-1 lines)
Lines 1-6 Link Here
1
diff -r ae6708ab17e5 innobase/include/srv0srv.h
(-)- a/innobase/include/srv0srv.h (-1 lines)
Lines 10-18 diff -r ae6708ab17e5 innobase/include/srv0srv.h Link Here
10
 
10
 
11
 extern byte	srv_latin1_ordering[256];/* The sort order table of the latin1
11
 extern byte	srv_latin1_ordering[256];/* The sort order table of the latin1
12
 					character set */
12
 					character set */
13
diff -r ae6708ab17e5 innobase/lock/lock0lock.c
(-)- a/innobase/lock/lock0lock.c (-1 lines)
Lines 50-58 diff -r ae6708ab17e5 innobase/lock/lock0lock.c Link Here
50
 			file);
50
 			file);
51
 	
51
 	
52
 		nth_trx++;
52
 		nth_trx++;
53
diff -r ae6708ab17e5 innobase/srv/srv0srv.c
(-)- a/innobase/srv/srv0srv.c (-6 / +5 lines)
Lines 62-68 diff -r ae6708ab17e5 innobase/srv/srv0srv.c Link Here
62
 
62
 
63
 byte	srv_latin1_ordering[256]	/* The sort order table of the latin1
63
 byte	srv_latin1_ordering[256]	/* The sort order table of the latin1
64
 					character set. The following table is
64
 					character set. The following table is
65
@@ -1694,24 +1696,6 @@
65
@@ -1703,24 +1705,6 @@
66
 
66
 
67
 	mutex_exit(&dict_foreign_err_mutex);
67
 	mutex_exit(&dict_foreign_err_mutex);
68
 
68
 
Lines 87-96 diff -r ae6708ab17e5 innobase/srv/srv0srv.c Link Here
87
 	fputs("--------\n"
87
 	fputs("--------\n"
88
 		"FILE I/O\n"
88
 		"FILE I/O\n"
89
 		"--------\n", file);
89
 		"--------\n", file);
90
@@ -1805,6 +1789,25 @@
90
@@ -1813,6 +1797,25 @@
91
 	srv_n_rows_updated_old = srv_n_rows_updated;
91
 	srv_n_rows_deleted_old = srv_n_rows_deleted;
92
 	srv_n_rows_deleted_old = srv_n_rows_deleted;
92
 	srv_n_rows_read_old = srv_n_rows_read;
93
 	srv_n_rows_read_old = srv_n_rows_read;
93
 
94
+
94
+	lock_print_info_summary(file);
95
+	lock_print_info_summary(file);
95
+	if (trx_start) {
96
+	if (trx_start) {
96
+		long	t = ftell(file);
97
+		long	t = ftell(file);
Lines 109-121 diff -r ae6708ab17e5 innobase/srv/srv0srv.c Link Here
109
+			*trx_end = (ulint) t;
110
+			*trx_end = (ulint) t;
110
+		}
111
+		}
111
+	}
112
+	}
112
+
113
 
113
   fputs("----------------------------\n"
114
   fputs("----------------------------\n"
114
 		       "END OF INNODB MONITOR OUTPUT\n"
115
 		       "END OF INNODB MONITOR OUTPUT\n"
115
 		"============================\n", file);
116
diff -r ae6708ab17e5 libmysqld/set_var.cc
(-)- a/libmysqld/set_var.cc (-3 / +1 lines)
Lines 134-142 diff -r ae6708ab17e5 libmysqld/set_var.cc Link Here
134
   {"innodb_flush_method",    (char*) &innobase_unix_file_flush_method, SHOW_CHAR_PTR},
134
   {"innodb_flush_method",    (char*) &innobase_unix_file_flush_method, SHOW_CHAR_PTR},
135
   {"innodb_force_recovery", (char*) &innobase_force_recovery, SHOW_LONG },
135
   {"innodb_force_recovery", (char*) &innobase_force_recovery, SHOW_LONG },
136
   {"innodb_lock_wait_timeout", (char*) &innobase_lock_wait_timeout, SHOW_LONG },
136
   {"innodb_lock_wait_timeout", (char*) &innobase_lock_wait_timeout, SHOW_LONG },
137
diff -r ae6708ab17e5 patch_info/innodb_locks_held.info
137
diff -r 7d3d7786b927 patch_info/innodb_locks_held.info
138
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
138
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
139
+++ b/patch_info/innodb_locks_held.info	Mon Dec 22 00:32:58 2008 -0800
Lines 144-165 diff -r ae6708ab17e5 patch_info/innodb_locks_held.info Link Here
144
+Author=Baron Schwartz <baron@xaprb.com>
144
+Author=Baron Schwartz <baron@xaprb.com>
145
+License=GPL
145
+License=GPL
146
+Comment=Bug #29126 fix
146
+Comment=Bug #29126 fix
147
diff -r ae6708ab17e5 sql/ha_innodb.h
(-)- a/sql/mysqld.cc (-2 / +1 lines)
Lines 168-174 diff -r ae6708ab17e5 sql/mysqld.cc Link Here
168
   OPT_INNODB_THREAD_CONCURRENCY,
168
   OPT_INNODB_THREAD_CONCURRENCY,
169
   OPT_INNODB_COMMIT_CONCURRENCY,
169
   OPT_INNODB_COMMIT_CONCURRENCY,
170
   OPT_INNODB_FORCE_RECOVERY,
170
   OPT_INNODB_FORCE_RECOVERY,
171
@@ -5308,6 +5310,14 @@
171
@@ -5356,6 +5358,14 @@
172
    (gptr*) &srv_flush_log_at_trx_commit,
172
    (gptr*) &srv_flush_log_at_trx_commit,
173
    (gptr*) &srv_flush_log_at_trx_commit,
173
    (gptr*) &srv_flush_log_at_trx_commit,
174
    0, GET_ULONG, OPT_ARG,  1, 0, 2, 0, 0, 0},
174
    0, GET_ULONG, OPT_ARG,  1, 0, 2, 0, 0, 0},
Lines 183-193 diff -r ae6708ab17e5 sql/mysqld.cc Link Here
183
   {"innodb_flush_method", OPT_INNODB_FLUSH_METHOD,
183
   {"innodb_flush_method", OPT_INNODB_FLUSH_METHOD,
184
    "With which method to flush data.", (gptr*) &innobase_unix_file_flush_method,
184
    "With which method to flush data.", (gptr*) &innobase_unix_file_flush_method,
185
    (gptr*) &innobase_unix_file_flush_method, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
185
    (gptr*) &innobase_unix_file_flush_method, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
186
diff -r ae6708ab17e5 sql/set_var.cc
(-)- a/sql/set_var.cc (-3 / +3 lines)
Lines 199-206 diff -r ae6708ab17e5 sql/set_var.cc Link Here
199
 sys_var_const_os_str_ptr sys_innodb_data_file_path("innodb_data_file_path", 
199
 sys_var_const_os_str_ptr sys_innodb_data_file_path("innodb_data_file_path", 
200
                                                &innobase_data_file_path);
200
                                                &innobase_data_file_path);
201
 sys_var_const_os_str_ptr sys_innodb_data_home_dir("innodb_data_home_dir", 
201
 sys_var_const_os_str_ptr sys_innodb_data_home_dir("innodb_data_home_dir", 
202
@@ -862,6 +868,8 @@
202
@@ -893,6 +899,8 @@
203
   &sys_innodb_io_capacity,
203
   &sys_innodb_flush_neighbor_pages,
204
   &sys_innodb_read_ahead,
204
   &sys_innodb_read_ahead,
205
   &sys_innodb_adaptive_checkpoint,
205
   &sys_innodb_adaptive_checkpoint,
206
+  &sys_innodb_show_locks_held,
206
+  &sys_innodb_show_locks_held,
Lines 208-214 diff -r ae6708ab17e5 sql/set_var.cc Link Here
208
 #endif
208
 #endif
209
   &sys_trust_routine_creators,
209
   &sys_trust_routine_creators,
210
   &sys_trust_function_creators,
210
   &sys_trust_function_creators,
211
@@ -977,6 +985,8 @@
211
@@ -1008,6 +1016,8 @@
212
   {"innodb_file_io_threads", (char*) &innobase_file_io_threads, SHOW_LONG },
212
   {"innodb_file_io_threads", (char*) &innobase_file_io_threads, SHOW_LONG },
213
   {"innodb_file_per_table", (char*) &innobase_file_per_table, SHOW_MY_BOOL},
213
   {"innodb_file_per_table", (char*) &innobase_file_per_table, SHOW_MY_BOOL},
214
   {sys_innodb_flush_log_at_trx_commit.name, (char*) &sys_innodb_flush_log_at_trx_commit, SHOW_SYS},
214
   {sys_innodb_flush_log_at_trx_commit.name, (char*) &sys_innodb_flush_log_at_trx_commit, SHOW_SYS},
(-)a/1012_all_innodb_io_pattern-percona-5.0.75-b12.patch (-1 lines)
Lines 1-6 Link Here
1
diff -r 2bbfde0e0e70 include/mysql_com.h
(-)- a/include/mysql_com.h (-1 lines)
Lines 11-19 diff -r 2bbfde0e0e70 include/mysql_com.h Link Here
11
 
11
 
12
 #define CLIENT_LONG_PASSWORD	1	/* new more secure passwords */
12
 #define CLIENT_LONG_PASSWORD	1	/* new more secure passwords */
13
 #define CLIENT_FOUND_ROWS	2	/* Found instead of affected rows */
13
 #define CLIENT_FOUND_ROWS	2	/* Found instead of affected rows */
14
diff -r 2bbfde0e0e70 innobase/buf/buf0buf.c
(-)- a/innobase/buf/buf0buf.c (-1 lines)
Lines 147-155 diff -r 2bbfde0e0e70 innobase/buf/buf0buf.c Link Here
147
+       }
147
+       }
148
+       mutex_exit(&(buf_pool->mutex));
148
+       mutex_exit(&(buf_pool->mutex));
149
+}
149
+}
150
diff -r 2bbfde0e0e70 innobase/include/buf0buf.h
(-)- a/innobase/include/buf0buf.h (-1 lines)
Lines 195-203 diff -r 2bbfde0e0e70 innobase/include/buf0buf.h Link Here
195
 /* States of a control block */
195
 /* States of a control block */
196
 #define	BUF_BLOCK_NOT_USED	211	/* is in the free list */
196
 #define	BUF_BLOCK_NOT_USED	211	/* is in the free list */
197
 #define BUF_BLOCK_READY_FOR_USE	212	/* when buf_get_free_block returns
197
 #define BUF_BLOCK_READY_FOR_USE	212	/* when buf_get_free_block returns
198
diff -r 2bbfde0e0e70 innobase/include/buf0types.h
(-)- a/innobase/include/buf0types.h (-1 lines)
Lines 207-218 diff -r 2bbfde0e0e70 innobase/include/buf0types.h Link Here
207
 /* The 'type' used of a buffer frame */
207
 /* The 'type' used of a buffer frame */
208
 typedef	byte	buf_frame_t;
208
 typedef	byte	buf_frame_t;
209
 
209
 
210
diff -r 2bbfde0e0e70 innobase/include/srv0srv.h
(-)- a/innobase/include/srv0srv.h (-1 lines)
Lines 222-233 diff -r 2bbfde0e0e70 innobase/include/srv0srv.h Link Here
222
 /*-------------------------------------------*/
222
 /*-------------------------------------------*/
223
 
223
 
224
 extern ulint	srv_n_rows_inserted;
224
 extern ulint	srv_n_rows_inserted;
225
diff -r 2bbfde0e0e70 innobase/srv/srv0srv.c
(-)- a/innobase/srv/srv0srv.c (-1 lines)
Lines 237-245 diff -r 2bbfde0e0e70 innobase/srv/srv0srv.c Link Here
237
 /*-------------------------------------------*/
237
 /*-------------------------------------------*/
238
 ulong	srv_n_spin_wait_rounds	= 20;
238
 ulong	srv_n_spin_wait_rounds	= 20;
239
 ulong	srv_n_free_tickets_to_enter = 500;
239
 ulong	srv_n_free_tickets_to_enter = 500;
240
diff -r 2bbfde0e0e70 mysql-test/r/information_schema.result
(-)- a/mysql-test/r/information_schema.result (-1 lines)
Lines 296-304 diff -r 2bbfde0e0e70 mysql-test/r/information_schema.result Link Here
296
 KEY_COLUMN_USAGE	information_schema.KEY_COLUMN_USAGE	1
296
 KEY_COLUMN_USAGE	information_schema.KEY_COLUMN_USAGE	1
297
 PROCESSLIST	information_schema.PROCESSLIST	1
297
 PROCESSLIST	information_schema.PROCESSLIST	1
298
 PROFILING	information_schema.PROFILING	1
298
 PROFILING	information_schema.PROFILING	1
299
diff -r 2bbfde0e0e70 mysql-test/r/information_schema_db.result
(-)- a/mysql-test/r/information_schema_db.result (-1 lines)
Lines 307-315 diff -r 2bbfde0e0e70 mysql-test/r/information_schema_db.result Link Here
307
 show tables from INFORMATION_SCHEMA like 'T%';
307
 show tables from INFORMATION_SCHEMA like 'T%';
308
 Tables_in_information_schema (T%)
308
 Tables_in_information_schema (T%)
309
 TABLES
309
 TABLES
310
diff -r 2bbfde0e0e70 mysql-test/r/mysqlshow.result
(-)- a/mysql-test/r/mysqlshow.result (-3 / +1 lines)
Lines 326-334 diff -r 2bbfde0e0e70 mysql-test/r/mysqlshow.result Link Here
326
 +---------------------------------------+
326
 +---------------------------------------+
327
 Wildcard: inf_rmation_schema
327
 Wildcard: inf_rmation_schema
328
 +--------------------+
328
 +--------------------+
329
diff -r 2bbfde0e0e70 patch_info/innodb_io_pattern.info
329
diff -r 5060df9888d7 patch_info/innodb_io_pattern.info
330
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
330
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
331
+++ b/patch_info/innodb_io_pattern.info	Mon Dec 22 00:33:48 2008 -0800
Lines 338-346 diff -r 2bbfde0e0e70 patch_info/innodb_io_pattern.info Link Here
338
+Comment=INFORMATION_SCHEMA.INNODB_IO_PATTERN
338
+Comment=INFORMATION_SCHEMA.INNODB_IO_PATTERN
339
+2008-12-01
339
+2008-12-01
340
+YK: fix for mysql-test
340
+YK: fix for mysql-test
341
diff -r 2bbfde0e0e70 sql/ha_innodb.cc
(-)- a/sql/ha_innodb.cc (-2 / +1 lines)
Lines 350-356 diff -r 2bbfde0e0e70 sql/ha_innodb.cc Link Here
350
 	/* If this is a replication slave and we needed to do a crash recovery,
350
 	/* If this is a replication slave and we needed to do a crash recovery,
351
 	set the master binlog position to what InnoDB internally knew about
351
 	set the master binlog position to what InnoDB internally knew about
352
 	how far we got transactions durable inside InnoDB. There is a
352
 	how far we got transactions durable inside InnoDB. There is a
353
@@ -6527,6 +6529,28 @@
353
@@ -6535,6 +6537,28 @@
354
 }
354
 }
355
 
355
 
356
 /****************************************************************************
356
 /****************************************************************************
Lines 379-388 diff -r 2bbfde0e0e70 sql/ha_innodb.cc Link Here
379
 Implements the SHOW INNODB STATUS command. Sends the output of the InnoDB
379
 Implements the SHOW INNODB STATUS command. Sends the output of the InnoDB
380
 Monitor to the client. */
380
 Monitor to the client. */
381
 
381
 
382
diff -r 2bbfde0e0e70 sql/ha_innodb.h
(-)- a/sql/ha_innodb.h (-2 / +1 lines)
Lines 392-398 diff -r 2bbfde0e0e70 sql/ha_innodb.h Link Here
392
 }
392
 }
393
 
393
 
394
 bool innobase_init(void);
394
 bool innobase_init(void);
395
@@ -266,6 +269,9 @@
395
@@ -270,6 +273,9 @@
396
 bool innodb_I_S_buffer_pool_content(THD* thd, TABLE_LIST *tables);
396
 bool innodb_I_S_buffer_pool_content(THD* thd, TABLE_LIST *tables);
397
 bool innodb_mutex_show_status(THD* thd);
397
 bool innodb_mutex_show_status(THD* thd);
398
 void innodb_export_status(void);
398
 void innodb_export_status(void);
Lines 402-410 diff -r 2bbfde0e0e70 sql/ha_innodb.h Link Here
402
 
402
 
403
 void innobase_release_temporary_latches(THD *thd);
403
 void innobase_release_temporary_latches(THD *thd);
404
 
404
 
405
diff -r 2bbfde0e0e70 sql/lex.h
(-)- a/sql/lex.h (-1 lines)
Lines 413-422 diff -r 2bbfde0e0e70 sql/lex.h Link Here
413
   { "INOUT",            SYM(INOUT_SYM)},
413
   { "INOUT",            SYM(INOUT_SYM)},
414
   { "INSENSITIVE",      SYM(INSENSITIVE_SYM)},
414
   { "INSENSITIVE",      SYM(INSENSITIVE_SYM)},
415
   { "INSERT",		SYM(INSERT)},
415
   { "INSERT",		SYM(INSERT)},
416
diff -r 2bbfde0e0e70 sql/mysqld.cc
(-)- a/sql/mysqld.cc (-2 / +1 lines)
Lines 426-432 diff -r 2bbfde0e0e70 sql/mysqld.cc Link Here
426
   OPT_BDB_CACHE_SIZE,
426
   OPT_BDB_CACHE_SIZE,
427
   OPT_BDB_LOG_BUFFER_SIZE,
427
   OPT_BDB_LOG_BUFFER_SIZE,
428
   OPT_BDB_MAX_LOCK,
428
   OPT_BDB_MAX_LOCK,
429
@@ -5382,6 +5385,18 @@
429
@@ -5445,6 +5448,18 @@
430
    "Number of background write I/O threads in InnoDB.",
430
    "Number of background write I/O threads in InnoDB.",
431
    (gptr*) &innobase_write_io_threads, (gptr*) &innobase_write_io_threads,
431
    (gptr*) &innobase_write_io_threads, (gptr*) &innobase_write_io_threads,
432
    0, GET_LONG, REQUIRED_ARG, 1, 1, 64, 0, 0, 0},
432
    0, GET_LONG, REQUIRED_ARG, 1, 1, 64, 0, 0, 0},
Lines 445-454 diff -r 2bbfde0e0e70 sql/mysqld.cc Link Here
445
 #endif /* End HAVE_INNOBASE_DB */
445
 #endif /* End HAVE_INNOBASE_DB */
446
   {"isam", OPT_ISAM, "Obsolete. ISAM storage engine is no longer supported.",
446
   {"isam", OPT_ISAM, "Obsolete. ISAM storage engine is no longer supported.",
447
    (gptr*) &opt_isam, (gptr*) &opt_isam, 0, GET_BOOL, NO_ARG, 0, 0, 0,
447
    (gptr*) &opt_isam, (gptr*) &opt_isam, 0, GET_BOOL, NO_ARG, 0, 0, 0,
448
diff -r 2bbfde0e0e70 sql/set_var.cc
(-)- a/sql/set_var.cc (-4 / +3 lines)
Lines 461-467 diff -r 2bbfde0e0e70 sql/set_var.cc Link Here
461
 sys_var_const_os_str_ptr sys_innodb_data_file_path("innodb_data_file_path", 
461
 sys_var_const_os_str_ptr sys_innodb_data_file_path("innodb_data_file_path", 
462
                                                &innobase_data_file_path);
462
                                                &innobase_data_file_path);
463
 sys_var_const_os_str_ptr sys_innodb_data_home_dir("innodb_data_home_dir", 
463
 sys_var_const_os_str_ptr sys_innodb_data_home_dir("innodb_data_home_dir", 
464
@@ -870,6 +876,9 @@
464
@@ -901,6 +907,9 @@
465
   &sys_innodb_adaptive_checkpoint,
465
   &sys_innodb_adaptive_checkpoint,
466
   &sys_innodb_show_locks_held,
466
   &sys_innodb_show_locks_held,
467
   &sys_innodb_show_verbose_locks,
467
   &sys_innodb_show_verbose_locks,
Lines 471-477 diff -r 2bbfde0e0e70 sql/set_var.cc Link Here
471
 #endif
471
 #endif
472
   &sys_trust_routine_creators,
472
   &sys_trust_routine_creators,
473
   &sys_trust_function_creators,
473
   &sys_trust_function_creators,
474
@@ -1012,6 +1021,9 @@
474
@@ -1047,6 +1056,9 @@
475
   {sys_innodb_adaptive_checkpoint.name, (char*) &sys_innodb_adaptive_checkpoint, SHOW_SYS},
475
   {sys_innodb_adaptive_checkpoint.name, (char*) &sys_innodb_adaptive_checkpoint, SHOW_SYS},
476
   {"innodb_read_io_threads", (char*) &innobase_read_io_threads, SHOW_LONG},
476
   {"innodb_read_io_threads", (char*) &innobase_read_io_threads, SHOW_LONG},
477
   {"innodb_write_io_threads", (char*) &innobase_write_io_threads, SHOW_LONG},
477
   {"innodb_write_io_threads", (char*) &innobase_write_io_threads, SHOW_LONG},
Lines 481-487 diff -r 2bbfde0e0e70 sql/set_var.cc Link Here
481
 #endif
481
 #endif
482
   {sys_interactive_timeout.name,(char*) &sys_interactive_timeout,   SHOW_SYS},
482
   {sys_interactive_timeout.name,(char*) &sys_interactive_timeout,   SHOW_SYS},
483
   {sys_join_buffer_size.name,   (char*) &sys_join_buffer_size,	    SHOW_SYS},
483
   {sys_join_buffer_size.name,   (char*) &sys_join_buffer_size,	    SHOW_SYS},
484
@@ -3117,6 +3129,19 @@
484
@@ -3160,6 +3172,19 @@
485
     thd->variables.lc_time_names= global_system_variables.lc_time_names;
485
     thd->variables.lc_time_names= global_system_variables.lc_time_names;
486
 }
486
 }
487
 
487
 
Lines 501-510 diff -r 2bbfde0e0e70 sql/set_var.cc Link Here
501
 /*
501
 /*
502
   Functions to update thd->options bits
502
   Functions to update thd->options bits
503
 */
503
 */
504
diff -r 2bbfde0e0e70 sql/set_var.h
(-)- a/sql/set_var.h (-1 lines)
Lines 522-531 diff -r 2bbfde0e0e70 sql/set_var.h Link Here
522
 /****************************************************************************
522
 /****************************************************************************
523
   Classes for parsing of the SET command
523
   Classes for parsing of the SET command
524
 ****************************************************************************/
524
 ****************************************************************************/
525
diff -r 2bbfde0e0e70 sql/sql_parse.cc
(-)- a/sql/sql_parse.cc (-1 lines)
Lines 539-547 diff -r 2bbfde0e0e70 sql/sql_parse.cc Link Here
539
  *write_to_binlog= tmp_write_to_binlog;
539
  *write_to_binlog= tmp_write_to_binlog;
540
  return result;
540
  return result;
541
 }
541
 }
542
diff -r 2bbfde0e0e70 sql/sql_show.cc
(-)- a/sql/sql_show.cc (-4 / +3 lines)
Lines 560-566 diff -r 2bbfde0e0e70 sql/sql_show.cc Link Here
560
 
560
 
561
 #ifndef NO_EMBEDDED_ACCESS_CHECKS
561
 #ifndef NO_EMBEDDED_ACCESS_CHECKS
562
 static const char *grant_names[]={
562
 static const char *grant_names[]={
563
@@ -4074,6 +4085,67 @@
563
@@ -4088,6 +4099,67 @@
564
   DBUG_RETURN(res);
564
   DBUG_RETURN(res);
565
 }
565
 }
566
 
566
 
Lines 628-634 diff -r 2bbfde0e0e70 sql/sql_show.cc Link Here
628
 /*
628
 /*
629
   Find schema_tables elment by name
629
   Find schema_tables elment by name
630
 
630
 
631
@@ -4880,6 +4952,19 @@
631
@@ -4894,6 +4966,19 @@
632
   {0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
632
   {0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
633
 };
633
 };
634
 
634
 
Lines 648-654 diff -r 2bbfde0e0e70 sql/sql_show.cc Link Here
648
 
648
 
649
 ST_FIELD_INFO variables_fields_info[]=
649
 ST_FIELD_INFO variables_fields_info[]=
650
 {
650
 {
651
@@ -5055,6 +5140,10 @@
651
@@ -5069,6 +5154,10 @@
652
    make_old_format, 0, -1, -1, 1},
652
    make_old_format, 0, -1, -1, 1},
653
   {"VIEWS", view_fields_info, create_schema_table, 
653
   {"VIEWS", view_fields_info, create_schema_table, 
654
     get_all_tables, 0, get_schema_views_record, 1, 2, 0},
654
     get_all_tables, 0, get_schema_views_record, 1, 2, 0},
Lines 659-667 diff -r 2bbfde0e0e70 sql/sql_show.cc Link Here
659
   {0, 0, 0, 0, 0, 0, 0, 0, 0}
659
   {0, 0, 0, 0, 0, 0, 0, 0, 0}
660
 };
660
 };
661
 
661
 
662
diff -r 2bbfde0e0e70 sql/sql_yacc.yy
(-)a/1100_all_split_buf_pool_mutex_fixed_optimistic_safe-percona-5.0.75-b12.patch (-47 / +56 lines)
Lines 8-23 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
8
+	mutex_create(&(buf_pool->flush_list_mutex));
8
+	mutex_create(&(buf_pool->flush_list_mutex));
9
+	mutex_create(&(buf_pool->LRU_mutex));
9
+	mutex_create(&(buf_pool->LRU_mutex));
10
+	mutex_create(&(buf_pool->free_mutex));
10
+	mutex_create(&(buf_pool->free_mutex));
11
+	mutex_create(&(buf_pool->hash_mutex));
11
+	rw_lock_create(&(buf_pool->hash_latch));
12
+	mutex_set_level(&(buf_pool->flush_list_mutex), SYNC_NO_ORDER_CHECK);
12
+	mutex_set_level(&(buf_pool->flush_list_mutex), SYNC_NO_ORDER_CHECK);
13
+	mutex_set_level(&(buf_pool->LRU_mutex), SYNC_NO_ORDER_CHECK);
13
+	mutex_set_level(&(buf_pool->LRU_mutex), SYNC_NO_ORDER_CHECK);
14
+	mutex_set_level(&(buf_pool->free_mutex), SYNC_NO_ORDER_CHECK);
14
+	mutex_set_level(&(buf_pool->free_mutex), SYNC_NO_ORDER_CHECK);
15
+	mutex_set_level(&(buf_pool->hash_mutex), SYNC_NO_ORDER_CHECK);
15
+	rw_lock_set_level(&(buf_pool->hash_latch), SYNC_NO_ORDER_CHECK);
16
+
16
+
17
+	mutex_enter(&(buf_pool->LRU_mutex));
17
+	mutex_enter(&(buf_pool->LRU_mutex));
18
+	mutex_enter(&(buf_pool->flush_list_mutex));
18
+	mutex_enter(&(buf_pool->flush_list_mutex));
19
+	mutex_enter(&(buf_pool->free_mutex));
19
+	mutex_enter(&(buf_pool->free_mutex));
20
+	mutex_enter(&(buf_pool->hash_mutex));
20
+	rw_lock_x_lock(&(buf_pool->hash_latch));
21
 	mutex_enter(&(buf_pool->mutex));
21
 	mutex_enter(&(buf_pool->mutex));
22
 
22
 
23
 	if (srv_use_awe) {
23
 	if (srv_use_awe) {
Lines 28-34 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
28
+	mutex_exit(&(buf_pool->LRU_mutex));
28
+	mutex_exit(&(buf_pool->LRU_mutex));
29
+	mutex_exit(&(buf_pool->flush_list_mutex));
29
+	mutex_exit(&(buf_pool->flush_list_mutex));
30
+	mutex_exit(&(buf_pool->free_mutex));
30
+	mutex_exit(&(buf_pool->free_mutex));
31
+	mutex_exit(&(buf_pool->hash_mutex));
31
+	rw_lock_x_unlock(&(buf_pool->hash_latch));
32
 	mutex_exit(&(buf_pool->mutex));
32
 	mutex_exit(&(buf_pool->mutex));
33
 
33
 
34
 	if (srv_use_adaptive_hash_indexes) {
34
 	if (srv_use_adaptive_hash_indexes) {
Lines 88-99 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
88
 	buf_block_t*	block;
88
 	buf_block_t*	block;
89
 
89
 
90
-	mutex_enter_fast(&(buf_pool->mutex));
90
-	mutex_enter_fast(&(buf_pool->mutex));
91
+	mutex_enter_fast(&(buf_pool->hash_mutex));
91
+	rw_lock_s_lock(&(buf_pool->hash_latch));
92
 
92
 
93
 	block = buf_page_hash_get(space, offset);
93
 	block = buf_page_hash_get(space, offset);
94
 
94
 
95
-	mutex_exit(&(buf_pool->mutex));
95
-	mutex_exit(&(buf_pool->mutex));
96
+	mutex_exit(&(buf_pool->hash_mutex));
96
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
97
 
97
 
98
 	return(block);
98
 	return(block);
99
 }
99
 }
Lines 102-108 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
102
 	buf_block_t*	block;
102
 	buf_block_t*	block;
103
 
103
 
104
-	mutex_enter_fast(&(buf_pool->mutex));
104
-	mutex_enter_fast(&(buf_pool->mutex));
105
+	mutex_enter_fast(&(buf_pool->hash_mutex));
105
+	rw_lock_s_lock(&(buf_pool->hash_latch));
106
 
106
 
107
 	block = buf_page_hash_get(space, offset);
107
 	block = buf_page_hash_get(space, offset);
108
 
108
 
Lines 111-117 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
111
 	}
111
 	}
112
 	
112
 	
113
-	mutex_exit(&(buf_pool->mutex));
113
-	mutex_exit(&(buf_pool->mutex));
114
+	mutex_exit(&(buf_pool->hash_mutex));
114
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
115
 }
115
 }
116
 
116
 
117
 /************************************************************************
117
 /************************************************************************
Lines 120-126 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
120
 	ibool		is_hashed;
120
 	ibool		is_hashed;
121
 
121
 
122
-	mutex_enter_fast(&(buf_pool->mutex));
122
-	mutex_enter_fast(&(buf_pool->mutex));
123
+	mutex_enter_fast(&(buf_pool->hash_mutex));
123
+	rw_lock_s_lock(&(buf_pool->hash_latch));
124
 
124
 
125
 	block = buf_page_hash_get(space, offset);
125
 	block = buf_page_hash_get(space, offset);
126
 
126
 
Lines 129-135 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
129
 	}
129
 	}
130
 
130
 
131
-	mutex_exit(&(buf_pool->mutex));
131
-	mutex_exit(&(buf_pool->mutex));
132
+	mutex_exit(&(buf_pool->hash_mutex));
132
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
133
 
133
 
134
 	return(is_hashed);
134
 	return(is_hashed);
135
 }
135
 }
Lines 138-144 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
138
 	buf_block_t*	block;
138
 	buf_block_t*	block;
139
 
139
 
140
-	mutex_enter_fast(&(buf_pool->mutex));
140
-	mutex_enter_fast(&(buf_pool->mutex));
141
+	mutex_enter_fast(&(buf_pool->hash_mutex));
141
+	rw_lock_s_lock(&(buf_pool->hash_latch));
142
 
142
 
143
 	block = buf_page_hash_get(space, offset);
143
 	block = buf_page_hash_get(space, offset);
144
 
144
 
Lines 147-153 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
147
 	}
147
 	}
148
 
148
 
149
-	mutex_exit(&(buf_pool->mutex));
149
-	mutex_exit(&(buf_pool->mutex));
150
+	mutex_exit(&(buf_pool->hash_mutex));
150
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
151
 
151
 
152
 	return(block);
152
 	return(block);
153
 }
153
 }
Lines 156-162 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
156
 	buf_block_t*	block;
156
 	buf_block_t*	block;
157
 
157
 
158
-	mutex_enter_fast(&(buf_pool->mutex));
158
-	mutex_enter_fast(&(buf_pool->mutex));
159
+	mutex_enter_fast(&(buf_pool->hash_mutex));
159
+	rw_lock_s_lock(&(buf_pool->hash_latch));
160
 
160
 
161
 	block = buf_page_hash_get(space, offset);
161
 	block = buf_page_hash_get(space, offset);
162
 
162
 
Lines 165-171 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
165
 	}
165
 	}
166
 
166
 
167
-	mutex_exit(&(buf_pool->mutex));
167
-	mutex_exit(&(buf_pool->mutex));
168
+	mutex_exit(&(buf_pool->hash_mutex));
168
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
169
 
169
 
170
 	return(block);
170
 	return(block);
171
 }
171
 }
Lines 189-200 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
189
 	}
189
 	}
190
 
190
 
191
 	if (block == NULL) {
191
 	if (block == NULL) {
192
+		mutex_enter_fast(&(buf_pool->hash_mutex));
192
+		rw_lock_s_lock(&(buf_pool->hash_latch));
193
 		block = buf_page_hash_get(space, offset);
193
 		block = buf_page_hash_get(space, offset);
194
+		if(block) {
194
+		if(block) {
195
+			mutex_enter(&block->mutex);
195
+			mutex_enter(&block->mutex);
196
+		}
196
+		}
197
+		mutex_exit(&(buf_pool->hash_mutex));
197
+		rw_lock_s_unlock(&(buf_pool->hash_latch));
198
 	}
198
 	}
199
 
199
 
200
 	if (block == NULL) {
200
 	if (block == NULL) {
Lines 248-254 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
248
 
248
 
249
-	mutex_enter(&(buf_pool->mutex));
249
-	mutex_enter(&(buf_pool->mutex));
250
+	mutex_enter(&(buf_pool->LRU_mutex));
250
+	mutex_enter(&(buf_pool->LRU_mutex));
251
+	mutex_enter(&(buf_pool->hash_mutex));
251
+	rw_lock_x_lock(&(buf_pool->hash_latch));
252
 	mutex_enter(&block->mutex);
252
 	mutex_enter(&block->mutex);
253
 
253
 
254
 	if (fil_tablespace_deleted_or_being_deleted_in_mem(space,
254
 	if (fil_tablespace_deleted_or_being_deleted_in_mem(space,
Lines 258-264 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
258
 		mutex_exit(&block->mutex);
258
 		mutex_exit(&block->mutex);
259
-		mutex_exit(&(buf_pool->mutex));
259
-		mutex_exit(&(buf_pool->mutex));
260
+		mutex_exit(&(buf_pool->LRU_mutex));
260
+		mutex_exit(&(buf_pool->LRU_mutex));
261
+		mutex_exit(&(buf_pool->hash_mutex));
261
+		rw_lock_x_unlock(&(buf_pool->hash_latch));
262
 
262
 
263
 		buf_block_free(block);
263
 		buf_block_free(block);
264
 
264
 
Lines 266-272 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
266
 	ut_ad(block);
266
 	ut_ad(block);
267
 	
267
 	
268
 	buf_page_init(space, offset, block);
268
 	buf_page_init(space, offset, block);
269
+	mutex_exit(&(buf_pool->hash_mutex));
269
+	rw_lock_x_unlock(&(buf_pool->hash_latch));
270
 
270
 
271
 	/* The block must be put to the LRU list, to the old blocks */
271
 	/* The block must be put to the LRU list, to the old blocks */
272
 
272
 
Lines 283-289 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
283
 	
283
 	
284
-	mutex_enter(&(buf_pool->mutex));
284
-	mutex_enter(&(buf_pool->mutex));
285
+	mutex_enter(&(buf_pool->LRU_mutex));
285
+	mutex_enter(&(buf_pool->LRU_mutex));
286
+	mutex_enter(&(buf_pool->hash_mutex));
286
+	rw_lock_x_lock(&(buf_pool->hash_latch));
287
 
287
 
288
 	block = buf_page_hash_get(space, offset);
288
 	block = buf_page_hash_get(space, offset);
289
 
289
 
Lines 293-299 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
293
 		/* Page can be found in buf_pool */
293
 		/* Page can be found in buf_pool */
294
-		mutex_exit(&(buf_pool->mutex));
294
-		mutex_exit(&(buf_pool->mutex));
295
+		mutex_exit(&(buf_pool->LRU_mutex));
295
+		mutex_exit(&(buf_pool->LRU_mutex));
296
+		mutex_exit(&(buf_pool->hash_mutex));
296
+		rw_lock_x_unlock(&(buf_pool->hash_latch));
297
 
297
 
298
 		buf_block_free(free_block);
298
 		buf_block_free(free_block);
299
 
299
 
Lines 301-307 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
301
 	mutex_enter(&block->mutex);
301
 	mutex_enter(&block->mutex);
302
 
302
 
303
 	buf_page_init(space, offset, block);
303
 	buf_page_init(space, offset, block);
304
+	mutex_exit(&(buf_pool->hash_mutex));
304
+	rw_lock_x_unlock(&(buf_pool->hash_latch));
305
 
305
 
306
 	/* The block must be put to the LRU list */
306
 	/* The block must be put to the LRU list */
307
 	buf_LRU_add_block(block, FALSE);
307
 	buf_LRU_add_block(block, FALSE);
Lines 438-444 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
438
+	mutex_enter(&(buf_pool->LRU_mutex));
438
+	mutex_enter(&(buf_pool->LRU_mutex));
439
+	mutex_enter(&(buf_pool->flush_list_mutex));
439
+	mutex_enter(&(buf_pool->flush_list_mutex));
440
+	mutex_enter(&(buf_pool->free_mutex));
440
+	mutex_enter(&(buf_pool->free_mutex));
441
+	mutex_enter(&(buf_pool->hash_mutex));
441
+	rw_lock_x_lock(&(buf_pool->hash_latch));
442
+
442
+
443
 	mutex_enter(&(buf_pool->mutex));
443
 	mutex_enter(&(buf_pool->mutex));
444
+	n_single_flush_tmp = buf_pool->n_flush[BUF_FLUSH_SINGLE_PAGE];
444
+	n_single_flush_tmp = buf_pool->n_flush[BUF_FLUSH_SINGLE_PAGE];
Lines 463-469 diff -r 2e0c46e78b50 innobase/buf/buf0buf.c Link Here
463
+	mutex_exit(&(buf_pool->LRU_mutex));
463
+	mutex_exit(&(buf_pool->LRU_mutex));
464
+	mutex_exit(&(buf_pool->flush_list_mutex));
464
+	mutex_exit(&(buf_pool->flush_list_mutex));
465
+	mutex_exit(&(buf_pool->free_mutex));
465
+	mutex_exit(&(buf_pool->free_mutex));
466
+	mutex_exit(&(buf_pool->hash_mutex));
466
+	rw_lock_x_unlock(&(buf_pool->hash_latch));
467
 
467
 
468
 	ut_a(buf_LRU_validate());
468
 	ut_a(buf_LRU_validate());
469
 	ut_a(buf_flush_validate());
469
 	ut_a(buf_flush_validate());
Lines 604-610 diff -r 2e0c46e78b50 innobase/buf/buf0flu.c Link Here
604
 				|| flush_type == BUF_FLUSH_SINGLE_PAGE);
604
 				|| flush_type == BUF_FLUSH_SINGLE_PAGE);
605
 
605
 
606
-	mutex_enter(&(buf_pool->mutex));
606
-	mutex_enter(&(buf_pool->mutex));
607
+	mutex_enter(&(buf_pool->hash_mutex));
607
+	rw_lock_s_lock(&(buf_pool->hash_latch));
608
 
608
 
609
 	block = buf_page_hash_get(space, offset);
609
 	block = buf_page_hash_get(space, offset);
610
 
610
 
Lines 612-624 diff -r 2e0c46e78b50 innobase/buf/buf0flu.c Link Here
612
 
612
 
613
 	if (!block) {
613
 	if (!block) {
614
-		mutex_exit(&(buf_pool->mutex));
614
-		mutex_exit(&(buf_pool->mutex));
615
+		mutex_exit(&(buf_pool->hash_mutex));
615
+		rw_lock_s_unlock(&(buf_pool->hash_latch));
616
 		return(0);
616
 		return(0);
617
 	}
617
 	}
618
 
618
 
619
 	mutex_enter(&block->mutex);
619
 	mutex_enter(&block->mutex);
620
+	mutex_enter(&(buf_pool->mutex));
620
+	mutex_enter(&(buf_pool->mutex));
621
+	mutex_exit(&(buf_pool->hash_mutex));
621
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
622
 
622
 
623
 	if (flush_type == BUF_FLUSH_LIST
623
 	if (flush_type == BUF_FLUSH_LIST
624
 	    && buf_flush_ready_for_flush(block, flush_type)) {
624
 	    && buf_flush_ready_for_flush(block, flush_type)) {
Lines 627-633 diff -r 2e0c46e78b50 innobase/buf/buf0flu.c Link Here
627
 	}
627
 	}
628
 
628
 
629
-	mutex_enter(&(buf_pool->mutex));
629
-	mutex_enter(&(buf_pool->mutex));
630
+	mutex_enter(&(buf_pool->hash_mutex));
630
+	rw_lock_s_lock(&(buf_pool->hash_latch));
631
 
631
 
632
 	for (i = low; i < high; i++) {
632
 	for (i = low; i < high; i++) {
633
 
633
 
Lines 636-642 diff -r 2e0c46e78b50 innobase/buf/buf0flu.c Link Here
636
 				mutex_exit(&block->mutex);
636
 				mutex_exit(&block->mutex);
637
 
637
 
638
-				mutex_exit(&(buf_pool->mutex));
638
-				mutex_exit(&(buf_pool->mutex));
639
+				mutex_exit(&(buf_pool->hash_mutex));
639
+				rw_lock_s_unlock(&(buf_pool->hash_latch));
640
 
640
 
641
 				/* Note: as we release the buf_pool mutex
641
 				/* Note: as we release the buf_pool mutex
642
 				above, in buf_flush_try_page we cannot be sure
642
 				above, in buf_flush_try_page we cannot be sure
Lines 645-651 diff -r 2e0c46e78b50 innobase/buf/buf0flu.c Link Here
645
 							    flush_type);
645
 							    flush_type);
646
 
646
 
647
-				mutex_enter(&(buf_pool->mutex));
647
-				mutex_enter(&(buf_pool->mutex));
648
+				mutex_enter(&(buf_pool->hash_mutex));
648
+				rw_lock_s_lock(&(buf_pool->hash_latch));
649
 			} else {
649
 			} else {
650
 				mutex_exit(&block->mutex);
650
 				mutex_exit(&block->mutex);
651
 			}
651
 			}
Lines 653-659 diff -r 2e0c46e78b50 innobase/buf/buf0flu.c Link Here
653
 	}
653
 	}
654
 				
654
 				
655
-	mutex_exit(&(buf_pool->mutex));
655
-	mutex_exit(&(buf_pool->mutex));
656
+	mutex_exit(&(buf_pool->hash_mutex));
656
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
657
 
657
 
658
 	return(count);
658
 	return(count);
659
 }
659
 }
Lines 781-787 diff -r 2e0c46e78b50 innobase/buf/buf0lru.c Link Here
781
+	mutex_enter(&(buf_pool->LRU_mutex));
781
+	mutex_enter(&(buf_pool->LRU_mutex));
782
+	mutex_enter(&(buf_pool->flush_list_mutex));
782
+	mutex_enter(&(buf_pool->flush_list_mutex));
783
+	mutex_enter(&(buf_pool->free_mutex));
783
+	mutex_enter(&(buf_pool->free_mutex));
784
+	mutex_enter(&(buf_pool->hash_mutex));
784
+	rw_lock_x_lock(&(buf_pool->hash_latch));
785
 	
785
 	
786
 	all_freed = TRUE;
786
 	all_freed = TRUE;
787
 	
787
 	
Lines 793-799 diff -r 2e0c46e78b50 innobase/buf/buf0lru.c Link Here
793
+				mutex_exit(&(buf_pool->LRU_mutex));
793
+				mutex_exit(&(buf_pool->LRU_mutex));
794
+				mutex_exit(&(buf_pool->flush_list_mutex));
794
+				mutex_exit(&(buf_pool->flush_list_mutex));
795
+				mutex_exit(&(buf_pool->free_mutex));
795
+				mutex_exit(&(buf_pool->free_mutex));
796
+				mutex_exit(&(buf_pool->hash_mutex));
796
+				rw_lock_x_unlock(&(buf_pool->hash_latch));
797
 
797
 
798
 				/* Note that the following call will acquire
798
 				/* Note that the following call will acquire
799
 				an S-latch on the page */
799
 				an S-latch on the page */
Lines 805-811 diff -r 2e0c46e78b50 innobase/buf/buf0lru.c Link Here
805
+	mutex_exit(&(buf_pool->LRU_mutex));
805
+	mutex_exit(&(buf_pool->LRU_mutex));
806
+	mutex_exit(&(buf_pool->flush_list_mutex));
806
+	mutex_exit(&(buf_pool->flush_list_mutex));
807
+	mutex_exit(&(buf_pool->free_mutex));
807
+	mutex_exit(&(buf_pool->free_mutex));
808
+	mutex_exit(&(buf_pool->hash_mutex));
808
+	rw_lock_x_unlock(&(buf_pool->hash_latch));
809
 	
809
 	
810
 	if (!all_freed) {
810
 	if (!all_freed) {
811
 		os_thread_sleep(20000);
811
 		os_thread_sleep(20000);
Lines 861-871 diff -r 2e0c46e78b50 innobase/buf/buf0lru.c Link Here
861
+
861
+
862
+			mutex_enter(&(buf_pool->LRU_mutex));/* optimistic */
862
+			mutex_enter(&(buf_pool->LRU_mutex));/* optimistic */
863
+
863
+
864
+			mutex_enter(&(buf_pool->hash_mutex));
864
+			rw_lock_x_lock(&(buf_pool->hash_latch));
865
+			mutex_enter(&block->mutex);
865
+			mutex_enter(&block->mutex);
866
+			if(block->in_LRU_list && buf_flush_ready_for_replace(block)) {
866
+			if(block->in_LRU_list && buf_flush_ready_for_replace(block)) {
867
 			buf_LRU_block_remove_hashed_page(block);
867
 			buf_LRU_block_remove_hashed_page(block);
868
+			mutex_exit(&(buf_pool->hash_mutex));
868
+			rw_lock_x_unlock(&(buf_pool->hash_latch));
869
 
869
 
870
-			mutex_exit(&(buf_pool->mutex));
870
-			mutex_exit(&(buf_pool->mutex));
871
+			mutex_exit(&(buf_pool->LRU_mutex));
871
+			mutex_exit(&(buf_pool->LRU_mutex));
Lines 889-895 diff -r 2e0c46e78b50 innobase/buf/buf0lru.c Link Here
889
+			} else { /* someone may interrupt...??? */
889
+			} else { /* someone may interrupt...??? */
890
+			mutex_exit(&(buf_pool->LRU_mutex));/* optimistic */
890
+			mutex_exit(&(buf_pool->LRU_mutex));/* optimistic */
891
+
891
+
892
+			mutex_exit(&(buf_pool->hash_mutex));
892
+			rw_lock_x_unlock(&(buf_pool->hash_latch));
893
+
893
+
894
+			if (!(block->in_LRU_list)) {
894
+			if (!(block->in_LRU_list)) {
895
+				mutex_exit(&block->mutex);
895
+				mutex_exit(&block->mutex);
Lines 951-956 diff -r 2e0c46e78b50 innobase/buf/buf0lru.c Link Here
951
 
951
 
952
 	if (!recv_recovery_on && UT_LIST_GET_LEN(buf_pool->free)
952
 	if (!recv_recovery_on && UT_LIST_GET_LEN(buf_pool->free)
953
 	   + UT_LIST_GET_LEN(buf_pool->LRU) < buf_pool->max_size / 20) {
953
 	   + UT_LIST_GET_LEN(buf_pool->LRU) < buf_pool->max_size / 20) {
954
@@ -409,7 +449,7 @@
955
 	/* If there is a block in the free list, take it */
956
 	if (UT_LIST_GET_LEN(buf_pool->free) > 0) {
957
 		
958
-		block = UT_LIST_GET_FIRST(buf_pool->free);
959
+		block = UT_LIST_GET_LAST(buf_pool->free);
960
 		ut_a(block->in_free_list);
961
 		UT_LIST_REMOVE(free, buf_pool->free, block);
962
 		block->in_free_list = FALSE;
954
@@ -437,7 +477,7 @@
963
@@ -437,7 +477,7 @@
955
 
964
 
956
 		mutex_exit(&block->mutex);
965
 		mutex_exit(&block->mutex);
Lines 1036-1042 diff -r 2e0c46e78b50 innobase/buf/buf0rea.c Link Here
1036
 	/* Count how many blocks in the area have been recently accessed,
1045
 	/* Count how many blocks in the area have been recently accessed,
1037
 	that is, reside near the start of the LRU list. */
1046
 	that is, reside near the start of the LRU list. */
1038
 
1047
 
1039
+	mutex_enter(&(buf_pool->hash_mutex));
1048
+	rw_lock_s_lock(&(buf_pool->hash_latch));
1040
 	for (i = low; i < high; i++) {
1049
 	for (i = low; i < high; i++) {
1041
 		block = buf_page_hash_get(space, i);
1050
 		block = buf_page_hash_get(space, i);
1042
 
1051
 
Lines 1044-1050 diff -r 2e0c46e78b50 innobase/buf/buf0rea.c Link Here
1044
 			recent_blocks++;
1053
 			recent_blocks++;
1045
 		}
1054
 		}
1046
 	}
1055
 	}
1047
+	mutex_exit(&(buf_pool->hash_mutex));
1056
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
1048
 
1057
 
1049
-	mutex_exit(&(buf_pool->mutex));
1058
-	mutex_exit(&(buf_pool->mutex));
1050
+	// mutex_exit(&(buf_pool->mutex));
1059
+	// mutex_exit(&(buf_pool->mutex));
Lines 1072-1078 diff -r 2e0c46e78b50 innobase/buf/buf0rea.c Link Here
1072
 
1081
 
1073
 	fail_count = 0;
1082
 	fail_count = 0;
1074
 
1083
 
1075
+	mutex_enter(&(buf_pool->hash_mutex));
1084
+	rw_lock_s_lock(&(buf_pool->hash_latch));
1076
 	for (i = low; i < high; i++) {
1085
 	for (i = low; i < high; i++) {
1077
 		block = buf_page_hash_get(space, i);
1086
 		block = buf_page_hash_get(space, i);
1078
 		
1087
 		
Lines 1080-1086 diff -r 2e0c46e78b50 innobase/buf/buf0rea.c Link Here
1080
 			pred_block = block;
1089
 			pred_block = block;
1081
 		}
1090
 		}
1082
 	}
1091
 	}
1083
+	mutex_exit(&(buf_pool->hash_mutex));
1092
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
1084
 
1093
 
1085
 	if (fail_count > BUF_READ_AHEAD_LINEAR_AREA -
1094
 	if (fail_count > BUF_READ_AHEAD_LINEAR_AREA -
1086
 			 BUF_READ_AHEAD_LINEAR_THRESHOLD) {
1095
 			 BUF_READ_AHEAD_LINEAR_THRESHOLD) {
Lines 1095-1106 diff -r 2e0c46e78b50 innobase/buf/buf0rea.c Link Here
1095
 	/* If we got this far, we know that enough pages in the area have
1104
 	/* If we got this far, we know that enough pages in the area have
1096
 	been accessed in the right order: linear read-ahead can be sensible */
1105
 	been accessed in the right order: linear read-ahead can be sensible */
1097
 
1106
 
1098
+	mutex_enter(&(buf_pool->hash_mutex));
1107
+	rw_lock_s_lock(&(buf_pool->hash_latch));
1099
 	block = buf_page_hash_get(space, offset);
1108
 	block = buf_page_hash_get(space, offset);
1100
 
1109
 
1101
 	if (block == NULL) {
1110
 	if (block == NULL) {
1102
-		mutex_exit(&(buf_pool->mutex));
1111
-		mutex_exit(&(buf_pool->mutex));
1103
+		mutex_exit(&(buf_pool->hash_mutex));
1112
+		rw_lock_s_unlock(&(buf_pool->hash_latch));
1104
 
1113
 
1105
 		return(0);
1114
 		return(0);
1106
 	}
1115
 	}
Lines 1109-1115 diff -r 2e0c46e78b50 innobase/buf/buf0rea.c Link Here
1109
 	succ_offset = fil_page_get_next(frame);
1118
 	succ_offset = fil_page_get_next(frame);
1110
 
1119
 
1111
-	mutex_exit(&(buf_pool->mutex));
1120
-	mutex_exit(&(buf_pool->mutex));
1112
+	mutex_exit(&(buf_pool->hash_mutex));
1121
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
1113
 	
1122
 	
1114
 	if ((offset == low) && (succ_offset == offset + 1)) {
1123
 	if ((offset == low) && (succ_offset == offset + 1)) {
1115
 
1124
 
Lines 1147-1153 diff -r 2e0c46e78b50 innobase/include/buf0buf.h Link Here
1147
 	mem_heap_t*	io_counter_heap;
1156
 	mem_heap_t*	io_counter_heap;
1148
 	ulint		io_counters;
1157
 	ulint		io_counters;
1149
 	hash_table_t*	page_hash;	/* hash table of the file pages */
1158
 	hash_table_t*	page_hash;	/* hash table of the file pages */
1150
+	mutex_t		hash_mutex;
1159
+	rw_lock_t	hash_latch;
1151
 
1160
 
1152
 	ulint		n_pend_reads;	/* number of pending read operations */
1161
 	ulint		n_pend_reads;	/* number of pending read operations */
1153
 
1162
 
Lines 1284-1295 diff -r 2e0c46e78b50 innobase/log/log0recv.c Link Here
1284
 	mtr_start(&mtr);
1293
 	mtr_start(&mtr);
1285
 
1294
 
1286
-	mutex_enter(&(buf_pool->mutex));
1295
-	mutex_enter(&(buf_pool->mutex));
1287
+	mutex_enter(&(buf_pool->hash_mutex));
1296
+	rw_lock_s_lock(&(buf_pool->hash_latch));
1288
 
1297
 
1289
 	page = buf_page_hash_get(space, page_no)->frame;
1298
 	page = buf_page_hash_get(space, page_no)->frame;
1290
 
1299
 
1291
-	mutex_exit(&(buf_pool->mutex));
1300
-	mutex_exit(&(buf_pool->mutex));
1292
+	mutex_exit(&(buf_pool->hash_mutex));
1301
+	rw_lock_s_unlock(&(buf_pool->hash_latch));
1293
 
1302
 
1294
 	replica = buf_page_get(space + RECV_REPLICA_SPACE_ADD, page_no,
1303
 	replica = buf_page_get(space + RECV_REPLICA_SPACE_ADD, page_no,
1295
 							RW_X_LATCH, &mtr);
1304
 							RW_X_LATCH, &mtr);
(-)a/1101_all_innodb_rw_lock-percona-5.0.75-b12.patch (-22 / +35 lines)
Lines 173-185 diff -r 962aec0d731c innobase/include/sync0rw.h Link Here
173
 /*================*/
173
 /*================*/
174
 	rw_lock_t*	lock);
174
 	rw_lock_t*	lock);
175
 UNIV_INLINE
175
 UNIV_INLINE
176
@@ -408,6 +418,11 @@
176
@@ -408,6 +418,17 @@
177
 	rw_lock_debug_t*	info);	/* in: debug struct */
177
 	rw_lock_debug_t*	info);	/* in: debug struct */
178
 #endif /* UNIV_SYNC_DEBUG */
178
 #endif /* UNIV_SYNC_DEBUG */
179
 
179
 
180
+#ifdef HAVE_ATOMIC_BUILTINS
180
+#ifdef HAVE_ATOMIC_BUILTINS
181
+/* This value means NOT_LOCKED */
181
+/* This value means NOT_LOCKED */
182
+#define RW_LOCK_BIAS		0x00100000
182
+#define RW_LOCK_BIAS		0x00100000
183
+#else
184
+#error HAVE_ATOMIC_BUILTINS is not defined. Do you use enough new GCC or compatibles?
185
+#error Or do you use exact options for CFLAGS?
186
+#error e.g. (for x86_32): "-m32 -march=i586 -mtune=i686"
187
+#error e.g. (for Sparc_64): "-m64 -mcpu=v9"
188
+#error Otherwise, this build may be slower than normal version.
183
+#endif
189
+#endif
184
+
190
+
185
 /* NOTE! The structure appears here only for the compiler to know its size.
191
 /* NOTE! The structure appears here only for the compiler to know its size.
Lines 1024-1030 diff -r 962aec0d731c innobase/sync/sync0rw.c Link Here
1024
 		/* If we get here, locking did not succeed, we may
1030
 		/* If we get here, locking did not succeed, we may
1025
 		suspend the thread to wait in the wait array */
1031
 		suspend the thread to wait in the wait array */
1026
 
1032
 
1027
@@ -281,9 +311,19 @@
1033
@@ -281,9 +311,26 @@
1028
 				file_name, line,
1034
 				file_name, line,
1029
 				&index);
1035
 				&index);
1030
 
1036
 
Lines 1039-1044 diff -r 962aec0d731c innobase/sync/sync0rw.c Link Here
1039
+				return; /* Success */
1045
+				return; /* Success */
1040
+			}
1046
+			}
1041
+		}
1047
+		}
1048
+
1049
+		/* If wait_ex_waiter stalls, wakes it. */
1050
+		if (lock->wait_ex_waiters && lock->lock_word == RW_LOCK_BIAS) {
1051
+			rw_lock_set_wx_waiters(lock, 0);
1052
+			os_event_set(lock->wait_ex_event);
1053
+			sync_array_object_signalled(sync_primary_wait_array);
1054
+		}
1042
+#else
1055
+#else
1043
 		mutex_exit(rw_lock_get_mutex(lock));
1056
 		mutex_exit(rw_lock_get_mutex(lock));
1044
+#endif
1057
+#endif
Lines 1095-1126 diff -r 962aec0d731c innobase/sync/sync0rw.c Link Here
1095
+	switch(rw_lock_get_writer(lock)) {
1108
+	switch(rw_lock_get_writer(lock)) {
1096
+	    case RW_LOCK_WAIT_EX:
1109
+	    case RW_LOCK_WAIT_EX:
1097
+		/* have right to try x-lock */
1110
+		/* have right to try x-lock */
1098
+		if (lock->lock_word == RW_LOCK_BIAS) {
1111
+retry_x_lock:
1099
+			/* try x-lock */
1112
+		/* try x-lock */
1100
+			if(__sync_sub_and_fetch(&(lock->lock_word),
1113
+		if(__sync_sub_and_fetch(&(lock->lock_word),
1101
+					RW_LOCK_BIAS) == 0) {
1114
+				RW_LOCK_BIAS) == 0) {
1102
+				/* success */
1115
+			/* success */
1103
+				lock->pass = pass;
1116
+			lock->pass = pass;
1104
+				lock->writer_is_wait_ex = FALSE;
1117
+			lock->writer_is_wait_ex = FALSE;
1105
+				__sync_fetch_and_add(&(lock->writer_count),1);
1118
+			__sync_fetch_and_add(&(lock->writer_count),1);
1106
+
1119
+
1107
+#ifdef UNIV_SYNC_DEBUG
1120
+#ifdef UNIV_SYNC_DEBUG
1108
+				rw_lock_remove_debug_info(lock, pass, RW_LOCK_WAIT_EX);
1121
+			rw_lock_remove_debug_info(lock, pass, RW_LOCK_WAIT_EX);
1109
+				rw_lock_add_debug_info(lock, pass, RW_LOCK_EX,
1122
+			rw_lock_add_debug_info(lock, pass, RW_LOCK_EX,
1110
+							file_name, line);
1123
+						file_name, line);
1111
+#endif
1124
+#endif
1112
+
1125
+
1113
+				lock->last_x_file_name = file_name;
1126
+			lock->last_x_file_name = file_name;
1114
+				lock->last_x_line = line;
1127
+			lock->last_x_line = line;
1115
+
1128
+
1116
+				/* Locking succeeded, we may return */
1129
+			/* Locking succeeded, we may return */
1117
+				return(RW_LOCK_EX);
1130
+			return(RW_LOCK_EX);
1118
+			} else {
1131
+		} else if(__sync_fetch_and_add(&(lock->lock_word),
1119
+				/* fail */
1132
+				RW_LOCK_BIAS) == 0) {
1120
+				__sync_fetch_and_add(&(lock->lock_word),
1133
+			/* retry x-lock */
1121
+					RW_LOCK_BIAS);
1134
+			goto retry_x_lock;
1122
+			}
1123
+		}
1135
+		}
1136
+
1124
+		/* There are readers, we have to wait */
1137
+		/* There are readers, we have to wait */
1125
+		return(RW_LOCK_WAIT_EX);
1138
+		return(RW_LOCK_WAIT_EX);
1126
+
1139
+

Return to bug 194561