Tree:
9f4859e78b
1-10.5-mdev-34687-binlog-corruption-warning
10-7.selectivity
10.0
10.0-galera
10.1
10.10
10.10-MDEV-16440
10.10-MDEV-28632-old-master-fix
10.10-merge-28798
10.10-spider-sts-demo
10.11
10.11-MDEV-16232
10.11-MDEV-16232-remove-unlock_row
10.11-MDEV-17846
10.11-MDEV-19574
10.11-MDEV-19749-orig
10.11-MDEV-21923-35049
10.11-MDEV-29445-MDEV-31956
10.11-MDEV-30073-R1
10.11-MDEV-31772
10.11-MDEV-31887-Wrong-result-with-split-optimization
10.11-MDEV-33515-spinflag
10.11-MDEV-33515-spinlock
10.11-MDEV-33894
10.11-MDEV-34575
10.11-MDEV-35420
10.11-MDEV-35673
10.11-MDEV-35815-use-after-poison_in_get_hash_symbol
10.11-MDEV-36410-review-input
10.11-MDEV-36787
10.11-MDEV-37056
10.11-MDEV-37136
10.11-MDEV-37138
10.11-MDEV-37195-fix
10.11-MDEV-37901-Wrong-result-for-QUICK_GROUP_MIN_MAX_SELECT_WITH-TIES
10.11-MDEV-37901-variant2
10.11-MDEV-5816
10.11-MDEV-5816-1
10.11-MDEV-5816-2
10.11-MDEV-MDEV-36962
10.11-mdev-31053-uuid-inet-size-not-allowed
10.11-mdev-35168-null-in-exists-clause
10.11-mdev-35739-linestring-intersection
10.11-mdev-35816-asan-print
10.11-mdev-35955-update-wrong-result
10.11-mdev-36389-indexed-text-column-wrong-result
10.11-mdev-37913
10.11-mdev9101
10.11-merge
10.11-merge-30430
10.11-monty
10.11-psergey-sel-before-fix1
10.11-psergey-sel-v1
10.11-ycp-demo
10.2
10.2-22179
10.2-MDEV-17603
10.2-MDEV-18838
10.2-MDEV-19129
10.2-MDEV-21039
10.2-MDEV-21910
10.2-MDEV-22110-dont-log-unmodified-pages
10.2-MDEV-23580
10.2-MDEV-24026
10.2-MDEV-24100
10.2-MDEV-24853
10.2-MDEV-24962-add
10.2-MDEV-24962-addendum
10.2-MDEV-24962-v5
10.2-MDEV-25114
10.2-MDEV-25768
10.2-MDEV-27355-rpl-ubsan
10.2-MDEV-28294-pre-exec
10.2-compatibility-build22257-opt-fixes
10.2-compatibility-debug
10.2-force_drop
10.2-spider-extra
10.2-sysprg-MDEV-21910
10.2-varun
10.2-vicentiu
10.2-wf
10.3
10.3-MDEV-11369
10.3-MDEV-20219
10.3-MDEV-21770
10.3-MDEV-22929-log_corrupted_pages
10.3-MDEV-23711-redo-log-overwrite
10.3-MDEV-24962
10.3-MDEV-28968-v2-galera
10.3-MENT-878
10.3-alter
10.3-fix-test-suite
10.3-varun
10.3-vicentiu
10.3-vicentiu-json-review
10.4
10.4-MDEV-14321
10.4-MDEV-14959
10.4-MDEV-17805
10.4-MDEV-20094
10.4-MDEV-22646
10.4-MDEV-22929-log_corrupted_pages
10.4-MDEV-23580
10.4-MDEV-23580-addendum
10.4-MDEV-23586-test-case
10.4-MDEV-23711-redo-log-overwrite
10.4-MDEV-24962
10.4-MDEV-29988-merge
10.4-MDEV-30073
10.4-MDEV-31005
10.4-SAMU-292
10.4-mdev-15562
10.4-mdev-21633
10.4-mdev22555
10.4-mdev30218-print-negative-gain
10.4-nikita-merge
10.4-opt_trace
10.4-sysprg-galera_3nodes
10.4-varun
10.4-vicentiu-feedback
10.4-vicentiu-histograms
10.4.20-midenok-samu-131
10.5
10.5-MDEV-11107
10.5-MDEV-13362
10.5-MDEV-15053
10.5-MDEV-15053-fixes
10.5-MDEV-17812
10.5-MDEV-18976-redolog-crc
10.5-MDEV-19165
10.5-MDEV-19229
10.5-MDEV-20153
10.5-MDEV-21452-old
10.5-MDEV-21951
10.5-MDEV-22023
10.5-MDEV-22554
10.5-MDEV-22922
10.5-MDEV-22929-log_corrupted_pages
10.5-MDEV-23580
10.5-MDEV-23711-redo-log-overwrite
10.5-MDEV-23766
10.5-MDEV-24962
10.5-MDEV-33927
10.5-MDEV-34266
10.5-MDEV-34372
10.5-MDEV-34433
10.5-MDEV-34938-wlad
10.5-MDEV-35299
10.5-MDEV-35694
10.5-MDEV-36017
10.5-circular-buffer
10.5-mdev-11588
10.5-mdev-18511
10.5-mdev-22104-psi-batch-assertion
10.5-mdev-23278
10.5-mdev-33616-safemalloc
10.5-mdev-34814
10.5-mdev-35583
10.5-mdev-35648
10.5-mdev-35847-wait-flag
10.5-mdev11563
10.5-mdev21784-reg1-vfuncs
10.5-mdev21829
10.5-mdev21829-unique-interface
10.5-mdev21955
10.5-mdev22011
10.5-mdev22119
10.5-mdev22303
10.5-mdev22509
10.5-mdev6915
10.5-mdev7317
10.5-mdev8306
10.5-mdev8306-2
10.5-mdev9750
10.5-merge-30430
10.5-nikita-MDEV-15990
10.5-olter-v3
10.5-olter-v4
10.5-order_by_limit
10.5-pclmul
10.5-s3-minio
10.5-varun
10.5-varun2
10.5-windows-afunix
10.5-wlad-tp-fibers
10.5.9-recoveryfix
10.56-MDEV-30986
10.6
10.6-4991
10.6-MDEV-16437
10.6-MDEV-16708-1
10.6-MDEV-19574
10.6-MDEV-21130-M4-notes
10.6-MDEV-22929-log_corrupted_pages
10.6-MDEV-23580
10.6-MDEV-23711-redo-log-overwrite
10.6-MDEV-24035
10.6-MDEV-24071
10.6-MDEV-24962
10.6-MDEV-25607-mergefix
10.6-MDEV-25899
10.6-MDEV-28607-rr-backup
10.6-MDEV-28621-no-elimination
10.6-MDEV-28968-galera
10.6-MDEV-30363
10.6-MDEV-30536-galera
10.6-MDEV-31949-gtid_prepare_fail_paths
10.6-MDEV-31949-ver0_andrei
10.6-MDEV-31949-xlle
10.6-MDEV-32175
10.6-MDEV-32242
10.6-MDEV-33796-deadlock_in_subqueries_join
10.6-MDEV-33966
10.6-MDEV-34057
10.6-MDEV-34431
10.6-MDEV-34489
10.6-MDEV-34608
10.6-MDEV-34670
10.6-MDEV-34822-galera
10.6-MDEV-34877
10.6-MDEV-35049
10.6-MDEV-35171
10.6-MDEV-35813
10.6-MDEV-36180
10.6-MDEV-36281
10.6-MDEV-36290
10.6-MDEV-36290-bnestere-additions
10.6-MDEV-37771
10.6-MDEV-38041
10.6-clang-cl
10.6-elenst
10.6-limit
10.6-mdev-10825
10.6-mdev-20250-hf
10.6-mdev-33816
10.6-mdev-35587
10.6-mdev-35765-st_overlaps-wrong-result
10.6-mdev21130-refactor
10.6-mdev21829
10.6-mdev22360
10.6-mdev7317
10.6-mdev8306
10.6-merge
10.6-order_by_limit
10.6-selectivity
10.6-semisync-test
10.6-timestamp
10.6-varun
10.6-vatu
10.6-vlesin-cta
10.6-wlad-purge
10.6.5-MDEV-36472-revert-MDEV-26356
10.7
10.7-mdev-29514
10.7-selectivity
10.7-selectivity-old
10.7-vicentiu-selectivity
10.7-wlad-async-log-io
10.8
10.8-selectivity
10.9
10.9-MDEV-16232
10.9-MDEV-5816
10.9-merge-30430
10.9-wlad
11.0
11.0-MDEV-26603
11.0-MDEV-27293
11.0-MDEV-30889
11.0-MDEV-34156
11.1
11.2
11.2-mdev-35046
11.2-nikita-optimizations
11.3
11.3-MDEV-21322-bnestere
11.3-MDEV-33465-mergefix
11.4
11.4-MDEV-21510-optimizer_trace_should_show_the_index_name
11.4-MDEV-31740
11.4-MDEV-33465-mergefix
11.4-MDEV-34431
11.4-MDEV-35398
11.4-MDEV-35905
11.4-MDEV-36096-partial_join_cost_assertion_failure
11.4-MDEV-36301
11.4-MDEV-36304
11.4-MDEV-36463-rename-expression_cache-to-subquery_cache
11.4-MDEV-36761-all-nulls
11.4-MDEV-36761-all-nulls-v2
11.4-MDEV-36861
11.4-MDEV-37244-spincontrol
11.4-MDEV-37412
11.4-MDEV-37723
11.4-MDEV-37843
11.4-MDEV-37907-new-mode
11.4-MDEV-new-mode-v2
11.4-bar
11.4-compatibility-new
11.4-macos-test-exclusion-mechanism
11.4-mdev-32777
11.4-mdev-33652
11.4-mdev-36389-indexed-text-column-wrong-result
11.4-mdev-37771-pseudo-slave
11.4-midenok-mysqltest
11.4-wlad
11.4-wlad-rebase
11.4-wlad-winarm64-ci
11.5
11.5-MDEV-33924
11.5-bar-MDEV-33281
11.6
11.6-MDEV-21322
11.6-MDEV-34179
11.6-MDEV-34551
11.7
11.7-MDEV-33756
11.7-mdev-35126-gis-wrong-result
11.7-mdev-35126-hf
11.8
11.8-MDEV-19574
11.8-MDEV-28730
11.8-MDEV-34703-followup
11.8-MDEV-35155
11.8-MDEV-37784
11.8-MDEV-37874
11.8-MDEV-37875
11.8-mdev-35510-asan-bootstrap-crash
11.8-mdev-35739-linestring-intersection
11.8-mdev-35848
11.8-mdev-36389-indexed-text-column-wrong-result
11.8-mdev-37029-vcol-row-in
11.8-mdev-38003-multi-delete-repl-failure
11.8-monty-MDEV-25292
11.8-sn
11.8-sn-av
11.8-sn-av2
11.8-wsrep-schema
12.0
12.0-MDEV-22250
12.0-mdev-36125-index-merge-hint-cleaner
12.0-nikita-global-tmp
12.1
12.1-MDEV-30645
12.1-MDEV-30645-1
12.1-MDEV-35617
12.1-MDEV-36483-dump-ddls-of-tables-views
12.1-MDEV-36511-dump-basic-statistics
12.1-MDEV-36511-dump-basic-statistics-review-input
12.1-MDEV-36511-review-input
12.1-MDEV-37207-dump-ddls-of-tables-for-multi-delete-doesnot-work
12.1-MDEV-37207-multi-delete-v2
12.2
12.2-MDEV-36523-load-basic-stats-back
12.2-MDEV-36523-load-basic-stats-back-review-input
12.2-MDEV-36523-load-basic-stats-back-review-input-2
12.2-MDEV-37220
12.2-MDEV-37789-mdev-35046
12.2-MDEV-37936-v2
12.2-mdev-36813-full-outer-join
12.2-mdev-37260-milestones-one-two-review-input
12.2-mdev-37260-qb-implict-names
12.3-MDEV-36761-new-mode
12.3-MDEV-37932-full-outer-join-syntax
12.3-MDEV-37933-outer-to-left-right-or-inner
12.3-MDEV-37995-name-resolution
12.3-MDEV-38045-impl-qb-name
12.3-MDEV-38136-table-elimination
12.3-mdev-38120-create-sql_json_lib-file
5.5
5.5-galera
DebuggingStuff
FUNDING_yml
MDEV-24176/10.3_old
MDEV-24298
MDEV-24676_cpp
MDEV-25674.ulong
MDEV-28302
MDEV-28926-query-optimizer-json
MDEV-29770/rm_table_variation
MDEV-31740
MDEV-32067
MDEV-32294-Work_In_Progress
MDEV-32551-bnestere
MDEV-34431
MDEV-35519
MDEV-35665
MDEV-35879
MDEV-36089-rowid-flt-v2
MDEV-36234-wlad
MDEV-36301
MDEV-36733-minimal
MDEV-36812
MDEV-36885
MDEV-37115
MDEV-37146
MDEV-37316
MDEV-37530
MDEV-37566
MDEV-37949
MDEV-38029
MDEV-38126
MDEV-4698
MDEV-742-xa_repl
a_simple_question
abychko-10.5-MDEV-26265
atomic
bb-10.10-MDEV-16329
bb-10.10-MDEV-16440
bb-10.10-MDEV-16440-test
bb-10.10-MDEV-23287
bb-10.10-MDEV-27902
bb-10.10-MDEV-28522
bb-10.10-MDEV-28542
bb-10.10-MDEV-28564
bb-10.10-MDEV-28632
bb-10.10-MDEV-28632-review
bb-10.10-MDEV-28656-galera
bb-10.10-MDEV-28771
bb-10.10-MDEV-28817
bb-10.10-MDEV-28869
bb-10.10-MDEV-28881
bb-10.10-MDEV-28883
bb-10.10-MDEV-28930
bb-10.10-MDEV-29021
bb-10.10-MDEV-29181
bb-10.10-MDEV-29947
bb-10.10-MDEV-29989
bb-10.10-MDEV-31173-galera
bb-10.10-MDEV-31757
bb-10.10-MDEV-32453
bb-10.10-MDEV-32726
bb-10.10-all-builders
bb-10.10-andrei
bb-10.10-anel-rpl_fix_assertion
bb-10.10-bar-uca
bb-10.10-buildpass
bb-10.10-columnstore
bb-10.10-danielblack-uca-dump-in-deb
bb-10.10-ddl-nikita
bb-10.10-elenst
bb-10.10-igor
bb-10.10-jan-test
bb-10.10-jan-test2
bb-10.10-marko
bb-10.10-mdev-27575
bb-10.10-mdev-27912
bb-10.10-mdev-28739
bb-10.10-mdev-28883
bb-10.10-mdev-29447
bb-10.10-mdev-29447-31338
bb-10.10-mdev-29502
bb-10.10-mdev-31117
bb-10.10-mdev-31117-merge
bb-10.10-mdev-31400
bb-10.10-mdev-31421
bb-10.10-mdev-31524
bb-10.10-mdev-31787
bb-10.10-mdev-31936
bb-10.10-mdev-31996
bb-10.10-mdev-32046
bb-10.10-mdev-32157
bb-10.10-mdev-32515-bootstrap
bb-10.10-mdev-32559
bb-10.10-mdev-32559-failure-demo
bb-10.10-mdev-32753
bb-10.10-mdev-7487
bb-10.10-mdev28929-v4
bb-10.10-midenok
bb-10.10-midenok-MDEV-20865
bb-10.10-midenok-MDEV-27180
bb-10.10-monty
bb-10.10-nikita
bb-10.10-release-fixssl
bb-10.10-release-rucha
bb-10.10-release-spider-fix
bb-10.10-release-ssl
bb-10.10-serg
bb-10.10-spetrunia
bb-10.10-spetrunia2
bb-10.10-spetrunia3
bb-10.10-ycp
bb-10.10-ycp-mdev-32485
bb-10.10-ycp-spider
bb-10.11-MDEV-16232
bb-10.11-MDEV-20586
bb-10.11-MDEV-24670-memory-pressure
bb-10.11-MDEV-26715
bb-10.11-MDEV-27871
bb-10.11-MDEV-27871-MDEV-31933
bb-10.11-MDEV-28522
bb-10.11-MDEV-28526
bb-10.11-MDEV-28602-wrong-result-with-outer-join-merged-derived-table-and-view
bb-10.11-MDEV-28883
bb-10.11-MDEV-28883-MDEV-29390-tests
bb-10.11-MDEV-29104
bb-10.11-MDEV-29360
bb-10.11-MDEV-29445-ahi-35049
bb-10.11-MDEV-29624
bb-10.11-MDEV-29638
bb-10.11-MDEV-29638-variant2
bb-10.11-MDEV-29638-variant3
bb-10.11-MDEV-29971
bb-10.11-MDEV-30073-8.2
bb-10.11-MDEV-30073-MDEV-32294
bb-10.11-MDEV-30136
bb-10.11-MDEV-30260-mergefix
bb-10.11-MDEV-30406
bb-10.11-MDEV-30411-time-side-by-size
bb-10.11-MDEV-30629
bb-10.11-MDEV-30822-galera
bb-10.11-MDEV-31887-Wrong-result-with-split-optimization
bb-10.11-MDEV-32898-pkgtest
bb-10.11-MDEV-33189
bb-10.11-MDEV-33480
bb-10.11-MDEV-33551-mergefix
bb-10.11-MDEV-33672-mergefix
bb-10.11-MDEV-33799-mergefix
bb-10.11-MDEV-33921-mergefix
bb-10.11-MDEV-33967-handersocket-binlog-pkgtest
bb-10.11-MDEV-34081
bb-10.11-MDEV-34191-systemd-disable-pkgtest
bb-10.11-MDEV-34348-merge-fix
bb-10.11-MDEV-34899
bb-10.11-MDEV-35049
bb-10.11-MDEV-35049-rebase
bb-10.11-MDEV-35072
bb-10.11-MDEV-35673
bb-10.11-MDEV-36319
bb-10.11-MDEV-36592
bb-10.11-MDEV-36765
bb-10.11-MDEV-37680-danblack-pkgtest
bb-10.11-MDEV-37710
bb-10.11-MDEV-5816
bb-10.11-MDEV-7487
bb-10.11-MDEV-7487-MDEV-29390-tests
bb-10.11-MDEV-7487-rebased
bb-10.11-MDEV-7487-rebased-against-11.0
bb-10.11-MDEV-7487-rebased-against-11.0-MDEV-29390-test
bb-10.11-MDEV-7487-rebased-against-11.0-MDEV-29390-test-2
bb-10.11-all-builders
bb-10.11-andrei
bb-10.11-appveyor-fix
bb-10.11-bar
bb-10.11-bar-MDEV-28767
bb-10.11-bar-MDEV-33392
bb-10.11-bar-MDEV-35427
bb-10.11-bar-MDEV-35468
bb-10.11-bar-MDEV-35538
bb-10.11-bar-MDEV-MDEV-35427
bb-10.11-bar-ts-with-tz
bb-10.11-bumpversion
bb-10.11-danblack-MDEV-35904-pkgtest
bb-10.11-danielblack-MDEV-24377-pr2009
bb-10.11-danielblack-MDEV-30205-usr-share-mariadb
bb-10.11-elenst
bb-10.11-fix-rocksdb
bb-10.11-fix-sql-command-flags
bb-10.11-georg
bb-10.11-hashicorp-fixes
bb-10.11-igor
bb-10.11-julius
bb-10.11-julius-galera
bb-10.11-knielsen
bb-10.11-libfmt
bb-10.11-lock-wait-galera
bb-10.11-mdev-22168-hf
bb-10.11-mdev-22979
bb-10.11-mdev-26137
bb-10.11-mdev-26178
bb-10.11-mdev-26247
bb-10.11-mdev-27260
bb-10.11-mdev-27419
bb-10.11-mdev-27419-demo
bb-10.11-mdev-27438-debug
bb-10.11-mdev-27575
bb-10.11-mdev-27912
bb-10.11-mdev-28739
bb-10.11-mdev-29447-31338
bb-10.11-mdev-29502
bb-10.11-mdev-29535
bb-10.11-mdev-29800-hf
bb-10.11-mdev-31117
bb-10.11-mdev-31400
bb-10.11-mdev-31421
bb-10.11-mdev-31516
bb-10.11-mdev-31524
bb-10.11-mdev-31721
bb-10.11-mdev-31787
bb-10.11-mdev-31788
bb-10.11-mdev-31850
bb-10.11-mdev-31996
bb-10.11-mdev-32157
bb-10.11-mdev-32238
bb-10.11-mdev-32524
bb-10.11-mdev-32559
bb-10.11-mdev-32804
bb-10.11-mdev-32986
bb-10.11-mdev-33539
bb-10.11-mdev-34064-ycp-demo
bb-10.11-mdev-34421
bb-10.11-mdev-35249-revert
bb-10.11-mdev-35330
bb-10.11-mdev-35622
bb-10.11-mdev-35807
bb-10.11-mdev-35856
bb-10.11-mdev-36230
bb-10.11-mdev-36325
bb-10.11-mdev-37252
bb-10.11-mdev-37568
bb-10.11-mdev-37682
bb-10.11-mdev16253-OLD-update-rocksdb-6.29fb
bb-10.11-mdev16253-update-rocksdb-6.29fb
bb-10.11-mdev31577
bb-10.11-mdev31577-v2
bb-10.11-merge
bb-10.11-midenok
bb-10.11-midenok-MDEV-20865
bb-10.11-midenok-MDEV-25292
bb-10.11-midenok-MDEV-25292-fixes
bb-10.11-midenok-MDEV-27180
bb-10.11-midenok-MDEV-37325
bb-10.11-midenok-MDEV-4991
bb-10.11-midenok2
bb-10.11-midenok3
bb-10.11-monty
bb-10.11-monty-merge
bb-10.11-monty2
bb-10.11-monty3
bb-10.11-new-innodb-defaults
bb-10.11-new-innodb-julius
bb-10.11-next-serg
bb-10.11-nikita
bb-10.11-no-capabilities-pkgtest
bb-10.11-oalter
bb-10.11-partexp-hf
bb-10.11-release
bb-10.11-release-spider-fixup
bb-10.11-rucha
bb-10.11-selectivity
bb-10.11-selectivity-rebase-nov
bb-10.11-selectivity-v1
bb-10.11-serg
bb-10.11-spetrunia
bb-10.11-spetrunia-tmp
bb-10.11-thiru
bb-10.11-tmp
bb-10.11-vicentiu-cleanups
bb-10.11-vicentiu-osx
bb-10.11-wlad
bb-10.11-wlad-MDEV-26714
bb-10.11-wlad-MDEV-29251
bb-10.11-wlad-aws-sdk
bb-10.11-ycp
bb-10.11-ycp-spider
bb-10.11.11-mdev16253-rocksdb-6.29fb
bb-10.11.7-todo-4858
bb-10.12-MDEV-28891
bb-10.12-MDEV-29269
bb-10.1_MDEV-14014
bb-10.2-14472
bb-10.2-25709
bb-10.2-27snc1
bb-10.2-KILL-as-TOI-galera
bb-10.2-MDEV-13569
bb-10.2-MDEV-14183-aria_pack
bb-10.2-MDEV-14938
bb-10.2-MDEV-16128
bb-10.2-MDEV-16664
bb-10.2-MDEV-17062
bb-10.2-MDEV-17323
bb-10.2-MDEV-17943
bb-10.2-MDEV-181777
bb-10.2-MDEV-18215-unknown-backup-options
bb-10.2-MDEV-18464
bb-10.2-MDEV-18546-nikita
bb-10.2-MDEV-18565
bb-10.2-MDEV-18838
bb-10.2-MDEV-18874
bb-10.2-MDEV-19129
bb-10.2-MDEV-19344
bb-10.2-MDEV-19741
bb-10.2-MDEV-19746
bb-10.2-MDEV-19950
bb-10.2-MDEV-20194-CHECK-row-size
bb-10.2-MDEV-20516
bb-10.2-MDEV-20787
bb-10.2-MDEV-20928
bb-10.2-MDEV-21039
bb-10.2-MDEV-21050-isnan-isinf-isfinite-ported
bb-10.2-MDEV-21335
bb-10.2-MDEV-21601
bb-10.2-MDEV-21618
bb-10.2-MDEV-21681-page-LSN-doesnt-match-cb
bb-10.2-MDEV-21758
bb-10.2-MDEV-21770
bb-10.2-MDEV-21910
bb-10.2-MDEV-21951
bb-10.2-MDEV-22021
bb-10.2-MDEV-22110-dont-log-unmodified-pages
bb-10.2-MDEV-22398-innodb_xa_rollback-fails
bb-10.2-MDEV-22543
bb-10.2-MDEV-22554-ib_error_flag
bb-10.2-MDEV-22726-aria-non-trans-log
bb-10.2-MDEV-22810-open_files_limit
bb-10.2-MDEV-22929-log_corrupted_pages
bb-10.2-MDEV-23101
bb-10.2-MDEV-23483
bb-10.2-MDEV-23484
bb-10.2-MDEV-23500
bb-10.2-MDEV-23536
bb-10.2-MDEV-23564
bb-10.2-MDEV-23600
bb-10.2-MDEV-23711-redo-log-overwrite
bb-10.2-MDEV-23746
bb-10.2-MDEV-23851
bb-10.2-MDEV-23857
bb-10.2-MDEV-23888
bb-10.2-MDEV-23925
bb-10.2-MDEV-23926
bb-10.2-MDEV-24169
bb-10.2-MDEV-24240
bb-10.2-MDEV-24443
bb-10.2-MDEV-24704
bb-10.2-MDEV-24719-last-skipped-lsn-check
bb-10.2-MDEV-24837
bb-10.2-MDEV-24853
bb-10.2-MDEV-24903
bb-10.2-MDEV-24978
bb-10.2-MDEV-25114
bb-10.2-MDEV-25114-galera-v2
bb-10.2-MDEV-25114-planE-galera
bb-10.2-MDEV-25302
bb-10.2-MDEV-25328
bb-10.2-MDEV-25328-plus-spaces
bb-10.2-MDEV-25328-plus-tests
bb-10.2-MDEV-25328-v2
bb-10.2-MDEV-25328-v3
bb-10.2-MDEV-25328-v4
bb-10.2-MDEV-25472
bb-10.2-MDEV-25607
bb-10.2-MDEV-25609
bb-10.2-MDEV-25768
bb-10.2-MDEV-25818
bb-10.2-MDEV-25994
bb-10.2-MDEV-26015
bb-10.2-MDEV-26064-galera
bb-10.2-MDEV-26127
bb-10.2-MDEV-26145
bb-10.2-MDEV-26377-final
bb-10.2-MDEV-26668-schema-mismatch
bb-10.2-MDEV-27025-MDEV-20605
bb-10.2-MDEV-27109
bb-10.2-MDEV-27148-mysqltest-reject
bb-10.2-MDEV-27181
bb-10.2-MDEV-27289-server-embedded-mtr
bb-10.2-MDEV-27462
bb-10.2-MDEV-27524-final
bb-10.2-MDEV-27575
bb-10.2-MDEV-27602
bb-10.2-MDEV-27602-mtr
bb-10.2-MDEV-27740-final
bb-10.2-MDEV-277400
bb-10.2-MDEV-27850
bb-10.2-MDEV-28294
bb-10.2-MDEV-28530
bb-10.2-MDEV26113
bb-10.2-Stepan-fixes
bb-10.2-alice
bb-10.2-anel-MDEV-1448-ctrlc
bb-10.2-comment-hf
bb-10.2-compatibility
bb-10.2-compatibility-build22257-opt-fixes
bb-10.2-compatibility-deadlock
bb-10.2-cpack_rpm-exclude-mysql-test-from-debuginfo
bb-10.2-daniel-getopt-sets-readable-output
bb-10.2-danielblack-MDEV-15393-skip-mysql.gtid_slave_pos-with-master-data
bb-10.2-danielblack-MDEV-16263-mysql_client_test-non-mtr-run
bb-10.2-danielblack-MDEV-21286-remove-bison-warnings
bb-10.2-danielblack-MDEV-23326-timezone-initialization-slow-on-aria
bb-10.2-danielblack-MDEV-24268-mtr-mysql_install_db
bb-10.2-danielblack-MDEV-26363
bb-10.2-danielblack-MDEV-28597-aria-double-free
bb-10.2-elenst
bb-10.2-ext2
bb-10.2-galera
bb-10.2-galera-jan
bb-10.2-group-min-max
bb-10.2-hf
bb-10.2-igor
bb-10.2-jan
bb-10.2-kevgs
bb-10.2-mariabackup-pwd
bb-10.2-mariabackup-remove-nolock
bb-10.2-mariarocks
bb-10.2-mariarocks-merge-pre
bb-10.2-mdev-13626
bb-10.2-mdev-26111
bb-10.2-mdev-26127
bb-10.2-mdev11934
bb-10.2-mdev13153
bb-10.2-mdev13330
bb-10.2-mdev13355
bb-10.2-mdev15245
bb-10.2-mdev16428
bb-10.2-mdev19608
bb-10.2-mdev20371
bb-10.2-mdev22779
bb-10.2-mdev25447
bb-10.2-mdev26047
bb-10.2-mdev26047-v2
bb-10.2-mdev9750
bb-10.2-midenok
bb-10.2-midenok-MDEV-20874
bb-10.2-midenok-MDEV-25794
bb-10.2-midenok-innodb
bb-10.2-midenok-tmp
bb-10.2-monty
bb-10.2-nikita
bb-10.2-nikita-MDEV-26205
bb-10.2-nikita-MDEV-26508
bb-10.2-psergey
bb-10.2-ramesh
bb-10.2-release-fix-mdev23811
bb-10.2-robert
bb-10.2-sachin
bb-10.2-semisync
bb-10.2-semisync_ali
bb-10.2-serg
bb-10.2-spider-extra-jacob
bb-10.2-ssl
bb-10.2-sujatha
bb-10.2-svoj
bb-10.2-sysprg
bb-10.2-varun
bb-10.2-vicentiu
bb-10.2-vicentiu-mdev-17964
bb-10.2-vicentiu3
bb-10.2.32-22529-22456
bb-10.2.36-MDEV-24449-MDEV-24709
bb-10.2.4-spider-extra-jacob
bb-10.2.7
bb-10.2gr
bb-10.3-10.3.23-MDEV-21109-wrong-page-no
bb-10.3-10.3.23-MDEV-22929
bb-10.3-16272
bb-10.3-17390
bb-10.3-20574
bb-10.3-21265
bb-10.3-KILL-as-TOI-galera
bb-10.3-MDEV-14500
bb-10.3-MDEV-14642
bb-10.3-MDEV-14959
bb-10.3-MDEV-14959.version
bb-10.3-MDEV-15058
bb-10.3-MDEV-15058-2
bb-10.3-MDEV-15447
bb-10.3-MDEV-16128
bb-10.3-MDEV-16246
bb-10.3-MDEV-16951
bb-10.3-MDEV-17516
bb-10.3-MDEV-18546-nikita
bb-10.3-MDEV-19415
bb-10.3-MDEV-19845
bb-10.3-MDEV-20100
bb-10.3-MDEV-20485
bb-10.3-MDEV-21027
bb-10.3-MDEV-21109-wrong-page-no
bb-10.3-MDEV-21117
bb-10.3-MDEV-21601
bb-10.3-MDEV-21770
bb-10.3-MDEV-21770-v2
bb-10.3-MDEV-21910
bb-10.3-MDEV-22543
bb-10.3-MDEV-23101
bb-10.3-MDEV-23483
bb-10.3-MDEV-23536
bb-10.3-MDEV-23851
bb-10.3-MDEV-24283
bb-10.3-MDEV-24387
bb-10.3-MDEV-25114
bb-10.3-MDEV-25609
bb-10.3-MDEV-26064-galera
bb-10.3-MDEV-26171-galera
bb-10.3-MDEV-26247
bb-10.3-MDEV-26633
bb-10.3-MDEV-26831-fallout
bb-10.3-MDEV-26915-galera
bb-10.3-MDEV-27524-tests
bb-10.3-MDEV-27575
bb-10.3-MDEV-28599
bb-10.3-MDEV-28656-galera
bb-10.3-MDEV-28669-galera
bb-10.3-MDEV-28739
bb-10.3-MDEV-28758
bb-10.3-MDEV-28758-galera
bb-10.3-MDEV-28798
bb-10.3-MDEV-28968-galera
bb-10.3-MDEV-29294
bb-10.3-MDEV-29433-lock_delete_updated
bb-10.3-MDEV-29644
bb-10.3-MDEV-30052-variant2
bb-10.3-MDEV-30157-galera
bb-10.3-MDEV-30608
bb-10.3-MDEV-31668
bb-10.3-TODO-3498-custom-galera
bb-10.3-abychko
bb-10.3-andrei
bb-10.3-anel-PR796
bb-10.3-bar-MDEV-9777
bb-10.3-cpp11
bb-10.3-danielblack-MDEV-16194-pkgtest-remove-offset
bb-10.3-danielblack-MDEV-18702
bb-10.3-danielblack-MDEV-24268-mtr-mysql_install_db
bb-10.3-danielblack-MDEV-27008-aarch-atomics
bb-10.3-danielblack-MDEV-29015-my_seek-avoid-wsl8443
bb-10.3-danielblack-alloca_h_service-pkgtest
bb-10.3-danielblack-rocksdb-featureinfo
bb-10.3-elenst
bb-10.3-findgssapi
bb-10.3-galera
bb-10.3-georg
bb-10.3-hf
bb-10.3-hf-2
bb-10.3-igor
bb-10.3-jani
bb-10.3-kevgs
bb-10.3-mariarocks
bb-10.3-mdev-24523
bb-10.3-mdev-26247
bb-10.3-mdev-26364
bb-10.3-mdev-26544_3
bb-10.3-mdev-27912
bb-10.3-mdev-29447
bb-10.3-mdev-29447-wip
bb-10.3-mdev-30464
bb-10.3-mdev12179
bb-10.3-mdev15101
bb-10.3-mdev17518
bb-10.3-mdev20109
bb-10.3-mdev21603
bb-10.3-mdev22866
bb-10.3-mdev26249
bb-10.3-mdev26337
bb-10.3-mdev26337-v1
bb-10.3-midenok
bb-10.3-midenok-MDEV-18706
bb-10.3-midenok-MDEV-21138
bb-10.3-midenok-MDEV-28931
bb-10.3-midenok2
bb-10.3-monty
bb-10.3-nikita
bb-10.3-nikita-mdev-24511
bb-10.3-nikita-old
bb-10.3-ramesh
bb-10.3-robert
bb-10.3-sachin
bb-10.3-sachin-rpl
bb-10.3-sachin-tmp
bb-10.3-serg
bb-10.3-spetrunia
bb-10.3-spider
bb-10.3-sujatha
bb-10.3-svoj
bb-10.3-sysprg
bb-10.3-sysprg-vcheck
bb-10.3-varun
bb-10.3-vicentiu
bb-10.3-vicentiu-dtoa
bb-10.3-vicentiu-json-review
bb-10.3-vicentiu-tmp-table
bb-10.3-vicentiu-travis
bb-10.3-vicentiu-travis2
bb-10.3.10-mdev21243
bb-10.3.11-xtrabackup_copy_logfile_failed-MDEV-18611
bb-10.3.16-MDEV-21109-wrong-page-no-assert
bb-10.3.16-MDEV-21109-wrong-page-no-log
bb-10.3.16-xtrabackup_copy_logfile_failed-MDEV-18611-dev
bb-10.3.17-MDEV-21109-wrong-page-no
bb-10.3.21-MDEV-21109-wrong-page-no-log
bb-10.4-10.4.14-MDEV-23711-redo-log-overwrite
bb-10.4-19049
bb-10.4-20131
bb-10.4-20574
bb-10.4-23089
bb-10.4-29882-galera
bb-10.4-31361-v3
bb-10.4-7409
bb-10.4-KILL-as-TOI-galera
bb-10.4-MDEV-13915
bb-10.4-MDEV-14101
bb-10.4-MDEV-15703-1
bb-10.4-MDEV-16249
bb-10.4-MDEV-16462
bb-10.4-MDEV-17520
bb-10.4-MDEV-17520-2
bb-10.4-MDEV-17571
bb-10.4-MDEV-17591
bb-10.4-MDEV-17943
bb-10.4-MDEV-18215-post-push-fix
bb-10.4-MDEV-18215-unknown-backup-options
bb-10.4-MDEV-18215-unknown-backup-options-2
bb-10.4-MDEV-18477
bb-10.4-MDEV-18565
bb-10.4-MDEV-18726
bb-10.4-MDEV-18973
bb-10.4-MDEV-18990
bb-10.4-MDEV-18994
bb-10.4-MDEV-19002
bb-10.4-MDEV-19003
bb-10.4-MDEV-19129
bb-10.4-MDEV-19190-nayuta
bb-10.4-MDEV-19210-environment-file-pkgtest
bb-10.4-MDEV-19520
bb-10.4-MDEV-19781
bb-10.4-MDEV-19803
bb-10.4-MDEV-19950
bb-10.4-MDEV-20100
bb-10.4-MDEV-20185
bb-10.4-MDEV-20230-ftwrl-wait-timeout
bb-10.4-MDEV-20494
bb-10.4-MDEV-20502
bb-10.4-MDEV-20793
bb-10.4-MDEV-20848
bb-10.4-MDEV-21007
bb-10.4-MDEV-21153
bb-10.4-MDEV-21335
bb-10.4-MDEV-21483
bb-10.4-MDEV-21675
bb-10.4-MDEV-21905-v2-galera
bb-10.4-MDEV-21910-v2
bb-10.4-MDEV-22021
bb-10.4-MDEV-22055
bb-10.4-MDEV-22063-galera
bb-10.4-MDEV-22203
bb-10.4-MDEV-22494
bb-10.4-MDEV-22596
bb-10.4-MDEV-22632
bb-10.4-MDEV-22666
bb-10.4-MDEV-22979
bb-10.4-MDEV-22983--option-help
bb-10.4-MDEV-23081
bb-10.4-MDEV-23101
bb-10.4-MDEV-23384
bb-10.4-MDEV-23483
bb-10.4-MDEV-23536
bb-10.4-MDEV-23557
bb-10.4-MDEV-23766
bb-10.4-MDEV-23851
bb-10.4-MDEV-23878
bb-10.4-MDEV-24119
bb-10.4-MDEV-24165
bb-10.4-MDEV-24255
bb-10.4-MDEV-24485
bb-10.4-MDEV-24596
bb-10.4-MDEV-24688
bb-10.4-MDEV-24912-postfix-galera
bb-10.4-MDEV-24964
bb-10.4-MDEV-24978
bb-10.4-MDEV-25047
bb-10.4-MDEV-25089-galera
bb-10.4-MDEV-25114
bb-10.4-MDEV-25869
bb-10.4-MDEV-26171-post-merge
bb-10.4-MDEV-26294-instant-alter-charset
bb-10.4-MDEV-26562-galera
bb-10.4-MDEV-27038-ro-mounts-pkgtest
bb-10.4-MDEV-27233
bb-10.4-MDEV-27233-2
bb-10.4-MDEV-27233-hf
bb-10.4-MDEV-27238
bb-10.4-MDEV-27260
bb-10.4-MDEV-27624
bb-10.4-MDEV-28294
bb-10.4-MDEV-28294-merge
bb-10.4-MDEV-28314
bb-10.4-MDEV-28377
bb-10.4-MDEV-28598
bb-10.4-MDEV-28621
bb-10.4-MDEV-28621-no-remove-unit
bb-10.4-MDEV-28621-reference-counter
bb-10.4-MDEV-28622
bb-10.4-MDEV-28641-galera
bb-10.4-MDEV-28656-galera
bb-10.4-MDEV-28798
bb-10.4-MDEV-28971-galera
bb-10.4-MDEV-29092
bb-10.4-MDEV-29179
bb-10.4-MDEV-29246-galera
bb-10.4-MDEV-29283
bb-10.4-MDEV-29289
bb-10.4-MDEV-29293-galera
bb-10.4-MDEV-29369
bb-10.4-MDEV-29456
bb-10.4-MDEV-29602
bb-10.4-MDEV-29640
bb-10.4-MDEV-29775-galera
bb-10.4-MDEV-29814-galera
bb-10.4-MDEV-29917-galera
bb-10.4-MDEV-29989
bb-10.4-MDEV-30334
bb-10.4-MDEV-30388-galera
bb-10.4-MDEV-30414-galera
bb-10.4-MDEV-30421-andrei
bb-10.4-MDEV-30430
bb-10.4-MDEV-30456-galera
bb-10.4-MDEV-30620
bb-10.4-MDEV-30732-galera
bb-10.4-MDEV-30771
bb-10.4-MDEV-30804-galera
bb-10.4-MDEV-30838-galera
bb-10.4-MDEV-30904-harmut-pkgtest
bb-10.4-MDEV-30955-galera
bb-10.4-MDEV-31004
bb-10.4-MDEV-31005
bb-10.4-MDEV-31062-galera
bb-10.4-MDEV-31062-v2-galera
bb-10.4-MDEV-31130
bb-10.4-MDEV-31173-galera
bb-10.4-MDEV-31185-pins
bb-10.4-MDEV-31327
bb-10.4-MDEV-31403
bb-10.4-MDEV-31439-rpm-conflicts-with-mysql-pkgtest
bb-10.4-MDEV-31477
bb-10.4-MDEV-31905-galera
bb-10.4-MDEV-31933
bb-10.4-MDEV-32017
bb-10.4-MDEV-32024-galera
bb-10.4-MDEV-32034
bb-10.4-MDEV-32130
bb-10.4-MDEV-32168-bnestere
bb-10.4-MDEV-32301
bb-10.4-MDEV-32308
bb-10.4-MDEV-32320
bb-10.4-MDEV-32351-pkgtest
bb-10.4-MDEV-32395
bb-10.4-MDEV-32517
bb-10.4-MDEV-32523
bb-10.4-MDEV-32549-galera
bb-10.4-MDEV-32628
bb-10.4-MDEV-32633-galera
bb-10.4-MDEV-32634-galera
bb-10.4-MDEV-32634-v2-galera
bb-10.4-MDEV-32635-galera
bb-10.4-MDEV-32673
bb-10.4-MDEV-32938-galera
bb-10.4-MDEV-33081
bb-10.4-MDEV-33138-galera
bb-10.4-MDEV-6268
bb-10.4-MDEV-7850
bb-10.4-MDEV-7850-bnestere
bb-10.4-MDEV14101
bb-10.4-MW-336
bb-10.4-all-builders
bb-10.4-andrei
bb-10.4-anel-mysql-secureinstall
bb-10.4-bar-MDEV-27666
bb-10.4-bar-MDEV-27771
bb-10.4-bar-MDEV-28498
bb-10.4-check-toku-ci-failure
bb-10.4-danielblack-atomic-rhel-aarch-fix
bb-10.4-danielblack-pr2435-libressl
bb-10.4-elenst
bb-10.4-elenst-no-mdev371
bb-10.4-galera
bb-10.4-galera-bug
bb-10.4-galera-tests
bb-10.4-georg
bb-10.4-hf
bb-10.4-igor
bb-10.4-igor-MDEV-32466
bb-10.4-igor-rebase-MDEV-32466
bb-10.4-igor2
bb-10.4-jan
bb-10.4-jan-fix
bb-10.4-jan-galera
bb-10.4-julius
bb-10.4-julius-galera
bb-10.4-kevgs
bb-10.4-knielsen
bb-10.4-lenas
bb-10.4-linuxjedi-MDEV-19210
bb-10.4-mdev-22534-demo-exists2in-loop
bb-10.4-mdev-24610
bb-10.4-mdev-26345
bb-10.4-mdev-27666-hf
bb-10.4-mdev-27902
bb-10.4-mdev-27902-gold
bb-10.4-mdev-28506
bb-10.4-mdev-28506-v2
bb-10.4-mdev-28509
bb-10.4-mdev-28856
bb-10.4-mdev-28992
bb-10.4-mdev-29363
bb-10.4-mdev-29363-cheap
bb-10.4-mdev-29363-no-prop-subquery
bb-10.4-mdev-29447
bb-10.4-mdev-29718-gold
bb-10.4-mdev-29962
bb-10.4-mdev-30014
bb-10.4-mdev-30073
bb-10.4-mdev-30073-3
bb-10.4-mdev-30073-3_MDEV-32466
bb-10.4-mdev-30073-4
bb-10.4-mdev-30073-5
bb-10.4-mdev-30370
bb-10.4-mdev-30727
bb-10.4-mdev-30727-demo
bb-10.4-mdev-31101
bb-10.4-mdev-31269
bb-10.4-mdev-31269-3906-fixed-by-mdev-30073
bb-10.4-mdev-31361
bb-10.4-mdev-31766-hf
bb-10.4-mdev-32401
bb-10.4-mdev-32424
bb-10.4-mdev-32849-check-ci
bb-10.4-mdev-32986-gold
bb-10.4-mdev-33008-gold
bb-10.4-mdev-33191-gold
bb-10.4-mdev-33434
bb-10.4-mdev-33441
bb-10.4-mdev-33679
bb-10.4-mdev-33706
bb-10.4-mdev-33728
bb-10.4-mdev-33892-hf
bb-10.4-mdev18608
bb-10.4-mdev19134
bb-10.4-mdev20109
bb-10.4-mdev20371
bb-10.4-mdev20501
bb-10.4-mdev20501-v2
bb-10.4-mdev21794
bb-10.4-mdev22377
bb-10.4-mdev22401
bb-10.4-mdev22993
bb-10.4-mdev26301-with-trace
bb-10.4-mdev27666-hf
bb-10.4-mdev28649-hf
bb-10.4-mdev302018-v2
bb-10.4-mdev30218-part2
bb-10.4-mdev30964
bb-10.4-mdev31121
bb-10.4-mdev31240
bb-10.4-mdev32301
bb-10.4-mdev32351-tests
bb-10.4-mdev9750
bb-10.4-mdev9750-v2
bb-10.4-midenok
bb-10.4-midenok-MDEV-25644
bb-10.4-midenok-MDEV-30421
bb-10.4-midenok-MDEV-30528
bb-10.4-midenok-MDEV-31042
bb-10.4-midenok-tmp
bb-10.4-midenok2
bb-10.4-monty
bb-10.4-multiple-user-binlog
bb-10.4-nayuta
bb-10.4-nikita
bb-10.4-osmirnov
bb-10.4-otto
bb-10.4-psergey
bb-10.4-ramesh
bb-10.4-release-mdev30218
bb-10.4-robert
bb-10.4-rucha
bb-10.4-sachin
bb-10.4-sachin2
bb-10.4-serg
bb-10.4-spetrunia
bb-10.4-spetrunia-tmp
bb-10.4-spider-ks
bb-10.4-sqlserv-bp-hf
bb-10.4-sujatha
bb-10.4-svoj
bb-10.4-sysprg
bb-10.4-sysprg-MDEV-20625
bb-10.4-sysprg-MDEV-20626
bb-10.4-tests-galera
bb-10.4-thiru
bb-10.4-vicentiu
bb-10.4-vicentiu-histograms
bb-10.4-vp-ks
bb-10.4-wlad
bb-10.4-wsrep
bb-10.4-wsrep-update
bb-10.4-ycp
bb-10.4-ycp-mdev-29963
bb-10.4-ycp-mdev-30014
bb-10.4-ycp-spider
bb-10.4-ycp-spider-fix
bb-10.4-ycp-spider-mdev-31117
bb-10.4-ycp-spider-mdev-31524
bb-10.4-ycp-spider-mdev-31524-fail
bb-10.4.20-MDEV-30567
bb-10.5-10.5.22-MDEV-24035-assertion
bb-10.5-10.5.6-MDEV-24197-debug-build
bb-10.5-19708
bb-10.5-23089
bb-10.5-KILL-as-TOI-galera
bb-10.5-MDEV-10962-deadlock-deletes
bb-10.5-MDEV-13362
bb-10.5-MDEV-13915-mergefix
bb-10.5-MDEV-14357
bb-10.5-MDEV-14479-table-locks
bb-10.5-MDEV-14479-table-locks-lock_rec_has_expl
bb-10.5-MDEV-15053
bb-10.5-MDEV-15053-2
bb-10.5-MDEV-15053-3
bb-10.5-MDEV-16039-nikita
bb-10.5-MDEV-16232
bb-10.5-MDEV-16641-test-unmask-mysql_client_test_tests
bb-10.5-MDEV-16978-without-overlaps
bb-10.5-MDEV-16983-period-fk
bb-10.5-MDEV-17395-replace
bb-10.5-MDEV-17943
bb-10.5-MDEV-18188
bb-10.5-MDEV-18215-unknown-backup-options
bb-10.5-MDEV-18582
bb-10.5-MDEV-18863
bb-10.5-MDEV-18976
bb-10.5-MDEV-18976-redolog-crc
bb-10.5-MDEV-19487
bb-10.5-MDEV-19935
bb-10.5-MDEV-20051
bb-10.5-MDEV-20100
bb-10.5-MDEV-20281
bb-10.5-MDEV-20297
bb-10.5-MDEV-20487
bb-10.5-MDEV-21175
bb-10.5-MDEV-21351
bb-10.5-MDEV-21452
bb-10.5-MDEV-21469-2022
bb-10.5-MDEV-21469-2023
bb-10.5-MDEV-21598
bb-10.5-MDEV-21916-try2
bb-10.5-MDEV-21988
bb-10.5-MDEV-22063-galera
bb-10.5-MDEV-22141
bb-10.5-MDEV-22232-galera
bb-10.5-MDEV-22387
bb-10.5-MDEV-22543
bb-10.5-MDEV-22726-aria-non-trans-log
bb-10.5-MDEV-22729
bb-10.5-MDEV-22922
bb-10.5-MDEV-22929-log_corrupted_pages
bb-10.5-MDEV-22979
bb-10.5-MDEV-23101
bb-10.5-MDEV-23299-danielblack-pr-1643
bb-10.5-MDEV-23399
bb-10.5-MDEV-23483
bb-10.5-MDEV-23651
bb-10.5-MDEV-23855
bb-10.5-MDEV-23955
bb-10.5-MDEV-24010
bb-10.5-MDEV-24142
bb-10.5-MDEV-24480
bb-10.5-MDEV-24514
bb-10.5-MDEV-24705-LSN-check
bb-10.5-MDEV-24819
bb-10.5-MDEV-24845-galera
bb-10.5-MDEV-24882-galera
bb-10.5-MDEV-24935
bb-10.5-MDEV-25031
bb-10.5-MDEV-25089-galera
bb-10.5-MDEV-25089-v2-galera
bb-10.5-MDEV-25113
bb-10.5-MDEV-25114
bb-10.5-MDEV-25148
bb-10.5-MDEV-25163
bb-10.5-MDEV-25594
bb-10.5-MDEV-25731-galera
bb-10.5-MDEV-25783
bb-10.5-MDEV-26206-post-push
bb-10.5-MDEV-26266-galera
bb-10.5-MDEV-26450
bb-10.5-MDEV-26516-galera
bb-10.5-MDEV-26826
bb-10.5-MDEV-26852
bb-10.5-MDEV-26929
bb-10.5-MDEV-27366
bb-10.5-MDEV-27366-2
bb-10.5-MDEV-27649-galera
bb-10.5-MDEV-27806-galera
bb-10.5-MDEV-27861-galera
bb-10.5-MDEV-27861-v2-galera
bb-10.5-MDEV-27861-v3-galera
bb-10.5-MDEV-27862-galera
bb-10.5-MDEV-28621-elimination-disabled
bb-10.5-MDEV-28621-no-remove-unit
bb-10.5-MDEV-28709-sup_X_lock-debug
bb-10.5-MDEV-28846
bb-10.5-MDEV-28953-galera
bb-10.5-MDEV-29027
bb-10.5-MDEV-29050-prepare-export-err
bb-10.5-MDEV-29293-galera
bb-10.5-MDEV-29344
bb-10.5-MDEV-29693-v2
bb-10.5-MDEV-29775-galera
bb-10.5-MDEV-29775-v2-galera
bb-10.5-MDEV-29880-galera
bb-10.5-MDEV-29967
bb-10.5-MDEV-29981-log-headers
bb-10.5-MDEV-30073-MDEV-32294
bb-10.5-MDEV-30415
bb-10.5-MDEV-30456-galera
bb-10.5-MDEV-30520-selinux-app-pkgtest
bb-10.5-MDEV-30605
bb-10.5-MDEV-30619-merge
bb-10.5-MDEV-30646
bb-10.5-MDEV-30658-lock_row_lock_current_waits
bb-10.5-MDEV-30686-v2-galera
bb-10.5-MDEV-30700-postfix
bb-10.5-MDEV-30710
bb-10.5-MDEV-30815
bb-10.5-MDEV-30822-galera
bb-10.5-MDEV-30822-v2-galera
bb-10.5-MDEV-31062-galera
bb-10.5-MDEV-31062-v2-galera
bb-10.5-MDEV-31177
bb-10.5-MDEV-31477
bb-10.5-MDEV-31892
bb-10.5-MDEV-32083-cve
bb-10.5-MDEV-32287
bb-10.5-MDEV-32294-WIP
bb-10.5-MDEV-32302
bb-10.5-MDEV-32401
bb-10.5-MDEV-32635-galera
bb-10.5-MDEV-32782-galera
bb-10.5-MDEV-32866
bb-10.5-MDEV-32996-galera
bb-10.5-MDEV-33035-galera
bb-10.5-MDEV-33036-galera
bb-10.5-MDEV-33138-galera
bb-10.5-MDEV-33216-galera
bb-10.5-MDEV-33509-galera
bb-10.5-MDEV-33658
bb-10.5-MDEV-33677-galera
bb-10.5-MDEV-33755
bb-10.5-MDEV-33897-galera
bb-10.5-MDEV-33928-galera
bb-10.5-MDEV-33952-galera
bb-10.5-MDEV-33967-handersocket-binlog-pkgtest
bb-10.5-MDEV-33988-delete-table-alias-pkgtest
bb-10.5-MDEV-33997-galera
bb-10.5-MDEV-34214-galera
bb-10.5-MDEV-34348
bb-10.5-MDEV-34508-ubsan-errors
bb-10.5-MDEV-34580
bb-10.5-MDEV-34594-galera
bb-10.5-MDEV-34594-v2-galera
bb-10.5-MDEV-34842-galera_3nodes-ipv6
bb-10.5-MDEV-34883
bb-10.5-MDEV-34926
bb-10.5-MDEV-34976-galera
bb-10.5-MDEV-34998-tests-galera
bb-10.5-MDEV-35018-galera
bb-10.5-MDEV-35018-v2-galera
bb-10.5-MDEV-35018-v3-galera
bb-10.5-MDEV-35090
bb-10.5-MDEV-35299
bb-10.5-MDEV-35343
bb-10.5-MDEV-35355-galera
bb-10.5-MDEV-35471-galera
bb-10.5-MDEV-35565
bb-10.5-MDEV-35673
bb-10.5-MDEV-35938
bb-10.5-MDEV-35969-galera
bb-10.5-MDEV-36116-galera
bb-10.5-MDEV-36117-galera
bb-10.5-MDEV-36280
bb-10.5-MDEV-36380
bb-10.5-MDEV-36628-galera
bb-10.5-MDEV_21469
bb-10.5-MENT-344-backup_to_s3
bb-10.5-TODO-3821
bb-10.5-abychko
bb-10.5-all-builders
bb-10.5-andrei
bb-10.5-anel-MDEV-24602-check_constraints
bb-10.5-anel-anonymous-user-windows-check
bb-10.5-anel-anonymous-user-windows-check-without-skip-resolve
bb-10.5-anel-rpl-fix-assertion
bb-10.5-aria
bb-10.5-bar
bb-10.5-bar-MDEV-10865
bb-10.5-bar-MDEV-20610
bb-10.5-bar-MDEV-25593
bb-10.5-bar-MDEV-30111
bb-10.5-bar-MDEV-33342
bb-10.5-bar-MDEV-34037
bb-10.5-bar-MDEV-34580
bb-10.5-bar-MDEV-34959
bb-10.5-bumpversion
bb-10.5-clustrixdb
bb-10.5-columnstore
bb-10.5-cs
bb-10.5-danielblack-MDEV-23607
bb-10.5-danielblack-MDEV-23892-pthread-not-aix-specific
bb-10.5-danielblack-MDEV-26891-delay-insert-virt-crash-pr1943
bb-10.5-danielblack-MDEV-28153-deb-explict-deps-salsa-postfix
bb-10.5-danielblack-MDEV-30222-mysqltest-popen-err-display
bb-10.5-danielblack-my_free_undef
bb-10.5-drrtuy
bb-10.5-elenst
bb-10.5-elenst-mdev22249
bb-10.5-galera
bb-10.5-galera-gtid
bb-10.5-hf
bb-10.5-igor
bb-10.5-jan
bb-10.5-julius
bb-10.5-julius-galera
bb-10.5-kevgs
bb-10.5-knielsen
bb-10.5-lateral-fixes
bb-10.5-limit-rows-examined
bb-10.5-mdbf-535-test
bb-10.5-mdev-24610
bb-10.5-mdev-25008
bb-10.5-mdev-25008-monty-patch
bb-10.5-mdev-25008-outer-lookup-keys
bb-10.5-mdev-25008-unit-distinct
bb-10.5-mdev-26247
bb-10.5-mdev-26345-alt
bb-10.5-mdev-26541
bb-10.5-mdev-27575
bb-10.5-mdev-27650
bb-10.5-mdev-27902
bb-10.5-mdev-27912
bb-10.5-mdev-28683
bb-10.5-mdev-28739
bb-10.5-mdev-29002-gold
bb-10.5-mdev-29360-v1
bb-10.5-mdev-29360-v2
bb-10.5-mdev-29363-cheap
bb-10.5-mdev-29447
bb-10.5-mdev-29447-31338
bb-10.5-mdev-29605
bb-10.5-mdev-29644
bb-10.5-mdev-29870
bb-10.5-mdev-29962
bb-10.5-mdev-30014
bb-10.5-mdev-30067
bb-10.5-mdev-30073-6
bb-10.5-mdev-30073-7
bb-10.5-mdev-30073-8
bb-10.5-mdev-30073-8.1
bb-10.5-mdev-30073-8.2
bb-10.5-mdev-30170-gold
bb-10.5-mdev-30370-22979-29904-27912
bb-10.5-mdev-30408
bb-10.5-mdev-30435-30981
bb-10.5-mdev-30576
bb-10.5-mdev-30649
bb-10.5-mdev-31101
bb-10.5-mdev-31117
bb-10.5-mdev-31117-merge
bb-10.5-mdev-31269
bb-10.5-mdev-31400
bb-10.5-mdev-31421
bb-10.5-mdev-31524
bb-10.5-mdev-31673
bb-10.5-mdev-31743
bb-10.5-mdev-31787
bb-10.5-mdev-31996
bb-10.5-mdev-32157
bb-10.5-mdev-32492
bb-10.5-mdev-32492-delete-trx-ha-if-mismatch-share
bb-10.5-mdev-32524
bb-10.5-mdev-33174-gold
bb-10.5-mdev-33220
bb-10.5-mdev-33679
bb-10.5-mdev-33679-print-item-equal
bb-10.5-mdev-33777
bb-10.5-mdev-34036
bb-10.5-mdev-34359
bb-10.5-mdev-34404
bb-10.5-mdev-34421
bb-10.5-mdev-34541
bb-10.5-mdev-34589-restore-dastatus-rollback
bb-10.5-mdev-34589-trans-rollback-pass-error
bb-10.5-mdev-34639
bb-10.5-mdev-34659
bb-10.5-mdev-34708
bb-10.5-mdev-34872
bb-10.5-mdev-34925
bb-10.5-mdev-35064
bb-10.5-mdev-35153-debug
bb-10.5-mdev-35249-revert
bb-10.5-mdev-35326
bb-10.5-mdev-35326-handle-select
bb-10.5-mdev-35452-remove-sgb
bb-10.5-mdev-35622
bb-10.5-mdev-35781
bb-10.5-mdev-35807
bb-10.5-mdev-35874
bb-10.5-mdev-36118
bb-10.5-mdev-36121
bb-10.5-mdev-36245-hf
bb-10.5-mdev-36307
bb-10.5-mdev-36324
bb-10.5-mdev-36335
bb-10.5-mdev-36442
bb-10.5-mdev-36452
bb-10.5-mdev-36454
bb-10.5-mdev-36476
bb-10.5-mdev-36477
bb-10.5-mdev-36478
bb-10.5-mdev-36633
bb-10.5-mdev15101
bb-10.5-mdev20854
bb-10.5-mdev22014
bb-10.5-mdev22331
bb-10.5-mdev23634
bb-10.5-mdev23662
bb-10.5-mdev24953
bb-10.5-mdev25069
bb-10.5-mdev25251
bb-10.5-mdev27382
bb-10.5-mdev7317
bb-10.5-mdev9750
bb-10.5-mdev_742
bb-10.5-ment-1591-debug-demo
bb-10.5-merge-jan
bb-10.5-merge-static-libs-danblack
bb-10.5-midenok
bb-10.5-midenok2
bb-10.5-monty
bb-10.5-my-error
bb-10.5-nikita
bb-10.5-nikita-MDEV-30046
bb-10.5-nikita-expr-arena-old
bb-10.5-nikita-msan
bb-10.5-oalter
bb-10.5-oalter-rebase
bb-10.5-pre_mdev-742
bb-10.5-ps-ks
bb-10.5-ramesh
bb-10.5-rasmus
bb-10.5-release-galera
bb-10.5-release-julius
bb-10.5-release-mdev30218
bb-10.5-release-mtr
bb-10.5-release-spider-fix
bb-10.5-remove-dont
bb-10.5-rex
bb-10.5-robert
bb-10.5-robert-build
bb-10.5-sachin
bb-10.5-serg
bb-10.5-shutdown
bb-10.5-spetrunia
bb-10.5-spider-fixup
bb-10.5-sqlser-hf
bb-10.5-sst-galera
bb-10.5-sujatha
bb-10.5-svoj
bb-10.5-svoj-MDEV-17084
bb-10.5-svoj-MDEV-17084-redo
bb-10.5-svoj-MDEV-19061
bb-10.5-svoj-MDEV-19439
bb-10.5-svoj-MDEV-20630
bb-10.5-svoj-MDEV-22593
bb-10.5-sysprg-MDEV-22554
bb-10.5-thiru
bb-10.5-tmp
bb-10.5-trigger
bb-10.5-upto
bb-10.5-varun
bb-10.5-vicentiu
bb-10.5-vicentiu-buildbot
bb-10.5-vicentiu-buildbot2
bb-10.5-vicentiu-intel-warnings
bb-10.5-vicentiu2
bb-10.5-voting
bb-10.5-wlad
bb-10.5-wlad-15053
bb-10.5-wlad-MDEV-21612
bb-10.5-wlad-constexpr
bb-10.5-wlad-schannel-openssl
bb-10.5-wlad-tpwin
bb-10.5-xa-prepare
bb-10.5-xpand
bb-10.5-ycp
bb-10.5-ycp-mdev-26345
bb-10.5-ycp-mdev-26345-1
bb-10.5-ycp-mdev-28413
bb-10.5-ycp-mdev-29502
bb-10.5-ycp-mdev-34849
bb-10.5-ycp-mdev-35874
bb-10.5-ycp-spider
bb-10.5.19-undo_truncate
bb-10.5.21-undo_truncate
bb-10.6-MDEV-10962-deadlock-deletes
bb-10.6-MDEV-15120_2
bb-10.6-MDEV-16437
bb-10.6-MDEV-16708-2
bb-10.6-MDEV-16708-3
bb-10.6-MDEV-16976
bb-10.6-MDEV-16983-period-fk
bb-10.6-MDEV-17843-lock_rec_queue_validate
bb-10.6-MDEV-18976
bb-10.6-MDEV-19177
bb-10.6-MDEV-20100
bb-10.6-MDEV-20154
bb-10.6-MDEV-20453
bb-10.6-MDEV-20552-remove-innobackupex
bb-10.6-MDEV-21192-galera
bb-10.6-MDEV-21423
bb-10.6-MDEV-21452
bb-10.6-MDEV-21469-rebase
bb-10.6-MDEV-21530
bb-10.6-MDEV-22063-galera
bb-10.6-MDEV-22232-galera
bb-10.6-MDEV-22265
bb-10.6-MDEV-22718
bb-10.6-MDEV-23238
bb-10.6-MDEV-23536
bb-10.6-MDEV-24062-galera
bb-10.6-MDEV-24142-2
bb-10.6-MDEV-24258
bb-10.6-MDEV-24269-galera
bb-10.6-MDEV-24341
bb-10.6-MDEV-24424
bb-10.6-MDEV-24509
bb-10.6-MDEV-24786
bb-10.6-MDEV-24818
bb-10.6-MDEV-24845-galera
bb-10.6-MDEV-24853
bb-10.6-MDEV-24882-galera
bb-10.6-MDEV-24946
bb-10.6-MDEV-25029
bb-10.6-MDEV-25089-galera
bb-10.6-MDEV-25099
bb-10.6-MDEV-25114
bb-10.6-MDEV-25488
bb-10.6-MDEV-25491
bb-10.6-MDEV-25506_FTS
bb-10.6-MDEV-25543
bb-10.6-MDEV-25611
bb-10.6-MDEV-25633
bb-10.6-MDEV-25683
bb-10.6-MDEV-25698-galera
bb-10.6-MDEV-25731-galera
bb-10.6-MDEV-25822
bb-10.6-MDEV-25906
bb-10.6-MDEV-25948-MDEV-25611
bb-10.6-MDEV-25973
bb-10.6-MDEV-26015
bb-10.6-MDEV-26049
bb-10.6-MDEV-26115
bb-10.6-MDEV-26142
bb-10.6-MDEV-26145
bb-10.6-MDEV-26149
bb-10.6-MDEV-26171-post-merge
bb-10.6-MDEV-26206-impl-gap-1
bb-10.6-MDEV-26209
bb-10.6-MDEV-26450
bb-10.6-MDEV-26782
bb-10.6-MDEV-27317-galera
bb-10.6-MDEV-27557-clust-mtr-savepoint
bb-10.6-MDEV-27736
bb-10.6-MDEV-27861-v2-galera
bb-10.6-MDEV-27862-galera
bb-10.6-MDEV-27871
bb-10.6-MDEV-27871-MDEV-31933
bb-10.6-MDEV-27983
bb-10.6-MDEV-28315
bb-10.6-MDEV-28422
bb-10.6-MDEV-28423-v2
bb-10.6-MDEV-28583
bb-10.6-MDEV-28621-delayed-elimination
bb-10.6-MDEV-28621-eliminate-in-optimization
bb-10.6-MDEV-28621-no-elimination
bb-10.6-MDEV-28621-v3-eliminate-carefully
bb-10.6-MDEV-28709-post-push-fix
bb-10.6-MDEV-28709-sup_X_lock-skip_gap_lock_inheritance_n_recs
bb-10.6-MDEV-28800
bb-10.6-MDEV-28953-galera
bb-10.6-MDEV-28968-galera
bb-10.6-MDEV-29050-prepare-export-err
bb-10.6-MDEV-29181
bb-10.6-MDEV-29293-galera
bb-10.6-MDEV-29336
bb-10.6-MDEV-29433-lock_delete_updated
bb-10.6-MDEV-29440
bb-10.6-MDEV-29593
bb-10.6-MDEV-29775-galera
bb-10.6-MDEV-29775-v2-galera
bb-10.6-MDEV-29849
bb-10.6-MDEV-29880-galera
bb-10.6-MDEV-30000
bb-10.6-MDEV-30086
bb-10.6-MDEV-30100-MDEV-25340
bb-10.6-MDEV-30133
bb-10.6-MDEV-30182
bb-10.6-MDEV-30260-mergefix
bb-10.6-MDEV-30289
bb-10.6-MDEV-30456-galera
bb-10.6-MDEV-30536-galera
bb-10.6-MDEV-30658-lock_row_lock_current_waits
bb-10.6-MDEV-30775-try_to_close
bb-10.6-MDEV-30802
bb-10.6-MDEV-30822-galera
bb-10.6-MDEV-30936
bb-10.6-MDEV-30996
bb-10.6-MDEV-30996_fts
bb-10.6-MDEV-31080
bb-10.6-MDEV-31380
bb-10.6-MDEV-31382
bb-10.6-MDEV-31449
bb-10.6-MDEV-31496
bb-10.6-MDEV-31826
bb-10.6-MDEV-31877
bb-10.6-MDEV-31888-galera
bb-10.6-MDEV-31905-galera
bb-10.6-MDEV-31949
bb-10.6-MDEV-31949-21469
bb-10.6-MDEV-31949_ver0
bb-10.6-MDEV-31949_ver0_opt
bb-10.6-MDEV-31983
bb-10.6-MDEV-31983-v2
bb-10.6-MDEV-31983-v3
bb-10.6-MDEV-32067
bb-10.6-MDEV-32080
bb-10.6-MDEV-32096-pkgtest
bb-10.6-MDEV-32253
bb-10.6-MDEV-32265
bb-10.6-MDEV-32297
bb-10.6-MDEV-32523
bb-10.6-MDEV-32549-galera
bb-10.6-MDEV-32554
bb-10.6-MDEV-32628-mergefix
bb-10.6-MDEV-32633-galera
bb-10.6-MDEV-32635-galera
bb-10.6-MDEV-32682
bb-10.6-MDEV-32738-galera
bb-10.6-MDEV-32788
bb-10.6-MDEV-32830-qa
bb-10.6-MDEV-32898-pkgtest
bb-10.6-MDEV-33036-galera
bb-10.6-MDEV-33136-galera
bb-10.6-MDEV-33138-galera
bb-10.6-MDEV-33189
bb-10.6-MDEV-33216-galera
bb-10.6-MDEV-33314
bb-10.6-MDEV-33509-galera
bb-10.6-MDEV-33802-unique-cursor-restore
bb-10.6-MDEV-33828-galera
bb-10.6-MDEV-33850-galera
bb-10.6-MDEV-33896-galera
bb-10.6-MDEV-33897-galera
bb-10.6-MDEV-33952-galera
bb-10.6-MDEV-33997-galera
bb-10.6-MDEV-34090
bb-10.6-MDEV-34122-fixup
bb-10.6-MDEV-34190-tmp
bb-10.6-MDEV-34218-galera
bb-10.6-MDEV-34348-merge-fix
bb-10.6-MDEV-34481
bb-10.6-MDEV-34647-galera
bb-10.6-MDEV-34822-galera
bb-10.6-MDEV-34924-galera
bb-10.6-MDEV-34958
bb-10.6-MDEV-35018-v3-galera
bb-10.6-MDEV-35207
bb-10.6-MDEV-35288
bb-10.6-MDEV-35506
bb-10.6-MDEV-35511
bb-10.6-MDEV-35570
bb-10.6-MDEV-35748-galera
bb-10.6-MDEV-35828
bb-10.6-MDEV-35944
bb-10.6-MDEV-36107
bb-10.6-MDEV-36117-galera
bb-10.6-MDEV-36234-pkgtest
bb-10.6-MDEV-36290-monty
bb-10.6-MDEV-36512-galera
bb-10.6-MDEV-36620-galera
bb-10.6-MDEV-36622-galera
bb-10.6-MDEV-36875
bb-10.6-MDEV-37541
bb-10.6-MDEV-37911
bb-10.6-MDEV-515
bb-10.6-MDEV-6536-addendum
bb-10.6-add-columnstore-mtr
bb-10.6-add-columnstore-mtr-pkgtest
bb-10.6-alice
bb-10.6-all-builders
bb-10.6-andrei
bb-10.6-andrei-MDEV-24660
bb-10.6-anel-rpl_fix_assertion
bb-10.6-avoid-abortive-socket-close
bb-10.6-bar
bb-10.6-bar-MDEV-28001
bb-10.6-bar-MDEV-30111
bb-10.6-bar-MDEV-33472
bb-10.6-bar-MDEV-33648
bb-10.6-bar-MDEV-34189
bb-10.6-bar-assign
bb-10.6-bumpversion
bb-10.6-cache-metadata
bb-10.6-choose_next_log
bb-10.6-cs
bb-10.6-danielblack-MDEV-14096-deprecate-year-parentheses
bb-10.6-danielblack-MDEV-25152
bb-10.6-danielblack-MDEV-25282-Auto-shutdown-on-idle-when-socket-activated
bb-10.6-danielblack-MDEV-25424-my_multi_malloc-large-use-my_large_malloc
bb-10.6-danielblack-MDEV-27955-postfix-func_json_notembedded
bb-10.6-danielblack-MDEV-28011-deb-autobake
bb-10.6-danielblack-MDEV-28153-deb-autobake
bb-10.6-danielblack-MDEV-28534-clang-12-innodb
bb-10.6-danielblack-MDEV-28782-tzinfo-works-in-bootstrap
bb-10.6-danielblack-MDEV-29141-rseg_ext_p2
bb-10.6-danielblack-MDEV-29678-uninit
bb-10.6-drrtuy
bb-10.6-elenst
bb-10.6-fake-select-number
bb-10.6-galera
bb-10.6-galera-jan
bb-10.6-georg
bb-10.6-hf
bb-10.6-hf-2
bb-10.6-ibuf
bb-10.6-igor
bb-10.6-iouring_required-memlock
bb-10.6-julius
bb-10.6-julius-galera
bb-10.6-knielsen
bb-10.6-mac
bb-10.6-marko
bb-10.6-master-timestamp
bb-10.6-mdev-26127
bb-10.6-mdev-26178
bb-10.6-mdev-26247
bb-10.6-mdev-26541
bb-10.6-mdev-27087-rucha
bb-10.6-mdev-27103-demo-ddl
bb-10.6-mdev-27438
bb-10.6-mdev-27912
bb-10.6-mdev-28739
bb-10.6-mdev-29027
bb-10.6-mdev-29447
bb-10.6-mdev-29447-31338
bb-10.6-mdev-29502
bb-10.6-mdev-29644
bb-10.6-mdev-29870
bb-10.6-mdev-30264
bb-10.6-mdev-30435-30981
bb-10.6-mdev-30436
bb-10.6-mdev-31117
bb-10.6-mdev-31400
bb-10.6-mdev-31421
bb-10.6-mdev-31516
bb-10.6-mdev-31524
bb-10.6-mdev-31524-post-merge-fix
bb-10.6-mdev-31577-test
bb-10.6-mdev-31721
bb-10.6-mdev-31787
bb-10.6-mdev-31788
bb-10.6-mdev-32157
bb-10.6-mdev-32524
bb-10.6-mdev-32907
bb-10.6-mdev-33191
bb-10.6-mdev-33242-gold
bb-10.6-mdev-33434
bb-10.6-mdev-33441
bb-10.6-mdev-34588
bb-10.6-mdev-34636
bb-10.6-mdev-34682
bb-10.6-mdev-34813
bb-10.6-mdev-35153-debug
bb-10.6-mdev-35249-revert
bb-10.6-mdev-35422
bb-10.6-mdev-35591-hf
bb-10.6-mdev-35713-hf
bb-10.6-mdev-35959
bb-10.6-mdev-36058-hf
bb-10.6-mdev-36221
bb-10.6-mdev-36678
bb-10.6-mdev-37166-hf
bb-10.6-mdev-37193
bb-10.6-mdev-37682
bb-10.6-mdev-7093
bb-10.6-mdev-7451-hf
bb-10.6-mdev21829
bb-10.6-mdev24325
bb-10.6-mdev24740
bb-10.6-mdev25075
bb-10.6-mdev25154
bb-10.6-mdev25362
bb-10.6-mdev25631
bb-10.6-mdev28749
bb-10.6-mdev30081-variant2
bb-10.6-mdev31067
bb-10.6-mdev31067-variant2
bb-10.6-mdev31067-variant3
bb-10.6-mdev32113
bb-10.6-mdev32113-variant1
bb-10.6-mdev32203
bb-10.6-mdev33752
bb-10.6-mdev33752-v2
bb-10.6-mdev34125-which-platforms
bb-10.6-mdev34720
bb-10.6-mdev34720-v2
bb-10.6-mdev34720-v3
bb-10.6-mdev36948-infer1
bb-10.6-mdev7317
bb-10.6-ment2045
bb-10.6-merge
bb-10.6-merge-galera
bb-10.6-merge-jan
bb-10.6-merge-julius
bb-10.6-midenok
bb-10.6-midenok-MDEV-10962
bb-10.6-midenok-MDEV-12483
bb-10.6-midenok-MDEV-12483-partitioning
bb-10.6-midenok-MDEV-16417-atomic
bb-10.6-midenok-MDEV-16686
bb-10.6-midenok-MDEV-18706
bb-10.6-midenok-MDEV-21053
bb-10.6-midenok-MDEV-21652
bb-10.6-midenok-MDEV-23639
bb-10.6-midenok-review
bb-10.6-midenok-review2
bb-10.6-midenok-tmp
bb-10.6-monty
bb-10.6-monty-xa
bb-10.6-monty2
bb-10.6-no-capabilities-pkgtest
bb-10.6-online-alter
bb-10.6-ramesh
bb-10.6-refactor-limit
bb-10.6-refactor-limit-review
bb-10.6-release
bb-10.6-release-julius
bb-10.6-release-mdev30218
bb-10.6-release-wlad
bb-10.6-remove-m_text_literal
bb-10.6-robert
bb-10.6-rucha
bb-10.6-sachin
bb-10.6-serg
bb-10.6-spetrunia
bb-10.6-spetrunia-tmp1
bb-10.6-spetrunia-tmp2
bb-10.6-spetrunia-tmp3
bb-10.6-sqlser-hf
bb-10.6-sst-galera
bb-10.6-sujatha
bb-10.6-sysschema
bb-10.6-thiru
bb-10.6-tmp
bb-10.6-todo-4509
bb-10.6-todo4799
bb-10.6-varun
bb-10.6-vicentiu-MDEV-17796-check
bb-10.6-vicentiu-uniques
bb-10.6-vicentiu-wip
bb-10.6-wlad-MDEV-22010
bb-10.6-wlad-MDEV-23959
bb-10.6-wlad-lto
bb-10.6-ycp
bb-10.6-ycp-fixup
bb-10.6-ycp-push
bb-10.6-ycp-spider
bb-10.6.11-pkgtest-MDEV-31185-pins
bb-10.6.12-DBS
bb-10.6.12-MDEV-30165
bb-10.6.18-TODO-4984
bb-10.6.8-MDEV-27701
bb-10.6.9-hash-join-improvements
bb-10.6_MDEV-18959
bb-10.6_MDEV-21117
bb-10.7-MDEV-18543-instant-import-bugs
bb-10.7-MDEV-22165
bb-10.7-MDEV-22441-scoped-variable
bb-10.7-MDEV-23766
bb-10.7-MDEV-24623
bb-10.7-MDEV-26238
bb-10.7-MDEV-26391-galera
bb-10.7-MDEV-26843
bb-10.7-MDEV-27575
bb-10.7-MDEV-27892
bb-10.7-MDEV-4742
bb-10.7-MDEV-4958-uuid
bb-10.7-TODO-3121
bb-10.7-danielblack-MDEV-26157-openmp-statistics-fork
bb-10.7-danielblack-mdev-12933-fixup
bb-10.7-elenst
bb-10.7-galera
bb-10.7-hf-mdev-19275
bb-10.7-hs
bb-10.7-igor
bb-10.7-kevgs
bb-10.7-mdev-26285
bb-10.7-mdev-26288
bb-10.7-mdev-27159
bb-10.7-mdev-27159-hf
bb-10.7-mdev-27159-insert-hf
bb-10.7-mdev-27831-hf
bb-10.7-mdev-7487
bb-10.7-mdev21130
bb-10.7-mdev23143
bb-10.7-mdev26519
bb-10.7-mdev27188
bb-10.7-mdev29677
bb-10.7-midenok
bb-10.7-midenok-MDEV-22166
bb-10.7-midenok-MDEV-22166-tmp
bb-10.7-midenok-MDEV-27180
bb-10.7-monty
bb-10.7-nayuta
bb-10.7-repl_tests
bb-10.7-robert
bb-10.7-selectivity
bb-10.7-serg
bb-10.7-sujatha
bb-10.7-upgrade-version
bb-10.7-vicentiu
bb-10.7-vicentiu-MDEV-26242
bb-10.8-C++-14
bb-10.8-C++-14-TODO-3121
bb-10.8-MCOL-4944
bb-10.8-MDEV-13915-mergefix
bb-10.8-MDEV-14425-flush_order_mutex
bb-10.8-MDEV-14481-async-recv
bb-10.8-MDEV-18477
bb-10.8-MDEV-19129
bb-10.8-MDEV-19308
bb-10.8-MDEV-22441-scoped-variable
bb-10.8-MDEV-25342-autosize-innodb-buffer-pool-chunk-size
bb-10.8-MDEV-25719
bb-10.8-MDEV-26238-my-print-defaults
bb-10.8-MDEV-26938
bb-10.8-MDEV-26971
bb-10.8-MDEV-27009-uca-1400
bb-10.8-MDEV-27036
bb-10.8-MDEV-27158-humanize-numbers-innodb
bb-10.8-MDEV-27204
bb-10.8-MDEV-27206
bb-10.8-MDEV-27208-crc32c
bb-10.8-MDEV-27233
bb-10.8-MDEV-27266-MDEV-27265-uca-performance
bb-10.8-MDEV-27849
bb-10.8-MDEV-29043
bb-10.8-MDEV-29934
bb-10.8-MDEV-5816
bb-10.8-MENT-662-tmp
bb-10.8-TODO-3121
bb-10.8-andrei
bb-10.8-bumpversion
bb-10.8-danielblack-MDEV-25282-Auto-shutdown-on-idle-when-socket-activated
bb-10.8-elenst
bb-10.8-georg
bb-10.8-igor
bb-10.8-mcs_lock
bb-10.8-mdev-27106
bb-10.8-mdev-27912
bb-10.8-mdev-29447
bb-10.8-mdev-30370-compare-tests
bb-10.8-mdev-5271
bb-10.8-mdev26996-no-sel-arg-ascending
bb-10.8-mdev27021
bb-10.8-midenok
bb-10.8-monty
bb-10.8-online-alter
bb-10.8-openssl3.0
bb-10.8-robert
bb-10.8-serg
bb-10.8-spetrunia
bb-10.8-vicentiu-mariadbd.pc
bb-10.8-wlad-MDEV-33387
bb-10.9-MDEV-13915-mergefix
bb-10.9-MDEV-17554-auto-create-partition
bb-10.9-MDEV-19281
bb-10.9-MDEV-19281-v2
bb-10.9-MDEV-19281-v3
bb-10.9-MDEV-19281-v4
bb-10.9-MDEV-19281-v5
bb-10.9-MDEV-21423-MDEV-26603
bb-10.9-MDEV-24560
bb-10.9-MDEV-26278
bb-10.9-MDEV-26562-galera
bb-10.9-MDEV-26603-async-redo-write
bb-10.9-MDEV-26971-JSON-status
bb-10.9-MDEV-26971-JSON-status-v2
bb-10.9-MDEV-27021-MDEV-10000-MDEV-27776
bb-10.9-MDEV-27021-MDEV-10000-show-analyze
bb-10.9-MDEV-27246-galera-allowlist
bb-10.9-MDEV-27657
bb-10.9-MDEV-27659
bb-10.9-MDEV-27699
bb-10.9-MDEV-27844
bb-10.9-MDEV-28015-galera
bb-10.9-MDEV-28275
bb-10.9-MDEV-28313-21423-26603
bb-10.9-MDEV-28423-galera
bb-10.9-MDEV-28423-v2
bb-10.9-MDEV-28583
bb-10.9-MDEV-28656-galera
bb-10.9-MDEV-29381
bb-10.9-MDEV-30100
bb-10.9-MDEV-30619-merge
bb-10.9-MDEV-31432
bb-10.9-MDEV-31432-v2
bb-10.9-MDEV-32008
bb-10.9-MDEV-5816-1
bb-10.9-all-builders
bb-10.9-anel-repl-slave_report-v2
bb-10.9-anel-rpl_fix_assert
bb-10.9-danielblack-MDEV-27791-test-postfix
bb-10.9-danielblack-MDEV-27791-test-postfix_2
bb-10.9-danielblack-deb-limited-columnstore-platforms
bb-10.9-danielblack-deb-pkg-fix-pr2112
bb-10.9-deb-autobake-no-lsb_release
bb-10.9-elenst
bb-10.9-georg
bb-10.9-mcs
bb-10.9-mdbf-535-test
bb-10.9-mdev-22979-27095-27233
bb-10.9-mdev-22979-27095-27233-query-ready
bb-10.9-mdev-22979-31400
bb-10.9-mdev-22979-31400-force-ci
bb-10.9-mdev-22979-mysql-func-udf
bb-10.9-mdev-27159
bb-10.9-mdev-27912
bb-10.9-mdev-29447
bb-10.9-mdev-29447-31338
bb-10.9-mdev-29644
bb-10.9-mdev-29644-post-merge-fix
bb-10.9-mdev-31400
bb-10.9-mdev-31401-demo-udf-initialized
bb-10.9-mdev-31421
bb-10.9-mdev-31524
bb-10.9-mdev29382
bb-10.9-midenok
bb-10.9-midenok-MDEV-28931
bb-10.9-midenok-tmp
bb-10.9-post-MDEV-26971
bb-10.9-spetrunia
bb-10.9-sysprg-hashicorp-stats
bb-10.9-vicentiu-reverse-privileges
bb-10.9-ycp-spider
bb-11-5-monty
bb-11-midenok
bb-11.0
bb-11.0-MDEV-16329-online-alter
bb-11.0-MDEV-27871
bb-11.0-MDEV-27871-MDEV-31933
bb-11.0-MDEV-29985
bb-11.0-MDEV-30032
bb-11.0-MDEV-30059
bb-11.0-MDEV-30205-pkgtest-usr-share-mariadb
bb-11.0-MDEV-30318
bb-11.0-MDEV-30318-v2
bb-11.0-MDEV-30944
bb-11.0-MDEV-31022
bb-11.0-MDEV-31022-variant2
bb-11.0-MDEV-31022-variant3
bb-11.0-MDEV-31022-variant4
bb-11.0-MDEV-31793
bb-11.0-MDEV-31793-fix-loosescan-derived
bb-11.0-MDEV-32335
bb-11.0-MDEV-32628-mergefix
bb-11.0-MDEV-33648
bb-11.0-MDEV-5816
bb-11.0-MDEV-8320
bb-11.0-all-builders
bb-11.0-analyze-fixes
bb-11.0-bar-MDEV-15750
bb-11.0-before-feb
bb-11.0-bumpversion
bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages
bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages-salsa
bb-11.0-danielblack-preview-MDEV-30203-MDEV-30574-MDEV-30571-fix-pkgtest
bb-11.0-danielblack-preview-MDEV-30203-fix
bb-11.0-danielblack-preview-MDEV-30203-fix-pkgtest
bb-11.0-danielblack-preview-MDEV-30203-pkgtest
bb-11.0-danielblack-rpm-fix
bb-11.0-galera-split-wsrep-provider-options
bb-11.0-igor
bb-11.0-jan23-rebase
bb-11.0-jan23-rebase-try2
bb-11.0-jan23-rebase-try3
bb-11.0-mdbf-535-do-not-merge
bb-11.0-mdev-22979
bb-11.0-mdev-22979-bootstrap-test-demo
bb-11.0-mdev-22979-create-handler-no-wait
bb-11.0-mdev-22979-init-query-in-spider-db-init
bb-11.0-mdev-22979-init-spider-last
bb-11.0-mdev-22979-init-spider-last-poc
bb-11.0-mdev-22979-old
bb-11.0-mdev-25292-ycp-spider-maint
bb-11.0-mdev-26137
bb-11.0-mdev-26137-unsquashed
bb-11.0-mdev-26137-wip-alter-import
bb-11.0-mdev-26137-wip-cfg-clone
bb-11.0-mdev-26137-wip-minimal-create-table
bb-11.0-mdev-26247
bb-11.0-mdev-26345
bb-11.0-mdev-27902
bb-11.0-mdev-27912
bb-11.0-mdev-28152
bb-11.0-mdev-28152-alter-value-type
bb-11.0-mdev-28152-longlong-hybrid-class-fields
bb-11.0-mdev-28152-round-2
bb-11.0-mdev-28152-squashed
bb-11.0-mdev-28526
bb-11.0-mdev-28739
bb-11.0-mdev-28992
bb-11.0-mdev-29002
bb-11.0-mdev-29269
bb-11.0-mdev-29363
bb-11.0-mdev-29363-adjust-extraction-flag
bb-11.0-mdev-29363-no-propagate-with-subquery
bb-11.0-mdev-29363-with-subquery-processor
bb-11.0-mdev-29447-31338
bb-11.0-mdev-29502
bb-11.0-mdev-29502-revert-20502
bb-11.0-mdev-29663
bb-11.0-mdev-29676
bb-11.0-mdev-29676-on-mdev-25292
bb-11.0-mdev-29718
bb-11.0-mdev-29962
bb-11.0-mdev-29962-funlck-demo
bb-11.0-mdev-30014
bb-11.0-mdev-30170
bb-11.0-mdev-30265
bb-11.0-mdev-31117
bb-11.0-mdev-31400
bb-11.0-mdev-31421
bb-11.0-mdev-31524
bb-11.0-mdev-31524-failure-why
bb-11.0-mdev-31586
bb-11.0-mdev-31787
bb-11.0-mdev-31996
bb-11.0-mdev-32238
bb-11.0-mdev-32524
bb-11.0-mdev-32524-wrong
bb-11.0-mdev-32609
bb-11.0-mdev-32804
bb-11.0-mdev-32901
bb-11.0-mdev-32901-v2
bb-11.0-mdev-33742
bb-11.0-mdev30310-updated
bb-11.0-mdev30596
bb-11.0-mdev30693
bb-11.0-mdev30956
bb-11.0-mdev31223
bb-11.0-merge-spider-fixup
bb-11.0-midenok
bb-11.0-midenok-MDEV-20865
bb-11.0-midenok-MDEV-25292
bb-11.0-midenok-MDEV-27180
bb-11.0-midenok-MDEV-30421
bb-11.0-midenok-mydumper
bb-11.0-monty
bb-11.0-oalter
bb-11.0-release-mdev30143
bb-11.0-serg
bb-11.0-spetrunia-tmp
bb-11.0-sysschema-optimizer_switch
bb-11.0-tmp
bb-11.0-ycp
bb-11.0-ycp-mdev-26151
bb-11.0-ycp-mdev-26151-exp
bb-11.0-ycp-mdev-26151-hypothesis
bb-11.0-ycp-mdev-26247
bb-11.0-ycp-mdev-26247-disable-gbh
bb-11.0-ycp-mdev-26247-first-table-holder-spider
bb-11.0-ycp-mdev-26247-optimized-away-const-table
bb-11.0-ycp-mdev-26247-remove-spdgbh-const-table-handling
bb-11.0-ycp-mdev-26247-spider-fields-wrong-spider
bb-11.0-ycp-mdev-26247-unsquashed
bb-11.0-ycp-mdev-28998
bb-11.0-ycp-mdev-29502
bb-11.0-ycp-mdev-29963
bb-11.0-ycp-mdev-30014
bb-11.0-ycp-mdev-31586
bb-11.0-ycp-mdev-31996
bb-11.0-ycp-spider
bb-11.0-ycp-spider-mdev-29502
bb-11.0-ycp-spider-mdev-31117
bb-11.0-ycp-spider-mdev-31524
bb-11.1-MDEV-16329-online-alter
bb-11.1-MDEV-26137
bb-11.1-MDEV-27871-MDEV-31933
bb-11.1-MDEV-29911
bb-11.1-MDEV-31005
bb-11.1-MDEV-31599
bb-11.1-MDEV-33533
bb-11.1-MDEV-33533-v2
bb-11.1-MDEV-34649
bb-11.1-all-builders
bb-11.1-bar
bb-11.1-bumpversion
bb-11.1-columnstore
bb-11.1-danielblack-MDEV-25282-Auto-shutdown-on-idle-when-socket-activated-pkgtest
bb-11.1-handle-instant-metadata
bb-11.1-igor
bb-11.1-mdev-22534
bb-11.1-mdev-22534-cleanup
bb-11.1-mdev-22534-cleanup2
bb-11.1-mdev-22534-poc
bb-11.1-mdev-22534-unsquashed-2
bb-11.1-mdev-22979-31400
bb-11.1-mdev-25008
bb-11.1-mdev-25080
bb-11.1-mdev-26137
bb-11.1-mdev-26137-round-9
bb-11.1-mdev-26137-squashed
bb-11.1-mdev-26137-unsquashed
bb-11.1-mdev-26178
bb-11.1-mdev-27201
bb-11.1-mdev-27419
bb-11.1-mdev-27912
bb-11.1-mdev-28363
bb-11.1-mdev-28522
bb-11.1-mdev-29447-31338
bb-11.1-mdev-29502
bb-11.1-mdev-29630
bb-11.1-mdev-29676
bb-11.1-mdev-30435-30981
bb-11.1-mdev-30920
bb-11.1-mdev-31117
bb-11.1-mdev-31400
bb-11.1-mdev-31421
bb-11.1-mdev-31586
bb-11.1-mdev-31788
bb-11.1-mdev-31902
bb-11.1-mdev-32157
bb-11.1-mdev-32238
bb-11.1-mdev-34002
bb-11.1-mdev-34757
bb-11.1-midenok
bb-11.1-monty
bb-11.1-release-fix-debian-columnstore-pkgtest
bb-11.1-remove-save-prep-leaf-tables
bb-11.1-serg
bb-11.1-ycp
bb-11.1-ycp-mdev-22534
bb-11.1-ycp-spider
bb-11.1-ycp-spider-maint
bb-11.2-MDEV-27871
bb-11.2-MDEV-30100
bb-11.2-MDEV-30145
bb-11.2-MDEV-30822-galera
bb-11.2-MDEV-30822-v2-galera
bb-11.2-MDEV-31005
bb-11.2-MDEV-31411
bb-11.2-MDEV-31431
bb-11.2-MDEV-31799
bb-11.2-MDEV-32123
bb-11.2-MDEV-32628-mergefix
bb-11.2-MDEV-33525
bb-11.2-MDEV-33921-mergefix
bb-11.2-MDEV-35072
bb-11.2-MDEV-5816
bb-11.2-bar
bb-11.2-bar-MDEV-33182
bb-11.2-bumpversion
bb-11.2-columnstore
bb-11.2-getcpu-counter
bb-11.2-growt
bb-11.2-innodb-preview
bb-11.2-mdev-22168-hf
bb-11.2-mdev-22534
bb-11.2-mdev-22534-demo-exists2in-loop
bb-11.2-mdev-22534-item-ref-propagate
bb-11.2-mdev-22534-item-ref-propagate-review-fixes
bb-11.2-mdev-22534-item-ref-propagate-unsquashed
bb-11.2-mdev-22534-unpatched-equal-fields
bb-11.2-mdev-22534-unsquashed
bb-11.2-mdev-26137-fix-import-recovery
bb-11.2-mdev-28856
bb-11.2-mdev-28856-static-fallback
bb-11.2-mdev-29502
bb-11.2-mdev-31117
bb-11.2-mdev-31400
bb-11.2-mdev-31524
bb-11.2-mdev-31586
bb-11.2-mdev-31788
bb-11.2-mdev-31788-merge-practice-run
bb-11.2-mdev-32046
bb-11.2-mdev-32157
bb-11.2-mdev-34659
bb-11.2-mdev-35073
bb-11.2-merge
bb-11.2-midenok-MDEV-25495
bb-11.2-midenok-MDEV-27180
bb-11.2-midenok-MDEV-4991
bb-11.2-oalter
bb-11.2-oalter-MDEV-31185
bb-11.2-opentables
bb-11.2-serg
bb-11.2-spetrunia-merge
bb-11.2-thiru
bb-11.2-vicentiu
bb-11.2-ycp
bb-11.2-ycp-mdev-15935
bb-11.2-ycp-mdev-28856
bb-11.2-ycp-mdev-28856-sysvar-option-same
bb-11.3-MDEV-25870
bb-11.3-MDEV-27247-restrict-domains
bb-11.3-MDEV-29167
bb-11.3-MDEV-30953-mariadb-server-galera-pkgtest
bb-11.3-MDEV-31496-sargable-casefold
bb-11.3-MDEV-31496-sargable-casefold-v2
bb-11.3-MDEV-31684
bb-11.3-MDEV-32184
bb-11.3-all-builders
bb-11.3-bar-MDEV-12252
bb-11.3-bar-MDEV-20034
bb-11.3-bar-MDEV-31431
bb-11.3-bar-MDEV-32148
bb-11.3-bumpversion
bb-11.3-elenst
bb-11.3-georg
bb-11.3-mdev-15935
bb-11.3-mdev-22534
bb-11.3-mdev-22534-item-ref-no-direct
bb-11.3-mdev-22534-ps-fix2
bb-11.3-mdev-27576
bb-11.3-mdev-28856
bb-11.3-mdev-28856-and-fixes
bb-11.3-mdev-28856-delete-all-rows
bb-11.3-mdev-31996
bb-11.3-mdev-32234
bb-11.3-mdev-32254
bb-11.3-mdev-32486
bb-11.3-mdev-32568
bb-11.3-mdev-32640
bb-11.3-mdev-32640-commented-global
bb-11.3-mdev19177-hf
bb-11.3-merge
bb-11.3-mini-MDEV-31431
bb-11.3-monty
bb-11.3-release-ycp-fix
bb-11.3-serg
bb-11.3-timestamp
bb-11.3-vicentiu
bb-11.3-ycp-mdev-15935
bb-11.3-ycp-mdev-28856
bb-11.4-MCOL-6069
bb-11.4-MDEV-18478
bb-11.4-MDEV-18478-v2
bb-11.4-MDEV-18478-v3
bb-11.4-MDEV-18478-v4
bb-11.4-MDEV-18478-v4-MDEV-12404
bb-11.4-MDEV-27871-MDEV-31933
bb-11.4-MDEV-29981-merge
bb-11.4-MDEV-30073-8.3
bb-11.4-MDEV-30260-mergefix
bb-11.4-MDEV-30366-bulk-results
bb-11.4-MDEV-30366-bulk-results-2
bb-11.4-MDEV-30469
bb-11.4-MDEV-30469-goose
bb-11.4-MDEV-30877-v3
bb-11.4-MDEV-31404
bb-11.4-MDEV-31855-ssl
bb-11.4-MDEV-31933
bb-11.4-MDEV-32216-parallel-mysqldump
bb-11.4-MDEV-32575
bb-11.4-MDEV-32694
bb-11.4-MDEV-32841
bb-11.4-MDEV-33436
bb-11.4-MDEV-33500-v2-mergefix
bb-11.4-MDEV-33640
bb-11.4-MDEV-34122-mergefix
bb-11.4-MDEV-34200
bb-11.4-MDEV-34322
bb-11.4-MDEV-34348-merge-fix
bb-11.4-MDEV-34408-effcplusplus_warning_test
bb-11.4-MDEV-34649
bb-11.4-MDEV-34779
bb-11.4-MDEV-34877
bb-11.4-MDEV-35342
bb-11.4-MDEV-35694-merge
bb-11.4-MDEV-35958
bb-11.4-MDEV-35969-galera
bb-11.4-MDEV-36321-review-input
bb-11.4-MDEV-36389-review-input
bb-11.4-MDEV-36462
bb-11.4-MDEV-36663-mergefix
bb-11.4-MDEV-36809
bb-11.4-MDEV-36843-galera
bb-11.4-MDEV-36861
bb-11.4-MDEV-37143
bb-11.4-MDEV-37680-danblack-pkgtest
bb-11.4-MDEV-37723-try2
bb-11.4-MDEV-37864
bb-11.4-MDEV-7850
bb-11.4-MDEV-7850-galera-testfix
bb-11.4-add-columnstore-mtr-pkgtest
bb-11.4-all-builders
bb-11.4-andrei
bb-11.4-anel-MDEV-31404
bb-11.4-anel-check-bb
bb-11.4-bar
bb-11.4-bar-MDEV-12252
bb-11.4-bar-MDEV-20034
bb-11.4-bar-MDEV-20912
bb-11.4-bar-MDEV-25829
bb-11.4-bar-MDEV-31340
bb-11.4-bar-MDEV-31531
bb-11.4-bar-MDEV-32380
bb-11.4-bar-MDEV-33386
bb-11.4-bar-MDEV-33428
bb-11.4-bar-MDEV-33729
bb-11.4-bar-MDEV-34085
bb-11.4-bar-MDEV-35688
bb-11.4-bar-MDEV-36047
bb-11.4-bar-MDEV-36053
bb-11.4-bar-MDEV-36213
bb-11.4-bar-MDEV-36216
bb-11.4-bar-MDEV-36361
bb-11.4-bar-MDEV-36390
bb-11.4-bar-MDEV-36565
bb-11.4-bar-m35677
bb-11.4-bumpversion
bb-11.4-compatibility
bb-11.4-danblack-MCOL-5825-selinux-test-pkgtest
bb-11.4-elenst
bb-11.4-georg
bb-11.4-julius-galera
bb-11.4-knielsen
bb-11.4-mdev-15696
bb-11.4-mdev-27186
bb-11.4-mdev-27260
bb-11.4-mdev-27576-preview
bb-11.4-mdev-27998
bb-11.4-mdev-28105
bb-11.4-mdev-28152
bb-11.4-mdev-28861
bb-11.4-mdev-28861-old
bb-11.4-mdev-28861-warning-demo
bb-11.4-mdev-31788
bb-11.4-mdev-32627
bb-11.4-mdev-32627-empty-check-ci
bb-11.4-mdev-32627-empty-check-ci-2
bb-11.4-mdev-32640
bb-11.4-mdev-32856-preview
bb-11.4-mdev-32999
bb-11.4-mdev-33190-hf
bb-11.4-mdev-33608
bb-11.4-mdev-34272
bb-11.4-mdev-34272-options
bb-11.4-mdev-34272-socket-length
bb-11.4-mdev-35783-debug
bb-11.4-mdev-35840
bb-11.4-mdev-36323
bb-11.4-mdev-37193
bb-11.4-mdev-37484
bb-11.4-mdev-37484-spider-federatedx
bb-11.4-mdev-37810
bb-11.4-mdev12404-asserts
bb-11.4-merge
bb-11.4-midenok
bb-11.4-midenok-MDEV-16417
bb-11.4-midenok-MDEV-20865
bb-11.4-midenok-MDEV-30973
bb-11.4-monty
bb-11.4-nikita
bb-11.4-nikita-merge
bb-11.4-no-capabilities-pkgtest
bb-11.4-parallel-mysqldump
bb-11.4-pr2726-MDEV-19210-environment-file-pkgtest
bb-11.4-release
bb-11.4-release-julius
bb-11.4-serg
bb-11.4-sts-crd
bb-11.4-testMDEV-32441
bb-11.4-thiru
bb-11.4-timestamp
bb-11.4-timestamp-windows
bb-11.4-timofey1
bb-11.4-todo-5687
bb-11.4-vec
bb-11.4-vec-intel
bb-11.4-vec-vicentiu
bb-11.4-vec-vicentiu-hugo
bb-11.4-wlad
bb-11.4-wlad-MDEV-33474
bb-11.4-ycp-fix
bb-11.4-ycp-fixup
bb-11.4.3-mdev-34925
bb-11.4.6-histogram-getter
bb-11.5-MDEV-18478
bb-11.5-MDEV-31005
bb-11.5-MDEV-32854
bb-11.5-MDEV-33144-slow-query-log-always-write-time
bb-11.5-MDEV-33188-multithreaded-dump
bb-11.5-MDEV-33625
bb-11.5-MDEV-33677-galera
bb-11.5-MDEV-33988-delete-table-alias-pkgtest
bb-11.5-all-builders
bb-11.5-andrei
bb-11.5-bar
bb-11.5-bar-MDEV-11339
bb-11.5-bar-MDEV-12668
bb-11.5-bar-MDEV-19123
bb-11.5-bar-MDEV-20610
bb-11.5-bar-MDEV-25829
bb-11.5-bar-MDEV-30716
bb-11.5-bar-MDEV-31340
bb-11.5-bar-MDEV-31531
bb-11.5-bar-MDEV-33281
bb-11.5-bar-MDEV-33281-v2
bb-11.5-bar-MDEV-33621
bb-11.5-bar-MDEV-33696
bb-11.5-bar-MDEV-33827
bb-11.5-bar-MDEV-34025
bb-11.5-bar-preview
bb-11.5-bumpversion
bb-11.5-elenst
bb-11.5-hints
bb-11.5-hints-bar-parser-v2
bb-11.5-hints-bar-parser-v3
bb-11.5-mdev-22168
bb-11.5-mdev-28152
bb-11.5-mdev-30929-sleep
bb-11.5-mdev-30929-wait-and-die
bb-11.5-mdev-30929-wait-and-retry
bb-11.5-mdev-31609
bb-11.5-mdev-31789
bb-11.5-mdev-31789-gold
bb-11.5-mdev-33734
bb-11.5-mdev-33739
bb-11.5-mdev-33836
bb-11.5-mdev-34404
bb-11.5-mdev-34518
bb-11.5-mdev-34745-init-val
bb-11.5-mdev12404-extras
bb-11.5-midenok
bb-11.5-monty
bb-11.5-monty2
bb-11.5-opentables
bb-11.5-opentables-2
bb-11.5-opentables-further
bb-11.5-opentables-mysyshash
bb-11.5-opentables-testlab
bb-11.5-serg
bb-11.5-timestamp
bb-11.5-ycp-mtr-ubsan-overflow
bb-11.6-2-hf
bb-11.6-MDEV-12320
bb-11.6-MDEV-19191-fk_partitioning
bb-11.6-MDEV-27293-sysver
bb-11.6-MDEV-31809-galera
bb-11.6-MDEV-32618-auth-plugin
bb-11.6-MDEV-33697
bb-11.6-MDEV-33748
bb-11.6-MDEV-33748-2
bb-11.6-MDEV-33856-bnestere
bb-11.6-MDEV-33856-seconds_behind_master
bb-11.6-MDEV-34551
bb-11.6-MDEV-34649
bb-11.6-MDEV-34704
bb-11.6-all-builders
bb-11.6-bar
bb-11.6-bar-34817
bb-11.6-bar-MDEV-12252
bb-11.6-bar-MDEV-15751
bb-11.6-bar-MDEV-19123
bb-11.6-bar-MDEV-27277
bb-11.6-bar-MDEV-34829
bb-11.6-bar-MDEV-34922
bb-11.6-bar-MDEV-35041
bb-11.6-bumpversion
bb-11.6-fix-is-test
bb-11.6-hf
bb-11.6-hints-max-exec-time-v2
bb-11.6-hints-max-exec-time-v3
bb-11.6-hints-max-exec-time-v3-review
bb-11.6-hints-v2
bb-11.6-hints-v2-input
bb-11.6-hints-v2-input2
bb-11.6-mdev-15696
bb-11.6-mdev-22168-hf
bb-11.6-mdev-22168-test-hf
bb-11.6-mdev-25008
bb-11.6-mdev-28009
bb-11.6-mdev-32492-27902-29962
bb-11.6-mdev-34518
bb-11.6-mdev-34757
bb-11.6-mdev-35041
bb-11.6-mdev20250-hf
bb-11.6-midenok
bb-11.6-midenok-MDEV-16417
bb-11.6-monty
bb-11.6-parsec
bb-11.6-pkgtest
bb-11.6-release-spider-ptr-fix
bb-11.6-remove-save-prep-leaf-tables
bb-11.6-serg
bb-11.6-vicentiu
bb-11.6-vicentiu-wip
bb-11.6-wlad
bb-11.7-MDEV-15751-timestamp
bb-11.7-MDEV-19191-fk_partitioning
bb-11.7-MDEV-20153
bb-11.7-MDEV-27293-sysver
bb-11.7-MDEV-30908-session-user
bb-11.7-MDEV-31005-fix
bb-11.7-MDEV-31466
bb-11.7-MDEV-33144-slow-query-log-always-write-time
bb-11.7-MDEV-33710-uuid
bb-11.7-MDEV-33756
bb-11.7-MDEV-34930
bb-11.7-MDEV-35793
bb-11.7-MDEV-35939
bb-11.7-MDEV-36057
bb-11.7-MDEV-6017-variant3
bb-11.7-all-builders
bb-11.7-bar-MDEV-12252-sp-row
bb-11.7-bar-MDEV-34317-ora-record
bb-11.7-bar-MDEV-34817
bb-11.7-bar-MDEV-35229
bb-11.7-bar-MDEV-35250
bb-11.7-bnestere
bb-11.7-bumpversion
bb-11.7-check-table
bb-11.7-cset-narrowing-on
bb-11.7-knielsen
bb-11.7-mdev-15696
bb-11.7-mdev-15696-before-squash
bb-11.7-mdev-24813-debug
bb-11.7-mdev-25008
bb-11.7-mdev-28009
bb-11.7-mdev-30576
bb-11.7-mdev-34120-gis-functions
bb-11.7-mdev-34872
bb-11.7-mdev-34915
bb-11.7-mdev-34915-old-format
bb-11.7-mdev-35318
bb-11.7-mdev-35318-just-reprepare
bb-11.7-mdev-35318-own-reprepare-system
bb-11.7-mdev-35557
bb-11.7-mdev-35662
bb-11.7-mdev-36080
bb-11.7-merge
bb-11.7-parsec
bb-11.7-serg
bb-11.7-spetrunia-tmp
bb-11.7-wlad
bb-11.7-xaxa
bb-11.7-xaxaxa
bb-11.7.release
bb-11.8-MDEV-10164
bb-11.8-MDEV-14091
bb-11.8-MDEV-30877
bb-11.8-MDEV-30877-v2
bb-11.8-MDEV-30877-v3
bb-11.8-MDEV-31933
bb-11.8-MDEV-33603-nossl-socket
bb-11.8-MDEV-33677-galera
bb-11.8-MDEV-34551
bb-11.8-MDEV-34699-vector-arm
bb-11.8-MDEV-34724
bb-11.8-MDEV-34822-galera
bb-11.8-MDEV-34979
bb-11.8-MDEV-35155
bb-11.8-MDEV-35450-vec_distance
bb-11.8-MDEV-35694-merge
bb-11.8-MDEV-36079
bb-11.8-MDEV-36390
bb-11.8-MDEV-36398
bb-11.8-MDEV-36474
bb-11.8-MDEV-36527-galera
bb-11.8-MDEV-37463
bb-11.8-MDEV-37732
bb-11.8-MDEV-6017-variant3
bb-11.8-MDEV-7850-opt
bb-11.8-MDEV-9101_err
bb-11.8-MDEV-9158-file-key-manager
bb-11.8-MDEV30877
bb-11.8-add-columnstore-mtr-pkgtest
bb-11.8-all-builders
bb-11.8-bar-MDEV-10862-opt-params
bb-11.8-bar-MDEV-22217-utf8mb4
bb-11.8-bar-MDEV-31736-format_bytes
bb-11.8-bar-MDEV-34189
bb-11.8-bar-MDEV-34317
bb-11.8-bar-MDEV-36322
bb-11.8-bar-MDEV-37849
bb-11.8-bar-MDEV-MDEV-26115
bb-11.8-bumpversion
bb-11.8-check-table
bb-11.8-dbart
bb-11.8-identity
bb-11.8-innodb-ahi-cursor
bb-11.8-knielsen
bb-11.8-mdev-22491
bb-11.8-mdev-30469
bb-11.8-mdev-34680-custom-hf
bb-11.8-mdev-34680-hf
bb-11.8-mdev-34911
bb-11.8-mdev-34911-plus-cleanup
bb-11.8-mdev-34911-review
bb-11.8-mdev-35323
bb-11.8-mdev-35662
bb-11.8-mdev-35866-rnd-next-twice
bb-11.8-mdev-36080
bb-11.8-mdev-36087
bb-11.8-mdev-36758
bb-11.8-mdev-36791
bb-11.8-mdev-37723
bb-11.8-mdev-37810
bb-11.8-midenok
bb-11.8-midenok-merge
bb-11.8-midenok-merge2
bb-11.8-monty
bb-11.8-monty-fix-get-examined-rows
bb-11.8-monty-mdl_name
bb-11.8-monty2
bb-11.8-monty3
bb-11.8-nikita-global-tmp
bb-11.8-no-parameterless-new
bb-11.8-release
bb-11.8-serg
bb-11.8-sn
bb-11.8-sn-av
bb-11.8-sn-av2
bb-11.8-wlad
bb-11.9-mdev-22168-hf
bb-12.0-MDEV-10164
bb-12.0-MDEV-20022
bb-12.0-MDEV-20065-galera
bb-12.0-MDEV-20299-authorization
bb-12.0-MDEV-20299-sudo
bb-12.0-MDEV-29981-merge
bb-12.0-MDEV-33834-audit
bb-12.0-MDEV-34822-fk-ist
bb-12.0-MDEV-35856-index-hints-v2-ycp-cleanup
bb-12.0-MDEV-36077-galera
bb-12.0-MDEV-36484-rename
bb-12.0-MDEV-36675-is-error
bb-12.0-MDEV-37035-timeout
bb-12.0-bar-MDEV-20022
bb-12.0-bar-MDEV-20022-v1
bb-12.0-bar-MDEV-20034
bb-12.0-bar-MDEV-34319
bb-12.0-bar-MDEV-36503
bb-12.0-bar-MDEV-36705
bb-12.0-bar-MDEV-36716
bb-12.0-bumpversion
bb-12.0-mdev-21376-hf
bb-12.0-mdev-22491-35866-no-36032
bb-12.0-mdev-22491-36032-35866
bb-12.0-mdev-32732
bb-12.0-mdev-32732-demo-remove-null-range
bb-12.0-mdev-34120-gis-functions
bb-12.0-mdev-34680-hf
bb-12.0-mdev-34680x2-hf
bb-12.0-mdev-34712
bb-12.0-mdev-35866
bb-12.0-mdev-36032
bb-12.0-mdev-36032-check-on-writing
bb-12.0-mdev-37099-hf
bb-12.0-mdev-37131-hf
bb-12.0-nikita-autoinc-lite
bb-12.0-nikita-global-tmp
bb-12.0-release
bb-12.0-serg
bb-12.0-unstable-join-order
bb-12.1-MDEV-20065-galera
bb-12.1-MDEV-20065-v2-galera
bb-12.1-MDEV-31949_part_III
bb-12.1-MDEV-32830_xa
bb-12.1-MDEV-35617
bb-12.1-MDEV-35617-drop-user
bb-12.1-MDEV-36077-galera
bb-12.1-MDEV-36077-v2-galera
bb-12.1-MDEV-36205-subdist
bb-12.1-MDEV-36483-review-input
bb-12.1-MDEV-9804-sha2
bb-12.1-andrei
bb-12.1-bar-MDEV-20022
bb-12.1-bar-MDEV-33830
bb-12.1-bar-MDEV-33830-oldway
bb-12.1-bar-MDEV-36053
bb-12.1-bar-MDEV-36053-v2
bb-12.1-bar-MDEV-37319
bb-12.1-bar-MDEV-37408
bb-12.1-bar-MDEV-37430
bb-12.1-bar-MDEV-37863
bb-12.1-bumpver
bb-12.1-bumpversion
bb-12.1-columnstore-23.10
bb-12.1-elenst
bb-12.1-elenst-MDEV-19749-MDL
bb-12.1-elenst-MDEV-36205-subdist
bb-12.1-mdev-28792
bb-12.1-mdev-36132
bb-12.1-mdev-36132-base
bb-12.1-mdev-36132-covering
bb-12.1-mdev-36132-group-by
bb-12.1-mdev-36132-keyread-with-vcol
bb-12.1-mdev-36132-replace-all-fields-item
bb-12.1-mdev-36132-subst
bb-12.1-mdev-36132-subst-covering
bb-12.1-mdev-36132-try-fix-covering
bb-12.1-mdev-36132-wip
bb-12.1-mdev-36132-wip-fixes
bb-12.1-mdev-37178
bb-12.1-mdev-37252
bb-12.1-mdev-37422
bb-12.1-mdev-37422-dedup-1
bb-12.1-mdev-37422-reinit-rollup
bb-12.1-mdev-37422-v2
bb-12.1-mdev-37422-v3
bb-12.1-mdev-37435
bb-12.1-mdev-38040
bb-12.1-mdev-38040-demo
bb-12.1-monty
bb-12.1-monty-MDEV-20023
bb-12.1-release
bb-12.1-serg
bb-12.1-spetrunia
bb-12.1-ycp-fixup
bb-12.2-MDEV-37082
bb-12.2-bar-MDEV-10152
bb-12.2-bar-MDEV-20022
bb-12.2-bumpversion
bb-12.2-frm-staging
bb-12.2-mdev-36055
bb-12.2-mdev-36055-basic
bb-12.2-mdev-36055-check-mdev-36331
bb-12.2-mdev-36055-graph
bb-12.2-mdev-36055-limit-heuristic-pruning
bb-12.2-mdev-36055-prune-level-0
bb-12.2-mdev-37261-hf
bb-12.2-nikita-global-tmp
bb-12.2-release
bb-12.2-serg
bb-12.3-MDEV-10267-ngram
bb-12.3-MDEV-34723
bb-14005-hf
bb-19248-libmariadb
bb-19248-libmariadb.bak.1
bb-MDEV-17856
bb-MDEV-21092-21095-29997-optimizer-trace-updates
bb-MDEV-24-monty
bb-MDEV-36234-wlad
bb-MDEV-7487-rebased-against-11.0.1
bb-MDEV-7487-rebased-against-11.0.1-MDEV-29390-test
bb-MDEV-9804-wolfssl-fixes
bb-MDEV14101
bb-ahi-monty
bb-hf-10.4-mdev7974
bb-hf-sup25102
bb-json_depth-rucha
bb-linuxjedi-mdev-33479
bb-main-MDEV-13817
bb-main-MDEV-13817-2
bb-main-MDEV-13817-2-ycp-review
bb-main-MDEV-13817-review-input
bb-main-MDEV-31741
bb-main-MDEV-33387
bb-main-MDEV-36830
bb-main-MDEV-37339
bb-main-MDEV-37339-2
bb-main-all-builders
bb-main-mdev-27260
bb-main-mdev-27260-any-item-processor
bb-main-mdev-27260-unsquashed
bb-main-mdev-30847
bb-main-mdev-32907
bb-main-mdev-37110
bb-main-mdev-37111
bb-main-mdev-37114
bb-main-mdev-37193
bb-main-mdev-37193-demo
bb-main-mdev-37193-unsquashed
bb-main-mdev-37330
bb-main-mdev-37330-assert
bb-main-mdev-37330-reverse-index
bb-main-mdev-37435
bb-main-mdev-38111
bb-main-mdev-9826-option-2
bb-main-mdev-9826-v2
bb-main-mdev-9826-v3
bb-main-midenok-MDEV-16417
bb-main-midenok-MDEV-16417-rebase
bb-main-midenok-MDEV-16417-refactorings
bb-main-midenok-MDEV-19191
bb-main-midenok-MDEV-25292
bb-main-midenok-MDEV-37008
bb-main-monty
bb-main-release
bb-main-thiru
bb-main-vicentiu-test-bb
bb-main-vicentiu-uniques
bb-main-vicentiu-uniques-rebase
bb-main-wlad-denies
bb-main-ycp
bb-maria-s3
bb-mcs-10.9
bb-mdev-10.5-mdev-32180
bb-mdev-14472
bb-mdev-31766-hf
bb-mdev-36132-demo
bb-mdev21211-hf
bb-nikita-MDEV-16440
bb-opt-hints-1
bb-opt-hints-1-cleanup
bb-pr-689
bb-pr-774
bb-sup37463
bb-wip-11.4-mdev-12404
bb-wlad-main
bb_mdev14101
chk-11.0-merge
clone_changes_thiru
clone_history
codership-10.4-MDEV-21697
codership-10.4-MDEV-22227
codership-sst-ssl-fixes-10.2
columnstore_cache
detached
fk_in_progress
fk_list_span
for_vanislavskiy
for_vanislavskiy_speedup
hf-10.11.11-mdev16253-rocksdb-6.29fb
hf-10.5-10.5.22-MDEV-25163
hf-10.6-10.6.10-auth-pam
hf-10.6-10.6.11-pkgtest-MDEV-31185-pins
hf-10.6-10.6.12-MDEV-30165
hf-s25102
howard0su-10.2
https/jira.mariadb.org/browse/MDEV-11588
ib_fix_plugin_init
jan-MDEV-29171-galera
kakurin_sampling
knielsen-binlog-in-engine-xa
knielsen-mdev36934-10.11
knielsen-mdev36934-10.6
knielsen_alt_domain_wait
knielsen_binlog_in_engine
knielsen_binlog_in_engine_11.8
knielsen_catalog_rpl
knielsen_detect_non_trans_optimistic
knielsen_fixes_12.0
knielsen_mdev22351
knielsen_mdev24948
knielsen_mdev31949_review
knielsen_mdev32020
knielsen_mdev32673
knielsen_mdev35643
knielsen_mdev35643_11.4
knielsen_mdev36137_10.11
knielsen_mdev36137_10.4
knielsen_mdev37606_dll_crash_safe_slave
knielsen_rpl_fixes_10.6
knielsen_rpl_fixes_11.8
knielsen_rpl_print_deadlocks
knielsen_rpl_print_deadlocks-10.5
knielsen_start_alter
knielsen_xa_sched_minimal_fix
leblanc-10.5-cs
main
main-MDEV-19574
main-MDEV-28730
main-MDEV-31741
main-MDEV-32570
main-MDEV-34705-bnestere-mtr-additions
main-MDEV-35248
main-MDEV-36290
main-MDEV-36733
main-MDEV-37487-mysqlbinlog_slave_consistency
main-spetrunia-tmp
main-vicentiu
main-wlad-denies
maria-s3
mdev-13625
mdev-13626
mdev-17856.tmp
mdev-18983
mdev-18983.px5.bak
mdev-19248
mdev-23077
mdev-24813
mdev-35474
mdev-35599
mdev-35599.dup_bounds_error
mdev-35879.test
mdev-35948-replicate
mdev-36245-hf
mdev-36839
mdev-37102
mdev-37116
merge-10.11-MDEV-33668
midenok-tmp
nc-10.11-merge-spider
nikita-11.4-MDEV-33049
nikita-autoinc
nikita-autoinc-lite
nikita/MDEV-25774
nikita/periods-fk-rebase
nm/period-fk-fallback
nm/period-fk-linear
nm/replace
nm/versioning-combinatoin
nm/without-overlaps-rebased
nn-10.10-merge
nn-10.11-merge
nn-10.5-merge
nn-10.6-merge
nn-11.0-merge
nn-11.1-merge
nn-11.2-merge
nn-11.3-merge
ok-10.2-connect-no-new-files-in-stable-releases
orig-12.0-mdev-36167-gis-assertion-reset-field
origin/bb-10.3-MDEV-21117
pkcg
preview-12.0-preview
preview-12.1-preview
preview-12.2-preview
prot-st-10.2-vicentiu
px5-rpl-filter
px5-rpl-filter.sysvar-member.bak
px5-rpl-filter.tmp
px5.mdev-35758
px5.mysqld_error_find_printf_error
px5.pull_request_template
px5.sss_inc_vars
px5.yes_san
qa-11.7-MDEV-32014
qa-11.7-MDEV-34857
queue-v1
raw-10.6-MDEV-16983-period-fk
review-11.4-MDEV-33049
review__knielsen_xa_sched_minimal_fix
rpl_start-stop_inc
scope_exit
selectivity-10.7-rbz
st-10.11-MDEV-31953
st-10.11-MDEV-34422
st-10.11-julius
st-10.11-knielsen
st-10.11-merge-draft
st-10.11-merge-wip
st-10.11-wlad
st-10.2-danielblack-MDEV-27279-mariadb-upgrade-check-if-needed
st-10.4-anel-MDEV-22486-mysql_secure_installation
st-10.4-julius
st-10.4-merge-julius
st-10.5-MDEV-10962-deadlock-deletes
st-10.5-julius
st-10.5-vicentiu
st-10.6-MDEV-10962-deadlock-deletes
st-10.6-MDEV-29575-is_crash
st-10.6-julius
st-10.6-julius-galera
st-10.6-julius-v2
st-10.6-merge-julius
st-10.6-vicentiu
st-11.1-merge-fix
st-11.2-thiru
st-11.4-MDEV-34388
st-11.4-julius
st-11.4-merge-julius
st-11.4-merge-spider-fixup
st-11.4-wlad
st-11.6-vlad-test
st-11.6-wlad
st-12.0-merge-julius
st-12.1-MDEV-33966
sup-37643-hf
svoj-szworkshop
svoj-workshop
szworkshop
tmp_sachin
tst-10.8-elenst
vice-1
vicentiu-deny-command
vicentiu-docker
vicentiu-filter-2
vicentiu-tmp
wip-11.4-mdev-12404
xx.x-mdev-12513-INTERVAL-data-type
base_4_16217
beta-3.23.23
clone-4.0.25-build
clone-4.0.26-build
clone-4.0.27-build
clone-4.0.28-build
clone-4.0.29-build
clone-4.0.30-build
clone-4.1.12-build
clone-4.1.13-build
clone-4.1.14-build
clone-4.1.15-build
clone-4.1.16-build
clone-4.1.17-build
clone-4.1.18-build
clone-4.1.19-build
clone-4.1.21-build
clone-4.1.22-build
clone-4.1.23-build
clone-4.1.24-build
clone-4.1.25-build
clone-5.0.10-build
clone-5.0.11-build
clone-5.0.12-build
clone-5.0.13-build
clone-5.0.14-build
clone-5.0.15-build
clone-5.0.16-build
clone-5.0.17-build
clone-5.0.18-build
clone-5.0.19-build
clone-5.0.20-build
clone-5.0.21-build
clone-5.0.23-build
clone-5.0.24-build
clone-5.0.25-build
clone-5.0.26-build
clone-5.0.3-build
clone-5.0.30-build
clone-5.0.32-build
clone-5.0.34-build
clone-5.0.36-build
clone-5.0.37-build
clone-5.0.38-build
clone-5.0.4-build
clone-5.0.40-build
clone-5.0.41-build
clone-5.0.42-build
clone-5.0.44-build
clone-5.0.45-build
clone-5.0.46-build
clone-5.0.48-build
clone-5.0.5-build
clone-5.0.50-build
clone-5.0.51-build
clone-5.0.52-build
clone-5.0.54-build
clone-5.0.56-build
clone-5.0.58-build
clone-5.0.6-build
clone-5.0.60-build
clone-5.0.60sp1-build
clone-5.0.62-build
clone-5.0.64-build
clone-5.0.66-build
clone-5.0.66sp1-build
clone-5.0.67-build
clone-5.0.68-build
clone-5.0.7-build
clone-5.0.70-build
clone-5.0.72-build
clone-5.0.72sp1-build
clone-5.0.74-build
clone-5.0.74sp1-build
clone-5.0.75-build
clone-5.0.76-build
clone-5.0.78-build
clone-5.0.79-build
clone-5.0.8-build
clone-5.0.80-build
clone-5.0.81-build
clone-5.0.82-build
clone-5.0.83-build
clone-5.0.84-build
clone-5.0.85-build
clone-5.0.86-build
clone-5.0.87-build
clone-5.0.88-build
clone-5.0.89-build
clone-5.0.9-build
clone-5.0.90-build
clone-5.0.91-build
clone-5.0.92-build
clone-5.0.93-build
clone-5.0.94-build
clone-5.0.95-build
clone-5.0.96-build
clone-5.1.0-build
clone-5.1.1-build
clone-5.1.10-build
clone-5.1.11-build
clone-5.1.12-build
clone-5.1.13-build
clone-5.1.14-build
clone-5.1.15-build
clone-5.1.16-build
clone-5.1.17-build
clone-5.1.18-build
clone-5.1.19-build
clone-5.1.20-build
clone-5.1.21-build
clone-5.1.22-build
clone-5.1.23-build
clone-5.1.23a-maria-alpha-build
clone-5.1.24-build
clone-5.1.25-build
clone-5.1.26-build
clone-5.1.27-build
clone-5.1.28-build
clone-5.1.29-build
clone-5.1.3-build
clone-5.1.30-build
clone-5.1.31-build
clone-5.1.31-pv-0.2.0-build
clone-5.1.32-build
clone-5.1.33-build
clone-5.1.34-build
clone-5.1.35-build
clone-5.1.36-build
clone-5.1.37-build
clone-5.1.38-build
clone-5.1.39-build
clone-5.1.4-build
clone-5.1.40-build
clone-5.1.41-build
clone-5.1.42-build
clone-5.1.43-build
clone-5.1.44-build
clone-5.1.45-build
clone-5.1.46-build
clone-5.1.47-build
clone-5.1.48-build
clone-5.1.49-build
clone-5.1.5-build
clone-5.1.50-build
clone-5.1.51-build
clone-5.1.52-build
clone-5.1.53-build
clone-5.1.54-build
clone-5.1.55-build
clone-5.1.56-build
clone-5.1.57-build
clone-5.1.58-build
clone-5.1.59-build
clone-5.1.6-build
clone-5.1.60-build
clone-5.1.61-build
clone-5.1.62-build
clone-5.1.63-build
clone-5.1.65-build
clone-5.1.66-build
clone-5.1.67-build
clone-5.1.68-build
clone-5.1.69-build
clone-5.1.7-build
clone-5.1.70-build
clone-5.1.71-build
clone-5.1.72-build
clone-5.1.73-build
clone-5.1.8-build
clone-5.4.0-build
clone-5.4.1-build
clone-5.4.2-build
clone-5.4.3-build
clone-5.5.0-build
clone-5.5.1-build
clone-5.5.10-build
clone-5.5.11-build
clone-5.5.12-build
clone-5.5.13-build
clone-5.5.14-build
clone-5.5.15-build
clone-5.5.17-build
clone-5.5.18-build
clone-5.5.19-build
clone-5.5.2-m2-build
clone-5.5.20-build
clone-5.5.21-build
clone-5.5.22-build
clone-5.5.23-build
clone-5.5.24-build
clone-5.5.25-build
clone-5.5.27-build
clone-5.5.28-build
clone-5.5.29-build
clone-5.5.3-build
clone-5.5.30-build
clone-5.5.31-build
clone-5.5.32-build
clone-5.5.33-build
clone-5.5.34-build
clone-5.5.35-build
clone-5.5.36-build
clone-5.5.5-m3-build
clone-5.5.6-m3-build
clone-5.5.7-rc-build
clone-5.5.8-build
clone-5.5.9-build
import-bdb-4.3.28
import-bdb-4.4.16
import-readline-5.0
import-zlib-1.2.3
mariadb-10.0.0
mariadb-10.0.1
mariadb-10.0.10
mariadb-10.0.11
mariadb-10.0.12
mariadb-10.0.13
mariadb-10.0.14
mariadb-10.0.15
mariadb-10.0.16
mariadb-10.0.17
mariadb-10.0.18
mariadb-10.0.19
mariadb-10.0.2
mariadb-10.0.20
mariadb-10.0.21
mariadb-10.0.22
mariadb-10.0.23
mariadb-10.0.24
mariadb-10.0.25
mariadb-10.0.26
mariadb-10.0.27
mariadb-10.0.28
mariadb-10.0.29
mariadb-10.0.3
mariadb-10.0.30
mariadb-10.0.31
mariadb-10.0.32
mariadb-10.0.33
mariadb-10.0.34
mariadb-10.0.35
mariadb-10.0.36
mariadb-10.0.37
mariadb-10.0.38
mariadb-10.0.4
mariadb-10.0.5
mariadb-10.0.6
mariadb-10.0.7
mariadb-10.0.8
mariadb-10.0.9
mariadb-10.1.0
mariadb-10.1.1
mariadb-10.1.10
mariadb-10.1.11
mariadb-10.1.12
mariadb-10.1.13
mariadb-10.1.14
mariadb-10.1.15
mariadb-10.1.16
mariadb-10.1.17
mariadb-10.1.18
mariadb-10.1.19
mariadb-10.1.2
mariadb-10.1.20
mariadb-10.1.21
mariadb-10.1.22
mariadb-10.1.23
mariadb-10.1.24
mariadb-10.1.25
mariadb-10.1.26
mariadb-10.1.27
mariadb-10.1.28
mariadb-10.1.29
mariadb-10.1.3
mariadb-10.1.30
mariadb-10.1.31
mariadb-10.1.32
mariadb-10.1.33
mariadb-10.1.34
mariadb-10.1.35
mariadb-10.1.36
mariadb-10.1.37
mariadb-10.1.38
mariadb-10.1.39
mariadb-10.1.4
mariadb-10.1.40
mariadb-10.1.41
mariadb-10.1.42
mariadb-10.1.43
mariadb-10.1.44
mariadb-10.1.45
mariadb-10.1.46
mariadb-10.1.47
mariadb-10.1.48
mariadb-10.1.5
mariadb-10.1.6
mariadb-10.1.7
mariadb-10.1.8
mariadb-10.1.9
mariadb-10.10.1
mariadb-10.10.2
mariadb-10.10.2-release
mariadb-10.10.3
mariadb-10.10.4
mariadb-10.10.5
mariadb-10.10.6
mariadb-10.10.7
mariadb-10.11.1
mariadb-10.11.10
mariadb-10.11.11
mariadb-10.11.12
mariadb-10.11.13
mariadb-10.11.14
mariadb-10.11.15
mariadb-10.11.2
mariadb-10.11.3
mariadb-10.11.4
mariadb-10.11.5
mariadb-10.11.6
mariadb-10.11.7
mariadb-10.11.8
mariadb-10.11.9
mariadb-10.2.0
mariadb-10.2.1
mariadb-10.2.10
mariadb-10.2.11
mariadb-10.2.12
mariadb-10.2.13
mariadb-10.2.14
mariadb-10.2.15
mariadb-10.2.16
mariadb-10.2.17
mariadb-10.2.18
mariadb-10.2.19
mariadb-10.2.2
mariadb-10.2.20
mariadb-10.2.21
mariadb-10.2.22
mariadb-10.2.23
mariadb-10.2.24
mariadb-10.2.25
mariadb-10.2.26
mariadb-10.2.27
mariadb-10.2.28
mariadb-10.2.29
mariadb-10.2.3
mariadb-10.2.30
mariadb-10.2.31
mariadb-10.2.32
mariadb-10.2.33
mariadb-10.2.34
mariadb-10.2.35
mariadb-10.2.36
mariadb-10.2.37
mariadb-10.2.38
mariadb-10.2.39
mariadb-10.2.4
mariadb-10.2.40
mariadb-10.2.41
mariadb-10.2.42
mariadb-10.2.43
mariadb-10.2.44
mariadb-10.2.5
mariadb-10.2.6
mariadb-10.2.7
mariadb-10.2.8
mariadb-10.2.9
mariadb-10.3.0
mariadb-10.3.1
mariadb-10.3.10
mariadb-10.3.11
mariadb-10.3.12
mariadb-10.3.13
mariadb-10.3.14
mariadb-10.3.15
mariadb-10.3.16
mariadb-10.3.17
mariadb-10.3.18
mariadb-10.3.19
mariadb-10.3.2
mariadb-10.3.20
mariadb-10.3.21
mariadb-10.3.22
mariadb-10.3.23
mariadb-10.3.24
mariadb-10.3.25
mariadb-10.3.26
mariadb-10.3.27
mariadb-10.3.28
mariadb-10.3.29
mariadb-10.3.3
mariadb-10.3.30
mariadb-10.3.31
mariadb-10.3.32
mariadb-10.3.33
mariadb-10.3.34
mariadb-10.3.35
mariadb-10.3.36
mariadb-10.3.37
mariadb-10.3.38
mariadb-10.3.39
mariadb-10.3.4
mariadb-10.3.5
mariadb-10.3.6
mariadb-10.3.7
mariadb-10.3.8
mariadb-10.3.9
mariadb-10.4.0
mariadb-10.4.1
mariadb-10.4.10
mariadb-10.4.11
mariadb-10.4.12
mariadb-10.4.13
mariadb-10.4.14
mariadb-10.4.15
mariadb-10.4.16
mariadb-10.4.17
mariadb-10.4.18
mariadb-10.4.19
mariadb-10.4.2
mariadb-10.4.20
mariadb-10.4.21
mariadb-10.4.22
mariadb-10.4.23
mariadb-10.4.24
mariadb-10.4.25
mariadb-10.4.26
mariadb-10.4.27
mariadb-10.4.28
mariadb-10.4.29
mariadb-10.4.3
mariadb-10.4.30
mariadb-10.4.31
mariadb-10.4.32
mariadb-10.4.33
mariadb-10.4.34
mariadb-10.4.4
mariadb-10.4.5
mariadb-10.4.6
mariadb-10.4.7
mariadb-10.4.8
mariadb-10.4.9
mariadb-10.5.0
mariadb-10.5.1
mariadb-10.5.10
mariadb-10.5.11
mariadb-10.5.12
mariadb-10.5.13
mariadb-10.5.14
mariadb-10.5.15
mariadb-10.5.16
mariadb-10.5.17
mariadb-10.5.18
mariadb-10.5.19
mariadb-10.5.2
mariadb-10.5.20
mariadb-10.5.21
mariadb-10.5.22
mariadb-10.5.23
mariadb-10.5.24
mariadb-10.5.25
mariadb-10.5.26
mariadb-10.5.27
mariadb-10.5.28
mariadb-10.5.29
mariadb-10.5.3
mariadb-10.5.4
mariadb-10.5.5
mariadb-10.5.6
mariadb-10.5.7
mariadb-10.5.8
mariadb-10.5.9
mariadb-10.6.0
mariadb-10.6.1
mariadb-10.6.10
mariadb-10.6.11
mariadb-10.6.12
mariadb-10.6.13
mariadb-10.6.14
mariadb-10.6.15
mariadb-10.6.16
mariadb-10.6.17
mariadb-10.6.18
mariadb-10.6.19
mariadb-10.6.2
mariadb-10.6.20
mariadb-10.6.21
mariadb-10.6.22
mariadb-10.6.23
mariadb-10.6.24
mariadb-10.6.3
mariadb-10.6.4
mariadb-10.6.5
mariadb-10.6.6
mariadb-10.6.7
mariadb-10.6.8
mariadb-10.6.9
mariadb-10.7.1
mariadb-10.7.2
mariadb-10.7.3
mariadb-10.7.4
mariadb-10.7.5
mariadb-10.7.6
mariadb-10.7.7
mariadb-10.7.8
mariadb-10.8.1
mariadb-10.8.2
mariadb-10.8.3
mariadb-10.8.4
mariadb-10.8.5
mariadb-10.8.6
mariadb-10.8.7
mariadb-10.8.8
mariadb-10.9.1
mariadb-10.9.2
mariadb-10.9.3
mariadb-10.9.4
mariadb-10.9.5
mariadb-10.9.6
mariadb-10.9.7
mariadb-10.9.8
mariadb-11.0.1
mariadb-11.0.2
mariadb-11.0.3
mariadb-11.0.4
mariadb-11.0.5
mariadb-11.0.6
mariadb-11.1.1
mariadb-11.1.1-23.02.3-2
mariadb-11.1.2
mariadb-11.1.3
mariadb-11.1.4
mariadb-11.1.5
mariadb-11.1.6
mariadb-11.2.1
mariadb-11.2.2
mariadb-11.2.3
mariadb-11.2.4
mariadb-11.2.5
mariadb-11.2.6
mariadb-11.3.0
mariadb-11.3.1
mariadb-11.3.2
mariadb-11.4.0
mariadb-11.4.1
mariadb-11.4.2
mariadb-11.4.3
mariadb-11.4.4
mariadb-11.4.5
mariadb-11.4.6
mariadb-11.4.7
mariadb-11.4.8
mariadb-11.4.9
mariadb-11.5.0
mariadb-11.5.1
mariadb-11.5.2
mariadb-11.6.0
mariadb-11.6.1
mariadb-11.6.2
mariadb-11.7.0
mariadb-11.7.1
mariadb-11.7.2
mariadb-11.8.0
mariadb-11.8.1
mariadb-11.8.2
mariadb-11.8.3
mariadb-11.8.4
mariadb-11.8.5
mariadb-12.0.1
mariadb-12.0.2
mariadb-12.1.1
mariadb-12.1.2
mariadb-12.2.1
mariadb-5.1.38-beta
mariadb-5.1.39-beta
mariadb-5.1.41
mariadb-5.1.41-rc
mariadb-5.1.42
mariadb-5.1.42-rc
mariadb-5.1.44
mariadb-5.1.44a
mariadb-5.1.44b
mariadb-5.1.47
mariadb-5.1.49
mariadb-5.1.50
mariadb-5.1.51
mariadb-5.1.53
mariadb-5.1.55
mariadb-5.1.61
mariadb-5.1.62
mariadb-5.1.66
mariadb-5.1.67
mariadb-5.2.0-beta
mariadb-5.2.1-beta
mariadb-5.2.10
mariadb-5.2.11
mariadb-5.2.12
mariadb-5.2.13
mariadb-5.2.14
mariadb-5.2.2-gamma
mariadb-5.2.3
mariadb-5.2.4
mariadb-5.2.5
mariadb-5.2.6
mariadb-5.2.7
mariadb-5.2.8
mariadb-5.2.9
mariadb-5.3.0-beta
mariadb-5.3.1
mariadb-5.3.10
mariadb-5.3.11
mariadb-5.3.12
mariadb-5.3.2-beta
mariadb-5.3.3-rc
mariadb-5.3.4
mariadb-5.3.5-ga
mariadb-5.3.6
mariadb-5.3.7
mariadb-5.3.8
mariadb-5.3.9
mariadb-5.5.20-alpha
mariadb-5.5.21-beta
mariadb-5.5.22-rc
mariadb-5.5.23
mariadb-5.5.24
mariadb-5.5.25
mariadb-5.5.27
mariadb-5.5.28
mariadb-5.5.28a
mariadb-5.5.29
mariadb-5.5.30
mariadb-5.5.31
mariadb-5.5.32
mariadb-5.5.33
mariadb-5.5.33a
mariadb-5.5.34
mariadb-5.5.35
mariadb-5.5.36
mariadb-5.5.37
mariadb-5.5.38
mariadb-5.5.39
mariadb-5.5.40
mariadb-5.5.41
mariadb-5.5.42
mariadb-5.5.43
mariadb-5.5.44
mariadb-5.5.45
mariadb-5.5.46
mariadb-5.5.47
mariadb-5.5.48
mariadb-5.5.49
mariadb-5.5.50
mariadb-5.5.51
mariadb-5.5.52
mariadb-5.5.53
mariadb-5.5.54
mariadb-5.5.55
mariadb-5.5.56
mariadb-5.5.57
mariadb-5.5.58
mariadb-5.5.59
mariadb-5.5.60
mariadb-5.5.61
mariadb-5.5.62
mariadb-5.5.63
mariadb-5.5.64
mariadb-5.5.65
mariadb-5.5.66
mariadb-5.5.67
mariadb-5.5.68
mariadb-galera-10.0.10
mariadb-galera-10.0.11
mariadb-galera-10.0.12
mariadb-galera-10.0.13
mariadb-galera-10.0.14
mariadb-galera-10.0.15
mariadb-galera-10.0.16
mariadb-galera-10.0.17
mariadb-galera-10.0.19
mariadb-galera-10.0.20
mariadb-galera-10.0.21
mariadb-galera-10.0.22
mariadb-galera-10.0.23
mariadb-galera-10.0.24
mariadb-galera-10.0.25
mariadb-galera-10.0.26
mariadb-galera-10.0.27
mariadb-galera-10.0.28
mariadb-galera-10.0.29
mariadb-galera-10.0.30
mariadb-galera-10.0.31
mariadb-galera-10.0.32
mariadb-galera-10.0.33
mariadb-galera-10.0.34
mariadb-galera-10.0.35
mariadb-galera-10.0.36
mariadb-galera-10.0.37
mariadb-galera-10.0.38
mariadb-galera-10.0.7
mariadb-galera-10.0.7a
mariadb-galera-5.5.25
mariadb-galera-5.5.28a
mariadb-galera-5.5.29
mariadb-galera-5.5.32
mariadb-galera-5.5.32a
mariadb-galera-5.5.34
mariadb-galera-5.5.35
mariadb-galera-5.5.36
mariadb-galera-5.5.36a
mariadb-galera-5.5.37
mariadb-galera-5.5.38
mariadb-galera-5.5.39
mariadb-galera-5.5.40
mariadb-galera-5.5.41
mariadb-galera-5.5.42
mariadb-galera-5.5.43
mariadb-galera-5.5.44
mariadb-galera-5.5.45
mariadb-galera-5.5.46
mariadb-galera-5.5.47
mariadb-galera-5.5.48
mariadb-galera-5.5.49
mariadb-galera-5.5.50
mariadb-galera-5.5.51
mariadb-galera-5.5.52
mariadb-galera-5.5.53
mariadb-galera-5.5.54
mariadb-galera-5.5.55
mariadb-galera-5.5.56
mariadb-galera-5.5.57
mariadb-galera-5.5.58
mariadb-galera-5.5.59
mariadb-galera-5.5.60
mariadb-galera-5.5.61
mariadb-galera-5.5.62
mariadb-galera-5.5.63
mariadb-merge-mysql-5.1.34plus
mariadb-merge-mysql-5.1.38minus
mariadb-merge-mysql-5.1.39
mariadb-merge-mysql-5.1.41
mariadb-merge-mysql-5.1.42
mariadb-merge-mysql-5.1.44
mariadb-merge-mysql-5.1.46
mysql-3.23.22-beta
mysql-3.23.24-beta
mysql-3.23.27-beta
mysql-3.23.28-gamma
mysql-3.23.29a-gamma
mysql-3.23.30-gamma
mysql-3.23.31
mysql-3.23.32
mysql-3.23.33
mysql-3.23.34
mysql-3.23.35
mysql-3.23.36
mysql-3.23.37
mysql-3.23.38
mysql-3.23.39
mysql-3.23.41
mysql-3.23.42
mysql-3.23.44
mysql-3.23.45
mysql-3.23.46
mysql-3.23.47
mysql-3.23.48
mysql-3.23.50
mysql-3.23.51
mysql-3.23.52
mysql-3.23.53
mysql-3.23.54
mysql-3.23.55
mysql-3.23.56
mysql-3.23.57
mysql-3.23.58
mysql-4.0.1
mysql-4.0.10
mysql-4.0.11
mysql-4.0.12
mysql-4.0.13
mysql-4.0.14
mysql-4.0.15
mysql-4.0.16
mysql-4.0.17
mysql-4.0.18
mysql-4.0.19
mysql-4.0.2
mysql-4.0.20
mysql-4.0.21
mysql-4.0.22
mysql-4.0.23
mysql-4.0.24
mysql-4.0.25
mysql-4.0.26
mysql-4.0.27
mysql-4.0.28
mysql-4.0.3
mysql-4.0.30
mysql-4.0.4
mysql-4.0.5
mysql-4.0.6
mysql-4.0.7
mysql-4.0.8
mysql-4.0.9
mysql-4.1.0
mysql-4.1.1
mysql-4.1.10
mysql-4.1.10a
mysql-4.1.10b
mysql-4.1.11
mysql-4.1.12
mysql-4.1.13
mysql-4.1.13a
mysql-4.1.14
mysql-4.1.15
mysql-4.1.16
mysql-4.1.18
mysql-4.1.19
mysql-4.1.2
mysql-4.1.20
mysql-4.1.21
mysql-4.1.22
mysql-4.1.23
mysql-4.1.24
mysql-4.1.3
mysql-4.1.4
mysql-4.1.5
mysql-4.1.6
mysql-4.1.7
mysql-4.1.8
mysql-4.1.9
mysql-5.0.0
mysql-5.0.1
mysql-5.0.10
mysql-5.0.10a
mysql-5.0.11
mysql-5.0.12
mysql-5.0.13
mysql-5.0.14
mysql-5.0.15
mysql-5.0.16
mysql-5.0.16a
mysql-5.0.17
mysql-5.0.17b
mysql-5.0.18
mysql-5.0.19
mysql-5.0.19a
mysql-5.0.2
mysql-5.0.2-alpha
mysql-5.0.20
mysql-5.0.20a
mysql-5.0.21
mysql-5.0.22
mysql-5.0.23
mysql-5.0.24
mysql-5.0.24a
mysql-5.0.25
mysql-5.0.26
mysql-5.0.27
mysql-5.0.28
mysql-5.0.3
mysql-5.0.30
mysql-5.0.32
mysql-5.0.33
mysql-5.0.34
mysql-5.0.36
mysql-5.0.37
mysql-5.0.38
mysql-5.0.4
mysql-5.0.40
mysql-5.0.41
mysql-5.0.42
mysql-5.0.44
mysql-5.0.45
mysql-5.0.46
mysql-5.0.48
mysql-5.0.5
mysql-5.0.50
mysql-5.0.51
mysql-5.0.51a
mysql-5.0.52
mysql-5.0.54
mysql-5.0.54a
mysql-5.0.56
mysql-5.0.58
mysql-5.0.6
mysql-5.0.60
mysql-5.0.60sp1
mysql-5.0.62
mysql-5.0.64
mysql-5.0.66
mysql-5.0.66a
mysql-5.0.66sp1
mysql-5.0.67
mysql-5.0.68
mysql-5.0.7
mysql-5.0.70
mysql-5.0.72
mysql-5.0.72sp1
mysql-5.0.74
mysql-5.0.74sp1
mysql-5.0.75
mysql-5.0.76
mysql-5.0.77
mysql-5.0.78
mysql-5.0.79
mysql-5.0.8
mysql-5.0.80
mysql-5.0.81
mysql-5.0.82
mysql-5.0.82sp1
mysql-5.0.83
mysql-5.0.84
mysql-5.0.84sp1
mysql-5.0.85
mysql-5.0.86
mysql-5.0.87
mysql-5.0.87sp1
mysql-5.0.88
mysql-5.0.9
mysql-5.0.90
mysql-5.0.91
mysql-5.0.92
mysql-5.0.93
mysql-5.0.94
mysql-5.0.95
mysql-5.0.96
mysql-5.1.11
mysql-5.1.12
mysql-5.1.13
mysql-5.1.14
mysql-5.1.15
mysql-5.1.16
mysql-5.1.17
mysql-5.1.18
mysql-5.1.18-ndb-6.2.1
mysql-5.1.19
mysql-5.1.20
mysql-5.1.20-beta
mysql-5.1.21
mysql-5.1.22
mysql-5.1.23
mysql-5.1.23a-maria-alpha
mysql-5.1.24
mysql-5.1.25
mysql-5.1.26
mysql-5.1.28
mysql-5.1.29
mysql-5.1.3
mysql-5.1.30
mysql-5.1.31
mysql-5.1.31sp1
mysql-5.1.32
mysql-5.1.33
mysql-5.1.34
mysql-5.1.34sp1
mysql-5.1.35
mysql-5.1.36
mysql-5.1.37
mysql-5.1.37sp1
mysql-5.1.38
mysql-5.1.39
mysql-5.1.4
mysql-5.1.40
mysql-5.1.40sp1
mysql-5.1.41
mysql-5.1.42
mysql-5.1.43
mysql-5.1.43sp1
mysql-5.1.44
mysql-5.1.45
mysql-5.1.46
mysql-5.1.46sp1
mysql-5.1.47
mysql-5.1.48
mysql-5.1.49
mysql-5.1.49sp1
mysql-5.1.5
mysql-5.1.5-for-windows
mysql-5.1.50
mysql-5.1.51
mysql-5.1.52
mysql-5.1.52sp1
mysql-5.1.53
mysql-5.1.54
mysql-5.1.55
mysql-5.1.56
mysql-5.1.57
mysql-5.1.58
mysql-5.1.59
mysql-5.1.6
mysql-5.1.60
mysql-5.1.61
mysql-5.1.62
mysql-5.1.63
mysql-5.1.65
mysql-5.1.66
mysql-5.1.67
mysql-5.1.68
mysql-5.1.69
mysql-5.1.69-retag
mysql-5.1.7
mysql-5.1.70
mysql-5.1.71
mysql-5.1.72
mysql-5.1.73
mysql-5.1.9
mysql-5.4.1
mysql-5.4.2
mysql-5.4.3
mysql-5.5.0
mysql-5.5.1-m2
mysql-5.5.10
mysql-5.5.11
mysql-5.5.12
mysql-5.5.13
mysql-5.5.14
mysql-5.5.15
mysql-5.5.16
mysql-5.5.17
mysql-5.5.18
mysql-5.5.19
mysql-5.5.2-m2
mysql-5.5.20
mysql-5.5.21
mysql-5.5.22
mysql-5.5.23
mysql-5.5.24
mysql-5.5.25
mysql-5.5.27
mysql-5.5.28
mysql-5.5.29
mysql-5.5.3-m3
mysql-5.5.30
mysql-5.5.31
mysql-5.5.32
mysql-5.5.33
mysql-5.5.34
mysql-5.5.35
mysql-5.5.36
mysql-5.5.37
mysql-5.5.38
mysql-5.5.39
mysql-5.5.40
mysql-5.5.41
mysql-5.5.42
mysql-5.5.43
mysql-5.5.44
mysql-5.5.45
mysql-5.5.46
mysql-5.5.47
mysql-5.5.48
mysql-5.5.49
mysql-5.5.5-m3
mysql-5.5.50
mysql-5.5.51
mysql-5.5.52
mysql-5.5.53
mysql-5.5.54
mysql-5.5.55
mysql-5.5.56
mysql-5.5.57
mysql-5.5.58
mysql-5.5.59
mysql-5.5.6-rc
mysql-5.5.60
mysql-5.5.61
mysql-5.5.62
mysql-5.5.7
mysql-5.5.8
mysql-5.5.9
mysql_4.0
percona-xtradb-1.0.2-1
serg-5.1.64
tokudb-7.1.0
tokudb-7.1.5
tokudb-7.1.5-rc.1
tokudb-7.1.5-rc.2
tokudb-7.1.5-rc.3
tokudb-7.1.5-rc.4
tokudb-ps-1
tokudb-ps-2
tokumx-1.0.0-rc.0
tokumx-1.0.0-rc.2
tokumx-1.0.0-rc.4
tokumx-1.0.0-rc.5
tokumx-1.0.0-rc.6
tokumx-1.0.2
tokumx-1.0.4
tokumx-1.0.4-rc.0
tokumx-1.0.4-rc.1
tokumx-1.0.4-rc.2
tokumx-1.1.0
tokumx-1.1.1
tokumx-1.1.1-rc.0
tokumx-1.2.0-rc.2
tokumx-1.3.0-rc.0
tokumx-1.3.0-rc.1
tokumx-1.4.0+hotfix.0
${ noResults }
561 Commits (9f4859e78b365e3e54e099822a5bd77bbd882480)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
23d8586dbf |
WL#5030: Split and remove mysql_priv.h
This patch: - Moves all definitions from the mysql_priv.h file into header files for the component where the variable is defined - Creates header files if the component lacks one - Eliminates all include directives from mysql_priv.h - Eliminates all circular include cycles - Rename time.cc to sql_time.cc - Rename mysql_priv.h to sql_priv.h |
16 years ago |
|
|
8713ccb969 |
BUG#51251: Wrong binlogging in case of TRUNCATE <temporary InnoDB table>
Incremental commit based on previous patch. Addresses reviewer comments to move reseting of thd->current_stmt_binlog_row_based to after binlog_query takes place. |
16 years ago |
|
|
48d65a645e |
BUG#51251: Wrong binlogging in case of TRUNCATE <temporary InnoDB table>
For temporary tables that are created with an engine that does not provide the HTON_CAN_RECREATE, the truncate operation is performed resorting to the optimized handler::ha_delete_all_rows method. However, this means that the truncate will share execution path, from mysql_delete, with truncate on regular tables and other delete operations. As a consequence the truncate operation, for the temporary table is logged, even if in row mode because there is no distinction between this and the other delete operations at binlogging time. We fix this by checking if: (i) the binlog format, when the truncate operation was issued, is ROW; (ii) if the operation is a truncate; and (iii) if the table is a temporary table; before writing to the binary log. If all three conditions are met, we skip writing to the binlog. A side effect of this fix is that we limit the scope of setting and resetting the current_stmt_binlog_row_based. Now we just set and reset it inside mysql_delete in the boundaries of the handler::ha_write_row loop. This way we have access to thd->current_stmt_binlog_row_based real value inside mysql_delete. mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: Updated result for spurious truncate table. mysql-test/suite/binlog/t/binlog_row_innodb_truncate.test: Test case. sql/sql_delete.cc: Added check in mysql_delete before writing the TRUNCATE statement to the binary log. Additionally, removed the set/reset of current_stmt_binlog_row_based so that it happens just in the boundaries of the handler::ha_write_row loop inside mysql_delete. |
16 years ago |
|
|
e60ef89317 |
Followup to Bug#45225 Locking: hang if drop table with no timeout
This patch prevents system threads and system table accesses from using user-specified values for "lock_wait_timeout". Instead all such accesses are done using the default value (1 year). This prevents background tasks (such as replication, events, accessing stored function definitions, logging, reading time-zone information, etc.) from failing in cases where the global value of "lock_wait_timeout" is set very low. The patch also simplifies the open tables API. Rather than adding another convenience function for opening and locking system tables, this patch removes most of the existing convenience functions for open_and_lock_tables_derived(). Before, open_and_lock_tables() was a convenience function that enforced derived tables handling, while open_and_lock_tables_derived() was the main function where derived tables handling was optional. Now, this convencience function is gone and the main function is renamed to open_and_lock_tables(). No test case added as it would have required the use of --sleep to check that system threads and system tables have a different timeout value from the user-specified "lock_wait_timeout" system variable. |
16 years ago |
|
|
3d6a89e792 |
Bug #45225 Locking: hang if drop table with no timeout
This patch introduces timeouts for metadata locks. The timeout is specified in seconds using the new dynamic system variable "lock_wait_timeout" which has both GLOBAL and SESSION scopes. Allowed values range from 1 to 31536000 seconds (= 1 year). The default value is 1 year. The new server parameter "lock-wait-timeout" can be used to set the default value parameter upon server startup. "lock_wait_timeout" applies to all statements that use metadata locks. These include DML and DDL operations on tables, views, stored procedures and stored functions. They also include LOCK TABLES, FLUSH TABLES WITH READ LOCK and HANDLER statements. The patch also changes thr_lock.c code (table data locks used by MyISAM and other simplistic engines) to use the same system variable. InnoDB row locks are unaffected. One exception to the handling of the "lock_wait_timeout" variable is delayed inserts. All delayed inserts are executed with a timeout of 1 year regardless of the setting for the global variable. As the connection issuing the delayed insert gets no notification of delayed insert timeouts, we want to avoid unnecessary timeouts. It's important to note that the timeout value is used for each lock acquired and that one statement can take more than one lock. A statement can therefore block for longer than the lock_wait_timeout value before reporting a timeout error. When lock timeout occurs, ER_LOCK_WAIT_TIMEOUT is reported. Test case added to lock_multi.test. include/my_pthread.h: Added macros for comparing two timespec structs. include/thr_lock.h: Introduced timeouts for thr_lock.c locks. mysql-test/r/mysqld--help-notwin.result: Updated result file with the new server variable. mysql-test/r/mysqld--help-win.result: Updated result file with the new server variable. mysql-test/suite/sys_vars/r/lock_wait_timeout_basic.result: Added basic test for the new server variable. mysql-test/suite/sys_vars/t/lock_wait_timeout_basic.test: Added basic test for the new server variable. mysys/thr_lock.c: Introduced timeouts for thr_lock.c locks. sql/mdl.cc: Introduced timeouts for metadata locks. sql/mdl.h: Introduced timeouts for metadata locks. sql/sql_base.cc: Introduced timeouts in tdc_wait_for_old_versions(). sql/sql_class.h: Added new server variable lock_wait_timeout. sql/sys_vars.cc: Added new server variable lock_wait_timeout. |
16 years ago |
|
|
8018ec5adb |
Fix for bug #50913 "Deadlock between open_and_lock_tables_derived
and MDL". Concurrent execution of a multi-DELETE statement and ALTER TABLE statement which affected one of the tables used in the multi-DELETE sometimes led to deadlock. Similar deadlocks might have occured when one performed INSERT/UPDATE/DELETE on a view and concurrently executed ALTER TABLE for the view's underlying table, or when one concurrently executed TRUNCATE TABLE for InnoDB table and ALTER TABLE for the same table. These deadlocks were caused by a discrepancy between types of metadata and thr_lock.cc locks acquired by those statements. What happened was that multi-DELETE/TRUNCATE/DML-through-the- view statement in the first connection acquired SR lock on a table, then ALTER TABLE would come in in the second connection and acquire SNW metadata lock and TL_WRITE_ALLOW_READ thr_lock.c lock and then would start waiting for the first connection during lock upgrade. After that the statement in the first connection would try to acquire TL_WRITE lock on table and would start waiting for the second connection, creating a deadlock. This patch solves this problem by ensuring that we acquire SW metadata lock in all cases in which we acquiring write thr_lock.c lock. This guarantees that deadlocks like the one described above won't occur since all lock conflicts in such situation are resolved within MDL subsystem. This patch also adds assert which should guarantee that such situations won't arise in future. mysql-test/r/lock_multi.result: Added main test for bug #50913 "Deadlock between open_and_lock_tables_derived and MDL". mysql-test/r/mdl_sync.result: Added additional coverage for bug #50913 "Deadlock between open_and_lock_tables_derived and MDL". mysql-test/t/lock_multi.test: Added main test for bug #50913 "Deadlock between open_and_lock_tables_derived and MDL". mysql-test/t/mdl_sync.test: Added additional coverage for bug #50913 "Deadlock between open_and_lock_tables_derived and MDL". sql/lock.cc: Added assert that enforces that when we are locking a non-temporary table we have an appropriate type of metadata lock on this table. sql/mysql_priv.h: Added separate flag for open_tables() to be able specify that SH metadata locks on table to be open should be acquired. We can no longer use MYSQL_LOCK_IGNORE_FLUSH flag for this as in addition to use in I_S implementation it is also used for opening system tables. Since in the latter case we also acquire thr_lock.c locks using SH metadata lock in it instead of SR or SW locks may lead to deadlock. sql/sql_base.cc: When opening tables don't interpret MYSQL_LOCK_IGNORE_FLUSH flag as request to acquire SH metadata locks. This flag is also used for opening system tables for which we also take thr_lock.c locks and thus proper metadata lock to take in this case is SR or SW lock (otherwise deadlocks can occur). In cases when SH lock is really required (e.g. when tables are open by I_S implementation) we rely on that newly introduced MYSQL_OPEN_FORCE_SHARED_HIGH_PRIO_MDL flag is used. sql/sql_delete.cc: mysql_truncate_by_delete(): Adjust type of metadata lock to be requested after changing type of thr_lock.c lock for table list element from one which was set in parser to TL_WRITE. This removes discrepancy between types of these locks which allowed deadlocks to creep in. sql/sql_handler.cc: When closing table which was open by HANDLER statement clear TABLE::open_by_handler flag. This allows to use this flag as a reliable indication that TABLE instance was open by HANDLER statement in assert which was added to mysql_lock_tables(). sql/sql_parse.cc: multi_delete_set_locks_and_link_aux_tables(): Adjust type of metadata lock to be requested after changing type of thr_lock.c lock for table list element from one which was set in parser to TL_WRITE. This removes discrepancy between types of these locks which allowed deadlocks to creep in. sql/sql_show.cc: Use newly introduced MYSQL_OPEN_FORCE_SHARED_HIGH_PRIO_MDL flag in order to acquire SH metadata locks when opening tables in I_S implementation. sql/sql_update.cc: Added comment explaining why in multi-update after deciding that we need weaker thr_lock.c lock on a table we don't downgrade metadata lock on it. sql/sql_view.cc: When merging view into main statement adjust type of metadata lock to be requested after changing type of thr_lock.c lock for table. This removes discrepancy between types of these locks which allowed deadlocks to creep in. |
16 years ago |
|
|
00dc9a6e70 |
Merge next-mr -> next-4284.
Cherry-pick a fix Bug#37148 from next-mr, to preserve file ids of the added files, and ensure that all the necessary changes have been pulled. Since initially Bug#37148 was null-merged into 6.0, the changeset that is now being cherry-picked was likewise null merged into next-4284. Now that Bug#37148 has been reapplied to 6.0, try to make it work with next-4284. This is also necessary to be able to pull other changes from 5.1-rep into next-4284. To resolve the merge issues use this changeset applied to 6.0: revid:jperkin@sun.com-20091216103628-ylhqf7s6yegui2t9 revno: 3776.1.1 committer: He Zhenxing <zhenxing.he@sun.com> branch nick: 6.0-codebase-bugfixing timestamp: Thu 2009-12-17 17:02:50 +0800 message: Fix merge problem with Bug#37148 |
16 years ago |
|
|
eba5d30e67 |
Implement new type-of-operation-aware metadata locks.
Add a wait-for graph based deadlock detector to the MDL subsystem. Fixes bug #46272 "MySQL 5.4.4, new MDL: unnecessary deadlock" and bug #37346 "innodb does not detect deadlock between update and alter table". The first bug manifested itself as an unwarranted abort of a transaction with ER_LOCK_DEADLOCK error by a concurrent ALTER statement, when this transaction tried to repeat use of a table, which it has already used in a similar fashion before ALTER started. The second bug showed up as a deadlock between table-level locks and InnoDB row locks, which was "detected" only after innodb_lock_wait_timeout timeout. A transaction would start using the table and modify a few rows. Then ALTER TABLE would come in, and start copying rows into a temporary table. Eventually it would stumble on the modified records and get blocked on a row lock. The first transaction would try to do more updates, and get blocked on thr_lock.c lock. This situation of circular wait would only get resolved by a timeout. Both these bugs stemmed from inadequate solutions to the problem of deadlocks occurring between different locking subsystems. In the first case we tried to avoid deadlocks between metadata locking and table-level locking subsystems, when upgrading shared metadata lock to exclusive one. Transactions holding the shared lock on the table and waiting for some table-level lock used to be aborted too aggressively. We also allowed ALTER TABLE to start in presence of transactions that modify the subject table. ALTER TABLE acquires TL_WRITE_ALLOW_READ lock at start, and that block all writes against the table (naturally, we don't want any writes to be lost when switching the old and the new table). TL_WRITE_ALLOW_READ lock, in turn, would block the started transaction on thr_lock.c lock, should they do more updates. This, again, lead to the need to abort such transactions. The second bug occurred simply because we didn't have any mechanism to detect deadlocks between the table-level locks in thr_lock.c and row-level locks in InnoDB, other than innodb_lock_wait_timeout. This patch solves both these problems by moving lock conflicts which are causing these deadlocks into the metadata locking subsystem, thus making it possible to avoid or detect such deadlocks inside MDL. To do this we introduce new type-of-operation-aware metadata locks, which allow MDL subsystem to know not only the fact that transaction has used or is going to use some object but also what kind of operation it has carried out or going to carry out on the object. This, along with the addition of a special kind of upgradable metadata lock, allows ALTER TABLE to wait until all transactions which has updated the table to go away. This solves the second issue. Another special type of upgradable metadata lock is acquired by LOCK TABLE WRITE. This second lock type allows to solve the first issue, since abortion of table-level locks in event of DDL under LOCK TABLES becomes also unnecessary. Below follows the list of incompatible changes introduced by this patch: - From now on, ALTER TABLE and CREATE/DROP TRIGGER SQL (i.e. those statements that acquire TL_WRITE_ALLOW_READ lock) wait for all transactions which has *updated* the table to complete. - From now on, LOCK TABLES ... WRITE, REPAIR/OPTIMIZE TABLE (i.e. all statements which acquire TL_WRITE table-level lock) wait for all transaction which *updated or read* from the table to complete. As a consequence, innodb_table_locks=0 option no longer applies to LOCK TABLES ... WRITE. - DROP DATABASE, DROP TABLE, RENAME TABLE no longer abort statements or transactions which use tables being dropped or renamed, and instead wait for these transactions to complete. - Since LOCK TABLES WRITE now takes a special metadata lock, not compatible with with reads or writes against the subject table and transaction-wide, thr_lock.c deadlock avoidance algorithm that used to ensure absence of deadlocks between LOCK TABLES WRITE and other statements is no longer sufficient, even for MyISAM. The wait-for graph based deadlock detector of MDL subsystem may sometimes be necessary and is involved. This may lead to ER_LOCK_DEADLOCK error produced for multi-statement transactions even if these only use MyISAM: session 1: session 2: begin; update t1 ... lock table t2 write, t1 write; -- gets a lock on t2, blocks on t1 update t2 ... (ER_LOCK_DEADLOCK) - Finally, support of LOW_PRIORITY option for LOCK TABLES ... WRITE was abandoned. LOCK TABLE ... LOW_PRIORITY WRITE from now on has the same priority as the usual LOCK TABLE ... WRITE. SELECT HIGH PRIORITY no longer trumps LOCK TABLE ... WRITE in the wait queue. - We do not take upgradable metadata locks on implicitly locked tables. So if one has, say, a view v1 that uses table t1, and issues: LOCK TABLE v1 WRITE; FLUSH TABLE t1; -- (or just 'FLUSH TABLES'), an error is produced. In order to be able to perform DDL on a table under LOCK TABLES, the table must be locked explicitly in the LOCK TABLES list. mysql-test/include/handler.inc: Adjusted test case to trigger an execution path on which bug 41110 "crash with handler command when used concurrently with alter table" and bug 41112 "crash in mysql_ha_close_table/get_lock_data with alter table" were originally discovered. Left old test case which no longer triggers this execution path for the sake of coverage. Added test coverage for HANDLER SQL statements and type-aware metadata locks. Added a test for the global shared lock and HANDLER SQL. Updated tests to take into account that the old simple deadlock detection heuristics was replaced with a graph-based deadlock detector. mysql-test/r/debug_sync.result: Updated results (see debug_sync.test). mysql-test/r/handler_innodb.result: Updated results (see handler.inc test). mysql-test/r/handler_myisam.result: Updated results (see handler.inc test). mysql-test/r/innodb-lock.result: Updated results (see innodb-lock.test). mysql-test/r/innodb_mysql_lock.result: Updated results (see innodb_mysql_lock.test). mysql-test/r/lock.result: Updated results (see lock.test). mysql-test/r/lock_multi.result: Updated results (see lock_multi.test). mysql-test/r/lock_sync.result: Updated results (see lock_sync.test). mysql-test/r/mdl_sync.result: Updated results (see mdl_sync.test). mysql-test/r/sp-threads.result: SHOW PROCESSLIST output has changed due to the fact that waiting for LOCK TABLES WRITE now happens within metadata locking subsystem. mysql-test/r/truncate_coverage.result: Updated results (see truncate_coverage.test). mysql-test/suite/funcs_1/datadict/processlist_val.inc: SELECT FROM I_S.PROCESSLIST output has changed due to fact that waiting for LOCK TABLES WRITE now happens within metadata locking subsystem. mysql-test/suite/funcs_1/r/processlist_val_no_prot.result: SELECT FROM I_S.PROCESSLIST output has changed due to fact that waiting for LOCK TABLES WRITE now happens within metadata locking subsystem. mysql-test/suite/rpl/t/rpl_sp.test: Updated to a new SHOW PROCESSLIST state name. mysql-test/t/debug_sync.test: Use LOCK TABLES READ instead of LOCK TABLES WRITE as the latter no longer allows to trigger execution path involving waiting on thr_lock.c lock and therefore reaching debug sync-point covered by this test. mysql-test/t/innodb-lock.test: Adjusted test case to the fact that innodb_table_locks=0 option is no longer supported, since LOCK TABLES WRITE handles all its conflicts within MDL subsystem. mysql-test/t/innodb_mysql_lock.test: Added test for bug #37346 "innodb does not detect deadlock between update and alter table". mysql-test/t/lock.test: Added test coverage which checks the fact that we no longer support DDL under LOCK TABLES on tables which were locked implicitly. Adjusted existing test cases accordingly. mysql-test/t/lock_multi.test: Added test for bug #46272 "MySQL 5.4.4, new MDL: unnecessary deadlock". Adjusted other test cases to take into account the fact that waiting for LOCK TABLES ... WRITE now happens within MDL subsystem. mysql-test/t/lock_sync.test: Since LOCK TABLES ... WRITE now takes SNRW metadata lock for tables locked explicitly we have to implicitly lock InnoDB tables (through view) to trigger the table-level lock conflict between TL_WRITE and TL_WRITE_ALLOW_WRITE. mysql-test/t/mdl_sync.test: Added basic test coverage for type-of-operation-aware metadata locks. Also covered with tests some use cases involving HANDLER statements in which a deadlock could arise. Adjusted existing tests to take type-of-operation-aware MDL into account. mysql-test/t/multi_update.test: Update to a new SHOW PROCESSLIST state name. mysql-test/t/truncate_coverage.test: Adjusted test case after making LOCK TABLES WRITE to wait until transactions that use the table to be locked are completed. Updated to the changed name of DEBUG_SYNC point. sql/handler.cc: Global read lock functionality has been moved into a class. sql/lock.cc: Global read lock functionality has been moved into a class. Updated code to use the new MDL API. sql/mdl.cc: Introduced new type-of-operation aware metadata locks. To do this: - Changed MDL_lock to use one list for waiting requests and one list for granted requests. For each list, added a bitmap that holds information what lock types a list contains. Added a helper class MDL_lock::List to manipulate with granted and waited lists while keeping the bitmaps in sync with list contents. - Changed lock-compatibility functions to use bitmaps that define compatibility. - Introduced a graph based deadlock detector inspired by waiting_threads.c from Maria implementation. - Now that we have a deadlock detector, and no longer have a global lock to protect individual lock objects, but rather use an rw lock per object, removed redundant code for upgrade, and the global read lock. Changed the MDL API to no longer require the caller to acquire the global intention exclusive lock by means of a separate method. Removed a few more methods that became redundant. - Removed deadlock detection heuristic, it has been made obsolete by the deadlock detector. - With operation-type-aware metadata locks, MDL subsystem has become aware of potential conflicts between DDL and open transactions. This made it possible to remove calls to mysql_abort_transactions_with_shared_lock() from acquisition paths for exclusive lock and lock upgrade. Now we can simply wait for these transactions to complete without fear of deadlock. Function mysql_lock_abort() has also become unnecessary for all conflicting cases except when a DDL conflicts with a connection that has an open HANDLER. sql/mdl.h: Introduced new type-of-operation aware metadata locks. Introduced a graph based deadlock detector and supporting methods. Added comments. God rid of redundant API calls. Renamed m_lt_or_ha_sentinel to m_trans_sentinel, since now it guards the global read lock as well as LOCK TABLES and HANDLER locks. sql/mysql_priv.h: Moved the global read lock functionality into a class. Added MYSQL_OPEN_FORCE_SHARED_MDL flag which forces open_tables() to take MDL_SHARED on tables instead of metadata locks specified in the parser. We use this to allow PREPARE run concurrently in presence of LOCK TABLES ... WRITE. Added signature for find_table_for_mdl_ugprade(). sql/set_var.cc: Global read lock functionality has been moved into a class. sql/sp_head.cc: When creating TABLE_LIST elements for prelocking or system tables set the type of request for metadata lock according to the operation that will be performed on the table. sql/sql_base.cc: - Updated code to use the new MDL API. - In order to avoid locks starvation we take upgradable locks all at once. As result implicitly locked tables no longer get an upgradable lock. Consequently DDL and FLUSH TABLES for such tables is prohibited. find_write_locked_table() was replaced by find_table_for_mdl_upgrade() function. open_table() was adjusted to return TABLE instance with upgradable ticket when necessary. - We no longer wait for all locks on OT_WAIT back off action -- only on the lock that caused the wait conflict. Moreover, now we distinguish cases when we have to wait due to conflict in MDL and old version of table in TDC. - Upate mysql_notify_threads_having_share_locks() to only abort thr_lock.c waits of threads that have open HANDLERs, since lock conflicts with only these threads now can lead to deadlocks not detectable by the MDL deadlock detector. - Remove mysql_abort_transactions_with_shared_locks() which is no longer needed. sql/sql_class.cc: Global read lock functionality has been moved into a class. Re-arranged code in THD::cleanup() to simplify assert. sql/sql_class.h: Introduced class to incapsulate global read lock functionality. Now sentinel in MDL subsystem guards the global read lock as well as LOCK TABLES and HANDLER locks. Adjusted code accordingly. sql/sql_db.cc: Global read lock functionality has been moved into a class. sql/sql_delete.cc: We no longer acquire upgradable metadata locks on tables which are locked by LOCK TABLES implicitly. As result TRUNCATE TABLE is no longer allowed for such tables. Updated code to use the new MDL API. sql/sql_handler.cc: Inform MDL_context about presence of open HANDLERs. Since HANLDERs break MDL protocol by acquiring table-level lock while holding only S metadata lock on a table MDL subsystem should take special care about such contexts (Now this is the only case when mysql_lock_abort() is used). sql/sql_parse.cc: Global read lock functionality has been moved into a class. Do not take upgradable metadata locks when opening tables for CREATE TABLE SELECT as it is not necessary and limits concurrency. When initializing TABLE_LIST objects before adding them to the table list set the type of request for metadata lock according to the operation that will be performed on the table. We no longer acquire upgradable metadata locks on tables which are locked by LOCK TABLES implicitly. As result FLUSH TABLES is no longer allowed for such tables. sql/sql_prepare.cc: Use MYSQL_OPEN_FORCE_SHARED_MDL flag when opening tables during PREPARE. This allows PREPARE to run concurrently in presence of LOCK TABLES ... WRITE. sql/sql_rename.cc: Global read lock functionality has been moved into a class. sql/sql_show.cc: Updated code to use the new MDL API. sql/sql_table.cc: Global read lock functionality has been moved into a class. We no longer acquire upgradable metadata locks on tables which are locked by LOCK TABLES implicitly. As result DROP TABLE is no longer allowed for such tables. Updated code to use the new MDL API. sql/sql_trigger.cc: Global read lock functionality has been moved into a class. We no longer acquire upgradable metadata locks on tables which are locked by LOCK TABLES implicitly. As result CREATE/DROP TRIGGER is no longer allowed for such tables. Updated code to use the new MDL API. sql/sql_view.cc: Global read lock functionality has been moved into a class. Fixed results of wrong merge that led to misuse of GLR API. CREATE VIEW statement is not a commit statement. sql/table.cc: When resetting TABLE_LIST objects for PS or SP re-execution set the type of request for metadata lock according to the operation that will be performed on the table. Do the same in auxiliary function initializing metadata lock requests in a table list. sql/table.h: When initializing TABLE_LIST objects set the type of request for metadata lock according to the operation that will be performed on the table. sql/transaction.cc: Global read lock functionality has been moved into a class. |
16 years ago |
|
|
2b16517522 |
Backport Bug#37148 to 5.1
|
16 years ago |
|
|
6ddd01c27a |
Patch that changes metadata locking subsystem to use mutex per lock and
condition variable per context instead of one mutex and one conditional variable for the whole subsystem. This should increase concurrency in this subsystem. It also opens the way for further changes which are necessary to solve such bugs as bug #46272 "MySQL 5.4.4, new MDL: unnecessary deadlock" and bug #37346 "innodb does not detect deadlock between update and alter table". Two other notable changes done by this patch: - MDL subsystem no longer implicitly acquires global intention exclusive metadata lock when per-object metadata lock is acquired. Now this has to be done by explicit calls outside of MDL subsystem. - Instead of using separate MDL_context for opening system tables/tables for purposes of I_S we now create MDL savepoint in the main context before opening tables and rollback to this savepoint after closing them. This means that it is now possible to get ER_LOCK_DEADLOCK error even not inside a transaction. This might happen in unlikely case when one runs DDL on one of system tables while also running DDL on some other tables. Cases when this ER_LOCK_DEADLOCK error is not justified will be addressed by advanced deadlock detector for MDL subsystem which we plan to implement. mysql-test/include/handler.inc: Adjusted handler_myisam.test and handler_innodb.test to the fact that exclusive metadata locks on tables are now acquired according to alphabetical order of fully qualified table names instead of order in which tables are mentioned in statement. mysql-test/r/handler_innodb.result: Adjusted handler_myisam.test and handler_innodb.test to the fact that exclusive metadata locks on tables are now acquired according to alphabetical order of fully qualified table names instead of order in which tables are mentioned in statement. mysql-test/r/handler_myisam.result: Adjusted handler_myisam.test and handler_innodb.test to the fact that exclusive metadata locks on tables are now acquired according to alphabetical order of fully qualified table names instead of order in which tables are mentioned in statement. mysql-test/r/mdl_sync.result: Adjusted mdl_sync.test to the fact that exclusive metadata locks on tables are now acquired according to alphabetical order of fully qualified table names instead of order in which tables are mentioned in statement. mysql-test/t/mdl_sync.test: Adjusted mdl_sync.test to the fact that exclusive metadata locks on tables are now acquired according to alphabetical order of fully qualified table names instead of order in which tables are mentioned in statement. sql/events.cc: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. sql/ha_ndbcluster.cc: Since manipulations with open table state no longer install proxy MDL_context it does not make sense to perform them in order to satisfy assert in mysql_rm_tables_part2(). Removed them per agreement with Cluster team. This has not broken test suite since scenario in which deadlock can occur and assertion fails is not covered by tests. sql/lock.cc: MDL subsystem no longer implicitly acquires global intention exclusive metadata lock when per-object exclusive metadata lock is acquired. Now this has to be done by explicit calls outside of MDL subsystem. sql/log.cc: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. sql/mdl.cc: Changed metadata locking subsystem to use mutex per lock and condition variable per context instead of one mutex and one conditional variable for the whole subsystem. Changed approach to handling of global metadata locks. Instead of implicitly acquiring intention exclusive locks when user requests per-object upgradeable or exclusive locks now we require them to be acquired explicitly in the same way as ordinary metadata locks. In fact global lock are now ordinary metadata locks in new GLOBAL namespace. To implement these changes: - Removed LOCK_mdl mutex and COND_mdl condition variable. - Introduced MDL_lock::m_mutex mutexes which protect individual lock objects. - Replaced mdl_locks hash with MDL_map class, which has hash for MDL_lock objects as a member and separate mutex which protects this hash. Methods of this class allow to find(), find_or_create() or remove() MDL_lock objects in concurrency-friendly fashion (i.e. for most common operation, find_or_create(), we don't acquire MDL_lock::m_mutex while holding MDL_map::m_mutex. Thanks to MikaelR for this idea and benchmarks!). Added three auxiliary members to MDL_lock class (m_is_destroyed, m_ref_usage, m_ref_release) to support this concurrency-friendly behavior. - Introduced MDL_context::m_ctx_wakeup_cond condition variable to be used for waiting until this context's pending request can be satisfied or its thread has to perform actions to resolve potential deadlock. Context which want to wait add ticket corresponding to the request to an appropriate queue of waiters in MDL_lock object so they can be noticed when other contexts change state of lock and be awaken by them by signalling on MDL_context::m_ctx_wakeup_cond. As consequence MDL_ticket objects has to be used for any waiting in metadata locking subsystem including one which happens in MDL_context::wait_for_locks() method. Another consequence is that MDL_context is no longer copyable and can't be saved/restored when working with system tables. - Made MDL_lock an abstract class, which delegates specifying exact compatibility matrix to its descendants. Added MDL_global_lock child class for global lock (The old is_lock_type_compatible() method became can_grant_lock() method of this class). Added MDL_object_lock class to represent per-object lock (The old MDL_lock::can_grant_lock() became its method). Choice between two classes happens based on MDL namespace in MDL_lock::create() method. - Got rid of MDL_lock::type member as its meaning became ambigous for global locks. - To simplify waking up of contexts waiting for lock split waiting queue in MDL_lock class in two queues. One for pending requests for exclusive (including intention exclusive) locks and another for requests for shared locks. - Added virtual wake_up_waiters() method to MDL_lock, MDL_global_lock and MDL_object_lock classes which allows to wake up waiting contexts after state of lock changes. Replaced old duplicated code with calls to this method. - Adjusted MDL_context::try_acquire_shared_lock()/exclusive_lock()/ global_shared_lock(), MDL_ticket::upgrade_shared_lock_to_exclusive_lock() and MDL_context::release_ticket() methods to use MDL_map and MDL_lock::m_mutex instead of single LOCK_mdl mutex and wake up waiters according to the approach described above. The latter method also was renamed to MDL_context::release_lock(). - Changed MDL_context::try_acquire_shared_lock()/exclusive_lock() and release_lock() not to handle global locks. They are now supposed to be taken explicitly like ordinary metadata locks. - Added helper MDL_context::try_acquire_global_intention_exclusive_lock() and acquire_global_intention_exclusive_lock() methods. - Moved common code from MDL_context::acquire_global_shared_lock() and acquire_global_intention_exclusive_lock() to new method - MDL_context::acquire_lock_impl(). - Moved common code from MDL_context::try_acquire_shared_lock(), try_acquire_global_intention_exclusive_lock()/exclusive_lock() to MDL_context::try_acquire_lock_impl(). - Since acquiring of several exclusive locks can no longer happen under single LOCK_mdl mutex the approach to it had to be changed. Now we do it in one by one fashion. This is done in alphabetical order to avoid deadlocks. Changed MDL_context::acquire_exclusive_locks() accordingly (as part of this change moved code responsible for acquiring single exclusive lock to new MDL_context::acquire_exclusive_lock_impl() method). - Since we no longer have single LOCK_mdl mutex which protects all MDL_context::m_is_waiting_in_mdl members using these members to determine if we have really awaken context holding conflicting shared lock became inconvinient. Got rid of this member and changed notify_shared_lock() helper function and process of acquiring of/upgrading to exclusive lock not to rely on such information. Now in MDL_context::acquire_exclusive_lock_impl() and MDL_ticket::upgrade_shared_lock_to_exclusive_lock() we simply re-try to wake up threads holding conflicting shared locks after small time out. - Adjusted MDL_context::can_wait_lead_to_deadlock() and MDL_ticket::has_pending_conflicting_lock() to use per-lock mutexes instead of LOCK_mdl. To do this introduced MDL_lock::has_pending_exclusive_lock() method. sql/mdl.h: Changed metadata locking subsystem to use mutex per lock and condition variable per context instead of one mutex and one conditional variable for the whole subsystem. In order to implement this change: - Added MDL_key::cmp() method to be able to sort MDL_key objects alphabetically. Changed length fields in MDL_key class to uint16 as 16-bit is enough for length of any key. - Changed MDL_ticket::get_ctx() to return pointer to non-const object in order to be able to use MDL_context::awake() method for such contexts. - Got rid of unlocked versions of can_wait_lead_to_deadlock()/ has_pending_conflicting_lock() methods in MDL_context and MDL_ticket. We no longer has single mutex which protects all locks. Thus one always has to use versions of these methods which acquire per-lock mutexes. - MDL_request_list type of list now counts its elements. - Added MDL_context::m_ctx_wakeup_cond condition variable to be used for waiting until this context's pending request can be satisfied or its thread has to perform actions to resolve potential deadlock. Added awake() method to wake up context from such wait. Addition of condition variable made MDL_context uncopyable. As result we no longer can save/restore MDL_context when working with system tables. Instead we create MDL savepoint before opening those tables and rollback to it once they are closed. - MDL_context::release_ticket() became release_lock() method. - Added auxiliary MDL_context::acquire_exclusive_lock_impl() method which does all necessary work to acquire exclusive lock on one object but should not be used directly as it does not enforce any asserts ensuring that no deadlocks are possible. - Since we no longer need to know if thread trying to acquire exclusive lock managed to wake up any threads having conflicting shared locks (as, anyway, we will try to wake up such threads again shortly) - MDL_context::m_is_waiting_in_mdl member became unnecessary and notify_shared_lock() no longer needs to be friend of MDL_context. Changed approach to handling of global metadata locks. Instead of implicitly acquiring intention exclusive locks when user requests per-object upgradeable or exclusive locks now we require them to be acquired explicitly in the same way as ordinary metadata locks. - Added new GLOBAL namespace for such locks. - Added new type of lock to be requested MDL_INTENTION_EXCLISIVE. - Added MDL_context::try_acquire_global_intention_exclusive_lock() and acquire_global_intention_exclusive_lock() methods. - Moved common code from MDL_context::acquire_global_shared_lock() and acquire_global_intention_exclusive_lock() to new method - MDL_context::acquire_lock_impl(). - Moved common code from MDL_context::try_acquire_shared_lock(), try_acquire_global_intention_exclusive_lock()/exclusive_lock() to MDL_context::try_acquire_lock_impl(). - Added helper MDL_context::is_global_lock_owner() method to be able easily to find what kind of global lock this context holds. - MDL_context::m_has_global_shared_lock became unnecessary as global read lock is now represented by ordinary ticket. - Removed assert in MDL_context::set_lt_or_ha_sentinel() which became false for cases when we execute LOCK TABLES under global read lock mode. sql/mysql_priv.h: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result calls opening/closing system tables were changed to use Open_tables_backup instead of Open_table_state class as well. sql/sp.cc: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. sql/sp.h: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. sql/sql_base.cc: close_thread_tables(): Since we no longer use separate MDL_context for opening system tables we need to avoid releasing all transaction locks when closing system table. Releasing metadata lock on system table is now responsibility of THD::restore_backup_open_tables_state(). open_table_get_mdl_lock(), Open_table_context::recover_from_failed_open(): MDL subsystem no longer implicitly acquires global intention exclusive metadata lock when per-object upgradable or exclusive metadata lock is acquired. So this have to be done explicitly from these calls. Changed Open_table_context class to store MDL_request object for global intention exclusive lock acquired when opening tables. open_table(): Do not release metadata lock if we have failed to open table as this lock might have been acquired by one of previous statements in transaction, and therefore should not be released. open_system_tables_for_read()/close_system_tables()/ open_performance_schema_table(): Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. close_performance_schema_table(): Got rid of duplicated code. sql/sql_class.cc: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. Also releasing metadata lock on system table is now responsibility of THD::restore_backup_open_tables_state(). Adjusted assert in THD::cleanup() to take into account fact that now we also use MDL sentinel for global read lock. sql/sql_class.h: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. As result: - 'mdl_context' member was moved out of Open_tables_state to THD class. enter_locked_tables_mode()/leave_locked_tables_mode() had to follow. - Methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. Changed Open_table_context class to store MDL_request object for global intention exclusive lock acquired when opening tables. sql/sql_delete.cc: MDL subsystem no longer implicitly acquires global intention exclusive metadata lock when per-object exclusive metadata lock is acquired. Now this has to be done by explicit calls outside of MDL subsystem. sql/sql_help.cc: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. sql/sql_parse.cc: Adjusted assert reload_acl_and_cache() to the fact that global read lock now takes full-blown metadata lock. sql/sql_plist.h: Added support for element counting to I_P_List list template. One can use policy classes to specify if such counting is needed or not needed for particular list. sql/sql_show.cc: Instead of using separate MDL_context for opening tables for I_S purposes we now create MDL savepoint in the main context before opening tables and rollback to this savepoint after closing them. To support this and similar change for system tables methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing tables for I_S purposes was changed to use Open_tables_backup instead of Open_table_state class as well. sql/sql_table.cc: mysql_rm_tables_part2(): Since now global intention exclusive metadata lock is ordinary metadata lock we no longer can rely that by releasing MDL locks on all tables we will release all locks acquired by this routine. So in non-LOCK-TABLES mode we have to release all locks acquired explicitly. prepare_for_repair(), mysql_alter_table(): MDL subsystem no longer implicitly acquires global intention exclusive metadata lock when per-object exclusive metadata lock is acquired. Now this has to be done by explicit calls outside of MDL subsystem. sql/tztime.cc: Instead of using separate MDL_context for opening system tables we now create MDL savepoint in the main context before opening such tables and rollback to this savepoint after closing them. To support this change methods of THD responsible for saving/restoring open table state were changed to use Open_tables_backup class which in addition to Open_table_state has a member for this savepoint. As result code opening/closing system tables was changed to use Open_tables_backup instead of Open_table_state class as well. Also changed code not to use special mechanism for open system tables when it is not really necessary. |
16 years ago |
|
|
1ad5bb1a69 |
WL#4738 streamline/simplify @@variable creation process
Bug#16565 mysqld --help --verbose does not order variablesBug#20413 sql_slave_skip_counter is not shown in show variables Bug#20415 Output of mysqld --help --verbose is incomplete Bug#25430 variable not found in SELECT @@global.ft_max_word_len; Bug#32902 plugin variables don't know their names Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting! Bug#34829 No default value for variable and setting default does not raise error Bug#34834 ? Is accepted as a valid sql mode Bug#34878 Few variables have default value according to documentation but error occurs Bug#34883 ft_boolean_syntax cant be assigned from user variable to global var. Bug#37187 `INFORMATION_SCHEMA`.`GLOBAL_VARIABLES`: inconsistent status Bug#40988 log_output_basic.test succeeded though syntactically false. Bug#41010 enum-style command-line options are not honoured (maria.maria-recover fails) Bug#42103 Setting key_buffer_size to a negative value may lead to very large allocations Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled Bug#44797 plugins w/o command-line options have no disabling option in --help Bug#46314 string system variables don't support expressions Bug#46470 sys_vars.max_binlog_cache_size_basic_32 is broken Bug#46586 When using the plugin interface the type "set" for options caused a crash. Bug#47212 Crash in DBUG_PRINT in mysqltest.cc when trying to print octal number Bug#48758 mysqltest crashes on sys_vars.collation_server_basic in gcov builds Bug#49417 some complaints about mysqld --help --verbose output Bug#49540 DEFAULT value of binlog_format isn't the default value Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix) Bug#49644 init_connect and \0 Bug#49645 init_slave and multi-byte characters Bug#49646 mysql --show-warnings crashes when server dies CMakeLists.txt: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled client/mysql.cc: don't crash with --show-warnings when mysqld dies config/ac-macros/plugins.m4: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled include/my_getopt.h: comments include/my_pthread.h: fix double #define mysql-test/mysql-test-run.pl: run sys_vars suite by default properly recognize envirinment variables (e.g. MTR_MAX_SAVE_CORE) set to 0 escape gdb command line arguments mysql-test/suite/sys_vars/r/rpl_init_slave_func.result: init_slave+utf8 bug mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: init_slave+utf8 bug mysys/my_getopt.c: Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting! Bug#46586 When using the plugin interface the type "set" for options caused a crash. Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix) mysys/typelib.c: support for flagset sql/ha_ndbcluster.cc: backport from telco tree sql/item_func.cc: Bug#49644 init_connect and \0 Bug#49645 init_slave and multi-byte characters sql/sql_builtin.cc.in: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled sql/sql_plugin.cc: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled Bug#32902 plugin variables don't know their names Bug#44797 plugins w/o command-line options have no disabling option in --help sql/sys_vars.cc: all server variables are defined here storage/myisam/ft_parser.c: remove unnecessary updates of param->quot storage/myisam/ha_myisam.cc: myisam_* variables belong here strings/my_vsnprintf.c: %o and %llx unittest/mysys/my_vsnprintf-t.c: %o and %llx tests vio/viosocket.c: bugfix: fix @@wait_timeout to work with socket timeouts (vs. alarm thread) |
16 years ago |
|
|
3040ef5cb4 |
Post-merge fix.
|
16 years ago |
|
|
0531f85e16 |
Merge cleanup
|
16 years ago |
|
|
5a4f8e214c |
Backport of:
------------------------------------------------------------ 2599.161.3 Ingo Struewing 2009-07-21 Bug#20667 - Truncate table fails for a write locked table TRUNCATE TABLE was not allowed under LOCK TABLES. The patch removes this restriction. mysql_truncate() does now handle that case. mysql-test/r/merge.result: Bug#20667 - Truncate table fails for a write locked table Updated test result. mysql-test/r/truncate.result: Bug#20667 - Truncate table fails for a write locked table Updated test result. mysql-test/r/truncate_coverage.result: Bug#20667 - Truncate table fails for a write locked table New test result. mysql-test/t/merge.test: Bug#20667 - Truncate table fails for a write locked table Updated test case due to now working TRUNCATE under LOCK TABLES. Added some SELECTs to show that child tables are truncated. mysql-test/t/truncate.test: Bug#20667 - Truncate table fails for a write locked table Added test cases for TRUNCATE under LOCK TABLE. mysql-test/t/truncate_coverage.test: Bug#20667 - Truncate table fails for a write locked table New test file. Coverage tests for TRUNCATE. sql/sql_delete.cc: Bug#20667 - Truncate table fails for a write locked table Added branches for thd->locked_tables_mode. sql/sql_parse.cc: Bug#20667 - Truncate table fails for a write locked table Deleted rejection of TRUNCATE in case of LOCK TABLES. |
16 years ago |
|
|
f26f632b44 |
Backport of:
------------------------------------------------------------ revno: 2617.68.25 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-next-bg-pre2-2 timestamp: Wed 2009-09-16 18:26:50 +0400 message: Follow-up for one of pre-requisite patches for fixing bug #30977 "Concurrent statement using stored function and DROP FUNCTION breaks SBR". Made enum_mdl_namespace enum part of MDL_key class and removed MDL_ prefix from the names of enum members. In order to do the latter changed name of PROCEDURE symbol to PROCEDURE_SYM (otherwise macro which was automatically generated for this symbol conflicted with MDL_key::PROCEDURE enum member). |
16 years ago |
|
|
c082955f06 |
WL#2360 Performance schema
Part III: mysys instrumentation |
16 years ago |
|
|
546e16ebd8 |
Backport of revno: 2617.69.40
A pre-requisite patch for Bug#30977 "Concurrent statement using stored function and DROP FUNCTION breaks SBR". This patch changes the MDL API by introducing a namespace for lock keys: MDL_TABLE for tables and views and MDL_PROCEDURE for stored procedures and functions. The latter is needed for the fix for Bug#30977. |
16 years ago |
|
|
ce5c87a3d3 |
Backport of:
---------------------------------------------------------- revno: 2617.69.20 committer: Konstantin Osipov <kostja@sun.com> branch nick: 5.4-4284-1-assert timestamp: Thu 2009-08-13 18:29:55 +0400 message: WL#4284 "Transactional DDL locking" A review fix. Since WL#4284 implementation separated MDL_request and MDL_ticket, MDL_request becamse a utility object necessary only to get a ticket. Store it by-value in TABLE_LIST with the intent to merge MDL_request::key with table_list->table_name and table_list->db in future. Change the MDL subsystem to not require MDL_requests to stay around till close_thread_tables(). Remove the list of requests from the MDL context. Requests for shared metadata locks acquired in open_tables() are only used as a list in recover_from_failed_open_table_attempt(), which calls mdl_context.wait_for_locks() for this list. To keep such list for recover_from_failed_open_table_attempt(), introduce a context class (Open_table_context), that collects all requests. A lot of minor cleanups and simplications that became possible with this change. sql/event_db_repository.cc: Remove alloc_mdl_requests(). Now MDL_request instance is a member of TABLE_LIST, and init_one_table() initializes it. sql/ha_ndbcluster_binlog.cc: Remove now unnecessary declaration and initialization of binlog_mdl_request. sql/lock.cc: No need to allocate MDL requests in lock_table_names() now. sql/log.cc: Use init_one_table() method, remove alloc_mdl_requests(), which is now unnecessary. sql/log_event.cc: No need to allocate mdl_request separately now. Use init_one_table() method. sql/log_event_old.cc: Update to the new signature of close_tables_for_reopen(). sql/mdl.cc: Update try_acquire_exclusive_lock() to be more easy to use. Function lock_table_name_if_not_cached() has been removed. Make acquire_shared_lock() signature consistent with try_acquire_exclusive_lock() signature. Remove methods that are no longer used. Update comments. sql/mdl.h: Implement an assignment operator that doesn't copy MDL_key (MDL_key::operator= is private and should remain private). This is a hack to work-around assignment of TABLE_LIST by value in several places. Such assignments violate encapsulation, since only perform a shallow copy. In most cases these assignments are a hack on their own. sql/mysql_priv.h: Update signatures of close_thread_tables() and close_tables_for_reopen(). sql/sp.cc: Allocate TABLE_LIST in thd->mem_root. Use init_one_table(). sql/sp_head.cc: Use init_one_table(). Remove thd->locked_tables_root, it's no longer needed. sql/sql_acl.cc: Use init_mdl_requests() and init_one_table(). sql/sql_base.cc: Update to new signatures of try_acquire_shared_lock() and try_acquire_exclusive_lock(). Remove lock_table_name_if_not_cached(). Fix a bug in open_ltable() that would not return ER_LOCK_DEADLOCK in case of a failed lock_tables() and a multi-statement transaction. Fix a bug in open_and_lock_tables_derived() that would not return ER_LOCK_DEADLOCK in case of a multi-statement transaction and a failure of lock_tables(). Move assignment of enum_open_table_action to a method of Open_table_context, a new class that maintains information for backoff actions. Minor rearrangements of the code. Remove alloc_mdl_requests() in functions that work with system tables: instead the patch ensures that callers always initialize TABLE_LIST argument. sql/sql_class.cc: THD::locked_tables_root is no more. sql/sql_class.h: THD::locked_tables_root is no more. Add a declaration for Open_table_context class. sql/sql_delete.cc: Update to use the simplified MDL API. sql/sql_handler.cc: TABLE_LIST::mdl_request is stored by-value now. Ensure that mdl_request.ticket is NULL for every request that is passed into MDL, to satisfy MDL asserts. @ sql/sql_help.cc Function open_system_tables_for_read() no longer initializes mdl_requests. Move TABLE_LIST::mdl_request initialization closer to TABLE_LIST initialization. sql/sql_help.cc: Function open_system_tables_for_read() no longer initializes mdl_requests. Move TABLE_LIST::mdl_request initialization closer to TABLE_LIST initialization. sql/sql_insert.cc: Remove assignment by-value of TABLE_LIST in TABLEOP_HOOKS. We can't carry over a granted MDL ticket from one table list to another. sql/sql_parse.cc: Change alloc_mdl_requests() -> init_mdl_requests(). @todo We can remove init_mdl_requests() altogether in some places: all places that call add_table_to_list() already have mdl requests initialized. sql/sql_plugin.cc: Use init_one_table(). THD::locked_tables_root is no more. sql/sql_servers.cc: Use init_one_table(). sql/sql_show.cc: Update acquire_high_priority_shared_lock() to use TABLE_LIST::mdl_request rather than allocate an own. Fix get_trigger_table_impl() to use init_one_table(), check for out of memory, follow the coding style. sql/sql_table.cc: Update to work with TABLE_LIST::mdl_request by-value. Remove lock_table_name_if_not_cached(). The code that used to delegate to it is quite simple and concise without it now. sql/sql_udf.cc: Use init_one_table(). sql/sql_update.cc: Update to use the new signature of close_tables_for_reopen(). sql/table.cc: Move re-setting of mdl_requests for prepared statements and stored procedures from close_thread_tables() to reinit_stmt_before_use(). Change alloc_mdl_requests() to init_mdl_requests(). init_mdl_requests() is a hack that can't be deleted until we don't have a list-aware TABLE_LIST constructor. Hopefully its use will be minimal sql/table.h: Change alloc_mdl_requests() to init_mdl_requests() TABLE_LIST::mdl_request is stored by value. sql/tztime.cc: We no longer initialize mdl requests in open_system_tables_for*() functions. Move this initialization closer to initialization of the rest of TABLE_LIST members. storage/myisammrg/ha_myisammrg.cc: Simplify mdl_request initialization. |
16 years ago |
|
|
a9013f8fba |
Backport of:
---------------------------------------------------------- revno: 2617.23.20 committer: Konstantin Osipov <kostja@sun.com> branch nick: mysql-6.0-runtime timestamp: Wed 2009-03-04 16:31:31 +0300 message: WL#4284 "Transactional DDL locking" Review comments: "Objectify" the MDL API. MDL_request and MDL_context still need manual construction and destruction, since they are used in environment that is averse to constructors/destructors. sql/mdl.cc: Improve comments. Add asserts to backup()/restore_from_backup()/merge() methods. Fix an order bug in the error path of mdl_acquire_exclusive_locks(): we used to first free a ticket object, and only then exclude it from the list of tickets. |
16 years ago |
|
|
f477e66ec5 |
Backport of:
------------------------------------------------------------ revno: 2617.23.18 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 4284-6.0 timestamp: Mon 2009-03-02 18:18:26 -0300 message: Bug#989: If DROP TABLE while there's an active transaction, wrong binlog order WL#4284: Transactional DDL locking This is a prerequisite patch: These changes are intended to split lock requests from granted locks and to allow the memory and lifetime of granted locks to be managed within the MDL subsystem. Furthermore, tickets can now be shared and therefore are used to satisfy multiple lock requests, but only shared locks can be recursive. The problem is that the MDL subsystem morphs lock requests into granted locks locks but does not manage the memory and lifetime of lock requests, and hence, does not manage the memory of granted locks either. This can be problematic because it puts the burden of tracking references on the users of the subsystem and it can't be easily done in transactional contexts where the locks have to be kept around for the duration of a transaction. Another issue is that recursive locks (when the context trying to acquire a lock already holds a lock on the same object) requires that each time the lock is granted, a unique lock request/granted lock structure structure must be kept around until the lock is released. This can lead to memory leaks in transactional contexts as locks taken during the transaction should only be released at the end of the transaction. This also leads to unnecessary wake ups (broadcasts) in the MDL subsystem if the context still holds a equivalent of the lock being released. These issues are exacerbated due to the fact that WL#4284 low-level design says that the implementation should "2) Store metadata locks in transaction memory root, rather than statement memory root" but this is not possible because a memory root, as implemented in mysys, requires all objects allocated from it to be freed all at once. This patch combines review input and significant code contributions from Konstantin Osipov (kostja) and Dmitri Lenev (dlenev). mysql-test/r/mdl_sync.result: Add test case result. mysql-test/t/mdl_sync.test: Add test case for shared lock upgrade case. sql/event_db_repository.cc: Rename mdl_alloc_lock to mdl_request_alloc. sql/ha_ndbcluster_binlog.cc: Use new function names to initialize MDL lock requests. sql/lock.cc: Rename MDL functions. sql/log_event.cc: The MDL request now holds the table and database name data (MDL_KEY). sql/mdl.cc: Move the MDL key to the MDL_LOCK structure in order to make the object suitable for allocation from a fixed-size allocator. This allows the simplification of the lists in the MDL_LOCK object, which now are just two, one for granted tickets and other for waiting (upgraders) tickets. Recursive requests for a shared lock on the same object can now be granted using the same lock ticket. This schema is only used for shared locks because that the only case that matters. This is used to avoid waste of resources in case a context (connection) already holds a shared lock on a object. sql/mdl.h: Introduce a metadata lock object key which is used to uniquely identify lock objects. Separate the structure used to represent pending lock requests from the structure used to represent granted metadata locks. Rename functions used to manipulate locks requests in order to have a more consistent function naming schema. sql/sp_head.cc: Rename mdl_alloc_lock to mdl_request_alloc. sql/sql_acl.cc: Rename alloc_mdl_locks to alloc_mdl_requests. sql/sql_base.cc: Various changes to accommodate that lock requests are separated from lock tickets (granted locks). sql/sql_class.h: Last acquired lock before the savepoint was set. sql/sql_delete.cc: Various changes to accommodate that lock requests are separated from lock tickets (granted locks). sql/sql_handler.cc: Various changes to accommodate that lock requests are separated from lock tickets (granted locks). sql/sql_insert.cc: Rename alloc_mdl_locks to alloc_mdl_requests. sql/sql_parse.cc: Rename alloc_mdl_locks to alloc_mdl_requests. sql/sql_plist.h: Typedef for iterator type. sql/sql_plugin.cc: Rename alloc_mdl_locks to alloc_mdl_requests. sql/sql_servers.cc: Rename alloc_mdl_locks to alloc_mdl_requests. sql/sql_show.cc: Various changes to accommodate that lock requests are separated from lock tickets (granted locks). sql/sql_table.cc: Various changes to accommodate that lock requests are separated from lock tickets (granted locks). sql/sql_trigger.cc: Save reference to the lock ticket so it can be downgraded later. sql/sql_udf.cc: Rename alloc_mdl_locks to alloc_mdl_requests. sql/table.cc: Rename mdl_alloc_lock to mdl_request_alloc. sql/table.h: Separate MDL lock requests from lock tickets (granted locks). storage/myisammrg/ha_myisammrg.cc: Rename alloc_mdl_locks to alloc_mdl_requests. |
16 years ago |
|
|
c52d4830bf |
Backport of:
------------------------------------------------------------ revno: 2630.22.3 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 4284-6.0 timestamp: Thu 2008-08-07 22:33:43 -0300 message: WL#4284: Transactional DDL locking Make transaction management more modular through a new interface. The overall objective of this change is to provide groundwork for the design of transactional DDL locking by cleaning up the transaction high level API to better distinguish operations implicit and explicit, and single statement transaction from operations on the normal transaction. Having a a high-level interface for transaction management provides a better base for implementing transactional concepts that are not always tied to storage engines and also makes it easier to interect with other higher level modules of the server. client/Makefile.am: Add new file to the build. libmysqld/CMakeLists.txt: Add new file to the build. libmysqld/Makefile.am: Add new file to the build. sql/CMakeLists.txt: Add new file to the build. sql/Makefile.am: Add new file to the build. sql/handler.cc: Remove multiplexer commit or rollback function. Most callers already have enough information to decided whether to rollback or commit. Having plain and well named functions makes it easier to read and understand code. sql/handler.h: Remove wrapper function as the low level transaction functions shouldn't be called directly anymore. sql/log_event.cc: Rename transaction management functions to the new names. sql/log_event_old.cc: Rename transaction management functions to the new names. sql/mysql_priv.h: Remove obsolete functions for implicit and explicit commit. sql/rpl_injector.cc: Rename transaction management functions to the new names. sql/rpl_rli.cc: Rename transaction management functions to the new names. sql/set_var.cc: Rename transaction management functions to the new names. sql/slave.cc: Rename transaction management functions to the new names. sql/sql_base.cc: Rename transaction management functions to the new names. sql/sql_class.cc: Rename transaction management functions to the new names. sql/sql_delete.cc: Rename transaction management functions to the new names. sql/sql_do.cc: Rename transaction management functions to the new names. sql/sql_insert.cc: Rename transaction management functions to the new names. sql/sql_parse.cc: Rename transaction management functions to the new names. sql/sql_partition.cc: Rename transaction management functions to the new names. sql/sql_table.cc: Rename transaction management functions to the new names. sql/transaction.cc: Implement wrapper functions to differentiate operations on the single statement transaction from the ones operating on the normal transaction. sql/transaction.h: Export new functions for dealing with transaction commands. |
16 years ago |
|
|
3543d2556d |
Backport of:
------------------------------------------------------------ revno: 2630.13.16 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: WL#4284 timestamp: Sat 2008-07-26 13:38:20 -0300 message: WL#4284: Transactional DDL locking SQL statements' effect on transactions. Currently the MySQL server and its storage engines are not capable of rolling back operations that define or modify data structures (also known as DDL statements) or operations that alter any of the system tables (the mysql database). Allowing these group of statements to participate in transactions is unfeasible at this time (since rollback has no effect whatsoever on them) and goes against the design of our metadata locking subsystem. The solution is to issue implicit commits before and after those statements execution. This effectively confines each of those statements to its own special transaction and ensures that metadata locks taken during this special transaction are not leaked into posterior statements/transactions. mysql-test/include/commit.inc: Alter table rename was not committing the normal transaction at the end of its execution, and as a consequence, the commit was being issued in the next DDL command (rename table) that happened to end the active transaction. Other changes are to take into account the implicit commits issued before and after the DDL command execution. mysql-test/include/implicit_commit_helper.inc: Add auxiliary test that shows if a statement issued a implicit commit. mysql-test/r/commit_1innodb.result: Update test case result. mysql-test/r/implicit_commit.result: Test implicit commit behavior of some SQL commands. mysql-test/t/implicit_commit.test: Test implicit commit behavior of some SQL commands. sql/events.cc: Transaction is now ended before the command execution. sql/mysql_priv.h: Add flags array for server commands and remove historical left over. sql/sql_class.h: Add flags to control when to issue implicit commits before and after a command execution. sql/sql_delete.cc: A implicit commit is issued at the end of truncate statements. sql/sql_parse.cc: Mark commands that need implicit commits before and after their executions. The implicit commits of the statement and the normal transaction are now issued regardless of the user access privileges. sql/sql_table.cc: A implicit commit is now issued before admin commands. tests/mysql_client_test.c: Test that COM_REFRESH issues a implicit commit. |
16 years ago |
|
|
e3b3907c4f |
Backport of:
------------------------------------------------------------ revno: 2630.4.32 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-6.0-3726-w2 timestamp: Thu 2008-06-19 16:39:58 +0400 message: WL#3726 "DDL locking for all metadata objects". After-review fixes in progress. Ensure that metadata locking subsystem properly handles out-of-memory conditions. Clarified MDL interface by separating release of locks and removal of lock requests from the context. sql/lock.cc: mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and mdl_remove_lock() to do this. sql/mdl.cc: Ensured that metadata locking subsystem properly handles out-of-memory conditions. Introduced new MDL_INITIALIZED state for metadata lock request which is used in all cases when lock is not acquired and we have not associated request with object respesenting lock. MDL_PENDING is now only used for requests for exclusive locks which are added to the MDL_LOCK::waiting_exclusive queue. mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and newly introduced mdl_remove_lock() to do this. Also renamed mdl_release_all_locks_for_name() to emphasize that it also actually removes lock requests from the context. Finally mdl_try_acquire_exclusive_lock() is now returs information about encountered lock conflict in separate out parameter since its return value is used for distinguishing between error (e.g. due to OOM) and success. sql/mdl.h: Introduced new MDL_INITIALIZED state for metadata lock request which is used in all cases when lock is not acquired and we have not associated request with object respesenting lock. MDL_PENDING is now only used for requests for exclusive locks which are added to the MDL_LOCK::waiting_exclusive queue. mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and newly introduced mdl_remove_lock() to do this. Also renamed mdl_release_all_locks_for_name() to emphasize that it also actually removes lock requests from the context. Finally mdl_try_acquire_exclusive_lock() is now returs information about encountered lock conflict in separate out parameter since its return value is used for distinguishing between error (e.g. due to OOM) and success. sql/sql_base.cc: mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and mdl_remove_lock() to do this. Also adjusted open_table() to ensure that it releases/removes metadata locks in case of error after adding/acquiring them (unless keeping these lock requests is required for recovering action). sql/sql_delete.cc: mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and mdl_remove_lock() to do this. sql/sql_handler.cc: mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and mdl_remove_lock() to do this. sql/sql_show.cc: mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and mdl_remove_lock() to do this. sql/sql_table.cc: Renamed mdl_release_all_locks_for_name() to emphasize that it also actually removes lock requests from the context. mdl_release_lock(), mdl_acquire_exclusive_locks() and mdl_try_acquire_exclusive_lock() are no longer responsible for removal of metadata lock requests from the context. One should explicitly call mdl_remove_all_locks() and mdl_remove_lock() to do this. Finally mdl_try_acquire_exclusive_lock() is now returs information about encountered lock conflict in separate out parameter since its return value is used for distinguishing between error (e.g. due to OOM) and success. |
16 years ago |
|
|
e8a9191e64 |
Backport of:
------------------------------------------------------------ revno: 2630.9.3 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-6.0-3726-w3 timestamp: Wed 2008-06-11 08:33:36 +0400 message: WL#3726 "DDL locking for all metadata objects". After review fixes in progress. Changed close_cached_tables() not to flush all unused TABLE instances when flushing individual table. Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal, rewrote its code to be more efficient. ****** Backport of: ------------------------------------------------------------ revno: 2630.9.4 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-6.0-3726-w3 timestamp: Wed 2008-06-11 15:53:53 +0400 message: WL#3726 "DDL locking for all metadata objects". After-review fixes in progress. Minor changes in order to improve code readability and simplify debugging. mysql-test/r/ps_ddl.result: Restore the original (correct) behaviour, now that the patch that fixes the regression introduced by the original patch for WL#3726 is fixed. mysql-test/t/ps_ddl.test: Restore the original (correct) behaviour, now that the patch that fixes the regression introduced by the original patch for WL#3726 is fixed sql/mysql_priv.h: Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal. sql/sql_base.cc: Changed close_cached_tables() not to flush all unused TABLE instances when flushing individual table. Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal, rewrote its code to be more efficient. As result removed relink_unused() function which is no longer used. ****** Improved code in close_cached_tables() according to reviewer's comments. sql/sql_delete.cc: Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal. sql/sql_rename.cc: Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal. sql/sql_show.cc: Moved acquisition of high-prio shared metadata lock in which happens in fill_schema_table_from_frm() to separate function. sql/sql_table.cc: Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal. sql/sql_trigger.cc: Renamed expel_table_from_cache() to tdc_remove_table() and added enum parameter to be able more explicitly specify type of removal. |
16 years ago |
|
|
1480dafe2f |
Backport of:
------------------------------------------------------------ revno: 2630.8.3 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-6.0-3726-w4 timestamp: Thu 2008-06-05 10:48:36 +0400 message: WL#3726 "DDL locking for all metadata objects". After-review fixes in progress. Adjust some comments that were using old terminology (name locks instead of exclusive metadata locks), brought some of them up-to-date with current situation in code. sql/sql_base.cc: Adjusted comments to use proper terminology. sql/sql_delete.cc: Adjusted comments to use proper terminology. sql/sql_handler.cc: Adjusted comments to use proper terminology. sql/sql_partition.cc: Adjusted comments to use proper terminology also fixed one comment to correspond to what really happens in code. sql/sql_show.cc: Adjusted comments to use proper terminology. sql/sql_table.cc: Adjusted comments to use proper terminology, brought one of them up-to-date with current situation. sql/sql_trigger.cc: Adjusted comments to use proper terminology. sql/table.h: Removed two unused members of TABLE_SHARE struct. |
16 years ago |
|
|
e23046d1bc |
Backport of:
------------------------------------------------------------ revno: 2630.4.17 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-6.0-3726-w2 timestamp: Thu 2008-05-29 16:52:56 +0400 message: WL#3726 "DDL locking for all metadata objects". After review fixes in progress. "The great correction of names". Renamed MDL_LOCK and MDL_LOCK_DATA classes to make usage of these names in metadata locking subsystem consistent with other parts of server (i.e. thr_lock.cc). Now we MDL_LOCK_DATA corresponds to request for a lock and MDL_LOCK to the lock itself. Adjusted code in MDL subsystem and other places using these classes accordingly. Did similar thing for GLOBAL_MDL_LOCK_DATA class and also changed name of its members to correspond to names of MDL_LOCK_DATA members. Finally got rid of usage of one letter variables in MDL code since it makes code harder to search in (according to reviewer). |
16 years ago |
|
|
eff3780dd8 |
Initial import of WL#3726 "DDL locking for all metadata objects".
Backport of:
------------------------------------------------------------
revno: 2630.4.1
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Fri 2008-05-23 17:54:03 +0400
message:
WL#3726 "DDL locking for all metadata objects".
After review fixes in progress.
------------------------------------------------------------
This is the first patch in series. It transforms the metadata
locking subsystem to use a dedicated module (mdl.h,cc). No
significant changes in the locking protocol.
The import passes the test suite with the exception of
deprecated/removed 6.0 features, and MERGE tables. The latter
are subject to a fix by WL#4144.
Unfortunately, the original changeset comments got lost in a merge,
thus this import has its own (largely insufficient) comments.
This patch fixes Bug#25144 "replication / binlog with view breaks".
Warning: this patch introduces an incompatible change:
Under LOCK TABLES, it's no longer possible to FLUSH a table that
was not locked for WRITE.
Under LOCK TABLES, it's no longer possible to DROP a table or
VIEW that was not locked for WRITE.
******
Backport of:
------------------------------------------------------------
revno: 2630.4.2
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sat 2008-05-24 14:03:45 +0400
message:
WL#3726 "DDL locking for all metadata objects".
After review fixes in progress.
******
Backport of:
------------------------------------------------------------
revno: 2630.4.3
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sat 2008-05-24 14:08:51 +0400
message:
WL#3726 "DDL locking for all metadata objects"
Fixed failing Windows builds by adding mdl.cc to the lists
of files needed to build server/libmysqld on Windows.
******
Backport of:
------------------------------------------------------------
revno: 2630.4.4
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sat 2008-05-24 21:57:58 +0400
message:
WL#3726 "DDL locking for all metadata objects".
Fix for assert failures in kill.test which occured when one
tried to kill ALTER TABLE statement on merge table while it
was waiting in wait_while_table_is_used() for other connections
to close this table.
These assert failures stemmed from the fact that cleanup code
in this case assumed that temporary table representing new
version of table was open with adding to THD::temporary_tables
list while code which were opening this temporary table wasn't
always fulfilling this.
This patch changes code that opens new version of table to
always do this linking in. It also streamlines cleanup process
for cases when error occurs while we have new version of table
open.
******
WL#3726 "DDL locking for all metadata objects"
Add libmysqld/mdl.cc to .bzrignore.
******
Backport of:
------------------------------------------------------------
revno: 2630.4.6
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sun 2008-05-25 00:33:22 +0400
message:
WL#3726 "DDL locking for all metadata objects".
Addition to the fix of assert failures in kill.test caused by
changes for this worklog.
Make sure we close the new table only once.
.bzrignore:
Add libmysqld/mdl.cc
libmysqld/CMakeLists.txt:
Added mdl.cc to the list of files needed for building of libmysqld.
libmysqld/Makefile.am:
Added files implementing new meta-data locking subsystem to the server.
mysql-test/include/handler.inc:
Use separate connection for waiting while threads performing DDL
operations conflicting with open HANDLER tables reach blocked
state. This is required because now we check and close tables open
by HANDLER statements in this connection conflicting with DDL in
another each time open_tables() is called and thus select from I_S
which is used for waiting will unblock DDL operations if issued
from connection with open HANDLERs.
mysql-test/r/create.result:
Adjusted test case after change in implementation of CREATE TABLE
... SELECT. We no longer have special check in open_table() which
catches the case when we select from the table created. Instead we
rely on unique_table() call which happens after opening and
locking all tables.
mysql-test/r/flush.result:
FLUSH TABLES WITH READ LOCK can no longer happen under LOCK
TABLES. Updated test accordingly.
mysql-test/r/flush_table.result:
Under LOCK TABLES we no longer allow to do FLUSH TABLES for tables
locked for read. Updated test accordingly.
mysql-test/r/handler_innodb.result:
Use separate connection for waiting while threads performing DDL
operations conflicting with open HANDLER tables reach blocked
state. This is required because now we check and close tables open
by HANDLER statements in this connection conflicting with DDL in
another each time open_tables() is called and thus select from I_S
which is used for waiting will unblock DDL operations if issued
from connection with open HANDLERs.
mysql-test/r/handler_myisam.result:
Use separate connection for waiting while threads performing DDL
operations conflicting with open HANDLER tables reach blocked
state. This is required because now we check and close tables open
by HANDLER statements in this connection conflicting with DDL in
another each time open_tables() is called and thus select from I_S
which is used for waiting will unblock DDL operations if issued
from connection with open HANDLERs.
mysql-test/r/information_schema.result:
Additional test for WL#3726 "DDL locking for all metadata
objects". Check that we use high-priority metadata lock requests
when filling I_S tables.
Rearrange tests to match 6.0 better (fewer merge conflicts).
mysql-test/r/kill.result:
Added tests checking that DDL and DML statements waiting for
metadata locks can be interrupted by KILL command.
mysql-test/r/lock.result:
One no longer is allowed to do DROP VIEW under LOCK TABLES even if
this view is locked by LOCK TABLES. The problem is that in such
situation write locks on view are not mutually exclusive so
upgrading metadata lock which is required for dropping of view
will lead to deadlock.
mysql-test/r/partition_column_prune.result:
Update results (same results in 6.0), WL#3726
mysql-test/r/partition_pruning.result:
Update results (same results in 6.0), WL#3726
mysql-test/r/ps_ddl.result:
We no longer invalidate prepared CREATE TABLE ... SELECT statement
if target table changes. This is OK since it is not strictly
necessary.
The first change is wrong, is caused by FLUSH TABLE
now flushing all unused tables. This is a regression that
Dmitri fixed in 6.0 in a follow up patch.
mysql-test/r/sp.result:
Under LOCK TABLES we no longer allow accessing views which were
not explicitly locked. To access view we need to obtain metadata
lock on it and doing this under LOCK TABLES may lead to deadlocks.
mysql-test/r/view.result:
One no longer is allowed to do DROP VIEW under LOCK TABLES even if
this view is locked by LOCK TABLES. The problem is that in such
situation even "write locks" on view are not mutually exclusive so
upgrading metadata lock which is required for dropping of view
will lead to deadlock
mysql-test/r/view_grant.result:
ALTER VIEW implementation was changed to open a view only after
checking that user which does alter has appropriate privileges on
it. This means that in case when user's privileges are
insufficient for this we won't check that new view definer is the
same as original one or user performing alter has SUPER privilege.
Adjusted test case accordingly.
mysql-test/r/view_multi.result:
Added test case for bug#25144 "replication / binlog with view
breaks".
mysql-test/suite/rpl/t/disabled.def:
Disable test for deprecated features (they don't work with new MDL).
mysql-test/t/create.test:
Adjusted test case after change in implementation of CREATE TABLE
... SELECT. We no longer have special check in open_table() which
catches the case when we select from the table created. Instead we
rely on unique_table() call which happens after opening and
locking all tables.
mysql-test/t/disabled.def:
Disable merge.test, subject of WL#4144
mysql-test/t/flush.test:
FLUSH TABLES WITH READ LOCK can no longer happen under LOCK
TABLES. Updated test accordingly.
mysql-test/t/flush_table.test:
Under LOCK TABLES we no longer allow to do FLUSH TABLES for tables
locked for read. Updated test accordingly.
mysql-test/t/information_schema.test:
Additional test for WL#3726 "DDL locking for all metadata
objects". Check that we use high-priority metadata lock requests
when filling I_S tables.
Rearrange the results for easier merges with 6.0.
mysql-test/t/kill.test:
Added tests checking that DDL and DML statements waiting for
metadata locks can be interrupted by KILL command.
mysql-test/t/lock.test:
One no longer is allowed to do DROP VIEW under LOCK TABLES even if
this view is locked by LOCK TABLES. The problem is that in such
situation write locks on view are not mutually exclusive so
upgrading metadata lock which is required for dropping of view
will lead to deadlock.
mysql-test/t/lock_multi.test:
Adjusted test case to the changes of status in various places
caused by change in implementation FLUSH TABLES WITH READ LOCK,
which is now takes global metadata lock before flushing tables and
therefore waits on at these places.
mysql-test/t/ps_ddl.test:
We no longer invalidate prepared CREATE TABLE ... SELECT statement
if target table changes. This is OK since it is not strictly
necessary.
The first change is wrong, is caused by FLUSH TABLE
now flushing all unused tables. This is a regression that
Dmitri fixed in 6.0 in a follow up patch.
mysql-test/t/sp.test:
Under LOCK TABLES we no longer allow accessing views which were
not explicitly locked. To access view we need to obtain metadata
lock on it and doing this under LOCK TABLES may lead to deadlocks.
mysql-test/t/trigger_notembedded.test:
Adjusted test case to the changes of status in various places
caused by change in implementation FLUSH TABLES WITH READ LOCK,
which is now takes global metadata lock before flushing tables and
therefore waits on at these places.
mysql-test/t/view.test:
One no longer is allowed to do DROP VIEW under LOCK TABLES even if
this view is locked by LOCK TABLES. The problem is that in such
situation even "write locks" on view are not mutually exclusive so
upgrading metadata lock which is required for dropping of view
will lead to deadlock.
mysql-test/t/view_grant.test:
ALTER VIEW implementation was changed to open a view only after
checking that user which does alter has appropriate privileges on
it. This means that in case when user's privileges are
insufficient for this we won't check that new view definer is the
same as original one or user performing alter has SUPER privilege.
Adjusted test case accordingly.
mysql-test/t/view_multi.test:
Added test case for bug#25144 "replication / binlog with view
breaks".
sql/CMakeLists.txt:
Added mdl.cc to the list of files needed for building of server.
sql/Makefile.am:
Added files implementing new meta-data locking subsystem to the
server.
sql/event_db_repository.cc:
Allocate metadata lock requests objects (MDL_LOCK) on execution
memory root in cases when TABLE_LIST objects is also allocated
there or on stack.
sql/ha_ndbcluster.cc:
Adjusted code to work nicely with new metadata locking subsystem.
close_cached_tables() no longer has wait_for_placeholder argument.
Instead of relying on this parameter and related behavior FLUSH
TABLES WITH READ LOCK now takes global shared metadata lock.
sql/ha_ndbcluster_binlog.cc:
Adjusted code to work with new metadata locking subsystem.
close_cached_tables() no longer has wait_for_placeholder argument.
Instead of relying on this parameter and related behavior FLUSH
TABLES WITH READ LOCK now takes global shared metadata lock.
sql/handler.cc:
update_frm_version():
Directly update TABLE_SHARE::mysql_version member instead of
going through all TABLE instances for this table (old code was a
legacy from pre-table-definition-cache days).
sql/lock.cc:
Use new metadata locking subsystem. Threw away most of functions
related to name locking as now one is supposed to use metadata
locking API instead. In lock_global_read_lock() and
unlock_global_read_lock() in order to avoid problems with global
read lock sneaking in at the moment when we perform FLUSH TABLES
or ALTER TABLE under LOCK TABLES and when tables being reopened
are protected only by metadata locks we also have to take global
shared meta data lock.
sql/log_event.cc:
Adjusted code to work with new metadata locking subsystem. For
tables open by slave thread for applying RBR events allocate
memory for lock request object in the same chunk of memory as
TABLE_LIST objects for them. In order to ensure that we keep these
objects around until tables are open always close tables before
calling Relay_log_info::clear_tables_to_lock(). Use new auxiliary
Relay_log_info::slave_close_thread_tables() method to enforce
this.
sql/log_event_old.cc:
Adjusted code to work with new metadata locking subsystem. Since
for tables open by slave thread for applying RBR events memory for
lock request object is allocated in the same chunk of memory as
TABLE_LIST objects for them we have to ensure that we keep these
objects around until tables are open. To ensure this we always
close tables before calling
Relay_log_info::clear_tables_to_lock(). To enfore this we use
new auxiliary Relay_log_info::slave_close_thread_tables()
method.
sql/mdl.cc:
Implemented new metadata locking subsystem and API described in
WL3726 "DDL locking for all metadata objects".
sql/mdl.h:
Implemented new metadata locking subsystem and API described in
WL3726 "DDL locking for all metadata objects".
sql/mysql_priv.h:
- close_thread_tables()/close_tables_for_reopen() now has one more
argument which indicates that metadata locks should be released
but not removed from the context in order to be used later in
mdl_wait_for_locks() and tdc_wait_for_old_version().
- close_cached_table() routine is no longer public.
- Thread waiting in wait_while_table_is_used() can be now killed
so this function returns boolean to make caller aware of such
situation.
- We no longer have table cache as separate entity instead used
and unused TABLE instances are linked to TABLE_SHARE objects in
table definition cache.
- Now third argument of open_table() is also used for requesting
table repair or auto-discovery of table's new definition. So its
type was changed from bool to enum.
- Added tdc_open_view() function for opening view by getting its
definition from disk (and table cache in future).
- reopen_name_locked_table() no longer needs "link_in" argument as
now we have exclusive metadata locks instead of dummy TABLE
instances when this function is called.
- find_locked_table() now takes head of list of TABLE instances
instead of always scanning through THD::open_tables list. Also
added find_write_locked_table() auxiliary.
- reopen_tables(), close_cached_tables() no longer have
mark_share_as_old and wait_for_placeholder arguments. Instead of
relying on this parameters and related behavior FLUSH TABLES
WITH READ LOCK now takes global shared metadata lock.
- We no longer need drop_locked_tables() and
abort_locked_tables().
- mysql_ha_rm_tables() now always assume that LOCK_open is not
acquired by caller.
- Added notify_thread_having_shared_lock() callback invoked by
metadata locking subsystem when acquiring an exclusive lock, for
each thread that has a conflicting shared metadata lock.
- Introduced expel_table_from_cache() as replacement for
remove_table_from_cache() (the main difference is that this new
function assumes that caller follows metadata locking protocol
and never waits).
- Threw away most of functions related to name locking. One should
use new metadata locking subsystem and API instead.
sql/mysqld.cc:
Got rid of call initializing/deinitializing table cache since now
it is embedded into table definition cache. Added calls for
initializing/ deinitializing metadata locking subsystem.
sql/rpl_rli.cc:
Introduced auxiliary Relay_log_info::slave_close_thread_tables()
method which is used for enforcing that we always close tables
open for RBR before deallocating TABLE_LIST elements and MDL_LOCK
objects for them.
sql/rpl_rli.h:
Introduced auxiliary Relay_log_info::slave_close_thread_tables()
method which is used for enforcing that we always close tables
open for RBR before deallocating TABLE_LIST elements and MDL_LOCK
objects for them.
sql/set_var.cc:
close_cached_tables() no longer has wait_for_placeholder argument.
Instead of relying on this parameter and related behavior FLUSH
TABLES WITH READ LOCK now takes global shared metadata lock.
sql/sp_head.cc:
For tables added to the statement's table list by prelocking
algorithm we allocate these objects either on the same memory as
corresponding table list elements or on THD::locked_tables_root
(if we are building table list for LOCK TABLES).
sql/sql_acl.cc:
Allocate metadata lock requests objects (MDL_LOCK) on execution
memory root in cases when we use stack TABLE_LIST objects to open
tables. Got rid of redundant code by using unlock_locked_tables()
function.
sql/sql_base.cc:
Changed code to use new MDL subsystem. Got rid of separate table
cache. Now used and unused TABLE instances are linked to the
TABLE_SHAREs in table definition cache.
check_unused():
Adjusted code to the fact that we no longer have separate table
cache. Removed dead code.
table_def_free():
Free TABLE instances referenced from TABLE_SHARE objects before
destroying table definition cache.
get_table_share():
Added assert which ensures that noone will be able to access
table (and its share) without acquiring some kind of metadata
lock first.
close_handle_and_leave_table_as_lock():
Adjusted code to the fact that TABLE instances now are linked to
list in TABLE_SHARE.
list_open_tables():
Changed this function to use table definition cache instead of
table cache.
free_cache_entry():
Unlink freed TABLE elements from the list of all TABLE instances
for the table in TABLE_SHARE.
kill_delayed_thread_for_table():
Added auxiliary for killing delayed insert threads for
particular table.
close_cached_tables():
Got rid of wait_for_refresh argument as we now rely on global
shared metadata lock to prevent FLUSH WITH READ LOCK sneaking in
when we are reopening tables. Heavily reworked this function to
use new MDL code and not to rely on separate table cache entity.
close_open_tables():
We no longer have separate table cache.
close_thread_tables():
Release metadata locks after closing all tables. Added skip_mdl
argument which allows us not to remove metadata lock requests
from the context in case when we are going to use this requests
later in mdl_wait_for_locks() and tdc_wait_for_old_versions().
close_thread_table()/close_table_for_reopen():
Since we no longer have separate table cache and all TABLE
instances are linked to TABLE_SHARE objects in table definition
cache we have to link/unlink TABLE object to/from appropriate
lists in the share.
name_lock_locked_table():
Moved redundant code to find_write_locked_table() function and
adjusted code to the fact that wait_while_table_is_used() can
now return with an error if our thread is killed.
reopen_table_entry():
We no longer need "link_in" argument as with MDL we no longer
call this function with dummy TABLE object pre-allocated and
added to the THD::open_tables. Also now we add newly-open TABLE
instance to the list of share's used TABLE instances.
table_cache_insert_placeholder():
Got rid of name-locking legacy.
lock_table_name_if_not_cached():
Moved to sql_table.cc the only place where it is used. It was
also reimplemented using new MDL API.
open_table():
- Reworked this function to use new MDL subsystem.
- Changed code to deal with table definition cache directly
instead of going through separate table cache.
- Now third argument is also used for requesting table repair
or auto-discovery of table's new definition. So its type was
changed from bool to enum.
find_locked_table()/find_write_locked_table():
Accept head of list of TABLE objects as first argument and use
this list instead of always searching in THD::open_tables list.
Also added auxiliary for finding write-locked locked tables.
reopen_table():
Adjusted function to work with new MDL subsystem and to properly
manuipulate with lists of used/unused TABLE instaces in
TABLE_SHARE.
reopen_tables():
Removed mark_share_as_old parameter. Instead of relying on it
and related behavior FLUSH TABLES WITH READ LOCK now takes
global shared metadata lock. Changed code after removing
separate table cache.
drop_locked_tables()/abort_locked_tables():
Got rid of functions which are no longer needed.
unlock_locked_tables():
Moved this function from sql_parse.cc and changed it to release
memory which was used for allocating metadata lock requests for
tables open and locked by LOCK TABLES.
tdc_open_view():
Intoduced function for opening a view by getting its definition
from disk (and table cache in future).
reopen_table_entry():
Introduced function for opening table definitions while holding
exclusive metatadata lock on it.
open_unireg_entry():
Got rid of this function. Most of its functionality is relocated
to open_table() and open_table_fini() functions, and some of it
to reopen_table_entry() and tdc_open_view(). Also code
resposible for auto-repair and auto-discovery of tables was
moved to separate function.
open_table_entry_fini():
Introduced function which contains common actions which finalize
process of TABLE object creation.
auto_repair_table():
Moved code responsible for auto-repair of table being opened
here.
handle_failed_open_table_attempt()
Moved code responsible for handling failing attempt to open
table to one place (retry due to lock conflict/old version,
auto-discovery and repair).
open_tables():
- Flush open HANDLER tables if they have old version of if there
is conflicting metadata lock against them (before this moment
we had this code in open_table()).
- When we open view which should be processed via derived table
on the second execution of prepared statement or stored
routine we still should call open_table() for it in order to
obtain metadata lock on it and prepare its security context.
- In cases when we discover that some special handling of
failure to open table is needed call
handle_failed_open_table_attempt() which handles all such
scenarios.
open_ltable():
Handling of various special scenarios of failure to open a table
was moved to separate handle_failed_open_table_attempt()
function.
remove_db_from_cache():
Removed this function as it is no longer used.
notify_thread_having_shared_lock():
Added callback which is invoked by MDL subsystem when acquiring
an exclusive lock, for each thread that has a conflicting shared
metadata lock.
expel_table_from_cache():
Introduced function for removing unused TABLE instances. Unlike
remove_table_from_cache() it relies on caller following MDL
protocol and having appropriate locks when calling it and thus
does not do any waiting if table is still in use.
tdc_wait_for_old_version():
Added function which allows open_tables() to wait in cases when
we discover that we should back-off due to presence of old
version of table.
abort_and_upgrade_lock():
Use new MDL calls.
mysql_wait_completed_table():
Got rid of unused function.
open_system_tables_for_read/for_update()/performance_schema_table():
Allocate MDL_LOCK objects on execution memory root in cases when
TABLE_LIST objects for corresponding tables is allocated on
stack.
close_performance_schema_table():
Release metadata locks after closing tables.
******
Use I_P_List for free/used tables list in the table share.
sql/sql_binlog.cc:
Use Relay_log_info::slave_close_thread_tables() method to enforce
that we always close tables open for RBR before deallocating
TABLE_LIST elements and MDL_LOCK objects for them.
sql/sql_class.cc:
Added meta-data locking contexts as part of Open_tables_state
context. Also introduced THD::locked_tables_root memory root
which is to be used for allocating MDL_LOCK objects for tables in
LOCK TABLES statement (end of lifetime for such objects is UNLOCK
TABLES so we can't use statement or execution root for them).
sql/sql_class.h:
Added meta-data locking contexts as part of Open_tables_state
context. Also introduced THD::locked_tables_root memory root
which is to be used for allocating MDL_LOCK objects for tables in
LOCK TABLES statement (end of lifetime for such objects is UNLOCK
TABLES so we can't use statement or execution root for them).
Note: handler_mdl_context and locked_tables_root and
mdl_el_root will be removed by subsequent patches.
sql/sql_db.cc:
mysql_rm_db() does not really need to call remove_db_from_cache()
as it drops each table in the database using
mysql_rm_table_part2(), which performs all necessary operations on
table (definition) cache.
sql/sql_delete.cc:
Use the new metadata locking API for TRUNCATE.
sql/sql_handler.cc:
Changed HANDLER implementation to use new metadata locking
subsystem. Note that MDL_LOCK objects for HANDLER tables are
allocated in the same chunk of heap memory as TABLE_LIST object
for those tables.
sql/sql_insert.cc:
mysql_insert():
find_locked_table() now takes head of list of TABLE object as
its argument instead of always scanning through THD::open_tables
list.
handle_delayed_insert():
Allocate metadata lock request object for table open by delayed
insert thread on execution memroot. create_table_from_items():
We no longer allocate dummy TABLE objects for tables being
created if they don't exist. As consequence
reopen_name_locked_table() no longer has link_in argument.
open_table() now has one more argument which is not relevant for
temporary tables.
sql/sql_parse.cc:
- Moved unlock_locked_tables() routine to sql_base.cc and made
available it in other files. Got rid of some redundant code by
using this function.
- Replaced boolean TABLE_LIST::create member with enum
open_table_type member.
- Use special memory root for allocating MDL_LOCK objects for
tables open and locked by LOCK TABLES (these object should live
till UNLOCK TABLES so we can't allocate them on statement nor
execution memory root). Also properly set metadata lock
upgradability attribure for those tables.
- Under LOCK TABLES it is no longer allowed to flush tables which
are not write-locked as this breaks metadata locking protocol
and thus potentially might lead to deadlock.
- Added auxiliary adjust_mdl_locks_upgradability() function.
sql/sql_partition.cc:
Adjusted code to the fact that reopen_tables() no longer has
"mark_share_as_old" argument. Got rid of comments which are no
longer true.
sql/sql_plist.h:
Added I_P_List template class for parametrized intrusive doubly
linked lists and I_P_List_iterator for corresponding iterator.
Unlike for I_List<> list elements of such list can participate in
several lists. Unlike List<> such lists are doubly-linked and
intrusive.
sql/sql_plugin.cc:
Allocate metadata lock requests objects (MDL_LOCK) on execution
memory root in cases when we use stack TABLE_LIST objects to open
tables.
sql/sql_prepare.cc:
Replaced boolean TABLE_LIST::create member with enum
open_table_type member. This allows easily handle situation in
which instead of opening the table we want only to take exclusive
metadata lock on it.
sql/sql_rename.cc:
Use new metadata locking subsystem in implementation of RENAME
TABLE.
sql/sql_servers.cc:
Allocate metadata lock requests objects (MDL_LOCK) on execution
memory root in cases when we use stack TABLE_LIST objects to open
tables. Got rid of redundant code by using unlock_locked_tables()
function.
sql/sql_show.cc:
Acquire shared metadata lock when we are getting information for
I_S table directly from TABLE_SHARE without doing full-blown table
open. We use high priority lock request in this situation in
order to avoid deadlocks.
Also allocate metadata lock requests objects (MDL_LOCK) on
execution memory root in cases when TABLE_LIST objects are also
allocated there
sql/sql_table.cc:
mysql_rm_table():
Removed comment which is no longer relevant.
mysql_rm_table_part2():
Now caller of mysql_ha_rm_tables() should not own LOCK_open.
Adjusted code to use new metadata locking subsystem instead of
name-locks.
lock_table_name_if_not_cached():
Moved this function from sql_base.cc to this file and
reimplemented it using metadata locking API.
mysql_create_table():
Adjusted code to use new MDL API.
wait_while_table_is_used():
Changed function to use new MDL subsystem. Made thread waiting
in it killable (this also led to introduction of return value so
caller can distinguish successful executions from situations
when waiting was aborted).
close_cached_tables():
Thread waiting in this function is killable now. As result it
has return value for distinguishing between succes and failure.
Got rid of redundant boradcast_refresh() call.
prepare_for_repair():
Use MDL subsystem instead of name-locks.
mysql_admin_table():
mysql_ha_rm_tables() now always assumes that caller doesn't own
LOCK_open.
mysql_repair_table():
We should mark all elements of table list as requiring
upgradable metadata locks.
mysql_create_table_like():
Use new MDL subsystem instead of name-locks.
create_temporary_tables():
We don't need to obtain metadata locks when creating temporary
table.
mysql_fast_or_online_alter_table():
Thread waiting in wait_while_table_is_used() is now killable.
mysql_alter_table():
Adjusted code to work with new MDL subsystem and to the fact
that threads waiting in what_while_table_is_used() and
close_cached_table() are now killable.
sql/sql_test.cc:
We no longer have separate table cache. TABLE instances are now
associated with/linked to TABLE_SHARE objects in table definition
cache.
sql/sql_trigger.cc:
Adjusted code to work with new metadata locking subsystem. Also
reopen_tables() no longer has mark_share_as_old argument (Instead
of relying on this parameter and related behavior FLUSH TABLES
WITH READ LOCK now takes global shared metadata lock).
sql/sql_udf.cc:
Allocate metadata lock requests objects (MDL_LOCK) on execution
memory root in cases when we use stack TABLE_LIST objects to open
tables.
sql/sql_update.cc:
Adjusted code to work with new meta-data locking subsystem.
sql/sql_view.cc:
Added proper meta-data locking to implementations of
CREATE/ALTER/DROP VIEW statements. Now we obtain exclusive
meta-data lock on a view before creating/ changing/dropping it.
This ensures that all concurrent statements that use this view
will finish before our statement will proceed and therefore we
will get correct order of statements in the binary log.
Also ensure that TABLE_LIST::mdl_upgradable attribute is properly
propagated for underlying tables of view.
sql/table.cc:
Added auxiliary alloc_mdl_locks() function for allocating metadata
lock request objects for all elements of table list.
sql/table.h:
TABLE_SHARE:
Got rid of unused members. Introduced members for storing lists
of used and unused TABLE objects for this share.
TABLE:
Added members for linking TABLE objects into per-share lists of
used and unused TABLE instances. Added member for holding
pointer to metadata lock for this table.
TABLE_LIST:
Replaced boolean TABLE_LIST::create member with enum
open_table_type member. This allows easily handle situation in
which instead of opening the table we want only to take
exclusive meta-data lock on it (we need this in order to handle
ALTER VIEW and CREATE VIEW statements).
Introduced new mdl_upgradable member for marking elements of
table list for which we need to take upgradable shared metadata
lock instead of plain shared metadata lock. Added pointer for
holding pointer to MDL_LOCK for the table.
Added auxiliary alloc_mdl_locks() function for allocating metadata
lock requests objects for all elements of table list. Added
auxiliary set_all_mdl_upgradable() function for marking all
elements in table list as requiring upgradable metadata locks.
storage/myisammrg/ha_myisammrg.cc:
Allocate MDL_LOCK objects for underlying tables of MERGE table.
To be reworked once Ingo pushes his patch for WL4144.
|
16 years ago |
|
|
9a9e8d2311 |
Backport of:
---------------------------------------------------------------------- ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0 Bug#32082 : definition of VOID in my_global.h conflicts with Windows SDK headers VOID macro is now removed. Its usage is replaced with void cast. In some cases, where cast does not make much sense (pthread_*, printf, hash_delete, my_seek), cast is ommited. client/mysqladmin.cc: Bug#32082 : remove VOID macro client/mysqldump.c: Bug#32082 : remove VOID macro client/mysqlimport.c: Bug#32082 : remove VOID macro client/mysqlslap.c: Bug#32082 : remove VOID macro client/mysqltest.cc: Bug#32082 : remove VOID macro client/sql_string.cc: Bug#32082 : remove VOID macro extra/comp_err.c: Bug#32082 : remove VOID macro extra/replace.c: Bug#32082 : remove VOID macro include/my_alarm.h: Bug#32082 : remove VOID macro include/my_global.h: Bug#32082 : remove VOID macro libmysql/libmysql.c: Bug#32082 : remove VOID macro mysys/errors.c: Bug#32082 : remove VOID macro mysys/hash.c: Bug#32082 : remove VOID macro mysys/mf_iocache2.c: Bug#32082 : remove VOID macro mysys/mf_loadpath.c: Bug#32082 : remove VOID macro mysys/mf_path.c: Bug#32082 : remove VOID macro mysys/my_append.c: Bug#32082 : remove VOID macro mysys/my_clock.c: Bug#32082 : remove VOID macro mysys/my_copy.c: Bug#32082 : remove VOID macro mysys/my_fstream.c: Bug#32082 : remove VOID macro mysys/my_getwd.c: Bug#32082 : remove VOID macro mysys/my_lib.c: Bug#32082 : remove VOID macro mysys/my_lockmem.c: Bug#32082 : remove VOID macro mysys/my_pthread.c: Bug#32082 : remove VOID macro mysys/my_redel.c: Bug#32082 : remove VOID macro mysys/stacktrace.c: Bug#32082 : remove VOID macro mysys/thr_alarm.c: Bug#32082 : remove VOID macro mysys/thr_lock.c: Bug#32082 : remove VOID macro sql/derror.cc: Bug#32082 : remove VOID macro sql/des_key_file.cc: Bug#32082 : remove VOID macro sql/discover.cc: Bug#32082 : remove VOID macro sql/field.cc: Bug#32082 : remove VOID macro sql/filesort.cc: Bug#32082 : remove VOID macro sql/ha_ndbcluster.cc: Bug#32082 : remove VOID macro sql/ha_partition.cc: Bug#32082 : remove VOID macro sql/handler.cc: Bug#32082 : remove VOID macro sql/hostname.cc: Bug#32082 : remove VOID macro sql/init.cc: Bug#32082 : remove VOID macro sql/item.cc: Bug#32082 : remove VOID macro sql/item_cmpfunc.cc: Bug#32082 : remove VOID macro sql/item_strfunc.cc: Bug#32082 : remove VOID macro sql/lock.cc: Bug#32082 : remove VOID macro sql/log.cc: Bug#32082 : remove VOID macro sql/log_event.cc: Bug#32082 : remove VOID macro sql/mysqld.cc: Bug#32082 : remove VOID macro sql/opt_range.h: Bug#32082 : remove VOID macro sql/protocol.cc: Bug#32082 : remove VOID macro sql/records.cc: Bug#32082 : remove VOID macro sql/sp_head.cc: Bug#32082 : remove VOID macro sql/sp_pcontext.cc: Bug#32082 : remove VOID macro sql/sql_acl.cc: Bug#32082 : remove VOID macro sql/sql_base.cc: Bug#32082 : remove VOID macro sql/sql_cache.cc: Bug#32082 : remove VOID macro sql/sql_connect.cc: Bug#32082 : remove VOID macro sql/sql_db.cc: Bug#32082 : remove VOID macro sql/sql_delete.cc: Bug#32082 : remove VOID macro sql/sql_handler.cc: Bug#32082 : remove VOID macro sql/sql_insert.cc: Bug#32082 : remove VOID macro sql/sql_map.cc: Bug#32082 : remove VOID macro sql/sql_parse.cc: Bug#32082 : remove VOID macro sql/sql_select.cc: Bug#32082 : remove VOID macro sql/sql_servers.cc: Bug#32082 : remove VOID macro sql/sql_show.cc: Bug#32082 : remove VOID macro sql/sql_string.cc: Bug#32082 : remove VOID macro sql/sql_table.cc: Bug#32082 : remove VOID macro sql/sql_test.cc: Bug#32082 : remove VOID macro sql/sql_trigger.cc: Bug#32082 : remove VOID macro sql/sql_update.cc: Bug#32082 : remove VOID macro sql/sql_view.cc: Bug#32082 : remove VOID macro sql/table.cc: Bug#32082 : remove VOID macro sql/tztime.cc: Bug#32082 : remove VOID macro sql/udf_example.c: Bug#32082 : remove VOID macro sql/uniques.cc: Bug#32082 : remove VOID macro sql/unireg.cc: Bug#32082 : remove VOID macro storage/archive/ha_archive.cc: Bug#32082 : remove VOID macro storage/blackhole/ha_blackhole.cc: Bug#32082 : remove VOID macro storage/csv/ha_tina.cc: Bug#32082 : remove VOID macro storage/csv/transparent_file.cc: Bug#32082 : remove VOID macro storage/example/ha_example.cc: Bug#32082 : remove VOID macro storage/federated/ha_federated.cc: Bug#32082 : remove VOID macro storage/heap/hp_clear.c: Bug#32082 : remove VOID macro storage/heap/hp_create.c: Bug#32082 : remove VOID macro storage/heap/hp_test1.c: Bug#32082 : remove VOID macro storage/heap/hp_test2.c: Bug#32082 : remove VOID macro storage/innobase/handler/ha_innodb.cc: Bug#32082 : remove VOID macro storage/myisam/ft_eval.c: Bug#32082 : remove VOID macro storage/myisam/ha_myisam.cc: Bug#32082 : remove VOID macro storage/myisam/mi_changed.c: Bug#32082 : remove VOID macro storage/myisam/mi_check.c: Bug#32082 : remove VOID macro storage/myisam/mi_close.c: Bug#32082 : remove VOID macro storage/myisam/mi_create.c: Bug#32082 : remove VOID macro storage/myisam/mi_dbug.c: Bug#32082 : remove VOID macro storage/myisam/mi_delete.c: Bug#32082 : remove VOID macro storage/myisam/mi_delete_all.c: Bug#32082 : remove VOID macro storage/myisam/mi_dynrec.c: Bug#32082 : remove VOID macro storage/myisam/mi_info.c: Bug#32082 : remove VOID macro storage/myisam/mi_locking.c: Bug#32082 : remove VOID macro storage/myisam/mi_log.c: Bug#32082 : remove VOID macro storage/myisam/mi_open.c: Bug#32082 : remove VOID macro storage/myisam/mi_packrec.c: Bug#32082 : remove VOID macro storage/myisam/mi_panic.c: Bug#32082 : remove VOID macro storage/myisam/mi_rsame.c: Bug#32082 : remove VOID macro storage/myisam/mi_statrec.c: Bug#32082 : remove VOID macro storage/myisam/mi_test1.c: Bug#32082 : remove VOID macro storage/myisam/mi_test2.c: Bug#32082 : remove VOID macro storage/myisam/mi_test3.c: Bug#32082 : remove VOID macro storage/myisam/mi_update.c: Bug#32082 : remove VOID macro storage/myisam/mi_write.c: Bug#32082 : remove VOID macro storage/myisam/myisamchk.c: Bug#32082 : remove VOID macro storage/myisam/myisamlog.c: Bug#32082 : remove VOID macro storage/myisam/myisampack.c: Bug#32082 : remove VOID macro storage/myisam/sort.c: Bug#32082 : remove VOID macro storage/myisammrg/myrg_close.c: Bug#32082 : remove VOID macro storage/myisammrg/myrg_create.c: Bug#32082 : remove VOID macro storage/myisammrg/myrg_open.c: Bug#32082 : remove VOID macro strings/str_test.c: Bug#32082 : remove VOID macro tests/thread_test.c: Bug#32082 : remove VOID macro |
16 years ago |
|
|
a2ed682967 |
Bug #48350 truncate temporary table crashes replication
In RBR, All statements operating on temporary tables should not be binlogged. Despite this fact, after executing 'TRUNCATE... ' on a temporary table, the command is still logged, even if in row-based mode. Consequently, this raises problems in the slave as the table may not exist, resulting in an execution failure. Ultimately, this causes the slave to report an error and abort. After this patch, 'TRUNCATE ...' statement on a temporary table will not be binlogged in RBR. |
16 years ago |
|
|
dd383cadec |
BUG#37148 Most callers of mysql_bin_log.write ignore the return result
This is the non-ndb part of the patch. The return value of mysql_bin_log.write was ignored by most callers, which may lead to inconsistent on master and slave if the transaction was committed while the binlog was not correctly written. If my_error() is call in mysql_bin_log.write, this could also lead to assertion issue if my_ok() or my_error() is called after. This fixed the problem by let the caller to check and handle the return value of mysql_bin_log.write. This patch only adresses the simple cases. mysql-test/include/binlog_inject_error.inc: inject binlog write error when doing a query mysql-test/suite/binlog/t/binlog_write_error.test: Simple test case to check if proper error is reported when injecting binlog write errors. sql/events.cc: check return value of mysql_bin_log.write sql/log.cc: check return value of mysql_bin_log.write sql/log_event.cc: check return value of mysql_bin_log.write sql/log_event_old.cc: check return value of mysql_bin_log.write sql/mysql_priv.h: Change write_bin_log to return int instead of void sql/rpl_injector.cc: check return value of writing binlog sql/sp.cc: check return value of writing binlog sql/sp_head.cc: return 1 if writing binlog failed sql/sql_acl.cc: check return value of writing binlog sql/sql_base.cc: check return value of writing binlog sql/sql_class.h: Change binlog_show_create_table to return int sql/sql_db.cc: Change write_to_binlog to return int check return value of writing binlog sql/sql_delete.cc: check return value of writing binlog sql/sql_insert.cc: check return value of writing binlog sql/sql_load.cc: check return value of writing binlog sql/sql_parse.cc: check return value of writing binlog sql/sql_partition.cc: check return value of writing binlog sql/sql_rename.cc: check return value of writing binlog sql/sql_repl.cc: check return value of writing binlog sql/sql_table.cc: Change write_bin_log to return int, and return 1 if there was error writing binlog sql/sql_tablespace.cc: check return value of writing binlog sql/sql_trigger.cc: check return value of writing binlog sql/sql_udf.cc: check return value of writing binlog sql/sql_update.cc: check return value of writing binlog sql/sql_view.cc: check return value of writing binlog |
16 years ago |
|
|
3987c7ac4b |
Bug #46425 crash in Diagnostics_area::set_ok_status , empty statement,
DELETE IGNORE The ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG error was set in the diagnostics area when it happened, but the DELETE cleanup code never checked for a non-fatal error condition, thus trying to set diag.area to "ok". This triggered an assert checking that the diag.area was empty. The fix was to test if there existed a non-fatal error condition (thd->is_error() before ok'ing the operation. |
16 years ago |
|
|
19c380aaff |
WL#2687 WL#5072 BUG#40278 BUG#47175
Non-transactional updates that take place inside a transaction present problems for logging because they are visible to other clients before the transaction is committed, and they are not rolled back even if the transaction is rolled back. It is not always possible to log correctly in statement format when both transactional and non-transactional tables are used in the same transaction. In the current patch, we ensure that such scenario is completely safe under the ROW and MIXED modes. |
16 years ago |
|
|
7b4ef910f7 |
Bug #40877: multi statement execution fails in 5.1.30
Implemented the server infrastructure for the fix: 1. Added a function LEX_STRING *thd_query_string(THD) to return a LEX_STRING structure instead of char *. This is the function that must be called in innodb instead of thd_query() 2. Did some encapsulation in THD : aggregated thd_query and thd_query_length into a LEX_STRING and made accessor and mutator methods for easy code updating. 3. Updated the server code to use the new methods where applicable. |
16 years ago |
|
|
2dbe095c3a |
Bug#46958: Assertion in Diagnostics_area::set_ok_status,
|
16 years ago |
|
|
b3ee09b2fd |
Backport into build-200909221805-5.1.37sp1
> ------------------------------------------------------------ > revno: 3075 > revision-id: ramil@mysql.com-20090821055535-a5aeas33epokjjnp > parent: joro@sun.com-20090820141122-gq6eyozybvar4o4s > committer: Ramil Kalimullin <ramil@mysql.com> > branch nick: mysql-5.1-bugteam > timestamp: Fri 2009-08-21 10:55:35 +0500 > message: > Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP > (temporary) TABLE, crash > > Problem: if one has an open "HANDLER t1", further "TRUNCATE t1" > doesn't close the handler and leaves handler table hash in an > inconsistent state, that may lead to a server crash. > > Fix: TRUNCATE should implicitly close all open handlers. > > Doc. request: the fact should be described in the manual accordingly. |
16 years ago |
|
|
d0d52e9f11 |
WL#4444 Added TRUNCATE partition support, fixes bug#19405 and bug #35111
|
16 years ago |
|
|
fb9ba3734b |
Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP
(temporary) TABLE, crash Problem: if one has an open "HANDLER t1", further "TRUNCATE t1" doesn't close the handler and leaves handler table hash in an inconsistent state, that may lead to a server crash. Fix: TRUNCATE should implicitly close all open handlers. Doc. request: the fact should be described in the manual accordingly. mysql-test/r/handler_myisam.result: Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash - test result. mysql-test/t/handler_myisam.test: Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash - test case. sql/sql_delete.cc: Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash - remove all truncated tables from the HANDLER's hash. |
16 years ago |
|
|
41783de549 |
BUG#39934: Slave stops for engine that only support row-based logging
General overview:
The logic for switching to row format when binlog_format=MIXED had
numerous flaws. The underlying problem was the lack of a consistent
architecture.
General purpose of this changeset:
This changeset introduces an architecture for switching to row format
when binlog_format=MIXED. It enforces the architecture where it has
to. It leaves some bugs to be fixed later. It adds extensive tests to
verify that unsafe statements work as expected and that appropriate
errors are produced by problems with the selection of binlog format.
It was not practical to split this into smaller pieces of work.
Problem 1:
To determine the logging mode, the code has to take several parameters
into account (namely: (1) the value of binlog_format; (2) the
capabilities of the engines; (3) the type of the current statement:
normal, unsafe, or row injection). These parameters may conflict in
several ways, namely:
- binlog_format=STATEMENT for a row injection
- binlog_format=STATEMENT for an unsafe statement
- binlog_format=STATEMENT for an engine only supporting row logging
- binlog_format=ROW for an engine only supporting statement logging
- statement is unsafe and engine does not support row logging
- row injection in a table that does not support statement logging
- statement modifies one table that does not support row logging and
one that does not support statement logging
Several of these conflicts were not detected, or were detected with
an inappropriate error message. The problem of BUG#39934 was that no
appropriate error message was written for the case when an engine
only supporting row logging executed a row injection with
binlog_format=ROW. However, all above cases must be handled.
Fix 1:
Introduce new error codes (sql/share/errmsg.txt). Ensure that all
conditions are detected and handled in decide_logging_format()
Problem 2:
The binlog format shall be determined once per statement, in
decide_logging_format(). It shall not be changed before or after that.
Before decide_logging_format() is called, all information necessary to
determine the logging format must be available. This principle ensures
that all unsafe statements are handled in a consistent way.
However, this principle is not followed:
thd->set_current_stmt_binlog_row_based_if_mixed() is called in several
places, including from code executing UPDATE..LIMIT,
INSERT..SELECT..LIMIT, DELETE..LIMIT, INSERT DELAYED, and
SET @@binlog_format. After Problem 1 was fixed, that caused
inconsistencies where these unsafe statements would not print the
appropriate warnings or errors for some of the conflicts.
Fix 2:
Remove calls to THD::set_current_stmt_binlog_row_based_if_mixed() from
code executed after decide_logging_format(). Compensate by calling the
set_current_stmt_unsafe() at parse time. This way, all unsafe statements
are detected by decide_logging_format().
Problem 3:
INSERT DELAYED is not unsafe: it is logged in statement format even if
binlog_format=MIXED, and no warning is printed even if
binlog_format=STATEMENT. This is BUG#45825.
Fix 3:
Made INSERT DELAYED set itself to unsafe at parse time. This allows
decide_logging_format() to detect that a warning should be printed or
the binlog_format changed.
Problem 4:
LIMIT clause were not marked as unsafe when executed inside stored
functions/triggers/views/prepared statements. This is
BUG#45785.
Fix 4:
Make statements containing the LIMIT clause marked as unsafe at
parse time, instead of at execution time. This allows propagating
unsafe-ness to the view.
mysql-test/extra/rpl_tests/create_recursive_construct.inc:
Added auxiliary file used by binlog_unsafe.test to create and
execute recursive constructs
(functions/procedures/triggers/views/prepared statements).
mysql-test/extra/rpl_tests/rpl_foreign_key.test:
removed unnecessary set @@session.binlog_format
mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
Filter out table id from table map events in binlog listing.
Got rid of $binlog_format_statement.
mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test:
disable warnings around call to unsafe procedure
mysql-test/include/rpl_udf.inc:
Disabled warnings for code that generates warnings
for some binlog formats. That would otherwise cause
inconsistencies in the result file.
mysql-test/r/mysqldump.result:
Views are now unsafe if they contain a LIMIT clause.
That fixed BUG#45831. Due to BUG#45832, a warning is
printed for the CREATE VIEW statement.
mysql-test/r/sp_trans.result:
Unsafe statements in stored procedures did not give a warning if
binlog_format=statement. This is BUG#45824. Now they do, so this
result file gets a new warning.
mysql-test/suite/binlog/r/binlog_multi_engine.result:
Error message changed.
mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result:
INSERT DELAYED didn't generate a warning when binlog_format=STATEMENT.
That was BUG#45825. Now there is a warning, so result file needs to be
updated.
mysql-test/suite/binlog/r/binlog_stm_ps.result:
Changed error message.
mysql-test/suite/binlog/r/binlog_unsafe.result:
updated result file:
- error message changed
- added test for most combinations of unsafe constructs invoked
from recursive constructs
- INSERT DELAYED now gives a warning (because BUG#45826 is fixed)
- INSERT..SELECT..LIMIT now gives a warning from inside recursive
constructs (because BUG#45785 was fixed)
- When a recursive construct (e.g., stored proc or function)
contains more than one statement, at least one of which is
unsafe, then all statements in the recursive construct give
warnings. This is a new bug introduced by this changeset.
It will be addressed in a post-push fix.
mysql-test/suite/binlog/t/binlog_innodb.test:
Changed error code for innodb updates with READ COMMITTED or
READ UNCOMMITTED transaction isolation level and
binlog_format=statement.
mysql-test/suite/binlog/t/binlog_multi_engine.test:
The error code has changed for statements where more than one
engine is involved and one of them is self-logging.
mysql-test/suite/binlog/t/binlog_unsafe-master.opt:
Since binlog_unsafe now tests unsafe-ness of UDF's, we need an extra
flag in the .opt file.
mysql-test/suite/binlog/t/binlog_unsafe.test:
- Clarified comment.
- Rewrote first part of test. Now it tests not only unsafe variables
and functions, but also unsafe-ness due to INSERT..SELECT..LIMIT,
INSERT DELAYED, insert into two autoinc columns, use of UDF's, and
access to log tables in the mysql database.
Also, in addition to functions, procedures, triggers, and prepared
statements, it now also tests views; and it constructs recursive
calls in two levels by combining these recursive constructs.
Part of the logic is in extra/rpl_tests/create_recursive_construct.inc.
- added tests for all special system variables that should not be unsafe.
- added specific tests for BUG#45785 and BUG#45825
mysql-test/suite/rpl/r/rpl_events.result:
updated result file
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
updated result file
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
updated result file
mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result:
updated result file
mysql-test/suite/rpl/r/rpl_idempotency.result:
updated result file
mysql-test/suite/rpl/r/rpl_mix_found_rows.result:
Split rpl_found_rows.test into rpl_mix_found_rows.test (a new file) and
rpl_stm_found_rows.test (renamed rpl_found_rows.test). This file equals
the second half of the old rpl_found_rows.result, with the following
modifications:
- minor formatting changes
- additional initialization
mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result:
Moved out code operating in mixed mode from rpl_stm_insert_delayed
(into rpl_mix_insert_delayed) and got rid of explicit setting of
binlog format.
mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result:
updated result file
mysql-test/suite/rpl/r/rpl_row_idempotency.result:
Moved the second half of rpl_idempotency.test, which only
executed in row mode, to rpl_row_idempotency.test. This is
the new result file.
mysql-test/suite/rpl/r/rpl_row_insert_delayed.result:
Got rid of unnecessary explicit setting of binlog format.
mysql-test/suite/rpl/r/rpl_stm_found_rows.result:
Split rpl_found_rows.test into rpl_mix_found_rows.test (a new file) and
rpl_stm_found_rows.test (renamed rpl_found_rows.test). Changes in
this file:
- minor formatting changes
- warning is now issued for unsafe statements inside procedures
(since BUG#45824 is fixed)
- second half of file is moved to rpl_mix_found_rows.result
mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result:
Moved out code operating in mixed mode from rpl_stm_insert_delayed
(into rpl_mix_insert_delayed) and got rid of explicit setting of
binlog format.
mysql-test/suite/rpl/r/rpl_stm_loadfile.result:
error message changed
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
updated result file
mysql-test/suite/rpl/r/rpl_udf.result:
Remove explicit set of binlog format (and triplicate test execution)
and rely on test system executing the test in all binlog formats.
mysql-test/suite/rpl/t/rpl_bug31076.test:
Test is only valid in mixed or row mode since it generates row events.
mysql-test/suite/rpl/t/rpl_events.test:
Removed explicit set of binlog_format and removed duplicate testing.
Instead, we rely on the test system to try all binlog formats.
mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test:
Removed triplicate testing and instead relying on test system.
Test is only relevant for row format since statement-based replication
cannot handle extra columns on master.
mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test:
Removed triplicate testing and instead relying on test system.
Test is only relevant for row format since statement-based replication
cannot handle extra columns on master.
mysql-test/suite/rpl/t/rpl_idempotency-slave.opt:
Removed .opt file to avoid server restarts.
mysql-test/suite/rpl/t/rpl_idempotency.test:
- Moved out row-only tests to a new test file, rpl_row_idempotency.test.
rpl_idempotency now only contains tests that execute in all
binlog_formats.
- While I was here, also removed .opt file to avoid server restarts.
The slave_exec_mode is now set inside the test instead.
mysql-test/suite/rpl/t/rpl_mix_found_rows.test:
Split rpl_found_rows.test into rpl_mix_found_rows.test (a new file) and
rpl_stm_found_rows.test (renamed rpl_found_rows.test). This file
contains the second half of the original rpl_found_rows.test with the
follwing changes:
- initialization
- removed SET_BINLOG_FORMAT and added have_binlog_format_mixed.inc
- minor formatting changes
mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test:
Moved out code operating in mixed mode from rpl_stm_insert_delayed
(into rpl_mix_insert_delayed) and got rid of explicit setting of
binlog format.
mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test:
Test cannot execute in statement mode, since we no longer
switch to row format when binlog_format=statement.
Enforced mixed mode throughout the test.
mysql-test/suite/rpl/t/rpl_row_idempotency.test:
Moved the second half of rpl_idempotency.test, which only
executed in row mode, to this new file. We now rely on the
test system to set binlog format.
mysql-test/suite/rpl/t/rpl_row_insert_delayed.test:
- Got rid of unnecessary explicit setting of binlog format.
- extra/rpl_tests/rpl_insert_delayed.test does not need the
$binlog_format_statement variable any more, so that was
removed.
mysql-test/suite/rpl/t/rpl_slave_skip.test:
The test switches binlog_format internally and master generates both
row and statement events. Hence, the slave must be able to log in both
statement and row format. Hence test was changed to only execute in
mixed mode.
mysql-test/suite/rpl/t/rpl_stm_found_rows.test:
Split rpl_found_rows.test into rpl_mix_found_rows.test (a new file) and
rpl_stm_found_rows.test (renamed rpl_found_rows.test). Changes in
this file:
- minor formatting changes
- added have_binlog_format_statement and removed SET BINLOG_FORMAT.
- second half of file is moved to rpl_mix_found_rows.test
- added cleanup code
mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test:
Moved out code operating in mixed mode from rpl_stm_insert_delayed
(into rpl_mix_insert_delayed) and got rid of explicit setting of
binlog format.
mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test:
The test switches binlog_format internally and master generates both
row and statement events. Hence, the slave must be able to log in both
statement and row format. Hence test was changed to only execute in
mixed mode on slave.
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
Removed explicit set of binlog format. Instead, the test now only
executes in row mode.
mysql-test/suite/rpl/t/rpl_udf.test:
Remove explicit set of binlog format (and triplicate test execution)
and rely on test system executing the test in all binlog formats.
mysql-test/suite/rpl_ndb/combinations:
Added combinations file for rpl_ndb.
mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result:
new result file
mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result:
updated result file
mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-master.opt:
new option file
mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-slave.opt:
new option file
mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test:
New test case to verify all errors and warnings generated by
decide_logging_format.
mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
While I was here, also made the test clean up after itself.
mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test:
The test needs slave to be able to switch to row mode, so the
test was changed to only execute in mixed and row mode.
mysql-test/t/partition_innodb_stmt.test:
Changed error code for innodb updates with READ COMMITTED or
READ UNCOMMITTED transaction isolation level and
binlog_format=statement.
sql/event_db_repository.cc:
Use member function to read current_stmt_binlog_row_based.
sql/events.cc:
Use member function to read current_stmt_binlog_row_based.
sql/ha_ndbcluster_binlog.cc:
reset_current_stmt_binlog_row_based() is not a no-op for the ndb_binlog
thread any more. Instead, the ndb_binlog thread now forces row mode both
initially and just after calling mysql_parse. (mysql_parse() is the only
place where reset_current_stmt_binlog_row_based() may be called from
the ndb_binlog thread, so these are the only two places that need to
change.)
sql/ha_partition.cc:
Use member function to read current_stmt_binlog_row_based.
sql/handler.cc:
Use member function to read current_stmt_binlog_row_based.
sql/item_create.cc:
Added DBUG_ENTER to some functions, to be able to trace when
set_stmt_unsafe is called.
sql/log.cc:
Use member function to read current_stmt_binlog_row_based.
sql/log_event.cc:
- Moved logic for changing to row format out of do_apply_event (and into
decide_logging_format).
- Added @todo comment for post-push cleanup.
sql/log_event_old.cc:
Move logic for changing to row format out of do_apply_event (and into
decide_logging_format).
sql/mysql_priv.h:
Make decide_logging_format() a member of the THD class, for two reasons:
- It is natural from an object-oriented perspective.
- decide_logging_format() needs to access private members of THD
(specifically, the new binlog_warning_flags field).
sql/rpl_injector.cc:
Removed call to set_current_stmt_binlog_row_based().
From now on, only decide_logging_fromat is allowed to modify
current_stmt_binlog_row_based. This call is from the ndb_binlog
thread, mostly executing code in ha_ndbcluster_binlog.cc.
This call can be safely removed, because:
- current_stmt_binlog_row_based is initialized for the ndb_binlog
thread's THD object when the THD object is created. So we're
not going to read uninitialized memory.
- The behavior of ndb_binlog thread does not use the state of the
current_stmt_binlog_row_based. It is conceivable that the
ndb_binlog thread would rely on the current_stmt_binlog_format
in two situations:
(1) when it calls mysql_parse;
(2) when it calls THD::binlog_query.
In case (1), it always clears THD::options&OPTION_BIN_LOG (because
run_query() in ha_ndbcluster_binlog.cc is only called with
disable_binlogging = TRUE).
In case (2), it always uses qtype=STMT_QUERY_TYPE.
sql/set_var.cc:
Added @todo comment for post-push cleanup.
sql/share/errmsg.txt:
Added new error messages and clarified ER_BINLOG_UNSAFE_STATEMENT.
sql/sp.cc:
Added DBUG_ENTER, to be able to trace when set_stmt_unsafe is called.
Got rid of MYSQL_QUERY_TYPE: it was equivalent to STMT_QUERY_TYPE.
sql/sp_head.cc:
Use member function to read current_stmt_binlog_row_based.
sql/sp_head.h:
Added DBUG_ENTER, to be able to trace when set_stmt_unsafe is called.
sql/sql_acl.cc:
Got rid of MYSQL_QUERY_TYPE: it was equivalent to STMT_QUERY_TYPE.
sql/sql_base.cc:
- Made decide_logging_format take care of all logic for deciding the
logging format, and for determining the related warnings and errors.
See comment above decide_logging_format for details.
- Made decide_logging_format a member function of THD, since it needs
to access private members of THD and since its purpose is to update
the state of a THD object.
- Added DBUG_ENTER, to be able to trace when set_stmt_unsafe is called.
sql/sql_class.cc:
- Moved logic for determining unsafe warnings away from THD::binlog_query
(and into decide_logging_format()). Now, it works like this:
1. decide_logging_format detects that the current statement shall
produce a warning, if it ever makes it to the binlog
2. decide_logging_format sets a flag of THD::binlog_warning_flags.
3. THD::binlog_query reads the flag. If the flag is set, it generates
a warning.
- Use member function to read current_stmt_binlog_row_based.
sql/sql_class.h:
- Added THD::binlog_warning_flags (see sql_class.cc for explanation).
- Made decide_logging_format() and reset_for_next_command() member
functions of THD (instead of standalone functions). This was needed
for two reasons: (1) the functions need to access the private member
THD::binlog_warning_flags; (2) the purpose of these functions is to
update the staet of a THD object, so from an object-oriented point
of view they should be member functions.
- Encapsulated current_stmt_binlog_row_based, so it is now private and
can only be accessed from a member function. Also changed the
data type to an enumeration instead of a bool.
- Removed MYSQL_QUERY_TYPE, because it was equivalent to
STMT_QUERY_TYPE anyways.
- When reset_current_stmt_binlog_row_based was called from the
ndb_binlog thread, it would behave as a no-op. This special
case has been removed, and the behavior of
reset_current_stmt_binlog_row_based does not depend on which thread
calls it any more. The special case did not serve any purpose,
since the ndb binlog thread did not take the
current_stmt_binlog_row_based flag into account anyways.
sql/sql_delete.cc:
- Moved logic for setting row format for DELETE..LIMIT away from
mysql_prepare_delete.
(Instead, we mark the statement as unsafe at parse time (sql_yacc.yy)
and rely on decide_logging_format() (sql_class.cc) to set row format.)
This is part of the fix for BUG#45831.
- Use member function to read current_stmt_binlog_row_based.
sql/sql_insert.cc:
- Removed unnecessary calls to thd->lex->set_stmt_unsafe() and
thd->set_current_stmt_binlog_row_based_if_mixed() from
handle_delayed_insert(). The calls are unnecessary because they
have already been made; they were made in the constructor of
the `di' object.
- Since decide_logging_format() is now a member function of THD, code
that calls decide_logging_format() had to be updated.
- Added DBUG_ENTER call, to be able to trace when set_stmt_unsafe is
called.
- Moved call to set_stmt_unsafe() for INSERT..SELECT..LIMIT away from
mysql_insert_select_prepare() (and into decide_logging_format).
This is part of the fix for BUG#45831.
- Use member function to read current_stmt_binlog_row_based.
sql/sql_lex.h:
- Added the flag BINLOG_STMT_FLAG_ROW_INJECTION to enum_binlog_stmt_flag.
This was necessary so that a statement can identify itself as a row
injection.
- Added appropriate setter and getter functions for the new flag.
- Added or clarified some comments.
- Added DBUG_ENTER()
sql/sql_load.cc:
Use member function to read current_stmt_binlog_row_based.
sql/sql_parse.cc:
- Made mysql_reset_thd_for_next_command() clear thd->binlog_warning_flags.
- Since thd->binlog_warning_flags is private, it must be set in a
member function of THD. Hence, moved the body of
mysql_reset_thd_for_next_command() to the new member function
THD::reset_thd_for_next_command(), and made
mysql_reset_thd_for_next_command() call
THD::reset_thd_for_next_command().
- Removed confusing comment.
- Use member function to read current_stmt_binlog_row_based.
sql/sql_repl.cc:
Use member function to read current_stmt_binlog_row_based.
sql/sql_table.cc:
Use member function to read current_stmt_binlog_row_based.
sql/sql_udf.cc:
Use member function to read current_stmt_binlog_row_based.
sql/sql_update.cc:
Moved logic for setting row format for UPDATE..LIMIT away from
mysql_prepare_update.
(Instead, we mark the statement as unsafe at parse time (sql_yacc.yy)
and rely on decide_logging_format() (sql_class.cc) to set row format.)
This is part of the fix for BUG#45831.
sql/sql_yacc.yy:
Made INSERT DELAYED, INSERT..SELECT..LIMIT, UPDATE..LIMIT, and
DELETE..LIMIT mark themselves as unsafe at parse time (instead
of at execution time).
This is part of the fixes BUG#45831 and BUG#45825.
storage/example/ha_example.cc:
Made exampledb accept inserts. This was needed by the new test case
rpl_ndb_binlog_format_errors, because it needs an engine that
is statement-only (and accepts inserts).
storage/example/ha_example.h:
Made exampledb a statement-only engine instead of a row-only engine.
No existing test relied exampledb's row-only capabilities. The new
test case rpl_ndb_binlog_format_errors needs an engine that is
statement-only.
storage/innobase/handler/ha_innodb.cc:
- Changed error error code and message given by innodb when
binlog_format=STATEMENT and transaction isolation level is
READ COMMITTED or READ UNCOMMITTED.
- While I was here, also simplified the condition for
checking when to give the error.
|
17 years ago |
|
|
410e1a72b9 |
Bug #40113: Embedded SELECT inside UPDATE or DELETE can timeout
without error When using quick access methods for searching rows in UPDATE or DELETE there was no check if a fatal error was not already sent to the client while evaluating the quick condition. As a result a false OK (following the error) was sent to the client and the error was thus transformed into a warning. Fixed by checking for errors sent to the client during SQL_SELECT::check_quick() and treating them as real errors. Fixed a wrong test case in group_min_max.test Fixed a wrong return code in mysql_update() and mysql_delete() mysql-test/r/bug40113.result: Bug #40013: test case mysql-test/r/group_min_max.result: Bug #40013: fixed a wrong test case mysql-test/t/bug40113-master.opt: Bug #40013: test case mysql-test/t/bug40113.test: Bug #40013: test case mysql-test/t/group_min_max.test: Bug #40013: fixed a wrong test case sql/sql_delete.cc: Bug #40113: check for errors evaluating the quick select sql/sql_update.cc: Bug #40113: check for errors evaluating the quick select |
17 years ago |
|
|
9347649c16 |
Bug#44834 strxnmov is expected to behave as you'd expect
The problem: described in the bug report.
The fix:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
client/mysql.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/ha_ndbcluster.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/ha_ndbcluster_binlog.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/handler.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/log.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/mysqld.cc:
removed unnecessary line
sql/parse_file.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_acl.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_base.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_db.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_delete.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_partition.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_rename.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_show.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_table.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
sql/sql_view.cc:
--increase buffers where it's necessary
(buffers which are used in stxnmov)
--decrease buffer lengths which are used
as argument for strxnmov function
|
17 years ago |
|
|
3cf052b76c |
BUG#43929 binlog corruption when max_binlog_cache_size is exceeded
Large transactions and statements may corrupt the binary log if the size of the cache, which is set by the max_binlog_cache_size, is not enough to store the the changes. In a nutshell, to fix the bug, we save the position of the next character in the cache before starting processing a statement. If there is a problem, we simply restore the position thus removing any effect of the statement from the cache. Unfortunately, to avoid corrupting the binary log, we may end up loosing changes on non-transactional tables if they do not fit in the cache. In such cases, we store an Incident_log_event in order to stop the slave and alert users that some changes were not logged. Precisely, for every non-transactional changes that do not fit into the cache, we do the following: a) the statement is *not* logged b) an incident event is logged after committing/rolling back the transaction, if any. Note that if a failure happens before writing the incident event to the binary log, the slave will not stop and the master will not have reported any error. c) its respective statement gives an error For transactional changes that do not fit into the cache, we do the following: a) the statement is *not* logged b) its respective statement gives an error To work properly, this patch requires two additional things. Firstly, callers to MYSQL_BIN_LOG::write and THD::binlog_query must handle any error returned and take the appropriate actions such as undoing the effects of a statement. We already changed some calls in the sql_insert.cc, sql_update.cc and sql_insert.cc modules but the remaining calls spread all over the code should be handled in BUG#37148. Secondly, statements must be either classified as DDL or DML because DDLs that do not get into the cache must generate an incident event since they cannot be rolled back. |
17 years ago |
|
|
3b0e6e4109 |
Bug #43414 Parenthesis (and other) warnings compiling MySQL
with gcc 4.3.2
Compiling MySQL with gcc 4.3.2 and later produces a number of
warnings, many of which are new with the recent compiler
versions.
This bug will be resolved in more than one patch to limit the
size of changesets. This is the second patch, fixing more
of the warnings.
|
17 years ago |
|
|
a103509788 |
Bug #43414 Parenthesis (and other) warnings compiling MySQL
with gcc 4.3.2
Compiling MySQL with gcc 4.3.2 and later produces a number of
warnings, many of which are new with the recent compiler
versions.
This bug will be resolved in more than one patch to limit the
size of changesets. This is the second patch, fixing more
of the warnings.
|
17 years ago |
|
|
abf5f8dac2 |
BUG#41948 Query_log_event constructor needlessly contorted
Make the caller of Query_log_event, Execute_load_log_event constructors and THD::binlog_query to provide the error code instead of having the constructors to figure out the error code. sql/log_event.cc: Changed constructors of Query_log_event and Execute_load_log_event to accept the error code argument instead of figuring it out by itself sql/log_event.h: Changed constructors of Query_log_event and Execute_load_log_event to accept the error code argument |
17 years ago |
|
|
609a794b15 |
Bug #39918 memory (heap) engine crashing with b-tree index and DELETE
with seg fault Multiple-table DELETE from a table joined to itself may cause server crash. This was originally discovered with MEMORY engine, but may affect other engines with different symptoms. The problem was that the server violated SE API by performing parallel table scan in one handler and removing records in another (delete on the fly optimization). mysql-test/r/heap_btree.result: Updated test result after adding new test for this bug. mysql-test/t/heap_btree.test: Updated test result after adding new test for the bug report. sql/sql_delete.cc: Updated to check if the files in delete list appears in join list and disable delete while scanning, if it appears. |
17 years ago |
|
|
a20bc967ce |
Bug#40127 Multiple table DELETE IGNORE hangs on foreign key constraint violation
on 5.0
The server crashes on an assert in net_end_statement indicating that the
Diagnostics area wasn't set properly during execution.
This happened on a multi table DELETE operation using the IGNORE keyword.
The keyword is suppose to allow for execution to continue on a best effort
despite some non-fatal errors. Instead execution stopped and no client
response was sent which would have led to a protocol error if it hadn't been
for the assert.
This patch corrects this issue by checking for the existence of an IGNORE
option before setting an error state during row-by-row delete iteration.
mysql-test/r/innodb_mysql.result:
* Added test case for bug40127
mysql-test/t/innodb_mysql.test:
* Added test case for bug40127
sql/sql_delete.cc:
* IGNORE option wasn't implemented in multi_delete::send_data
and multi_delete::do_deletes
|
17 years ago |
|
|
51a9116638 |
BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053
When the thread executing a DDL was killed after finished its
execution but before writing the binlog event, the error code in
the binlog event could be set wrongly to ER_SERVER_SHUTDOWN or
ER_QUERY_INTERRUPTED.
This patch fixed the problem by ignoring the kill status when
constructing the event for DDL statements.
This patch also included the following changes in order to
provide the test case.
1) modified mysqltest to support variable for connection command
2) modified mysql-test-run.pl, add new variable MYSQL_SLAVE to
run mysql client against the slave mysqld.
|
17 years ago |
|
|
bd53d21417 |
Bug #36763
TRUNCATE TABLE fails to replicate when stmt-based binlogging is not supported. There were two separate problems with the code, both of which are fixed with this patch: 1. An error was printed by InnoDB for TRUNCATE TABLE in statement mode when the in isolation levels READ COMMITTED and READ UNCOMMITTED since InnoDB does permit statement-based replication for DML statements. However, the TRUNCATE TABLE is not transactional, but is a DDL, and should therefore be allowed to be replicated as a statement. 2. The statement was not logged in mixed mode because of the error above, but the error was not reported to the client. This patch fixes the problem by treating TRUNCATE TABLE a DDL, that is, it is always logged as a statement and not reporting an error from InnoDB for TRUNCATE TABLE. mysql-test/extra/binlog_tests/binlog_truncate.test: Adding new test to check that TRUNCATE TABLE is written correctly to the binary log. mysql-test/extra/rpl_tests/rpl_truncate.test: Removing redundant testing by eliminating settings of BINLOG_FORMAT. mysql-test/extra/rpl_tests/rpl_truncate_helper.test: Replacing slave and master reset code with include file. Removing settings of BINLOG_FORMAT. Replacing printing of table contents to compare master and slave with diff_tables.inc. mysql-test/suite/binlog/t/binlog_truncate_innodb.test: Adding test for testing that TRUNCATE TABLE is logged correctly for InnoDB in all isolation levels. mysql-test/suite/binlog/t/binlog_truncate_myisam.test: Adding test for testing that TRUNCATE TABLE is logged correctly for MyISAM. mysql-test/suite/binlog/t/disabled.def: Disabling binlog_truncate_innodb since it does not work (yet). sql/sql_base.cc: Correcting setting of capabilities flags to make the comparison with 0 later in the code work correctly. sql/sql_delete.cc: Re-organizing code to ensure that TRUNCATE TABLE is logged in statement format and that row format is not used unless there are rows to log (which there are not when delete_all_rows() is called, so this has to be logged as a statement). |
17 years ago |
|
|
23d032c34e |
BUG#35583 mysqlbinlog replay fails with ERROR 1146 when temp tables are used
When using CREATE TEMPORARY TABLE LIKE to create a temporary table,
or using TRUNCATE to delete all rows of a temporary table, they
did not set the tmp_table_used flag, and cause the omission of
"SET @@session.pseudo_thread_id" when dumping binlog with mysqlbinlog,
and cause error when replay the statements.
This patch fixed the problem by setting tmp_table_used in these two
cases. (Done by He Zhenxing 2009-01-12)
mysql-test/suite/binlog/r/binlog_tmp_table.result:
Add test case for BUG#35583
mysql-test/suite/binlog/t/binlog_tmp_table.test:
Add test case for BUG#35583
sql/sql_delete.cc:
set thd->tmp_table_used when truncate temporary table
sql/sql_table.cc:
set thd->tmp_table_used when using create like to create temporary tables
|
17 years ago |
|
|
8dbb9c885d |
Bug#37016: TRUNCATE TABLE removes some rows but not all
The special TRUNCATE TABLE (DDL) transaction wasn't being properly rolled back if a error occurred during row by row deletion. The error can be caused by a foreign key restriction imposed by InnoDB SE and would cause the server to erroneously issue a implicit commit. The solution is to rollback the transaction if a truncation via row by row deletion fails, otherwise commit. All effects of a TRUNCATE ABLE operation are rolled back if a row by row deletion fails. mysql-test/include/commit.inc: Truncate always starts a transaction and commits at the end. The commit at the end increases the count by two, one is the storage engine commit and the other is the binary log. mysql-test/r/commit_1innodb.result: Update test case results. mysql-test/r/innodb_mysql.result: Update test case results. mysql-test/t/innodb_mysql.test: Add test case for Bug#37016 sql/sql_delete.cc: Move truncation using row by row deletion to its own function. If row by row deletion fails, rollback the transaction. Remove the meddling with disabling and enabling of autocommit as TRUNCATE transaction is now explicitly ended (committed or rolled back). |
17 years ago |