Tree:
152f3c5e28
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-31517
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-25039
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-38140
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-38390
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-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-37789-mdev-35046
12.2-MDEV-37936-v2
12.2-MDEV-38258
12.2-MDEV-38280
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-37354
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-38045-qb-tidb
12.3-MDEV-38136-table-elimination
12.3-MDEV-38177-allowed-join-orders
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-37146.bak
MDEV-37316
MDEV-37530
MDEV-37530.bak
MDEV-37566
MDEV-37949
MDEV-38029
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-37157
bb-10.11-MDEV-37541
bb-10.11-MDEV-37680-danblack-pkgtest
bb-10.11-MDEV-37710
bb-10.11-MDEV-38159-pkgtest
bb-10.11-MDEV-38212
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-35562
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-mdev-37972
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-37527
bb-10.6-MDEV-37911
bb-10.6-MDEV-37950
bb-10.6-MDEV-38236
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-35426-hf
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-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-mdev-38164
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-av-MDEV-19123-fixup
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-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-MDEV-38240
bb-12.2-MDEV-38272
bb-12.2-MDEV-38295
bb-12.2-audit-version
bb-12.2-bar-MDEV-10152
bb-12.2-bar-MDEV-10152-old
bb-12.2-bar-MDEV-10152-old00
bb-12.2-bar-MDEV-10152-old01
bb-12.2-bar-MDEV-20022
bb-12.2-bar-MDEV-38109
bb-12.2-bar-MDEV-38161
bb-12.2-bar-MDEV-38162
bb-12.2-bar-MDEV-38249
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-mdev-38040
bb-12.2-mdev38164
bb-12.2-nikita-global-tmp
bb-12.2-release
bb-12.2-serg
bb-12.3-MDEV-10267-ngram
bb-12.3-MDEV-19683-to_date
bb-12.3-MDEV-34391-path
bb-12.3-MDEV-34723
bb-12.3-MDEV-37072
bb-12.3-MDEV-38212
bb-12.3-andrei
bb-12.3-bar-MDEV-33830
bb-12.3-bar-MDEV-37261
bb-12.3-knielsen
bb-12.3-mdev-37261-hf
bb-12.3-mdev-37261-hf-v0
bb-12.3-serg
bb-12.3_MDEV-28212
bb-12.3_MDEV-38212
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-ahi
bb-main-all-builders
bb-main-mdev-27260
bb-main-mdev-27260-any-item-processor
bb-main-mdev-27260-unsquashed
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-9826-option-2
bb-main-mdev-9826-v2
bb-main-mdev-9826-v3
bb-main-mdev-9826-v4
bb-main-mdev-9826-wip
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_binlog_in_engine_12.3
knielsen_binlog_in_engine_semisync
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-32570-preview
main-MDEV-34705-bnestere-mtr-additions
main-MDEV-35248
main-MDEV-36290
main-MDEV-36733
main-MDEV-37487-mysqlbinlog_slave_consistency
main-MDEV-38117
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
preview-12.3-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
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 }
53 Commits (152f3c5e28fe2ae3fd950f15bb3de7064500ced5)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
7c56b08216 |
Added TRASH() to table->record[0] to find out if we access not initialzed data.
- Changed Cached_item_field not copy data for fields with NULL value - In key_copy() and key_restore() don't copy data for fields with NULL value Fixed code to avoid valgrind warnings - Use c_ptr_safe instead of c_ptr() Removed "QQ" from comments (QQ was ment to be used for internal comments that should be removed before pushing) Fixed wrong alias used (from previous patch) sql/event_db_repository.cc: Update testing if event table is valid (to avoid valgrind errors) sql/ha_partition.cc: m_ordered_scan_ongoing was not initialized Reset null bits in record to avoid valgrind errors sql/handler.h: Added flag if storage engine will write row verbatim and the row contains varchar or null fields (in which case we must clear the row to avoid valgrind warnings) sql/item_buff.cc: Changed Cached_item_field not copy data for fields with NULL value (Optimization and avoids valgrind warnings) sql/item_func.cc: c_ptr() -> c_ptr_safe() sql/key.cc: In key_copy() and key_restore() don't copy data for fields with NULL value sql/opt_range.cc: c_ptr() -> c_ptr_safe() sql/sql_base.cc: Added TRASH() to table->record[0] to find out if we access not initialzed data. Initialize null_bytes to: - Get consistent tests - Ensure we don't get valgrind warnings for null fields (as we may only update a couple of bits in a byte) sql/sql_class.cc: Removed "QQ" from comments sql/sql_insert.cc: Initialize row to default values if we are using valgrind and row will be copied verbatim to disk in storage engine. sql/sql_load.cc: QQ -> TODO sql/sql_parse.cc: Removed old not used code marked QQ and withing "#ifdef REMOVED" sql/sql_select.cc: QQ -> TODO Initialize some variables that was used uninitialized Added DBUG_ASSERT() to find out if thd was not properly initialized for sub queries sql/sql_test.cc: Fixed format for printing to DBUG file Fixed wrong alias used (from previous patch) sql/sql_trigger.h: QQ -> TODO sql/table.cc: QQ -> TODO storage/maria/ha_maria.cc: Mark table with HA_RECORD_MUST_BE_CLEAN_ON_WRITE, if row is written verbatim to disk and contains varchar or null fields. storage/maria/ma_open.c: Added flags if table has varchar or null fields storage/maria/maria_def.h: Added flags if table has varchar or null fields storage/myisam/ha_myisam.cc: Mark table with HA_RECORD_MUST_BE_CLEAN_ON_WRITE, if row is written verbatim to disk and contains varchar or null fields. storage/myisam/mi_open.c: Fixed memory overrun bug when using fulltext keys storage/xtradb/row/row0sel.c: Removed initialization of null bits. (not needed anymore) |
15 years ago |
|
|
53e42d9ee4 |
Fix for
bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. Problem: 1. trigger code didn't assume a table name may have a "#mysql50#" prefix, that may lead to a failing ASSERT(). 2. "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" failed for databases with "#mysql50#" prefix if any trigger. 3. mysqlcheck --fix-table-name didn't use UTF8 as a default character set that resulted in (parsing) errors for tables with non-latin symbols in their names and definitions of triggers. Fix: 1. properly handle table/database names with "#mysql50#" prefix. 2. handle --default-character-set mysqlcheck option; if mysqlcheck is launched with --fix-table-name or --fix-db-name set default character set to UTF8 if no --default-character-set option given. Note: if given --fix-table-name or --fix-db-name option, without --default-character-set mysqlcheck option default character set is UTF8. client/mysqlcheck.c: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - check and set default charset if --default-character-set option given. - set default charset to "utf8" if there's --fix-table-name or --fix-db-name and no --default-character-set. mysql-test/r/mysqlcheck.result: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - test result. mysql-test/t/mysqlcheck.test: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - test case. sql/mysql_priv.h: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - check_n_cut_mysql50_prefix() introduced. sql/sql_table.cc: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - tablename_to_filename() code split into 2 parts - check_n_cut_mysql50_prefix() introduced to cut #mysql50# prefixes, used in the trigger code as well. sql/sql_trigger.cc: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - Table_triggers_list::check_n_load() - checking triggers assume a table/database name given may have "#mysql50#" prefix in some cases. - Table_triggers_list::change_table_name_in_triggers() - create .TRG file in new database directory and delete it in old one, as they may differ in case of "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" - Table_triggers_list::change_table_name_in_trignames() - remove stale .TRN files in #mysql50#dbname directory in case of database upgrade - Table_triggers_list::change_table_name() - allow changing trigger's database in case of its upgrading sql/sql_trigger.h: Fix for bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers and #41385: Crash when attempting to repair a #mysql50# upgraded table with triggers. - new old_db_name parameter added in Table_triggers_list::change_table_name_in_trignames() and Table_triggers_list::change_table_name_in_triggers() |
17 years ago |
|
|
94e4171213 |
Doxygenize comments.
|
18 years ago |
|
|
9dc3088f9e |
A fix and a test case for Bug#26141 mixing table types in trigger
causes full table lock on innodb table. Also fixes Bug#28502 Triggers that update another innodb table will block on X lock unnecessarily (duplciate). Code review fixes. Both bugs' synopses are misleading: InnoDB table is not X locked. The statements, however, cannot proceed concurrently, but this happens due to lock conflicts for tables used in triggers, not for the InnoDB table. If a user had an InnoDB table, and two triggers, AFTER UPDATE and AFTER INSERT, competing for different resources (e.g. two distinct MyISAM tables), then these two triggers would not be able to execute concurrently. Moreover, INSERTS/UPDATES of the InnoDB table would not be able to run concurrently. The problem had other side-effects (see respective bug reports). This behavior was a consequence of a shortcoming of the pre-locking algorithm, which would not distinguish between different DML operations (e.g. INSERT and DELETE) and pre-lock all the tables that are used by any trigger defined on the subject table. The idea of the fix is to extend the pre-locking algorithm to keep track, for each table, what DML operation it is used for and not load triggers that are known to never be fired. mysql-test/r/trigger-trans.result: Update results (Bug#26141) mysql-test/r/trigger.result: Update results (Bug#28502) mysql-test/t/trigger-trans.test: Add a test case for Bug#26141 mixing table types in trigger causes full table lock on innodb table. mysql-test/t/trigger.test: Add a test case for Bug#28502 Triggers that update another innodb table will block echo on X lock unnecessarily. Add more test coverage for triggers. sql/item.h: enum trg_event_type is needed in table.h sql/sp.cc: Take into account table_list->trg_event_map when determining what tables to pre-lock. After this change, if we attempt to fire a trigger for which we had not pre-locked any tables, error 'Table was not locked with LOCK TABLES' will be printed. This, however, should never happen, provided the pre-locking algorithm has no programming bugs. Previously a trigger key in the sroutines hash was based on the name of the table the trigger belongs to. This was possible because we would always add to the pre-locking list all the triggers defined for a table when handling this table. Now the key is based on the name of the trigger, owing to the fact that a trigger name must be unique in the database it belongs to. sql/sp_head.cc: Generate sroutines hash key in init_spname(). This is a convenient place since there we have all the necessary information and can avoid an extra alloc. Maintain and merge trg_event_map when adding and merging elements of the pre-locking list. sql/sp_head.h: Add ,m_sroutines_key member, used when inserting the sphead for a trigger into the cache of routines used by a statement. Previously the key was based on the table name the trigger belonged to, since for a given table we would add to the sroutines list all the triggers defined on it. sql/sql_lex.cc: Introduce a new lex step: set_trg_event_type_for_tables(). It is called when we have finished parsing but before opening and locking tables. Now this step is used to evaluate for each TABLE_LIST instance which INSERT/UPDATE/DELETE operation, if any, it is used in. In future this method could be extended to aggregate other information that is hard to aggregate during parsing. sql/sql_lex.h: Add declaration for set_trg_event_type_for_tables(). sql/sql_parse.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). Remove tabs. sql/sql_prepare.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). sql/sql_trigger.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). sql/sql_trigger.h: Remove an obsolete member. sql/sql_view.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). sql/sql_yacc.yy: Move assignment of sp_head::m_type before calling sp_head::init_spname(), one is now used inside another. sql/table.cc: Implement TABLE_LIST::set_trg_event_map() - a method that calculates wh triggers may be fired on this table when executing a statement. sql/table.h: Add missing declarations. Move declaration of trg_event_type from item.h (it will be needed for trg_event_map bitmap when we start using Bitmap template instead of uint8). |
19 years ago |
|
|
405f82d390 |
Patch for the following bugs:
- BUG#11986: Stored routines and triggers can fail if the code
has a non-ascii symbol
- BUG#16291: mysqldump corrupts string-constants with non-ascii-chars
- BUG#19443: INFORMATION_SCHEMA does not support charsets properly
- BUG#21249: Character set of SP-var can be ignored
- BUG#25212: Character set of string constant is ignored (stored routines)
- BUG#25221: Character set of string constant is ignored (triggers)
There were a few general problems that caused these bugs:
1. Character set information of the original (definition) query for views,
triggers, stored routines and events was lost.
2. mysqldump output query in client character set, which can be
inappropriate to encode definition-query.
3. INFORMATION_SCHEMA used strings with mixed encodings to display object
definition;
1. No query-definition-character set.
In order to compile query into execution code, some extra data (such as
environment variables or the database character set) is used. The problem
here was that this context was not preserved. So, on the next load it can
differ from the original one, thus the result will be different.
The context contains the following data:
- client character set;
- connection collation (character set and collation);
- collation of the owner database;
The fix is to store this context and use it each time we parse (compile)
and execute the object (stored routine, trigger, ...).
2. Wrong mysqldump-output.
The original query can contain several encodings (by means of character set
introducers). The problem here was that we tried to convert original query
to the mysqldump-client character set.
Moreover, we stored queries in different character sets for different
objects (views, for one, used UTF8, triggers used original character set).
The solution is
- to store definition queries in the original character set;
- to change SHOW CREATE statement to output definition query in the
binary character set (i.e. without any conversion);
- introduce SHOW CREATE TRIGGER statement;
- to dump special statements to switch the context to the original one
before dumping and restore it afterwards.
Note, in order to preserve the database collation at the creation time,
additional ALTER DATABASE might be used (to temporary switch the database
collation back to the original value). In this case, ALTER DATABASE
privilege will be required. This is a backward-incompatible change.
3. INFORMATION_SCHEMA showed non-UTF8 strings
The fix is to generate UTF8-query during the parsing, store it in the object
and show it in the INFORMATION_SCHEMA.
Basically, the idea is to create a copy of the original query convert it to
UTF8. Character set introducers are removed and all text literals are
converted to UTF8.
This UTF8 query is intended to provide user-readable output. It must not be
used to recreate the object. Specialized SHOW CREATE statements should be
used for this.
The reason for this limitation is the following: the original query can
contain symbols from several character sets (by means of character set
introducers).
Example:
- original query:
CREATE VIEW v1 AS SELECT _cp1251 'Hello' AS c1;
- UTF8 query (for INFORMATION_SCHEMA):
CREATE VIEW v1 AS SELECT 'Hello' AS c1;
client/mysqldump.c:
Set original character set and collation before dumping definition query.
include/my_sys.h:
Move out-parameter to the end of list.
mysql-test/lib/mtr_report.pl:
Ignore server-warnings during the test case.
mysql-test/r/create.result:
Update result file.
mysql-test/r/ctype_cp932_binlog_stm.result:
Update result file.
mysql-test/r/events.result:
Update result file.
mysql-test/r/events_bugs.result:
Update result file.
mysql-test/r/events_grant.result:
Update result file.
mysql-test/r/func_in.result:
Update result file.
mysql-test/r/gis.result:
Update result file.
mysql-test/r/grant.result:
Update result file.
mysql-test/r/information_schema.result:
Update result file.
mysql-test/r/information_schema_db.result:
Update result file.
mysql-test/r/lowercase_view.result:
Update result file.
mysql-test/r/mysqldump.result:
Update result file.
mysql-test/r/ndb_sp.result:
Update result file.
mysql-test/r/ps.result:
Update result file.
mysql-test/r/rpl_replicate_do.result:
Update result file.
mysql-test/r/rpl_sp.result:
Update result file.
mysql-test/r/rpl_trigger.result:
Update result file.
mysql-test/r/rpl_view.result:
Update result file.
mysql-test/r/show_check.result:
Update result file.
mysql-test/r/skip_grants.result:
Update result file.
mysql-test/r/sp-destruct.result:
Update result file.
mysql-test/r/sp-error.result:
Update result file.
mysql-test/r/sp-security.result:
Update result file.
mysql-test/r/sp.result:
Update result file.
mysql-test/r/sql_mode.result:
Update result file.
mysql-test/r/system_mysql_db.result:
Update result file.
mysql-test/r/temp_table.result:
Update result file.
mysql-test/r/trigger-compat.result:
Update result file.
mysql-test/r/trigger-grant.result:
Update result file.
mysql-test/r/trigger.result:
Update result file.
mysql-test/r/view.result:
Update result file.
mysql-test/r/view_grant.result:
Update result file.
mysql-test/t/events.test:
Update test case (new columns added).
mysql-test/t/information_schema.test:
Update test case (new columns added).
mysql-test/t/show_check.test:
Test case for SHOW CREATE TRIGGER in prepared statements and
stored routines.
mysql-test/t/sp-destruct.test:
Update test case (new columns added).
mysql-test/t/sp.test:
Update test case (new columns added).
mysql-test/t/view.test:
Update test.
mysys/charset.c:
Move out-parameter to the end of list.
scripts/mysql_system_tables.sql:
Add new columns to mysql.proc and mysql.event.
scripts/mysql_system_tables_fix.sql:
Add new columns to mysql.proc and mysql.event.
sql/event_data_objects.cc:
Support new attributes for events.
sql/event_data_objects.h:
Support new attributes for events.
sql/event_db_repository.cc:
Support new attributes for events.
sql/event_db_repository.h:
Support new attributes for events.
sql/events.cc:
Add new columns to SHOW CREATE event resultset.
sql/mysql_priv.h:
1. Introduce Object_creation_ctx;
2. Introduce SHOW CREATE TRIGGER;
3. Introduce auxilary functions.
sql/sp.cc:
Add support for new store routines attributes.
sql/sp_head.cc:
Add support for new store routines attributes.
sql/sp_head.h:
Add support for new store routines attributes.
sql/sql_lex.cc:
Generate UTF8-body on parsing/lexing.
sql/sql_lex.h:
1. Generate UTF8-body on parsing/lexing.
2. Introduce SHOW CREATE TRIGGER.
sql/sql_parse.cc:
Introduce SHOW CREATE TRIGGER.
sql/sql_partition.cc:
Update parse_sql().
sql/sql_prepare.cc:
Update parse_sql().
sql/sql_show.cc:
Support new attributes for views
sql/sql_trigger.cc:
Support new attributes for views
sql/sql_trigger.h:
Support new attributes for views
sql/sql_view.cc:
Support new attributes for views
sql/sql_yacc.yy:
1. Add SHOW CREATE TRIGGER statement.
2. Generate UTF8-body for views, stored routines, triggers and events.
sql/table.cc:
Introduce Object_creation_ctx.
sql/table.h:
Introduce Object_creation_ctx.
sql/share/errmsg.txt:
Add new errors.
mysql-test/include/ddl_i18n.check_events.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_sp.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_triggers.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_views.inc:
Aux file for test suite.
mysql-test/include/have_cp1251.inc:
Aux file for test suite.
mysql-test/include/have_cp866.inc:
Aux file for test suite.
mysql-test/include/have_koi8r.inc:
Aux file for test suite.
mysql-test/include/have_utf8.inc:
Aux file for test suite.
mysql-test/r/ddl_i18n_koi8r.result:
Result file.
mysql-test/r/ddl_i18n_utf8.result:
Result file.
mysql-test/r/have_cp1251.require:
Aux file for test suite.
mysql-test/r/have_cp866.require:
Aux file for test suite.
mysql-test/r/have_koi8r.require:
Aux file for test suite.
mysql-test/r/have_utf8.require:
Aux file for test suite.
mysql-test/t/ddl_i18n_koi8r.test:
Complete koi8r test case for the CS patch.
mysql-test/t/ddl_i18n_utf8.test:
Complete utf8 test case for the CS patch.
|
19 years ago |
|
|
83de46bcf7 |
This the 4-th patch in scope of CS patch (BUG#11986).
The patch contains the following changes:
- Introduce auxilary functions to convenient work with character sets:
- resolve_charset();
- resolve_collation();
- get_default_db_collation();
- Introduce lex_string_set();
- Refactor Table_trigger_list::process_triggers() &
sp_head::execute_trigger() to be consistent with other code;
- Move reusable code from add_table_for_trigger() into
build_trn_path(), check_trn_exists() and load_table_name_for_trigger()
to be used in the following patch.
- Rename triggers_file_ext and trigname_file_ext into TRN_EXT and
TRG_EXT respectively.
include/my_sys.h:
Introduced auxilary functions (to be used in the following patch).
mysys/charset.c:
Introduced auxilary functions (to be used in the following patch).
sql/handler.cc:
Rename triggers_file_ext -> TRG_EXT;
Rename trigname_file_ext -> TRN_EXT.
sql/mysql_priv.h:
1. Fix typo;
2. Introduce auxilary functions (set_lex_string() will be used
in the following patch);
3. Rename triggers_file_ext -> TRG_EXT;
Rename trigname_file_ext -> TRN_EXT.
sql/sp_head.cc:
Make sp_head::execute_trigger() consistent with
sp_head::execute_function() and sp_head::execute_procedure().
sql/sp_head.h:
Make sp_head::execute_trigger() consistent with
sp_head::execute_function() and sp_head::execute_procedure().
sql/sql_db.cc:
1. Introduce auxilary function.
2. Polishing.
sql/sql_trigger.cc:
1. Move common code from add_table_for_trigger() into
- build_trn_path();
- check_trn_exists();
- load_table_name_for_trigger();
2. Polishing.
sql/sql_trigger.h:
1. Move common code from add_table_for_trigger() into
- build_trn_path();
- check_trn_exists();
- load_table_name_for_trigger();
2. Polishing.
|
19 years ago |
|
|
4c0f3c50f8 |
Fixed compilation error on Windows
|
19 years ago |
|
|
2efc0f51cf |
Bug #26242 UPDATE with subquery and triggers failing with cluster tables
In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced subject table didn't see the results of operation which caused invocation of those triggers. In other words AFTER trigger invoked as result of update (or deletion) of particular row saw version of this row before update (or deletion). The problem occured because NDB handler in those cases postponed actual update/delete operations to be able to perform them later as one batch. This fix solves the problem by disabling this optimization for particular operation if subject table has AFTER trigger for this operation defined. To achieve this we introduce two new flags for handler::extra() method: HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH. These are called if there exists AFTER DELETE/UPDATE triggers during a statement that potentially can generate calls to delete_row()/update_row(). This includes multi_delete/multi_update statements as well as insert statements that do delete/update as part of an ON DUPLICATE statement. include/my_base.h: Added HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible. mysql-test/r/ndb_trigger.result: Bug #26242 UPDATE with subquery and triggers failing with cluster tables --- Added new test cases mysql-test/t/ndb_trigger.test: Bug #26242 UPDATE with subquery and triggers failing with cluster tables --- Added new test cases sql/ha_ndbcluster.cc: Bug #26242 UPDATE with subquery and triggers failing with cluster tables: Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible sql/ha_ndbcluster.h: Bug #26242 UPDATE with subquery and triggers failing with cluster tables: Added member variables for handling of HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible sql/mysql_priv.h: Added new method prepare_triggers_for_insert_stmt to check if batching of delete/update must be disallowed. sql/sql_delete.cc: Use HA_EXTRA_DELETE_CANNOT_BATCH to inform handler when batching of delete is not possible sql/sql_insert.cc: Added method prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed. Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible sql/sql_load.cc: Call prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed and mark fields used by triggers for the insert statement. sql/sql_trigger.h: Added has_triggers to support what particular triggers exist on a table. sql/sql_update.cc: Use HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of update is not possible |
19 years ago |
|
|
7d883c0def |
Bug#24478 DROP TRIGGER is not caught by replicate-*-table filters
Problem: DROP TRIGGER was not properly handled in combination with slave filters, which made replication stop Fix: loading table name before checking slave filters when dropping a trigger. mysql-test/r/rpl_replicate_do.result: Adding test case mysql-test/t/rpl_replicate_do.test: Adding test case sql/sql_parse.cc: Loading table name when dropping a trigger before checking slave filtering rules. sql/sql_trigger.cc: Making add_table_for_trigger() public sql/sql_trigger.h: Making add_table_for_trigger() public |
19 years ago |
|
|
6b0853a398 |
Many files:
Changed header to GPL version 2 only BUILD/Makefile.am: Changed header to GPL version 2 only Docs/Makefile.am: Changed header to GPL version 2 only Makefile.am: Changed header to GPL version 2 only SSL/Makefile.am: Changed header to GPL version 2 only bdb/Makefile.in: Changed header to GPL version 2 only client/Makefile.am: Changed header to GPL version 2 only client/client_priv.h: Changed header to GPL version 2 only client/completion_hash.cc: Changed header to GPL version 2 only client/completion_hash.h: Changed header to GPL version 2 only client/get_password.c: Changed header to GPL version 2 only client/my_readline.h: Changed header to GPL version 2 only client/mysql.cc: Changed header to GPL version 2 only client/mysql_upgrade.c: Changed header to GPL version 2 only client/mysqladmin.cc: Changed header to GPL version 2 only client/mysqlbinlog.cc: Changed header to GPL version 2 only client/mysqlcheck.c: Changed header to GPL version 2 only client/mysqldump.c: Changed header to GPL version 2 only client/mysqlimport.c: Changed header to GPL version 2 only client/mysqlmanager-pwgen.c: Changed header to GPL version 2 only client/mysqlmanagerc.c: Changed header to GPL version 2 only client/mysqlshow.c: Changed header to GPL version 2 only client/mysqltest.c: Changed header to GPL version 2 only client/readline.cc: Changed header to GPL version 2 only client/sql_string.cc: Changed header to GPL version 2 only client/sql_string.h: Changed header to GPL version 2 only cmd-line-utils/Makefile.am: Changed header to GPL version 2 only dbug/Makefile.am: Changed header to GPL version 2 only extra/Makefile.am: Changed header to GPL version 2 only extra/charset2html.c: Changed header to GPL version 2 only extra/comp_err.c: Changed header to GPL version 2 only extra/innochecksum.c: Changed header to GPL version 2 only extra/my_print_defaults.c: Changed header to GPL version 2 only extra/mysql_waitpid.c: Changed header to GPL version 2 only extra/perror.c: Changed header to GPL version 2 only extra/replace.c: Changed header to GPL version 2 only extra/resolve_stack_dump.c: Changed header to GPL version 2 only extra/resolveip.c: Changed header to GPL version 2 only heap/Makefile.am: Changed header to GPL version 2 only heap/_check.c: Changed header to GPL version 2 only heap/_rectest.c: Changed header to GPL version 2 only heap/heapdef.h: Changed header to GPL version 2 only heap/hp_block.c: Changed header to GPL version 2 only heap/hp_clear.c: Changed header to GPL version 2 only heap/hp_close.c: Changed header to GPL version 2 only heap/hp_create.c: Changed header to GPL version 2 only heap/hp_delete.c: Changed header to GPL version 2 only heap/hp_extra.c: Changed header to GPL version 2 only heap/hp_hash.c: Changed header to GPL version 2 only heap/hp_info.c: Changed header to GPL version 2 only heap/hp_open.c: Changed header to GPL version 2 only heap/hp_panic.c: Changed header to GPL version 2 only heap/hp_rename.c: Changed header to GPL version 2 only heap/hp_rfirst.c: Changed header to GPL version 2 only heap/hp_rkey.c: Changed header to GPL version 2 only heap/hp_rlast.c: Changed header to GPL version 2 only heap/hp_rnext.c: Changed header to GPL version 2 only heap/hp_rprev.c: Changed header to GPL version 2 only heap/hp_rrnd.c: Changed header to GPL version 2 only heap/hp_rsame.c: Changed header to GPL version 2 only heap/hp_scan.c: Changed header to GPL version 2 only heap/hp_static.c: Changed header to GPL version 2 only heap/hp_test1.c: Changed header to GPL version 2 only heap/hp_test2.c: Changed header to GPL version 2 only heap/hp_update.c: Changed header to GPL version 2 only heap/hp_write.c: Changed header to GPL version 2 only include/Makefile.am: Changed header to GPL version 2 only include/base64.h: Changed header to GPL version 2 only include/config-netware.h: Changed header to GPL version 2 only include/config-os2.h: Changed header to GPL version 2 only include/config-win.h: Changed header to GPL version 2 only include/decimal.h: Changed header to GPL version 2 only include/errmsg.h: Changed header to GPL version 2 only include/ft_global.h: Changed header to GPL version 2 only include/hash.h: Changed header to GPL version 2 only include/heap.h: Changed header to GPL version 2 only include/keycache.h: Changed header to GPL version 2 only include/m_ctype.h: Changed header to GPL version 2 only include/m_string.h: Changed header to GPL version 2 only include/md5.h: Changed header to GPL version 2 only include/my_aes.h: Changed header to GPL version 2 only include/my_alarm.h: Changed header to GPL version 2 only include/my_alloc.h: Changed header to GPL version 2 only include/my_base.h: Changed header to GPL version 2 only include/my_bitmap.h: Changed header to GPL version 2 only include/my_dbug.h: Changed header to GPL version 2 only include/my_dir.h: Changed header to GPL version 2 only include/my_getopt.h: Changed header to GPL version 2 only include/my_global.h: Changed header to GPL version 2 only include/my_handler.h: Changed header to GPL version 2 only include/my_libwrap.h: Changed header to GPL version 2 only include/my_list.h: Changed header to GPL version 2 only include/my_net.h: Changed header to GPL version 2 only include/my_no_pthread.h: Changed header to GPL version 2 only include/my_nosys.h: Changed header to GPL version 2 only include/my_pthread.h: Changed header to GPL version 2 only include/my_sys.h: Changed header to GPL version 2 only include/my_time.h: Changed header to GPL version 2 only include/my_tree.h: Changed header to GPL version 2 only include/my_user.h: Changed header to GPL version 2 only include/my_xml.h: Changed header to GPL version 2 only include/myisam.h: Changed header to GPL version 2 only include/myisammrg.h: Changed header to GPL version 2 only include/myisampack.h: Changed header to GPL version 2 only include/mysql.h: Changed header to GPL version 2 only include/mysql_com.h: Changed header to GPL version 2 only include/mysql_embed.h: Changed header to GPL version 2 only include/mysql_time.h: Changed header to GPL version 2 only include/mysys_err.h: Changed header to GPL version 2 only include/queues.h: Changed header to GPL version 2 only include/raid.h: Changed header to GPL version 2 only include/rijndael.h: Changed header to GPL version 2 only include/sha1.h: Changed header to GPL version 2 only include/sql_common.h: Changed header to GPL version 2 only include/sslopt-case.h: Changed header to GPL version 2 only include/sslopt-longopts.h: Changed header to GPL version 2 only include/sslopt-vars.h: Changed header to GPL version 2 only include/t_ctype.h: Changed header to GPL version 2 only include/thr_alarm.h: Changed header to GPL version 2 only include/thr_lock.h: Changed header to GPL version 2 only include/typelib.h: Changed header to GPL version 2 only include/violite.h: Changed header to GPL version 2 only innobase/Makefile.am: Changed header to GPL version 2 only innobase/btr/Makefile.am: Changed header to GPL version 2 only innobase/buf/Makefile.am: Changed header to GPL version 2 only innobase/data/Makefile.am: Changed header to GPL version 2 only innobase/dict/Makefile.am: Changed header to GPL version 2 only innobase/dyn/Makefile.am: Changed header to GPL version 2 only innobase/eval/Makefile.am: Changed header to GPL version 2 only innobase/fil/Makefile.am: Changed header to GPL version 2 only innobase/fsp/Makefile.am: Changed header to GPL version 2 only innobase/fut/Makefile.am: Changed header to GPL version 2 only innobase/ha/Makefile.am: Changed header to GPL version 2 only innobase/ibuf/Makefile.am: Changed header to GPL version 2 only innobase/include/Makefile.am: Changed header to GPL version 2 only innobase/lock/Makefile.am: Changed header to GPL version 2 only innobase/log/Makefile.am: Changed header to GPL version 2 only innobase/mach/Makefile.am: Changed header to GPL version 2 only innobase/mem/Makefile.am: Changed header to GPL version 2 only innobase/mtr/Makefile.am: Changed header to GPL version 2 only innobase/os/Makefile.am: Changed header to GPL version 2 only innobase/page/Makefile.am: Changed header to GPL version 2 only innobase/pars/Makefile.am: Changed header to GPL version 2 only innobase/que/Makefile.am: Changed header to GPL version 2 only innobase/read/Makefile.am: Changed header to GPL version 2 only innobase/rem/Makefile.am: Changed header to GPL version 2 only innobase/row/Makefile.am: Changed header to GPL version 2 only innobase/srv/Makefile.am: Changed header to GPL version 2 only innobase/sync/Makefile.am: Changed header to GPL version 2 only innobase/thr/Makefile.am: Changed header to GPL version 2 only innobase/trx/Makefile.am: Changed header to GPL version 2 only innobase/usr/Makefile.am: Changed header to GPL version 2 only innobase/ut/Makefile.am: Changed header to GPL version 2 only libmysql/client_settings.h: Changed header to GPL version 2 only libmysqld/Makefile.am: Changed header to GPL version 2 only libmysqld/emb_qcache.cc: Changed header to GPL version 2 only libmysqld/emb_qcache.h: Changed header to GPL version 2 only libmysqld/embedded_priv.h: Changed header to GPL version 2 only libmysqld/examples/Makefile.am: Changed header to GPL version 2 only libmysqld/libmysqld.c: Changed header to GPL version 2 only man/Makefile.am: Changed header to GPL version 2 only myisam/Makefile.am: Changed header to GPL version 2 only myisam/ft_boolean_search.c: Changed header to GPL version 2 only myisam/ft_eval.c: Changed header to GPL version 2 only myisam/ft_eval.h: Changed header to GPL version 2 only myisam/ft_nlq_search.c: Changed header to GPL version 2 only myisam/ft_parser.c: Changed header to GPL version 2 only myisam/ft_static.c: Changed header to GPL version 2 only myisam/ft_stem.c: Changed header to GPL version 2 only myisam/ft_stopwords.c: Changed header to GPL version 2 only myisam/ft_test1.c: Changed header to GPL version 2 only myisam/ft_test1.h: Changed header to GPL version 2 only myisam/ft_update.c: Changed header to GPL version 2 only myisam/ftdefs.h: Changed header to GPL version 2 only myisam/fulltext.h: Changed header to GPL version 2 only myisam/mi_cache.c: Changed header to GPL version 2 only myisam/mi_changed.c: Changed header to GPL version 2 only myisam/mi_check.c: Changed header to GPL version 2 only myisam/mi_checksum.c: Changed header to GPL version 2 only myisam/mi_close.c: Changed header to GPL version 2 only myisam/mi_create.c: Changed header to GPL version 2 only myisam/mi_dbug.c: Changed header to GPL version 2 only myisam/mi_delete.c: Changed header to GPL version 2 only myisam/mi_delete_all.c: Changed header to GPL version 2 only myisam/mi_delete_table.c: Changed header to GPL version 2 only myisam/mi_dynrec.c: Changed header to GPL version 2 only myisam/mi_extra.c: Changed header to GPL version 2 only myisam/mi_info.c: Changed header to GPL version 2 only myisam/mi_key.c: Changed header to GPL version 2 only myisam/mi_keycache.c: Changed header to GPL version 2 only myisam/mi_locking.c: Changed header to GPL version 2 only myisam/mi_log.c: Changed header to GPL version 2 only myisam/mi_open.c: Changed header to GPL version 2 only myisam/mi_packrec.c: Changed header to GPL version 2 only myisam/mi_page.c: Changed header to GPL version 2 only myisam/mi_panic.c: Changed header to GPL version 2 only myisam/mi_preload.c: Changed header to GPL version 2 only myisam/mi_range.c: Changed header to GPL version 2 only myisam/mi_rename.c: Changed header to GPL version 2 only myisam/mi_rfirst.c: Changed header to GPL version 2 only myisam/mi_rkey.c: Changed header to GPL version 2 only myisam/mi_rlast.c: Changed header to GPL version 2 only myisam/mi_rnext.c: Changed header to GPL version 2 only myisam/mi_rnext_same.c: Changed header to GPL version 2 only myisam/mi_rprev.c: Changed header to GPL version 2 only myisam/mi_rrnd.c: Changed header to GPL version 2 only myisam/mi_rsame.c: Changed header to GPL version 2 only myisam/mi_rsamepos.c: Changed header to GPL version 2 only myisam/mi_scan.c: Changed header to GPL version 2 only myisam/mi_search.c: Changed header to GPL version 2 only myisam/mi_static.c: Changed header to GPL version 2 only myisam/mi_statrec.c: Changed header to GPL version 2 only myisam/mi_test1.c: Changed header to GPL version 2 only myisam/mi_test2.c: Changed header to GPL version 2 only myisam/mi_test3.c: Changed header to GPL version 2 only myisam/mi_unique.c: Changed header to GPL version 2 only myisam/mi_update.c: Changed header to GPL version 2 only myisam/mi_write.c: Changed header to GPL version 2 only myisam/myisam_ftdump.c: Changed header to GPL version 2 only myisam/myisamchk.c: Changed header to GPL version 2 only myisam/myisamdef.h: Changed header to GPL version 2 only myisam/myisamlog.c: Changed header to GPL version 2 only myisam/myisampack.c: Changed header to GPL version 2 only myisam/rt_index.c: Changed header to GPL version 2 only myisam/rt_index.h: Changed header to GPL version 2 only myisam/rt_key.c: Changed header to GPL version 2 only myisam/rt_key.h: Changed header to GPL version 2 only myisam/rt_mbr.c: Changed header to GPL version 2 only myisam/rt_mbr.h: Changed header to GPL version 2 only myisam/rt_split.c: Changed header to GPL version 2 only myisam/rt_test.c: Changed header to GPL version 2 only myisam/sort.c: Changed header to GPL version 2 only myisam/sp_defs.h: Changed header to GPL version 2 only myisam/sp_key.c: Changed header to GPL version 2 only myisam/sp_test.c: Changed header to GPL version 2 only myisammrg/Makefile.am: Changed header to GPL version 2 only myisammrg/myrg_close.c: Changed header to GPL version 2 only myisammrg/myrg_create.c: Changed header to GPL version 2 only myisammrg/myrg_def.h: Changed header to GPL version 2 only myisammrg/myrg_delete.c: Changed header to GPL version 2 only myisammrg/myrg_extra.c: Changed header to GPL version 2 only myisammrg/myrg_info.c: Changed header to GPL version 2 only myisammrg/myrg_locking.c: Changed header to GPL version 2 only myisammrg/myrg_open.c: Changed header to GPL version 2 only myisammrg/myrg_panic.c: Changed header to GPL version 2 only myisammrg/myrg_queue.c: Changed header to GPL version 2 only myisammrg/myrg_range.c: Changed header to GPL version 2 only myisammrg/myrg_rfirst.c: Changed header to GPL version 2 only myisammrg/myrg_rkey.c: Changed header to GPL version 2 only myisammrg/myrg_rlast.c: Changed header to GPL version 2 only myisammrg/myrg_rnext.c: Changed header to GPL version 2 only myisammrg/myrg_rnext_same.c: Changed header to GPL version 2 only myisammrg/myrg_rprev.c: Changed header to GPL version 2 only myisammrg/myrg_rrnd.c: Changed header to GPL version 2 only myisammrg/myrg_rsame.c: Changed header to GPL version 2 only myisammrg/myrg_static.c: Changed header to GPL version 2 only myisammrg/myrg_update.c: Changed header to GPL version 2 only myisammrg/myrg_write.c: Changed header to GPL version 2 only mysql-test/Makefile.am: Changed header to GPL version 2 only mysys/Makefile.am: Changed header to GPL version 2 only mysys/array.c: Changed header to GPL version 2 only mysys/base64.c: Changed header to GPL version 2 only mysys/charset-def.c: Changed header to GPL version 2 only mysys/charset.c: Changed header to GPL version 2 only mysys/checksum.c: Changed header to GPL version 2 only mysys/default.c: Changed header to GPL version 2 only mysys/default_modify.c: Changed header to GPL version 2 only mysys/errors.c: Changed header to GPL version 2 only mysys/hash.c: Changed header to GPL version 2 only mysys/list.c: Changed header to GPL version 2 only mysys/make-conf.c: Changed header to GPL version 2 only mysys/md5.c: Changed header to GPL version 2 only mysys/mf_brkhant.c: Changed header to GPL version 2 only mysys/mf_cache.c: Changed header to GPL version 2 only mysys/mf_dirname.c: Changed header to GPL version 2 only mysys/mf_fn_ext.c: Changed header to GPL version 2 only mysys/mf_format.c: Changed header to GPL version 2 only mysys/mf_getdate.c: Changed header to GPL version 2 only mysys/mf_iocache.c: Changed header to GPL version 2 only mysys/mf_iocache2.c: Changed header to GPL version 2 only mysys/mf_keycache.c: Changed header to GPL version 2 only mysys/mf_keycaches.c: Changed header to GPL version 2 only mysys/mf_loadpath.c: Changed header to GPL version 2 only mysys/mf_pack.c: Changed header to GPL version 2 only mysys/mf_path.c: Changed header to GPL version 2 only mysys/mf_qsort.c: Changed header to GPL version 2 only mysys/mf_qsort2.c: Changed header to GPL version 2 only mysys/mf_radix.c: Changed header to GPL version 2 only mysys/mf_same.c: Changed header to GPL version 2 only mysys/mf_sort.c: Changed header to GPL version 2 only mysys/mf_soundex.c: Changed header to GPL version 2 only mysys/mf_strip.c: Changed header to GPL version 2 only mysys/mf_tempdir.c: Changed header to GPL version 2 only mysys/mf_tempfile.c: Changed header to GPL version 2 only mysys/mf_unixpath.c: Changed header to GPL version 2 only mysys/mf_util.c: Changed header to GPL version 2 only mysys/mf_wcomp.c: Changed header to GPL version 2 only mysys/mf_wfile.c: Changed header to GPL version 2 only mysys/mulalloc.c: Changed header to GPL version 2 only mysys/my_access.c: Changed header to GPL version 2 only mysys/my_aes.c: Changed header to GPL version 2 only mysys/my_alarm.c: Changed header to GPL version 2 only mysys/my_alloc.c: Changed header to GPL version 2 only mysys/my_append.c: Changed header to GPL version 2 only mysys/my_bit.c: Changed header to GPL version 2 only mysys/my_bitmap.c: Changed header to GPL version 2 only mysys/my_chsize.c: Changed header to GPL version 2 only mysys/my_clock.c: Changed header to GPL version 2 only mysys/my_compress.c: Changed header to GPL version 2 only mysys/my_conio.c: Changed header to GPL version 2 only mysys/my_copy.c: Changed header to GPL version 2 only mysys/my_crc32.c: Changed header to GPL version 2 only mysys/my_create.c: Changed header to GPL version 2 only mysys/my_delete.c: Changed header to GPL version 2 only mysys/my_div.c: Changed header to GPL version 2 only mysys/my_dup.c: Changed header to GPL version 2 only mysys/my_error.c: Changed header to GPL version 2 only mysys/my_file.c: Changed header to GPL version 2 only mysys/my_fopen.c: Changed header to GPL version 2 only mysys/my_fstream.c: Changed header to GPL version 2 only mysys/my_gethostbyname.c: Changed header to GPL version 2 only mysys/my_gethwaddr.c: Changed header to GPL version 2 only mysys/my_getopt.c: Changed header to GPL version 2 only mysys/my_getpagesize.c: Changed header to GPL version 2 only mysys/my_getsystime.c: Changed header to GPL version 2 only mysys/my_getwd.c: Changed header to GPL version 2 only mysys/my_handler.c: Changed header to GPL version 2 only mysys/my_init.c: Changed header to GPL version 2 only mysys/my_largepage.c: Changed header to GPL version 2 only mysys/my_lib.c: Changed header to GPL version 2 only mysys/my_libwrap.c: Changed header to GPL version 2 only mysys/my_lock.c: Changed header to GPL version 2 only mysys/my_lockmem.c: Changed header to GPL version 2 only mysys/my_lread.c: Changed header to GPL version 2 only mysys/my_lwrite.c: Changed header to GPL version 2 only mysys/my_malloc.c: Changed header to GPL version 2 only mysys/my_messnc.c: Changed header to GPL version 2 only mysys/my_mkdir.c: Changed header to GPL version 2 only mysys/my_mmap.c: Changed header to GPL version 2 only mysys/my_net.c: Changed header to GPL version 2 only mysys/my_netware.c: Changed header to GPL version 2 only mysys/my_new.cc: Changed header to GPL version 2 only mysys/my_once.c: Changed header to GPL version 2 only mysys/my_open.c: Changed header to GPL version 2 only mysys/my_os2cond.c: Changed header to GPL version 2 only mysys/my_os2dirsrch.c: Changed header to GPL version 2 only mysys/my_os2dirsrch.h: Changed header to GPL version 2 only mysys/my_os2dlfcn.c: Changed header to GPL version 2 only mysys/my_os2dlfcn.h0: Changed header to GPL version 2 only mysys/my_os2file64.c: Changed header to GPL version 2 only mysys/my_os2thread.c: Changed header to GPL version 2 only mysys/my_os2tls.c: Changed header to GPL version 2 only mysys/my_port.c: Changed header to GPL version 2 only mysys/my_pread.c: Changed header to GPL version 2 only mysys/my_pthread.c: Changed header to GPL version 2 only mysys/my_quick.c: Changed header to GPL version 2 only mysys/my_read.c: Changed header to GPL version 2 only mysys/my_realloc.c: Changed header to GPL version 2 only mysys/my_redel.c: Changed header to GPL version 2 only mysys/my_rename.c: Changed header to GPL version 2 only mysys/my_seek.c: Changed header to GPL version 2 only mysys/my_semaphore.c: Changed header to GPL version 2 only mysys/my_sleep.c: Changed header to GPL version 2 only mysys/my_static.c: Changed header to GPL version 2 only mysys/my_static.h: Changed header to GPL version 2 only mysys/my_symlink.c: Changed header to GPL version 2 only mysys/my_symlink2.c: Changed header to GPL version 2 only mysys/my_sync.c: Changed header to GPL version 2 only mysys/my_thr_init.c: Changed header to GPL version 2 only mysys/my_wincond.c: Changed header to GPL version 2 only mysys/my_windac.c: Changed header to GPL version 2 only mysys/my_winthread.c: Changed header to GPL version 2 only mysys/my_write.c: Changed header to GPL version 2 only mysys/mysys_priv.h: Changed header to GPL version 2 only mysys/ptr_cmp.c: Changed header to GPL version 2 only mysys/queues.c: Changed header to GPL version 2 only mysys/raid.cc: Changed header to GPL version 2 only mysys/raid2.c: Changed header to GPL version 2 only mysys/rijndael.c: Changed header to GPL version 2 only mysys/safemalloc.c: Changed header to GPL version 2 only mysys/sha1.c: Changed header to GPL version 2 only mysys/string.c: Changed header to GPL version 2 only mysys/test_charset.c: Changed header to GPL version 2 only mysys/test_dir.c: Changed header to GPL version 2 only mysys/test_fn.c: Changed header to GPL version 2 only mysys/test_xml.c: Changed header to GPL version 2 only mysys/testhash.c: Changed header to GPL version 2 only mysys/thr_alarm.c: Changed header to GPL version 2 only mysys/thr_lock.c: Changed header to GPL version 2 only mysys/thr_mutex.c: Changed header to GPL version 2 only mysys/thr_rwlock.c: Changed header to GPL version 2 only mysys/tree.c: Changed header to GPL version 2 only mysys/typelib.c: Changed header to GPL version 2 only ndb/include/debugger/DebuggerNames.hpp: Changed header to GPL version 2 only ndb/include/debugger/EventLogger.hpp: Changed header to GPL version 2 only ndb/include/debugger/GrepError.hpp: Changed header to GPL version 2 only ndb/include/debugger/SignalLoggerManager.hpp: Changed header to GPL version 2 only ndb/include/editline/editline.h: Changed header to GPL version 2 only ndb/include/kernel/AttributeDescriptor.hpp: Changed header to GPL version 2 only ndb/include/kernel/AttributeHeader.hpp: Changed header to GPL version 2 only ndb/include/kernel/AttributeList.hpp: Changed header to GPL version 2 only ndb/include/kernel/BlockNumbers.h: Changed header to GPL version 2 only ndb/include/kernel/GlobalSignalNumbers.h: Changed header to GPL version 2 only ndb/include/kernel/GrepEvent.hpp: Changed header to GPL version 2 only ndb/include/kernel/Interpreter.hpp: Changed header to GPL version 2 only ndb/include/kernel/LogLevel.hpp: Changed header to GPL version 2 only ndb/include/kernel/NodeBitmask.hpp: Changed header to GPL version 2 only ndb/include/kernel/NodeInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/NodeState.hpp: Changed header to GPL version 2 only ndb/include/kernel/RefConvert.hpp: Changed header to GPL version 2 only ndb/include/kernel/kernel_types.h: Changed header to GPL version 2 only ndb/include/kernel/ndb_limits.h: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AbortAll.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AccFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AccLock.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AccScan.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AccSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AlterIndx.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AlterTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AlterTable.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AlterTrig.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ApiBroadcast.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ApiRegSignalData.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ApiVersion.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ArbitSignalData.hpp: Changed header to GPL version 2 only ndb/include/kernel/trigger_definitions.h: Changed header to GPL version 2 only ndb/include/ndb_constants.h: Changed header to GPL version 2 only ndb/include/ndb_global.h.in: Changed header to GPL version 2 only ndb/include/ndb_init.h: Changed header to GPL version 2 only ndb/include/ndb_types.h.in: Changed header to GPL version 2 only ndb/include/ndb_version.h.in: Changed header to GPL version 2 only ndb/include/kernel/signaldata/AttrInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/BackupContinueB.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/BackupImpl.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/BackupSignalData.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/BlockCommitOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/BuildIndx.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CheckNodeGroups.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CloseComReqConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CmInit.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CmRegSignalData.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CmvmiCfgConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CntrMasterConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CntrMasterReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ConfigParamId.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ContinueFragmented.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CopyActive.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CopyFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CopyGCIReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateEvnt.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateFragmentation.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateIndx.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateTable.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/CreateTrig.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DiAddTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DiGetNodes.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DictLock.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DictSchemaInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DictSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DictStart.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DictTabInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DihAddFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DihContinueB.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DihSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DihStartTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DihSwitchReplica.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DisconnectRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DropIndx.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DropTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DropTabFile.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DropTable.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DropTrig.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/DumpStateOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/EmptyLcp.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/EndTo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/EventReport.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/EventSubscribeReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ExecFragReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FailRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FireTrigOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsAppendReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsCloseReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsOpenReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsReadWriteReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsRef.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/FsRemoveReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/GCPSave.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/GetTabInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/GetTableId.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/GrepImpl.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/HotSpareRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/IndxAttrInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/IndxKeyInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/InvalidateNodeLCPConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/InvalidateNodeLCPReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/KeyInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/LCP.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ListTables.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/LqhFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/LqhKey.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/LqhSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/LqhTransConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ManagementServer.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/MasterGCP.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/MasterLCP.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/NFCompleteRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/NdbSttor.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/NdbfsContinueB.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/NextScan.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/NodeFailRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/NodeStateSignalData.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/PackedSignal.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/PrepDropTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/PrepFailReqRef.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ReadNodesConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/RelTabMem.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/RepImpl.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ResumeReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ScanFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/ScanTab.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SetLogLevelOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SetVarReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SignalData.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SignalDataPrint.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SignalDroppedRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SrFragidConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartFragReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartMe.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartPerm.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartRec.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StartTo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StopMe.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StopPerm.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/StopReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SumaImpl.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/SystemError.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TamperOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcCommit.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcContinueB.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcHbRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcIndx.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcKeyConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcKeyFailConf.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcKeyRef.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcKeyReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcRollbackRep.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TcSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TestOrd.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TransIdAI.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TrigAttrInfo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TupCommit.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TupFrag.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TupKey.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TupSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TuxBound.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TuxContinueB.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TuxMaint.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/TuxSizeAltReq.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UpdateTo.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UtilDelete.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UtilExecute.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UtilLock.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UtilPrepare.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UtilRelease.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/UtilSequence.hpp: Changed header to GPL version 2 only ndb/include/kernel/signaldata/WaitGCP.hpp: Changed header to GPL version 2 only ndb/include/logger/ConsoleLogHandler.hpp: Changed header to GPL version 2 only ndb/include/logger/FileLogHandler.hpp: Changed header to GPL version 2 only ndb/include/logger/LogHandler.hpp: Changed header to GPL version 2 only ndb/include/logger/Logger.hpp: Changed header to GPL version 2 only ndb/include/logger/SysLogHandler.hpp: Changed header to GPL version 2 only ndb/include/mgmapi/mgmapi.h: Changed header to GPL version 2 only ndb/include/mgmapi/mgmapi_debug.h: Changed header to GPL version 2 only ndb/include/mgmapi/ndb_logevent.h: Changed header to GPL version 2 only ndb/include/mgmapi/ndbd_exit_codes.h: Changed header to GPL version 2 only ndb/include/mgmcommon/ConfigRetriever.hpp: Changed header to GPL version 2 only ndb/include/mgmcommon/IPCConfig.hpp: Changed header to GPL version 2 only ndb/include/mgmcommon/MgmtErrorReporter.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/Ndb.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbApi.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbBlob.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbDictionary.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbError.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbEventOperation.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbIndexOperation.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbIndexScanOperation.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbOperation.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbPool.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbRecAttr.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbReceiver.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbScanFilter.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbScanOperation.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/NdbTransaction.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/ndb_cluster_connection.hpp: Changed header to GPL version 2 only ndb/include/ndbapi/ndb_opt_defaults.h: Changed header to GPL version 2 only ndb/include/ndbapi/ndbapi_limits.h: Changed header to GPL version 2 only ndb/include/ndbapi/ndberror.h: Changed header to GPL version 2 only ndb/include/newtonapi/dba.h: Changed header to GPL version 2 only ndb/include/newtonapi/defs/pcn_types.h: Changed header to GPL version 2 only ndb/include/portlib/NdbCondition.h: Changed header to GPL version 2 only ndb/include/portlib/NdbConfig.h: Changed header to GPL version 2 only ndb/include/portlib/NdbDaemon.h: Changed header to GPL version 2 only ndb/include/portlib/NdbEnv.h: Changed header to GPL version 2 only ndb/include/portlib/NdbHost.h: Changed header to GPL version 2 only ndb/include/portlib/NdbMain.h: Changed header to GPL version 2 only ndb/include/portlib/NdbMem.h: Changed header to GPL version 2 only ndb/include/portlib/NdbMutex.h: Changed header to GPL version 2 only ndb/include/portlib/NdbSleep.h: Changed header to GPL version 2 only ndb/include/portlib/NdbTCP.h: Changed header to GPL version 2 only ndb/include/portlib/NdbThread.h: Changed header to GPL version 2 only ndb/include/portlib/NdbTick.h: Changed header to GPL version 2 only ndb/include/portlib/PortDefs.h: Changed header to GPL version 2 only ndb/include/portlib/prefetch.h: Changed header to GPL version 2 only ndb/include/transporter/TransporterCallback.hpp: Changed header to GPL version 2 only ndb/include/transporter/TransporterDefinitions.hpp: Changed header to GPL version 2 only ndb/include/transporter/TransporterRegistry.hpp: Changed header to GPL version 2 only ndb/include/util/BaseString.hpp: Changed header to GPL version 2 only ndb/include/util/Bitmask.hpp: Changed header to GPL version 2 only ndb/include/util/File.hpp: Changed header to GPL version 2 only ndb/include/util/InputStream.hpp: Changed header to GPL version 2 only ndb/include/util/NdbAutoPtr.hpp: Changed header to GPL version 2 only ndb/include/util/NdbOut.hpp: Changed header to GPL version 2 only ndb/include/util/NdbSqlUtil.hpp: Changed header to GPL version 2 only ndb/include/util/OutputStream.hpp: Changed header to GPL version 2 only ndb/include/util/Parser.hpp: Changed header to GPL version 2 only ndb/include/util/Properties.hpp: Changed header to GPL version 2 only ndb/include/util/SimpleProperties.hpp: Changed header to GPL version 2 only ndb/include/util/SocketAuthenticator.hpp: Changed header to GPL version 2 only ndb/include/util/SocketClient.hpp: Changed header to GPL version 2 only ndb/include/util/SocketServer.hpp: Changed header to GPL version 2 only ndb/include/util/UtilBuffer.hpp: Changed header to GPL version 2 only ndb/include/util/Vector.hpp: Changed header to GPL version 2 only ndb/include/util/basestring_vsnprintf.h: Changed header to GPL version 2 only ndb/include/util/md5_hash.hpp: Changed header to GPL version 2 only ndb/include/util/ndb_opts.h: Changed header to GPL version 2 only ndb/include/util/random.h: Changed header to GPL version 2 only ndb/include/util/socket_io.h: Changed header to GPL version 2 only ndb/include/util/uucode.h: Changed header to GPL version 2 only ndb/include/util/version.h: Changed header to GPL version 2 only ndb/ndbapi-examples/mgmapi_logevent_example/mgmapi_logevent.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_async_example/ndbapi_async.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_async_example1/ndbapi_async1.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_event_example/ndbapi_event.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_retries_example/ndbapi_retries.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_scan_example/ndbapi_scan.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_simple_example/ndbapi_simple.cpp: Changed header to GPL version 2 only ndb/ndbapi-examples/ndbapi_simple_index_example/ndbapi_simple_index.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/BlockNames.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/DebuggerNames.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/EventLogger.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/GrepError.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/SignalLoggerManager.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/AccLock.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/AlterIndx.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/AlterTab.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/AlterTable.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/AlterTrig.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/BackupImpl.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/BackupSignalData.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/CloseComReqConf.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/ContinueB.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/CopyGCI.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/CreateEvnt.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/CreateFragmentation.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/CreateIndx.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/CreateTrig.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DictTabInfo.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DihContinueB.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DihSwitchReplicaReq.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DisconnectRep.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DropIndx.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DropTab.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/DropTrig.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FailRep.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FireTrigOrd.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FsAppendReq.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FsCloseReq.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FsConf.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FsOpenReq.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/FsRef.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/GCPSave.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/IndxAttrInfo.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/IndxKeyInfo.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/LCP.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/LqhFrag.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/LqhKey.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/LqhTrans.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/MasterLCP.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/NFCompleteRep.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/NdbSttor.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/PackedSignal.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/PrepDropTab.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/PrepFailReqRef.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/ScanFrag.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/ScanTab.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/SignalDataPrint.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/SignalDroppedRep.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/SignalNames.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/StartRec.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/SumaImpl.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/SystemError.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TcIndx.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TcKeyConf.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TcKeyRef.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TcKeyReq.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TcRollbackRep.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TrigAttrInfo.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TupCommit.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TupKey.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/TuxMaint.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/UtilDelete.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/UtilExecute.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/UtilLock.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/UtilPrepare.cpp: Changed header to GPL version 2 only ndb/src/common/debugger/signaldata/UtilSequence.cpp: Changed header to GPL version 2 only ndb/src/common/logger/ConsoleLogHandler.cpp: Changed header to GPL version 2 only ndb/src/common/logger/FileLogHandler.cpp: Changed header to GPL version 2 only ndb/src/common/logger/LogHandler.cpp: Changed header to GPL version 2 only ndb/src/common/logger/LogHandlerList.cpp: Changed header to GPL version 2 only ndb/src/common/logger/LogHandlerList.hpp: Changed header to GPL version 2 only ndb/src/common/logger/Logger.cpp: Changed header to GPL version 2 only ndb/src/common/logger/SysLogHandler.cpp: Changed header to GPL version 2 only ndb/src/common/logger/listtest/LogHandlerListUnitTest.cpp: Changed header to GPL version 2 only ndb/src/common/logger/listtest/LogHandlerListUnitTest.hpp: Changed header to GPL version 2 only ndb/src/common/logger/loggertest/LoggerUnitTest.cpp: Changed header to GPL version 2 only ndb/src/common/logger/loggertest/LoggerUnitTest.hpp: Changed header to GPL version 2 only ndb/src/common/mgmcommon/ConfigRetriever.cpp: Changed header to GPL version 2 only ndb/src/common/mgmcommon/IPCConfig.cpp: Changed header to GPL version 2 only ndb/src/common/mgmcommon/printConfig/printConfig.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/NdbCondition.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbConfig.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbDaemon.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbEnv.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbHost.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbMem.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbMutex.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbPortLibTest.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/NdbSleep.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbTCP.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/NdbThread.c: Changed header to GPL version 2 only ndb/src/common/portlib/NdbTick.c: Changed header to GPL version 2 only ndb/src/common/portlib/memtest.c: Changed header to GPL version 2 only ndb/src/common/portlib/mmslist.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/mmstest.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/munmaptest.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbCondition.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbConditionOSE.h: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbEnv.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbHost.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbMem.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbMem_SoftOse.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbMutex.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbOut.cpp: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbSleep.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbTCP.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbThread.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/ose/NdbTick.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbCondition.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbDaemon.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbEnv.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbHost.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbMem.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbMutex.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbSleep.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbTCP.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbThread.c: Changed header to GPL version 2 only ndb/src/common/portlib/old_dirs/win32/NdbTick.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbCondition.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbDaemon.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbEnv.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbHost.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbMem.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbMutex.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbSleep.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbTCP.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbThread.c: Changed header to GPL version 2 only ndb/src/common/portlib/win32/NdbTick.c: Changed header to GPL version 2 only ndb/src/common/transporter/OSE_Receiver.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/OSE_Receiver.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/OSE_Signals.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/OSE_Transporter.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/OSE_Transporter.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/Packer.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/Packer.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/SCI_Transporter.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/SCI_Transporter.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/SHM_Buffer.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/SHM_Transporter.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/SHM_Transporter.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/SHM_Transporter.unix.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/SHM_Transporter.win32.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/SendBuffer.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/SendBuffer.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/TCP_Transporter.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/TCP_Transporter.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/Transporter.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/Transporter.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/TransporterInternalDefinitions.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/TransporterRegistry.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/basictest/basicTransporterTest.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/buddy.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/buddy.hpp: Changed header to GPL version 2 only ndb/src/common/transporter/failoverSCI/failoverSCI.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/perftest/perfTransporterTest.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/priotest/prioSCI/prioSCI.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/priotest/prioSHM/prioSHM.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/priotest/prioTCP/prioTCP.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/priotest/prioTransporterTest.cpp: Changed header to GPL version 2 only ndb/src/common/transporter/priotest/prioTransporterTest.hpp: Changed header to GPL version 2 only ndb/src/common/util/BaseString.cpp: Changed header to GPL version 2 only ndb/src/common/util/File.cpp: Changed header to GPL version 2 only ndb/src/common/util/InputStream.cpp: Changed header to GPL version 2 only ndb/src/common/util/NdbErrHnd.cpp: Changed header to GPL version 2 only ndb/src/common/util/NdbOut.cpp: Changed header to GPL version 2 only ndb/src/common/util/NdbSqlUtil.cpp: Changed header to GPL version 2 only ndb/src/common/util/OutputStream.cpp: Changed header to GPL version 2 only ndb/src/common/util/Parser.cpp: Changed header to GPL version 2 only ndb/src/common/util/Properties.cpp: Changed header to GPL version 2 only ndb/src/common/util/SimpleProperties.cpp: Changed header to GPL version 2 only ndb/src/common/util/SocketAuthenticator.cpp: Changed header to GPL version 2 only ndb/src/common/util/SocketClient.cpp: Changed header to GPL version 2 only ndb/src/common/util/SocketServer.cpp: Changed header to GPL version 2 only ndb/src/common/util/basestring_vsnprintf.c: Changed header to GPL version 2 only ndb/src/common/util/filetest/FileUnitTest.cpp: Changed header to GPL version 2 only ndb/src/common/util/filetest/FileUnitTest.hpp: Changed header to GPL version 2 only ndb/src/common/util/md5_hash.cpp: Changed header to GPL version 2 only ndb/src/common/util/ndb_init.c: Changed header to GPL version 2 only ndb/src/common/util/random.c: Changed header to GPL version 2 only ndb/src/common/util/socket_io.cpp: Changed header to GPL version 2 only ndb/src/common/util/strdup.c: Changed header to GPL version 2 only ndb/src/common/util/testProperties/testProperties.cpp: Changed header to GPL version 2 only ndb/src/common/util/testSimpleProperties/sp_test.cpp: Changed header to GPL version 2 only ndb/src/common/util/uucode.c: Changed header to GPL version 2 only ndb/src/common/util/version.c: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/CPC_GUI.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/CPC_GUI.h: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/NdbControls.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/StdAfx.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/StdAfx.h: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/TreeView.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/TreeView.h: Changed header to GPL version 2 only ndb/src/cw/cpcc-win32/C++/resource.h: Changed header to GPL version 2 only ndb/src/cw/cpcd/APIService.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/APIService.hpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/CPCD.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/CPCD.hpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/Monitor.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/Process.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/common.cpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/common.hpp: Changed header to GPL version 2 only ndb/src/cw/cpcd/main.cpp: Changed header to GPL version 2 only ndb/src/cw/test/socketclient/socketClientTest.cpp: Changed header to GPL version 2 only ndb/src/cw/util/ClientInterface.cpp: Changed header to GPL version 2 only ndb/src/cw/util/ClientInterface.hpp: Changed header to GPL version 2 only ndb/src/cw/util/SocketRegistry.cpp: Changed header to GPL version 2 only ndb/src/cw/util/SocketRegistry.hpp: Changed header to GPL version 2 only ndb/src/cw/util/SocketService.cpp: Changed header to GPL version 2 only ndb/src/cw/util/SocketService.hpp: Changed header to GPL version 2 only ndb/src/kernel/SimBlockList.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/backup/Backup.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/backup/Backup.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/backup/BackupFormat.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/backup/BackupInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/backup/FsBuffer.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/backup/read.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbacc/Dbacc.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbacc/DbaccInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/mutexes.hpp: Changed header to GPL version 2 only ndb/src/kernel/main.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdict/SchemaFile.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdih/DbdihInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdih/Sysfile.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dblqh/DblqhInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dblqh/redoLogReader/records.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dblqh/redoLogReader/records.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dblqh/redoLogReader/redoLogFileReader.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtc/DbtcInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/AttributeOffset.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupGen.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupLCP.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupScan.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupSystemRestart.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtup/DbtupUndoLog.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/Dbtux.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxCmp.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxMaint.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbutil/DbUtil.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/dbutil/DbUtil.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbcntr/NdbcntrSysTable.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/AsyncFileTest/AsyncFileTest.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/CircularIndex.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/CircularIndex.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/Filename.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/Filename.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/MemoryChannel.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/MemoryChannel.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/MemoryChannelOSE.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/MemoryChannelTest.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/Ndbfs.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/OpenFiles.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/Pool.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/ndbfs/VoidFs.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/qmgr/Qmgr.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/qmgr/QmgrInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/qmgr/QmgrMain.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/qmgr/timer.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/suma/Suma.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/suma/Suma.hpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/suma/SumaInit.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/trix/Trix.cpp: Changed header to GPL version 2 only ndb/src/kernel/blocks/trix/Trix.hpp: Changed header to GPL version 2 only ndb/src/kernel/error/ErrorHandlingMacros.hpp: Changed header to GPL version 2 only ndb/src/kernel/error/ErrorReporter.cpp: Changed header to GPL version 2 only ndb/src/kernel/error/ErrorReporter.hpp: Changed header to GPL version 2 only ndb/src/kernel/error/TimeModule.cpp: Changed header to GPL version 2 only ndb/src/kernel/error/TimeModule.hpp: Changed header to GPL version 2 only ndb/src/kernel/error/ndbd_exit_codes.c: Changed header to GPL version 2 only ndb/src/kernel/vm/Array.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ArrayFifoList.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ArrayList.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ArrayPool.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/CArray.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Callback.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ClusterConfiguration.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ClusterConfiguration.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Configuration.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Configuration.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/DLFifoList.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/DLHashTable.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/DLHashTable2.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/DLList.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/DataBuffer.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Emulator.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Emulator.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/FastScheduler.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/FastScheduler.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/GlobalData.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/KeyDescriptor.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/KeyTable.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/KeyTable2.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/LongSignal.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/MetaData.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/MetaData.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Mutex.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Mutex.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/Prio.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/RequestTracker.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SLList.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SafeCounter.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SafeCounter.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SectionReader.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SectionReader.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SignalCounter.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SimBlockList.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SimplePropertiesSection.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SimulatedBlock.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SimulatedBlock.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SuperPool.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/SuperPool.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ThreadConfig.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ThreadConfig.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/TimeQueue.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/TimeQueue.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/TransporterCallback.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/VMSignal.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/VMSignal.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/WaitQueue.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/WatchDog.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/WatchDog.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/al_test/arrayListTest.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/al_test/arrayPoolTest.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/al_test/main.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ndbd_malloc.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/ndbd_malloc.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/pc.hpp: Changed header to GPL version 2 only ndb/src/kernel/vm/testCopy/rr.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/testCopy/testCopy.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/testDataBuffer/testDataBuffer.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/testLongSig/testLongSig.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/testSimplePropertiesSection/test.cpp: Changed header to GPL version 2 only ndb/src/kernel/vm/testSuperPool.cpp: Changed header to GPL version 2 only ndb/src/mgmapi/LocalConfig.cpp: Changed header to GPL version 2 only ndb/src/mgmapi/LocalConfig.hpp: Changed header to GPL version 2 only ndb/src/mgmapi/mgmapi.cpp: Changed header to GPL version 2 only ndb/src/mgmapi/mgmapi_configuration.hpp: Changed header to GPL version 2 only ndb/src/mgmapi/mgmapi_internal.h: Changed header to GPL version 2 only ndb/src/mgmapi/ndb_logevent.cpp: Changed header to GPL version 2 only ndb/src/mgmapi/ndb_logevent.hpp: Changed header to GPL version 2 only ndb/src/mgmapi/test/keso.c: Changed header to GPL version 2 only ndb/src/mgmapi/test/mgmSrvApi.cpp: Changed header to GPL version 2 only ndb/src/mgmclient/CommandInterpreter.cpp: Changed header to GPL version 2 only ndb/src/mgmclient/main.cpp: Changed header to GPL version 2 only ndb/src/mgmclient/ndb_mgmclient.hpp: Changed header to GPL version 2 only ndb/src/mgmclient/ndb_mgmclient.h: Changed header to GPL version 2 only ndb/src/mgmclient/test_cpcd/test_cpcd.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/Config.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/Config.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/ConfigInfo.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/ConfigInfo.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/InitConfigFileParser.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/InitConfigFileParser.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/MgmtSrvr.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/MgmtSrvr.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/MgmtSrvrConfig.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/Services.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/Services.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/SignalQueue.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/SignalQueue.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/convertStrToInt.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/convertStrToInt.hpp: Changed header to GPL version 2 only ndb/src/mgmsrv/main.cpp: Changed header to GPL version 2 only ndb/src/mgmsrv/mkconfig/mkconfig.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/API.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/ClusterMgr.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/ClusterMgr.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/DictCache.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/DictCache.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/Ndb.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbApiSignal.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbApiSignal.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbBlob.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbBlobImpl.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbDictionary.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbDictionaryImpl.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbDictionaryImpl.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbErrorOut.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbEventOperation.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbEventOperationImpl.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbEventOperationImpl.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbImpl.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbIndexOperation.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbLinHash.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbOperation.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbOperationDefine.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbOperationExec.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbOperationInt.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbOperationScan.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbOperationSearch.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbPool.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbPoolImpl.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbPoolImpl.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbRecAttr.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbReceiver.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbScanFilter.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbScanOperation.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbTransaction.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbTransactionScan.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbUtil.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbUtil.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/NdbWaiter.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/Ndberr.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/Ndbif.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/Ndbinit.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/Ndblist.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/ObjectMap.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/SignalSender.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/SignalSender.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/TransporterFacade.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/TransporterFacade.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/ndb_cluster_connection.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/ndb_cluster_connection_impl.hpp: Changed header to GPL version 2 only ndb/src/ndbapi/ndberror.c: Changed header to GPL version 2 only ndb/src/ndbapi/signal-sender/SignalSender.cpp: Changed header to GPL version 2 only ndb/src/ndbapi/signal-sender/SignalSender.hpp: Changed header to GPL version 2 only ndb/test/include/CpcClient.hpp: Changed header to GPL version 2 only ndb/test/include/HugoAsynchTransactions.hpp: Changed header to GPL version 2 only ndb/test/include/HugoCalculator.hpp: Changed header to GPL version 2 only ndb/test/include/HugoOperations.hpp: Changed header to GPL version 2 only ndb/test/include/HugoTransactions.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_DataSet.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_DataSetTransaction.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_Error.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_Output.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_ResultRow.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_ReturnCodes.h: Changed header to GPL version 2 only ndb/test/include/NDBT_Stats.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_Table.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_Tables.hpp: Changed header to GPL version 2 only ndb/test/include/NDBT_Test.hpp: Changed header to GPL version 2 only ndb/test/include/NdbBackup.hpp: Changed header to GPL version 2 only ndb/test/include/NdbConfig.hpp: Changed header to GPL version 2 only ndb/test/include/NdbGrep.hpp: Changed header to GPL version 2 only ndb/test/include/NdbRestarter.hpp: Changed header to GPL version 2 only ndb/test/include/NdbRestarts.hpp: Changed header to GPL version 2 only ndb/test/include/NdbSchemaCon.hpp: Changed header to GPL version 2 only ndb/test/include/NdbSchemaOp.hpp: Changed header to GPL version 2 only ndb/test/include/NdbTest.hpp: Changed header to GPL version 2 only ndb/test/include/NdbTimer.hpp: Changed header to GPL version 2 only ndb/test/include/TestNdbEventOperation.hpp: Changed header to GPL version 2 only ndb/test/include/UtilTransactions.hpp: Changed header to GPL version 2 only ndb/test/include/getarg.h: Changed header to GPL version 2 only ndb/test/ndbapi/InsertRecs.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ScanFilter.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/ScanFunctions.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/ScanInterpretTest.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/TraceNdbApi.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/VerifyNdbApi.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/acid.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/acid2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/adoInsertRecs.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/asyncGenerator.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/benchronja.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bulk_copy.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/cdrserver.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/celloDb.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/create_all_tabs.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/create_tab.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/drop_all_tabs.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flexAsynch.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flexBench.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flexHammer.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flexScan.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flexTT.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flexTimedAsynch.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/flex_bench_mysql.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/index.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/index2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/initronja.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/interpreterInTup.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/mainAsyncGenerator.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/msa.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_async1.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_async2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_populate.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_transaction.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_transaction2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_transaction3.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_transaction4.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_transaction5.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/ndb_user_transaction6.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/restarter.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/restarter2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/restarts.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/size.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testBackup.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testBasic.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testBasicAsynch.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testBlobs.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testDataBuffers.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testDeadlock.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testDict.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testGrepVerify.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testIndex.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testInterpreter.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testMgm.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testNdbApi.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testNodeRestart.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testOIBasic.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testOperations.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testOrderedIndex.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testPartitioning.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testReadPerf.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testRestartGci.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testSRBank.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testScan.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testScanInterpreter.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testScanPerf.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testSystemRestart.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/Bank.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/Bank.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/BankLoad.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/bankCreator.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/bankMakeGL.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/bankSumAccounts.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/bankTimer.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/bankTransactionMaker.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/bankValidateAllGLs.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bank/testBank.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/asyncGenerator.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/dbGenerator.h: Changed header to GPL version 2 only ndb/test/ndbapi/bench/dbPopulate.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/dbPopulate.h: Changed header to GPL version 2 only ndb/test/ndbapi/bench/macros.h: Changed header to GPL version 2 only ndb/test/ndbapi/bench/mainAsyncGenerator.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/mainPopulate.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_async1.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_async2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_error.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_schema.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_user_transaction.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_user_transaction2.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_user_transaction3.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_user_transaction4.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_user_transaction5.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/ndb_user_transaction6.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/testData.h: Changed header to GPL version 2 only ndb/test/ndbapi/bench/testDefinitions.h: Changed header to GPL version 2 only ndb/test/ndbapi/bench/userInterface.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/bench/userInterface.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/acid2/TraceNdbApi.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/acid2/VerifyNdbApi.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/dbGenerator.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/testData.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/userInterface.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/macros.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/ndb_error.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/include/ndb_schema.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/include/testDefinitions.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/mainGenerator.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/mainPopulate.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/localDbPrepare.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/macros.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/ndb_error.hpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userHandle.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userInterface.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userHandle.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userInterface.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userTransaction.c: Changed header to GPL version 2 only ndb/test/ndbapi/testTimeout.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/testTransactions.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/test_event.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/test_event_merge.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/test_event_multi_table.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/userInterface.cpp: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userTransaction.c: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/vw_test/bcd.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/vw_test/utv.h: Changed header to GPL version 2 only ndb/test/ndbapi/old_dirs/vw_test/vcdrfunc.h: Changed header to GPL version 2 only ndb/test/newtonapi/basic_test/basic/basic.cpp: Changed header to GPL version 2 only ndb/test/newtonapi/basic_test/bulk_read/br_test.cpp: Changed header to GPL version 2 only ndb/test/newtonapi/basic_test/common.cpp: Changed header to GPL version 2 only ndb/test/newtonapi/basic_test/common.hpp: Changed header to GPL version 2 only ndb/test/newtonapi/basic_test/ptr_binding/ptr_binding_test.cpp: Changed header to GPL version 2 only ndb/test/newtonapi/basic_test/too_basic.cpp: Changed header to GPL version 2 only ndb/test/newtonapi/perf_test/perf.cpp: Changed header to GPL version 2 only ndb/test/odbc/SQL99_test/SQL99_test.cpp: Changed header to GPL version 2 only ndb/test/odbc/SQL99_test/SQL99_test.h: Changed header to GPL version 2 only ndb/test/odbc/client/NDBT_ALLOCHANDLE.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/NDBT_ALLOCHANDLE_HDBC.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/NDBT_SQLConnect.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/NDBT_SQLPrepare.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLAllocEnvTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLAllocHandleTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLAllocHandleTest_bf.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLBindColTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLBindParameterTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLCancelTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLCloseCursorTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLColAttributeTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLColAttributeTest1.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLColAttributeTest2.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLColAttributeTest3.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLConnectTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLCopyDescTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLDescribeColTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLDisconnectTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLDriverConnectTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLEndTranTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLErrorTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLExecDirectTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLExecuteTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLFetchScrollTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLFetchTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLFreeHandleTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLFreeStmtTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetConnectAttrTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetCursorNameTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetDataTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetDescFieldTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetDescRecTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetDiagFieldTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetDiagRecSimpleTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetDiagRecTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetEnvAttrTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetFunctionsTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetInfoTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetStmtAttrTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLGetTypeInfoTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLMoreResultsTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLNumResultColsTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLParamDataTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLPrepareTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLPutDataTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLRowCountTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLSetConnectAttrTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLSetCursorNameTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLSetDescFieldTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLSetDescRecTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLSetEnvAttrTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLSetStmtAttrTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLTablesTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/SQLTransactTest.cpp: Changed header to GPL version 2 only ndb/test/odbc/client/common.hpp: Changed header to GPL version 2 only ndb/test/odbc/client/main.cpp: Changed header to GPL version 2 only ndb/test/odbc/driver/testOdbcDriver.cpp: Changed header to GPL version 2 only ndb/test/odbc/test_compiler/test_compiler.cpp: Changed header to GPL version 2 only ndb/test/run-test/main.cpp: Changed header to GPL version 2 only ndb/test/run-test/run-test.hpp: Changed header to GPL version 2 only ndb/test/src/CpcClient.cpp: Changed header to GPL version 2 only ndb/test/src/HugoAsynchTransactions.cpp: Changed header to GPL version 2 only ndb/test/src/HugoCalculator.cpp: Changed header to GPL version 2 only ndb/test/src/HugoOperations.cpp: Changed header to GPL version 2 only ndb/test/src/HugoTransactions.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_Error.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_Output.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_ResultRow.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_ReturnCodes.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_Table.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_Tables.cpp: Changed header to GPL version 2 only ndb/test/src/NDBT_Test.cpp: Changed header to GPL version 2 only ndb/test/src/NdbBackup.cpp: Changed header to GPL version 2 only ndb/test/src/NdbConfig.cpp: Changed header to GPL version 2 only ndb/test/src/NdbGrep.cpp: Changed header to GPL version 2 only ndb/test/src/NdbRestarter.cpp: Changed header to GPL version 2 only ndb/test/src/NdbRestarts.cpp: Changed header to GPL version 2 only ndb/test/src/NdbSchemaCon.cpp: Changed header to GPL version 2 only ndb/test/src/NdbSchemaOp.cpp: Changed header to GPL version 2 only ndb/test/src/UtilTransactions.cpp: Changed header to GPL version 2 only ndb/test/tools/copy_tab.cpp: Changed header to GPL version 2 only ndb/test/tools/cpcc.cpp: Changed header to GPL version 2 only ndb/test/tools/create_index.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoCalculator.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoFill.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoLoad.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoLockRecords.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoPkDelete.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoPkRead.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoPkReadRecord.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoPkUpdate.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoScanRead.cpp: Changed header to GPL version 2 only ndb/test/tools/hugoScanUpdate.cpp: Changed header to GPL version 2 only ndb/test/tools/old_dirs/waiter/waiter.cpp: Changed header to GPL version 2 only ndb/test/tools/restart.cpp: Changed header to GPL version 2 only ndb/test/tools/transproxy.cpp: Changed header to GPL version 2 only ndb/test/tools/verify_index.cpp: Changed header to GPL version 2 only ndb/tools/delete_all.cpp: Changed header to GPL version 2 only ndb/tools/desc.cpp: Changed header to GPL version 2 only ndb/tools/drop_index.cpp: Changed header to GPL version 2 only ndb/tools/drop_tab.cpp: Changed header to GPL version 2 only ndb/tools/listTables.cpp: Changed header to GPL version 2 only ndb/tools/ndb_config.cpp: Changed header to GPL version 2 only ndb/tools/ndb_test_platform.cpp: Changed header to GPL version 2 only ndb/tools/ndbsql.cpp: Changed header to GPL version 2 only ndb/tools/restore/Restore.cpp: Changed header to GPL version 2 only ndb/tools/restore/Restore.hpp: Changed header to GPL version 2 only ndb/tools/restore/consumer.cpp: Changed header to GPL version 2 only ndb/tools/restore/consumer.hpp: Changed header to GPL version 2 only ndb/tools/restore/consumer_printer.cpp: Changed header to GPL version 2 only ndb/tools/restore/consumer_printer.hpp: Changed header to GPL version 2 only ndb/tools/restore/consumer_restore.cpp: Changed header to GPL version 2 only ndb/tools/restore/consumer_restore.hpp: Changed header to GPL version 2 only ndb/tools/select_all.cpp: Changed header to GPL version 2 only ndb/tools/select_count.cpp: Changed header to GPL version 2 only ndb/tools/waiter.cpp: Changed header to GPL version 2 only ndb/tools/restore/consumer_restorem.cpp: Changed header to GPL version 2 only ndb/tools/restore/restore_main.cpp: Changed header to GPL version 2 only netware/mysql_fix_privilege_tables.pl: Changed header to GPL version 2 only netware/mysql_secure_installation.pl: Changed header to GPL version 2 only os2/Makefile.am: Changed header to GPL version 2 only os2/include/Makefile.am: Changed header to GPL version 2 only os2/include/sys/Makefile.am: Changed header to GPL version 2 only pstack/Makefile.am: Changed header to GPL version 2 only regex/Makefile.am: Changed header to GPL version 2 only scripts/Makefile.am: Changed header to GPL version 2 only scripts/fill_help_tables.sh: Changed header to GPL version 2 only scripts/mysql_config.sh: Changed header to GPL version 2 only scripts/mysql_secure_installation.sh: Changed header to GPL version 2 only server-tools/instance-manager/Makefile.am: Changed header to GPL version 2 only server-tools/instance-manager/buffer.cc: Changed header to GPL version 2 only server-tools/instance-manager/buffer.h: Changed header to GPL version 2 only server-tools/instance-manager/command.cc: Changed header to GPL version 2 only server-tools/instance-manager/command.h: Changed header to GPL version 2 only server-tools/instance-manager/commands.cc: Changed header to GPL version 2 only server-tools/instance-manager/commands.h: Changed header to GPL version 2 only server-tools/instance-manager/guardian.cc: Changed header to GPL version 2 only server-tools/instance-manager/guardian.h: Changed header to GPL version 2 only server-tools/instance-manager/instance.cc: Changed header to GPL version 2 only server-tools/instance-manager/instance.h: Changed header to GPL version 2 only server-tools/instance-manager/instance_map.cc: Changed header to GPL version 2 only server-tools/instance-manager/instance_map.h: Changed header to GPL version 2 only server-tools/instance-manager/instance_options.cc: Changed header to GPL version 2 only server-tools/instance-manager/instance_options.h: Changed header to GPL version 2 only server-tools/instance-manager/listener.cc: Changed header to GPL version 2 only server-tools/instance-manager/listener.h: Changed header to GPL version 2 only server-tools/instance-manager/log.cc: Changed header to GPL version 2 only server-tools/instance-manager/log.h: Changed header to GPL version 2 only server-tools/instance-manager/manager.cc: Changed header to GPL version 2 only server-tools/instance-manager/manager.h: Changed header to GPL version 2 only server-tools/instance-manager/messages.cc: Changed header to GPL version 2 only server-tools/instance-manager/messages.h: Changed header to GPL version 2 only server-tools/instance-manager/mysql_connection.cc: Changed header to GPL version 2 only server-tools/instance-manager/mysql_connection.h: Changed header to GPL version 2 only server-tools/instance-manager/mysql_manager_error.h: Changed header to GPL version 2 only server-tools/instance-manager/mysqlmanager.cc: Changed header to GPL version 2 only server-tools/instance-manager/options.cc: Changed header to GPL version 2 only server-tools/instance-manager/options.h: Changed header to GPL version 2 only server-tools/instance-manager/parse.cc: Changed header to GPL version 2 only server-tools/instance-manager/parse.h: Changed header to GPL version 2 only server-tools/instance-manager/parse_output.cc: Changed header to GPL version 2 only server-tools/instance-manager/parse_output.h: Changed header to GPL version 2 only server-tools/instance-manager/priv.cc: Changed header to GPL version 2 only server-tools/instance-manager/priv.h: Changed header to GPL version 2 only server-tools/instance-manager/protocol.cc: Changed header to GPL version 2 only server-tools/instance-manager/protocol.h: Changed header to GPL version 2 only server-tools/instance-manager/thread_registry.cc: Changed header to GPL version 2 only server-tools/instance-manager/thread_registry.h: Changed header to GPL version 2 only server-tools/instance-manager/user_map.cc: Changed header to GPL version 2 only server-tools/instance-manager/user_map.h: Changed header to GPL version 2 only sql/Makefile.am: Changed header to GPL version 2 only sql/client_settings.h: Changed header to GPL version 2 only sql/custom_conf.h: Changed header to GPL version 2 only sql/derror.cc: Changed header to GPL version 2 only sql/des_key_file.cc: Changed header to GPL version 2 only sql/discover.cc: Changed header to GPL version 2 only sql/field.cc: Changed header to GPL version 2 only sql/field.h: Changed header to GPL version 2 only sql/field_conv.cc: Changed header to GPL version 2 only sql/filesort.cc: Changed header to GPL version 2 only sql/frm_crypt.cc: Changed header to GPL version 2 only sql/gen_lex_hash.cc: Changed header to GPL version 2 only sql/gstream.cc: Changed header to GPL version 2 only sql/gstream.h: Changed header to GPL version 2 only sql/ha_archive.cc: Changed header to GPL version 2 only sql/ha_archive.h: Changed header to GPL version 2 only sql/ha_berkeley.cc: Changed header to GPL version 2 only sql/ha_berkeley.h: Changed header to GPL version 2 only sql/ha_blackhole.cc: Changed header to GPL version 2 only sql/ha_blackhole.h: Changed header to GPL version 2 only sql/ha_federated.cc: Changed header to GPL version 2 only sql/ha_federated.h: Changed header to GPL version 2 only sql/ha_heap.cc: Changed header to GPL version 2 only sql/ha_heap.h: Changed header to GPL version 2 only sql/ha_innodb.cc: Changed header to GPL version 2 only sql/ha_innodb.h: Changed header to GPL version 2 only sql/ha_myisam.cc: Changed header to GPL version 2 only sql/ha_myisam.h: Changed header to GPL version 2 only sql/ha_myisammrg.cc: Changed header to GPL version 2 only sql/ha_myisammrg.h: Changed header to GPL version 2 only sql/ha_ndbcluster.cc: Changed header to GPL version 2 only sql/ha_ndbcluster.h: Changed header to GPL version 2 only sql/handler.cc: Changed header to GPL version 2 only sql/handler.h: Changed header to GPL version 2 only sql/hash_filo.cc: Changed header to GPL version 2 only sql/hash_filo.h: Changed header to GPL version 2 only sql/hostname.cc: Changed header to GPL version 2 only sql/init.cc: Changed header to GPL version 2 only sql/item.cc: Changed header to GPL version 2 only sql/item.h: Changed header to GPL version 2 only sql/item_buff.cc: Changed header to GPL version 2 only sql/item_cmpfunc.cc: Changed header to GPL version 2 only sql/item_cmpfunc.h: Changed header to GPL version 2 only sql/item_create.cc: Changed header to GPL version 2 only sql/item_create.h: Changed header to GPL version 2 only sql/item_func.cc: Changed header to GPL version 2 only sql/item_func.h: Changed header to GPL version 2 only sql/item_geofunc.cc: Changed header to GPL version 2 only sql/item_geofunc.h: Changed header to GPL version 2 only sql/item_row.cc: Changed header to GPL version 2 only sql/item_row.h: Changed header to GPL version 2 only sql/item_strfunc.cc: Changed header to GPL version 2 only sql/item_strfunc.h: Changed header to GPL version 2 only sql/item_subselect.cc: Changed header to GPL version 2 only sql/item_subselect.h: Changed header to GPL version 2 only sql/item_sum.cc: Changed header to GPL version 2 only sql/item_sum.h: Changed header to GPL version 2 only sql/item_timefunc.cc: Changed header to GPL version 2 only sql/item_timefunc.h: Changed header to GPL version 2 only sql/item_uniq.cc: Changed header to GPL version 2 only sql/item_uniq.h: Changed header to GPL version 2 only sql/key.cc: Changed header to GPL version 2 only sql/lex.h: Changed header to GPL version 2 only sql/lex_symbol.h: Changed header to GPL version 2 only sql/lock.cc: Changed header to GPL version 2 only sql/log.cc: Changed header to GPL version 2 only sql/log_event.cc: Changed header to GPL version 2 only sql/log_event.h: Changed header to GPL version 2 only sql/matherr.c: Changed header to GPL version 2 only sql/mf_iocache.cc: Changed header to GPL version 2 only sql/my_decimal.cc: Changed header to GPL version 2 only sql/my_decimal.h: Changed header to GPL version 2 only sql/my_lock.c: Changed header to GPL version 2 only sql/mysql_priv.h: Changed header to GPL version 2 only sql/mysqld.cc: Changed header to GPL version 2 only sql/mysqld_suffix.h: Changed header to GPL version 2 only sql/net_serv.cc: Changed header to GPL version 2 only sql/opt_range.cc: Changed header to GPL version 2 only sql/opt_range.h: Changed header to GPL version 2 only sql/opt_sum.cc: Changed header to GPL version 2 only sql/parse_file.cc: Changed header to GPL version 2 only sql/parse_file.h: Changed header to GPL version 2 only sql/password.c: Changed header to GPL version 2 only sql/procedure.cc: Changed header to GPL version 2 only sql/procedure.h: Changed header to GPL version 2 only sql/protocol.cc: Changed header to GPL version 2 only sql/protocol.h: Changed header to GPL version 2 only sql/records.cc: Changed header to GPL version 2 only sql/repl_failsafe.cc: Changed header to GPL version 2 only sql/repl_failsafe.h: Changed header to GPL version 2 only sql/set_var.cc: Changed header to GPL version 2 only sql/set_var.h: Changed header to GPL version 2 only sql/slave.cc: Changed header to GPL version 2 only sql/slave.h: Changed header to GPL version 2 only sql/sp.cc: Changed header to GPL version 2 only sql/sp.h: Changed header to GPL version 2 only sql/sp_cache.cc: Changed header to GPL version 2 only sql/sp_cache.h: Changed header to GPL version 2 only sql/sp_head.cc: Changed header to GPL version 2 only sql/sp_head.h: Changed header to GPL version 2 only sql/sp_pcontext.cc: Changed header to GPL version 2 only sql/sp_pcontext.h: Changed header to GPL version 2 only sql/sp_rcontext.cc: Changed header to GPL version 2 only sql/sp_rcontext.h: Changed header to GPL version 2 only sql/spatial.cc: Changed header to GPL version 2 only sql/spatial.h: Changed header to GPL version 2 only sql/sql_acl.cc: Changed header to GPL version 2 only sql/sql_acl.h: Changed header to GPL version 2 only sql/sql_analyse.cc: Changed header to GPL version 2 only sql/sql_analyse.h: Changed header to GPL version 2 only sql/sql_array.h: Changed header to GPL version 2 only sql/sql_base.cc: Changed header to GPL version 2 only sql/sql_bitmap.h: Changed header to GPL version 2 only sql/sql_cache.cc: Changed header to GPL version 2 only sql/sql_cache.h: Changed header to GPL version 2 only sql/sql_class.cc: Changed header to GPL version 2 only sql/sql_class.h: Changed header to GPL version 2 only sql/sql_client.cc: Changed header to GPL version 2 only sql/sql_crypt.cc: Changed header to GPL version 2 only sql/sql_crypt.h: Changed header to GPL version 2 only sql/sql_cursor.cc: Changed header to GPL version 2 only sql/sql_cursor.h: Changed header to GPL version 2 only sql/sql_db.cc: Changed header to GPL version 2 only sql/sql_delete.cc: Changed header to GPL version 2 only sql/sql_derived.cc: Changed header to GPL version 2 only sql/sql_do.cc: Changed header to GPL version 2 only sql/sql_error.cc: Changed header to GPL version 2 only sql/sql_error.h: Changed header to GPL version 2 only sql/sql_handler.cc: Changed header to GPL version 2 only sql/sql_help.cc: Changed header to GPL version 2 only sql/sql_insert.cc: Changed header to GPL version 2 only sql/sql_lex.cc: Changed header to GPL version 2 only sql/sql_lex.h: Changed header to GPL version 2 only sql/sql_list.cc: Changed header to GPL version 2 only sql/sql_list.h: Changed header to GPL version 2 only sql/sql_load.cc: Changed header to GPL version 2 only sql/sql_locale.cc: Changed header to GPL version 2 only sql/sql_manager.cc: Changed header to GPL version 2 only sql/sql_manager.h: Changed header to GPL version 2 only sql/sql_map.cc: Changed header to GPL version 2 only sql/sql_map.h: Changed header to GPL version 2 only sql/sql_olap.cc: Changed header to GPL version 2 only sql/sql_parse.cc: Changed header to GPL version 2 only sql/sql_prepare.cc: Changed header to GPL version 2 only sql/sql_rename.cc: Changed header to GPL version 2 only sql/sql_repl.cc: Changed header to GPL version 2 only sql/sql_repl.h: Changed header to GPL version 2 only sql/sql_select.cc: Changed header to GPL version 2 only sql/sql_select.h: Changed header to GPL version 2 only sql/sql_show.cc: Changed header to GPL version 2 only sql/sql_sort.h: Changed header to GPL version 2 only sql/sql_state.c: Changed header to GPL version 2 only sql/sql_string.cc: Changed header to GPL version 2 only sql/sql_string.h: Changed header to GPL version 2 only sql/sql_table.cc: Changed header to GPL version 2 only sql/sql_test.cc: Changed header to GPL version 2 only sql/sql_trigger.cc: Changed header to GPL version 2 only sql/sql_trigger.h: Changed header to GPL version 2 only sql/sql_udf.cc: Changed header to GPL version 2 only sql/sql_udf.h: Changed header to GPL version 2 only sql/sql_union.cc: Changed header to GPL version 2 only sql/sql_update.cc: Changed header to GPL version 2 only sql-bench/Makefile.am: Changed header to GPL version 2 only sql-bench/as3ap.sh: Changed header to GPL version 2 only sql-bench/bench-count-distinct.sh: Changed header to GPL version 2 only sql-bench/bench-init.pl.sh: Changed header to GPL version 2 only sql-bench/compare-results.sh: Changed header to GPL version 2 only sql-bench/copy-db.sh: Changed header to GPL version 2 only sql-bench/crash-me.sh: Changed header to GPL version 2 only sql-bench/print-limit-table: Changed header to GPL version 2 only sql-bench/run-all-tests.sh: Changed header to GPL version 2 only sql/examples/ha_example.cc: Changed header to GPL version 2 only sql/examples/ha_example.h: Changed header to GPL version 2 only sql/examples/ha_tina.cc: Changed header to GPL version 2 only sql/examples/ha_tina.h: Changed header to GPL version 2 only sql/share/Makefile.am: Changed header to GPL version 2 only sql/share/charsets/Index.xml: Changed header to GPL version 2 only sql/share/charsets/armscii8.xml: Changed header to GPL version 2 only sql/share/charsets/ascii.xml: Changed header to GPL version 2 only sql/share/charsets/cp1250.xml: Changed header to GPL version 2 only sql/share/charsets/cp1251.xml: Changed header to GPL version 2 only sql/share/charsets/cp1256.xml: Changed header to GPL version 2 only sql/share/charsets/cp1257.xml: Changed header to GPL version 2 only sql/share/charsets/cp850.xml: Changed header to GPL version 2 only sql/share/charsets/cp852.xml: Changed header to GPL version 2 only sql/share/charsets/cp866.xml: Changed header to GPL version 2 only sql/share/charsets/dec8.xml: Changed header to GPL version 2 only sql/share/charsets/geostd8.xml: Changed header to GPL version 2 only sql/share/charsets/greek.xml: Changed header to GPL version 2 only sql/share/charsets/hebrew.xml: Changed header to GPL version 2 only sql/share/charsets/hp8.xml: Changed header to GPL version 2 only sql/share/charsets/keybcs2.xml: Changed header to GPL version 2 only sql/share/charsets/koi8r.xml: Changed header to GPL version 2 only sql/share/charsets/koi8u.xml: Changed header to GPL version 2 only sql/share/charsets/latin1.xml: Changed header to GPL version 2 only sql/share/charsets/latin2.xml: Changed header to GPL version 2 only sql/share/charsets/latin5.xml: Changed header to GPL version 2 only sql/share/charsets/latin7.xml: Changed header to GPL version 2 only sql/share/charsets/macce.xml: Changed header to GPL version 2 only sql/share/charsets/macroman.xml: Changed header to GPL version 2 only sql/share/charsets/swe7.xml: Changed header to GPL version 2 only sql/sql_view.cc: Changed header to GPL version 2 only sql/sql_view.h: Changed header to GPL version 2 only sql/sql_yacc.yy: Changed header to GPL version 2 only sql/stacktrace.c: Changed header to GPL version 2 only sql/stacktrace.h: Changed header to GPL version 2 only sql/strfunc.cc: Changed header to GPL version 2 only sql/structs.h: Changed header to GPL version 2 only sql/table.cc: Changed header to GPL version 2 only sql/table.h: Changed header to GPL version 2 only sql/thr_malloc.cc: Changed header to GPL version 2 only sql/time.cc: Changed header to GPL version 2 only sql/tzfile.h: Changed header to GPL version 2 only sql/tztime.cc: Changed header to GPL version 2 only sql/tztime.h: Changed header to GPL version 2 only sql/udf_example.c: Changed header to GPL version 2 only sql/uniques.cc: Changed header to GPL version 2 only sql/unireg.cc: Changed header to GPL version 2 only sql/unireg.h: Changed header to GPL version 2 only sql-bench/server-cfg.sh: Changed header to GPL version 2 only sql-bench/test-ATIS.sh: Changed header to GPL version 2 only sql-bench/test-alter-table.sh: Changed header to GPL version 2 only sql-bench/test-big-tables.sh: Changed header to GPL version 2 only sql-bench/test-connect.sh: Changed header to GPL version 2 only sql-bench/test-create.sh: Changed header to GPL version 2 only sql-bench/test-insert.sh: Changed header to GPL version 2 only sql-bench/test-select.sh: Changed header to GPL version 2 only sql-bench/test-transactions.sh: Changed header to GPL version 2 only sql-bench/test-wisconsin.sh: Changed header to GPL version 2 only sql-common/Makefile.am: Changed header to GPL version 2 only sql-common/client.c: Changed header to GPL version 2 only sql-common/my_time.c: Changed header to GPL version 2 only sql-common/my_user.c: Changed header to GPL version 2 only sql-common/pack.c: Changed header to GPL version 2 only strings/Makefile.am: Changed header to GPL version 2 only strings/bchange.c: Changed header to GPL version 2 only strings/bcmp.c: Changed header to GPL version 2 only strings/bcopy-duff.c: Changed header to GPL version 2 only strings/bfill.c: Changed header to GPL version 2 only strings/bmove.c: Changed header to GPL version 2 only strings/bmove512.c: Changed header to GPL version 2 only strings/bmove_upp-sparc.s: Changed header to GPL version 2 only strings/bmove_upp.c: Changed header to GPL version 2 only strings/bzero.c: Changed header to GPL version 2 only strings/conf_to_src.c: Changed header to GPL version 2 only strings/ctype-big5.c: Changed header to GPL version 2 only strings/ctype-bin.c: Changed header to GPL version 2 only strings/ctype-cp932.c: Changed header to GPL version 2 only strings/ctype-czech.c: Changed header to GPL version 2 only strings/ctype-euc_kr.c: Changed header to GPL version 2 only strings/ctype-eucjpms.c: Changed header to GPL version 2 only strings/ctype-gb2312.c: Changed header to GPL version 2 only strings/ctype-gbk.c: Changed header to GPL version 2 only strings/ctype-latin1.c: Changed header to GPL version 2 only strings/ctype-mb.c: Changed header to GPL version 2 only strings/ctype-simple.c: Changed header to GPL version 2 only strings/ctype-sjis.c: Changed header to GPL version 2 only strings/ctype-tis620.c: Changed header to GPL version 2 only strings/ctype-uca.c: Changed header to GPL version 2 only strings/ctype-ucs2.c: Changed header to GPL version 2 only strings/ctype-ujis.c: Changed header to GPL version 2 only strings/ctype-utf8.c: Changed header to GPL version 2 only strings/ctype-win1250ch.c: Changed header to GPL version 2 only strings/ctype.c: Changed header to GPL version 2 only strings/decimal.c: Changed header to GPL version 2 only strings/do_ctype.c: Changed header to GPL version 2 only strings/int2str.c: Changed header to GPL version 2 only strings/is_prefix.c: Changed header to GPL version 2 only strings/llstr.c: Changed header to GPL version 2 only strings/longlong2str-x86.s: Changed header to GPL version 2 only strings/longlong2str.c: Changed header to GPL version 2 only strings/longlong2str_asm.c: Changed header to GPL version 2 only strings/macros.asm: Changed header to GPL version 2 only strings/memcmp.c: Changed header to GPL version 2 only strings/memcpy.c: Changed header to GPL version 2 only strings/memset.c: Changed header to GPL version 2 only strings/my_strtoll10-x86.s: Changed header to GPL version 2 only strings/my_strtoll10.c: Changed header to GPL version 2 only strings/my_vsnprintf.c: Changed header to GPL version 2 only strings/ptr_cmp.asm: Changed header to GPL version 2 only strings/r_strinstr.c: Changed header to GPL version 2 only strings/str2int.c: Changed header to GPL version 2 only strings/str_alloc.c: Changed header to GPL version 2 only strings/str_test.c: Changed header to GPL version 2 only strings/strappend-sparc.s: Changed header to GPL version 2 only strings/strappend.c: Changed header to GPL version 2 only strings/strcat.c: Changed header to GPL version 2 only strings/strcend.c: Changed header to GPL version 2 only strings/strchr.c: Changed header to GPL version 2 only strings/strcmp.c: Changed header to GPL version 2 only strings/strcont.c: Changed header to GPL version 2 only strings/strend-sparc.s: Changed header to GPL version 2 only strings/strend.c: Changed header to GPL version 2 only strings/strfill.c: Changed header to GPL version 2 only strings/strings-not-used.h: Changed header to GPL version 2 only strings/strings-x86.s: Changed header to GPL version 2 only strings/strings.asm: Changed header to GPL version 2 only strings/strinstr-sparc.s: Changed header to GPL version 2 only strings/strinstr.c: Changed header to GPL version 2 only strings/strlen.c: Changed header to GPL version 2 only strings/strmake-sparc.s: Changed header to GPL version 2 only strings/strmake.c: Changed header to GPL version 2 only strings/strmov-sparc.s: Changed header to GPL version 2 only strings/strmov.c: Changed header to GPL version 2 only strings/strnlen.c: Changed header to GPL version 2 only strings/strnmov-sparc.s: Changed header to GPL version 2 only strings/strnmov.c: Changed header to GPL version 2 only strings/strrchr.c: Changed header to GPL version 2 only strings/strstr-sparc.s: Changed header to GPL version 2 only strings/strstr.c: Changed header to GPL version 2 only strings/strto.c: Changed header to GPL version 2 only strings/strtol.c: Changed header to GPL version 2 only strings/strtoll.c: Changed header to GPL version 2 only strings/strtoul.c: Changed header to GPL version 2 only strings/strtoull.c: Changed header to GPL version 2 only strings/strxmov-sparc.s: Changed header to GPL version 2 only strings/strxmov.asm: Changed header to GPL version 2 only strings/strxmov.c: Changed header to GPL version 2 only strings/strxnmov.c: Changed header to GPL version 2 only strings/t_ctype.h: Changed header to GPL version 2 only strings/udiv.c: Changed header to GPL version 2 only strings/xml.c: Changed header to GPL version 2 only support-files/MacOSX/Makefile.am: Changed header to GPL version 2 only support-files/Makefile.am: Changed header to GPL version 2 only support-files/MySQL-shared-compat.spec.sh: Changed header to GPL version 2 only tests/Makefile.am: Changed header to GPL version 2 only tests/connect_test.c: Changed header to GPL version 2 only tests/deadlock_test.c: Changed header to GPL version 2 only tests/insert_test.c: Changed header to GPL version 2 only tests/list_test.c: Changed header to GPL version 2 only tests/mysql_client_test.c: Changed header to GPL version 2 only tests/select_test.c: Changed header to GPL version 2 only tests/showdb_test.c: Changed header to GPL version 2 only tests/ssl_test.c: Changed header to GPL version 2 only tests/thread_test.c: Changed header to GPL version 2 only tools/Makefile.am: Changed header to GPL version 2 only tools/mysqlmanager.c: Changed header to GPL version 2 only vio/Makefile.am: Changed header to GPL version 2 only vio/test-ssl.c: Changed header to GPL version 2 only vio/test-sslclient.c: Changed header to GPL version 2 only vio/test-sslserver.c: Changed header to GPL version 2 only vio/vio.c: Changed header to GPL version 2 only vio/vio_priv.h: Changed header to GPL version 2 only vio/viosocket.c: Changed header to GPL version 2 only vio/viossl.c: Changed header to GPL version 2 only vio/viosslfactories.c: Changed header to GPL version 2 only vio/viotest-ssl.c: Changed header to GPL version 2 only win/Makefile.am: Changed header to GPL version 2 only zlib/Makefile.am: Changed header to GPL version 2 only |
19 years ago |
|
|
f00257ddd0 |
Fixed compiler warnings detected by option -Wshadow and -Wunused:
- Removed not used variables and functions - Added #ifdef around code that is not used - Renamed variables and functions to avoid conflicts - Removed some not used arguments Fixed some class/struct warnings in ndb Added define IS_LONGDATA() to simplify code in libmysql.c I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes BUILD/SETUP.sh: Added printing of unused functions and variables. Made it easy to test compiling with -Wshadow BUILD/compile-pentium-gcov: Added warnings Mark binary with -gcov client/mysql.cc: Fixed warnings found with gcc -Wshadow client/mysql_upgrade.c: Fixed warnings found with gcc -Wshadow client/mysqlbinlog.cc: Fixed warnings found with gcc -Wshadow client/mysqldump.c: Fixed warnings found with gcc -Wshadow client/mysqltest.c: Fixed warnings found with gcc -Wshadow client/sql_string.cc: Fixed warnings found with gcc -Wshadow Merged with sql/sql_string.cc client/sql_string.h: Fixed warnings found with gcc -Wshadow Merged with sql/sql_string.h cmd-line-utils/readline/display.c: Fixed compiler warning cmd-line-utils/readline/histexpand.c: Fixed warnings found with gcc -Wshadow cmd-line-utils/readline/input.c: Fixed warnings found with gcc -Wshadow cmd-line-utils/readline/text.c: Fixed warnings found with gcc -Wshadow cmd-line-utils/readline/vi_mode.c: Fixed warnings found with gcc -Wshadow dbug/dbug_analyze.c: Fixed warnings found with gcc -Wshadow extra/my_print_defaults.c: Prefixed defaults_extra_file and defaults_group_suffix with 'my' to avoid conflicts with similar named local variables extra/yassl/include/buffer.hpp: Fixed compiler warnings extra/yassl/include/crypto_wrapper.hpp: Fixed compiler warnings extra/yassl/include/yassl_imp.hpp: Fixed compiler warnings extra/yassl/include/yassl_int.hpp: Fixed compiler warnings extra/yassl/src/crypto_wrapper.cpp: Fixed compiler warnings extra/yassl/taocrypt/benchmark/benchmark.cpp: Fixed warnings found with gcc -Wshadow extra/yassl/taocrypt/include/algebra.hpp: Fixed compiler warnings extra/yassl/taocrypt/include/des.hpp: Fixed compiler warnings extra/yassl/taocrypt/include/hash.hpp: Fixed compiler warnings extra/yassl/taocrypt/include/hmac.hpp: Fixed compiler warnings extra/yassl/taocrypt/include/modarith.hpp: Fixed compiler warnings extra/yassl/taocrypt/include/modes.hpp: Fixed compiler warnings extra/yassl/taocrypt/include/rsa.hpp: Fixed compiler warnings extra/yassl/taocrypt/mySTL/list.hpp: Fixed compiler warnings extra/yassl/taocrypt/src/aes.cpp: Fixed compiler warnings extra/yassl/taocrypt/src/algebra.cpp: Fixed compiler warnings extra/yassl/taocrypt/src/asn.cpp: Fixed compiler warnings extra/yassl/taocrypt/test/test.cpp: Fixed compiler warnings extra/yassl/testsuite/testsuite.cpp: Fixed compiler warnings include/m_ctype.h: Fixed warnings found with gcc -Wshadow include/my_pthread.h: Fixed warnings found with gcc -Wshadow include/my_sys.h: Fixed warnings found with gcc -Wshadow include/my_time.h: Fixed warnings found with gcc -Wshadow include/mysql.h: Fixed warnings found with gcc -Wshadow Added define IS_LONGDATA() to simplify code in libmysql.c libmysql/libmysql.c: Fixed warnings found with gcc -Wshadow (Mostly replaced bind -> my_bind and time -> my_time) libmysqld/lib_sql.cc: Removed not used variables and labels myisam/ft_boolean_search.c: Fixed warnings found with gcc -Wshadow myisam/mi_open.c: Fixed warnings found with gcc -Wshadow myisam/mi_search.c: Fixed warnings found with gcc -Wshadow myisam/mi_unique.c: Fixed compiler warning myisam/myisampack.c: Fixed warnings found with gcc -Wshadow myisam/rt_index.c: Remove not used variables myisam/sort.c: Fixed warnings found with gcc -Wshadow mysql-test/r/mysqlcheck.result: Remove databases and tables possible left by previous test mysql-test/r/mysqltest.result: New test results mysql-test/t/mysql.test: Coverage tests mysql-test/t/mysqlbinlog.test: Coverage tests mysql-test/t/mysqlcheck.test: Remove databases and tables possible left by previous test mysql-test/t/mysqltest.test: Coverage tests mysys/default.c: Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions mysys/mf_iocache2.c: Fixed warnings found with gcc -Wshadow mysys/mf_keycache.c: Fixed warnings found with gcc -Wshadow mysys/my_bitmap.c: Fixed warnings found with gcc -Wshadow mysys/sha1.c: Fixed warnings found with gcc -Wshadow ndb/include/kernel/signaldata/ArbitSignalData.hpp: Fixed compiler warning ndb/include/kernel/signaldata/DictTabInfo.hpp: Fixed compiler warnings ndb/include/ndbapi/NdbReceiver.hpp: Fixed warnings found with gcc -Wshadow ndb/include/transporter/TransporterDefinitions.hpp: Fixed compiler warning ndb/include/util/InputStream.hpp: Fixed compiler warning ndb/include/util/OutputStream.hpp: Fixed compiler warning ndb/include/util/SimpleProperties.hpp: Fixed compiler warning ndb/include/util/SocketAuthenticator.hpp: Fixed compiler warning ndb/include/util/SocketServer.hpp: Fixed compiler warning ndb/src/common/mgmcommon/ConfigRetriever.cpp: Fixed warnings found with gcc -Wshadow ndb/src/common/portlib/NdbTick.c: Fixed warnings found with gcc -Wshadow ndb/src/common/transporter/SHM_Transporter.cpp: Fixed warnings found with gcc -Wshadow ndb/src/common/transporter/TCP_Transporter.cpp: Fixed warnings found with gcc -Wshadow ndb/src/common/transporter/TCP_Transporter.hpp: Fixed compiler warning ndb/src/common/transporter/Transporter.cpp: Removed not used variable ndb/src/common/transporter/TransporterRegistry.cpp: Removed not used variable ndb/src/common/util/Bitmask.cpp: Moved function to avoid warnings of not used function ndb/src/common/util/ConfigValues.cpp: Fixed warnings found with gcc -Wshadow ndb/src/common/util/File.cpp: Fixed warnings found with gcc -Wshadow ndb/src/common/util/Properties.cpp: Fixed warnings found with gcc -Wshadow ndb/src/common/util/SocketClient.cpp: Fixed wrong return value ndb/src/common/util/random.c: Fixed warnings found with gcc -Wshadow ndb/src/common/util/socket_io.cpp: Fixed warnings found with gcc -Wshadow ndb/src/cw/cpcd/APIService.cpp: Removed not used variable ndb/src/cw/cpcd/main.cpp: Removed not used variables ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Fixed compiler warnings ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Removed not used variables ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Fixed compiler warnings ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Fixed compiler warnings ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Fixed compiler warnings ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Removed not used variables ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Fixed compiler warnings ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Fixed compiler warnings ndb/src/kernel/blocks/dbtup/DbtupScan.cpp: Removed not used variable ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp: Removed not used variables ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp: Removed not used variables ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp: Removed not used variables ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp: Fixed compiler warnings ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: Removed not used variables ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp: Fixed compiler warnings ndb/src/kernel/blocks/qmgr/Qmgr.hpp: Fixed compiler warnings ndb/src/kernel/blocks/qmgr/QmgrMain.cpp: Removed not used variables ndb/src/kernel/blocks/suma/Suma.cpp: Removed not used variables ndb/src/kernel/blocks/suma/Suma.hpp: Fixed compiler warnings ndb/src/kernel/vm/MetaData.hpp: Fixed compiler warnings ndb/src/mgmapi/LocalConfig.cpp: Fixed warnings found with gcc -Wshadow ndb/src/mgmapi/mgmapi.cpp: Fixed warnings found with gcc -Wshadow ndb/src/mgmclient/CommandInterpreter.cpp: Removed not used variables ndb/src/mgmsrv/ConfigInfo.cpp: Fixed warnings found with gcc -Wshadow Removed not used variables ndb/src/mgmsrv/ConfigInfo.hpp: Fixed warnings found with gcc -Wshadow ndb/src/mgmsrv/InitConfigFileParser.cpp: Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions ndb/src/mgmsrv/MgmtSrvr.cpp: Removed not used variables and functions ndb/src/mgmsrv/MgmtSrvr.hpp: Fixed compiler warnings ndb/src/mgmsrv/Services.cpp: Removed not used variables and functions ndb/src/mgmsrv/main.cpp: Removed not used variable ndb/src/ndbapi/ClusterMgr.hpp: Fixed compiler warnings ndb/src/ndbapi/Ndb.cpp: Removed not used variables ndb/src/ndbapi/NdbBlob.cpp: Removed not used variables ndb/src/ndbapi/NdbDictionaryImpl.cpp: Removed not used variables ndb/src/ndbapi/NdbIndexOperation.cpp: Removed not used variables ndb/src/ndbapi/NdbOperationDefine.cpp: Removed not used variables ndb/src/ndbapi/NdbOperationExec.cpp: Removed not used variables ndb/src/ndbapi/NdbOperationSearch.cpp: Removed not used variables ndb/src/ndbapi/NdbScanFilter.cpp: Fixed compiler warning ndb/src/ndbapi/NdbScanOperation.cpp: Removed not used variables ndb/src/ndbapi/SignalSender.cpp: Removed not used variables ndb/src/ndbapi/ndb_cluster_connection.cpp: Removed not used variable ndb/tools/delete_all.cpp: Removed not used variable ndb/tools/desc.cpp: Removed not used variable ndb/tools/drop_index.cpp: Removed not used variable ndb/tools/drop_tab.cpp: Removed not used variable ndb/tools/listTables.cpp: Removed not used variable ndb/tools/ndb_config.cpp: Fixed warnings found with gcc -Wshadow Added missing puts(desc) ndb/tools/restore/Restore.hpp: Changed delimiter to define instead of static variable, as the static variable caused a LOT of compiler warnings Fixed compiler warning ndb/tools/restore/consumer.hpp: Fixed compiler warning ndb/tools/restore/restore_main.cpp: Fixed compiler warnings ndb/tools/select_all.cpp: Removed not used variables ndb/tools/select_count.cpp: Removed not used variable server-tools/instance-manager/commands.h: Fixed compiler warnings server-tools/instance-manager/guardian.cc: Fixed compiler warnings server-tools/instance-manager/instance_options.cc: Removed not used variables server-tools/instance-manager/mysql_connection.cc: Fixed compiler warnings server-tools/instance-manager/options.cc: Fixed compiler warnings server-tools/instance-manager/options.h: Fixed compiler warnings server-tools/instance-manager/parse.cc: Removed not used variable server-tools/instance-manager/user_map.cc: Fixed compiler warnings server-tools/instance-manager/user_map.h: Fixed compiler warnings sql/field.cc: Fixed compiler warnings sql/field.h: Fixed compiler warnings sql/filesort.cc: Fixed compiler warnings sql/ha_archive.cc: Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings sql/ha_archive.h: Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings sql/ha_federated.cc: Fixed compiler warnings sql/ha_heap.cc: Fixed compiler warnings sql/ha_myisam.cc: Fixed compiler warnings sql/ha_myisammrg.cc: Fixed compiler warnings sql/ha_ndbcluster.cc: Fixed compiler warnings sql/handler.cc: Fixed compiler warnings sql/item.cc: Fixed compiler warnings sql/item.h: Fixed compiler warnings new_item() -> clone_item(), to avoid a lot of warnings with variable 'new_item' el() -> element_index() sql/item_cmpfunc.cc: Fixed compiler warnings sql/item_cmpfunc.h: Fixed compiler warnings sql/item_func.cc: Fixed compiler warnings sql/item_geofunc.cc: Fixed compiler warnings sql/item_row.h: Fixed compiler warnings sql/item_strfunc.cc: Fixed compiler warnings sql/item_subselect.cc: Fixed compiler warnings sql/item_subselect.h: Fixed compiler warnings sql/item_sum.cc: Fixed compiler warnings sql/item_timefunc.cc: Fixed compiler warnings sql/log.cc: Fixed compiler warnings More comments Added #ifdef HAVE_REPLICATION sql/log_event.cc: Fixed compiler warnings sql/log_event.h: Fixed compiler warnings sql/mysql_priv.h: query_id -> global_query_id, to avoid a lot of clashes with function and class variables start_time -> server_start_time sql/mysqld.cc: Fixed compiler warnings: - Removed not used variables - Added #ifndef EMBEDDED_LIBRARY - Fixed shadow warnings sql/net_serv.cc: Fixed compiler warnings sql/opt_range.cc: range -> last_range to avoid shadow warnings Removed not used function print_rowid() sql/opt_range.h: range -> last_range to avoid shadow warnings sql/password.c: Fixed compiler warnings sql/protocol.cc: Fixed compiler warnings sql/repl_failsafe.cc: Fixed compiler warnings sql/set_var.cc: Fixed compiler warnings sql/set_var.h: type() -> show_type() Fixed compiler warnings sql/slave.cc: Fixed compiler warnings sql/sp_head.cc: Fixed compiler warnings sql/sp_head.h: Fixed compiler warnings sql/spatial.cc: Fixed compiler warnings sql/spatial.h: length() -> geom_length() to avoid compiler warnings wkb_end -> wkb_last to avoid compiler warnings with local variables named 'wkb_end' sql/sql_cache.h: Fixed compiler warnings sql/sql_class.cc: Fixed compiler warnings sql/sql_class.h: log -> log_xid() to avoid compiler warnings Fixed shadow compiler warnings sql/sql_derived.cc: Removed not used variable sql/sql_insert.cc: Fixed compiler warnings sql/sql_lex.cc: Fixed compiler warnings sql/sql_lex.h: res -> saved_error to make the meaning of the variable clear and avoid shadow warnings sql/sql_load.cc: Fixed compiler warnings sql/sql_parse.cc: Fixed compiler warnings sql/sql_prepare.cc: Fixed compiler warnings sql/sql_select.cc: Fixed compiler warnings sql/sql_show.cc: Fixed compiler warnings sql/sql_string.cc: Fixed compiler warnings sql/sql_string.h: Fixed compiler warnings sql/sql_table.cc: Fixed compiler warnings sql/sql_trigger.cc: Fixed compiler warnings sql/sql_trigger.h: table -> trigger_table to avoid warnings from local variables sql/sql_union.cc: Fixed compiler warnings (mainly res -> saved_error) sql-common/client.c: Removed not used variable sql-common/my_time.c: Removed not used variable time -> my_time sql/sql_update.cc: Removed not used variable sql/sql_view.cc: Removed not used variable sql/sql_yacc.yy: Removed not used variable sql/table.cc: Removed not used variable sql/tztime.cc: Removed not used variable sql/unireg.cc: Removed not used variable strings/ctype-bin.c: mblen -> mb_len to avoid compiler warnings with local variable mblen strings/ctype-cp932.c: Fixed compiler warnings strings/ctype-eucjpms.c: Fixed compiler warnings strings/ctype-mb.c: mblen -> mb_len to avoid compiler warnings with local variable mblen strings/ctype-simple.c: mblen -> mb_len to avoid compiler warnings with local variable mblen exp -> exponent strings/ctype-sjis.c: Fixed compiler warnings strings/ctype-uca.c: mblen -> mb_len to avoid compiler warnings with local variable mblen strings/ctype-ujis.c: Fixed compiler warnings strings/ctype-utf8.c: Fixed compiler warnings strings/decimal.c: Fixed compiler warnings strings/my_vsnprintf.c: Added comment strings/strtod.c: Fixed compiler warnings tests/mysql_client_test.c: Fixed compiler warnings (Biggest part of patch is to not get a conflict with global function 'bind') |
19 years ago |
|
|
0e4dd85d67 |
Fix for bug#20670 "UPDATE using key and invoking trigger that modifies
this key does not stop" (version for 5.0 only).
UPDATE statement which WHERE clause used key and which invoked trigger
that modified field in this key worked indefinetely.
This problem occured because in cases when UPDATE statement was
executed in update-on-the-fly mode (in which row is updated right
during evaluation of select for WHERE clause) the new version of
the row became visible to select representing WHERE clause and was
updated again and again.
We already solve this problem for UPDATE statements which does not
invoke triggers by detecting the fact that we are going to update
field in key used for scanning and performing update in two steps,
during the first step we gather information about the rows to be
updated and then doing actual updates. We also do this for
MULTI-UPDATE and in its case we even detect situation when such
fields are updated in triggers (actually we simply assume that
we always update fields used in key if we have before update
trigger).
The fix simply extends this check which is done in check_if_key_used()/
QUICK_SELECT_I::check_if_keys_used() routine/method in such way that
it also detects cases when field used in key is updated in trigger.
As nice side-effect we have more precise and thus more optimal
perfomance-wise check for the MULTI-UPDATE.
Also check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() were
renamed to is_key_used()/QUICK_SELECT_I::is_keys_used() in order to
better reflect that boolean predicate.
Note that this check is implemented in much more elegant way in 5.1
mysql-test/r/trigger.result:
Added test case for bug#20670 "UPDATE using key and invoking trigger that
modifies this key does not stop".
mysql-test/t/trigger.test:
Added test case for bug#20670 "UPDATE using key and invoking trigger that
modifies this key does not stop".
sql/key.cc:
Renamed check_if_key_used() to is_key_used(). Also this routine checks if
key uses field which can be updated by before update trigger defined on the
table. As result we avoid using update-on-the-fly method in cases when trigger
updates part of key which is used by select which filters rows to be updated
and thus avoid infinite updates. By doing such check here we cover both UPDATE
and MULTI-UPDATE cases.
sql/mysql_priv.h:
Renamed check_if_key_used() to is_key_used().
sql/opt_range.cc:
Renamed check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() to
is_key_used()/QUICK_SELECT_I::is_keys_used().
sql/opt_range.h:
Renamed QUICK_SELECT_I::check_if_keys_used() method to is_keys_used(),
also updated comment describing it to reflect its extended semantics
(this change was caused by change in check_if_key_used()/is_key_used()
routine semantics).
sql/sql_trigger.cc:
Introduced Table_triggers_list::is_updated_in_before_update_triggers()
method which is needed for checking if field of subject table can be
changed in before update trigger.
sql/sql_trigger.h:
Table_triggers_list:
Removed has_before_update_triggers() method which is not used any longer.
Added declaration of is_updated_in_before_update_triggers() which is
needed for checking if field of subject table can be changed by before
update trigger.
sql/sql_update.cc:
safe_update_on_fly():
check_if_key_used() routine and check_if_keys_used() method were
renamed to is_key_used()/is_keys_used().
Now cases when trigger updates fields which are part of key used for
filtering rows for update are caught directly in is_key_used().
This also allows to cover both UPDATE and MULTI-UPDATE cases.
|
20 years ago |
|
|
2f0a610f91 |
Polishing (was the part of original patch for BUG#16899):
Changed trigger-handling code so that there will be the one place for generate statement string for replication log and for trigger file. sql/sql_trigger.cc: Changed trigger-handling code so that there will be the one place for generate statement string for replication log and for trigger file. sql/sql_trigger.h: Changed trigger-handling code so that there will be the one place for generate statement string for replication log and for trigger file. |
20 years ago |
|
|
0e47753ffd |
After merge fixes for patch solving bug#18437 "Wrong values inserted with a
before update trigger on NDB table".
Two main changes:
- We use TABLE::read_set/write_set bitmaps for marking fields used by
statement instead of Field::query_id in 5.1.
- Now when we mark columns used by statement we take into account columns
used by table's triggers instead of marking all columns as used if table
has triggers.
mysql-test/r/federated.result:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
mysql-test/t/federated.test:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
sql/ha_partition.cc:
Added handling of HA_EXTRA_WRITE_CAN_REPLACE/HA_EXTRA_WRITE_CANNOT_REPLACE
to ha_partition::extra().
sql/item.cc:
Adjusted comment after merge. In 5.1 we use TABLE::read_set/write_set
bitmaps instead of Field::query_id for marking columns used.
sql/log_event.cc:
Write_rows_log_event::do_before_row_operations():
Now we explicitly inform handler that we want to replace rows so it can
promote operation done by write_row() to replace.
sql/mysql_priv.h:
Removed declaration of mark_fields_used_by_triggers_for_insert_stmt() which
is no longer used (we have TABLE::mark_columns_needed_for_insert() instead).
sql/sql_insert.cc:
Adjusted code after merge. Get rid of mark_fields_used_by_triggers_for_insert_stmt()
as now we use TABLE::mark_columns_needed_for_insert() for the same purprose.
Aligned places where we call this method with places where we call
mark_fields_used_by_triggers_for_insert() in 5.0.
Finally we no longer need to call handler::extra(HA_EXTRA_WRITE_CAN_REPLACE)
in case of REPLACE statement since in 5.1 write_record() marks all columns
as used before doing actual row replacement.
sql/sql_load.cc:
Adjusted code after merge. In 5.1 we use TABLE::mark_columns_needed_for_insert() instead of
mark_fields_used_by_triggers_for_insert_stmt() routine. We also no longer
need to call handler::extra(HA_EXTRA_RETRIEVE_ALL_COLS) if we execute LOAD
DATA REPLACE since in 5.1 write_record() will mark all columns as used before
doing actual row replacement.
sql/sql_trigger.cc:
Table_triggers_list::mark_fields_used():
We use TABLE::read_set/write_set bitmaps for marking fields used instead
of Field::query_id in 5.1.
sql/sql_trigger.h:
TABLE::mark_columns_needed_for_* methods no longer need to be friends of
Table_triggers_list class as intead of dirrectly accessing its private
members they can use public Table_triggers_list::mark_fields_used() method.
Also Table_triggers)list::mark_fields_used() no longer needs THD argument.
sql/table.cc:
TABLE::mark_columns_needed_for_*():
Now we mark columns which are really used by table's triggers instead of
marking all columns as used if table has triggers.
|
20 years ago |
|
|
ae9724cce1 |
Fix for bug#18437 "Wrong values inserted with a before update trigger on
NDB table". SQL-layer was not marking fields which were used in triggers as such. As result these fields were not always properly retrieved/stored by handler layer. So one might got wrong values or lost changes in triggers for NDB, Federated and possibly InnoDB tables. This fix solves the problem by marking fields used in triggers appropriately. Also this patch contains the following cleanup of ha_ndbcluster code: We no longer rely on reading LEX::sql_command value in handler in order to determine if we can enable optimization which allows us to handle REPLACE statement in more efficient way by doing replaces directly in write_row() method without reporting error to SQL-layer. Instead we rely on SQL-layer informing us whether this optimization applicable by calling handler::extra() method with HA_EXTRA_WRITE_CAN_REPLACE flag. As result we no longer apply this optimzation in cases when it should not be used (e.g. if we have on delete triggers on table) and use in some additional cases when it is applicable (e.g. for LOAD DATA REPLACE). Finally this patch includes fix for bug#20728 "REPLACE does not work correctly for NDB table with PK and unique index". This was yet another problem which was caused by improper field mark-up. During row replacement fields which weren't explicity used in REPLACE statement were not marked as fields to be saved (updated) so they have retained values from old row version. The fix is to mark all table fields as set for REPLACE statement. Note that in 5.1 we already solve this problem by notifying handler that it should save values from all fields only in case when real replacement happens. include/my_base.h: Added HA_EXTRA_WRITE_CAN_REPLACE, HA_EXTRA_WRITE_CANNOT_REPLACE - new parameters for ha_extra() method. We use them to inform handler that write_row() which tries to insert new row into the table and encounters some already existing row with same primary/unique key can replace old row with new row instead of reporting error. mysql-test/r/federated.result: Additional test for bug#18437 "Wrong values inserted with a before update trigger on NDB table". mysql-test/r/ndb_replace.result: Added test for bug #20728 "REPLACE does not work correctly for NDB table with PK and unique index". Updated wrong results from older test. mysql-test/t/federated.test: Additional test for bug#18437 "Wrong values inserted with a before update trigger on NDB table". mysql-test/t/ndb_replace.test: Added test for bug #20728 "REPLACE does not work correctly for NDB table with PK and unique index". sql/ha_ndbcluster.cc: We no longer rely on reading LEX::sql_command value in handler in order to determine if we can enable optimization which allows us to handle REPLACE statement in more efficient way by doing replaces directly in write_row() method without reporting error to SQL-layer. Instead we rely on SQL-layer informing us whether this optimization applicable by calling handler::extra() method with HA_EXTRA_WRITE_CAN_REPLACE flag. As result we no longer apply this optimization in cases when it should not be used (e.g. if we have on delete triggers on table) and use in some additional cases when it is applicable (e.g. for LOAD DATA REPLACE). sql/item.cc: Item_trigger_field::setup_field(): Added comment explaining why we don't set Field::query_id in this method. sql/mysql_priv.h: mysql_alter_table() function no longer takes handle_duplicates argument. Added declaration of mark_fields_used_by_triggers_for_insert_stmt() function. sql/sql_delete.cc: Mark fields which are used by ON DELETE triggers so handler will retrieve values for these fields. sql/sql_insert.cc: Explicitly inform handler that we are doing REPLACE (using ha_extra() method) in cases when it can promote insert operation done by write_row() to replace. Also when we do REPLACE we want to store values for all columns so we should inform handler about it. Finally we should mark fields used by ON UPDATE/ON DELETE triggers as such so handler can properly retrieve/restore values in these fields during execution of REPLACE and INSERT ... ON DUPLICATE KEY UPDATE statements. sql/sql_load.cc: Explicitly inform handler that we are doing LOAD DATA REPLACE (using ha_extra() method) in cases when it can promote insert operation done by write_row() to replace. Also when we do replace we want to save (replace) values for all columns so we should inform handler about it. Finally to properly execute LOAD DATA for table with triggers we should mark fields used by ON INSERT triggers as such so handler can properly store values for these fields. sql/sql_parse.cc: mysql_alter_table() function no longer takes handle_duplicates argument. sql/sql_table.cc: Got rid of handle_duplicates argument in mysql_alter_table() and copy_data_between_tables() functions. These functions were always called with handle_duplicates == DUP_ERROR and thus contained dead (and probably incorrect) code. sql/sql_trigger.cc: Added Table_triggers_list::mark_fields_used() method which is used to mark fields read/set by triggers as such so handlers will be able properly retrieve/store values in these fields. sql/sql_trigger.h: Table_triggers_list: Added mark_fields_used() method which is used to mark fields read/set by triggers as such so handlers will be able properly retrieve/store values in these fields. To implement this method added 'trigger_fields' member which is array of lists linking items for all fields used in triggers grouped by event and action time. sql/sql_update.cc: Mark fields which are used by ON UPDATE triggers so handler will retrieve and save values for these fields. mysql-test/r/ndb_trigger.result: Added test for bug#18437 "Wrong values inserted with a before update trigger on NDB table". mysql-test/t/ndb_trigger.test: Added test for bug#18437 "Wrong values inserted with a before update trigger on NDB table". |
20 years ago |
|
|
01d03e7b4b |
This changeset is largely a handler cleanup changeset (WL#3281), but includes fixes and cleanups that was found necessary while testing the handler changes
Changes that requires code changes in other code of other storage engines.
(Note that all changes are very straightforward and one should find all issues
by compiling a --debug build and fixing all compiler errors and all
asserts in field.cc while running the test suite),
- New optional handler function introduced: reset()
This is called after every DML statement to make it easy for a handler to
statement specific cleanups.
(The only case it's not called is if force the file to be closed)
- handler::extra(HA_EXTRA_RESET) is removed. Code that was there before
should be moved to handler::reset()
- table->read_set contains a bitmap over all columns that are needed
in the query. read_row() and similar functions only needs to read these
columns
- table->write_set contains a bitmap over all columns that will be updated
in the query. write_row() and update_row() only needs to update these
columns.
The above bitmaps should now be up to date in all context
(including ALTER TABLE, filesort()).
The handler is informed of any changes to the bitmap after
fix_fields() by calling the virtual function
handler::column_bitmaps_signal(). If the handler does caching of
these bitmaps (instead of using table->read_set, table->write_set),
it should redo the caching in this code. as the signal() may be sent
several times, it's probably best to set a variable in the signal
and redo the caching on read_row() / write_row() if the variable was
set.
- Removed the read_set and write_set bitmap objects from the handler class
- Removed all column bit handling functions from the handler class.
(Now one instead uses the normal bitmap functions in my_bitmap.c instead
of handler dedicated bitmap functions)
- field->query_id is removed. One should instead instead check
table->read_set and table->write_set if a field is used in the query.
- handler::extra(HA_EXTRA_RETRIVE_ALL_COLS) and
handler::extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) are removed. One should now
instead use table->read_set to check for which columns to retrieve.
- If a handler needs to call Field->val() or Field->store() on columns
that are not used in the query, one should install a temporary
all-columns-used map while doing so. For this, we provide the following
functions:
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
field->val();
dbug_tmp_restore_column_map(table->read_set, old_map);
and similar for the write map:
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set);
field->val();
dbug_tmp_restore_column_map(table->write_set, old_map);
If this is not done, you will sooner or later hit a DBUG_ASSERT
in the field store() / val() functions.
(For not DBUG binaries, the dbug_tmp_restore_column_map() and
dbug_tmp_restore_column_map() are inline dummy functions and should
be optimized away be the compiler).
- If one needs to temporary set the column map for all binaries (and not
just to avoid the DBUG_ASSERT() in the Field::store() / Field::val()
methods) one should use the functions tmp_use_all_columns() and
tmp_restore_column_map() instead of the above dbug_ variants.
- All 'status' fields in the handler base class (like records,
data_file_length etc) are now stored in a 'stats' struct. This makes
it easier to know what status variables are provided by the base
handler. This requires some trivial variable names in the extra()
function.
- New virtual function handler::records(). This is called to optimize
COUNT(*) if (handler::table_flags() & HA_HAS_RECORDS()) is true.
(stats.records is not supposed to be an exact value. It's only has to
be 'reasonable enough' for the optimizer to be able to choose a good
optimization path).
- Non virtual handler::init() function added for caching of virtual
constants from engine.
- Removed has_transactions() virtual method. Now one should instead return
HA_NO_TRANSACTIONS in table_flags() if the table handler DOES NOT support
transactions.
- The 'xxxx_create_handler()' function now has a MEM_ROOT_root argument
that is to be used with 'new handler_name()' to allocate the handler
in the right area. The xxxx_create_handler() function is also
responsible for any initialization of the object before returning.
For example, one should change:
static handler *myisam_create_handler(TABLE_SHARE *table)
{
return new ha_myisam(table);
}
->
static handler *myisam_create_handler(TABLE_SHARE *table, MEM_ROOT *mem_root)
{
return new (mem_root) ha_myisam(table);
}
- New optional virtual function: use_hidden_primary_key().
This is called in case of an update/delete when
(table_flags() and HA_PRIMARY_KEY_REQUIRED_FOR_DELETE) is defined
but we don't have a primary key. This allows the handler to take precisions
in remembering any hidden primary key to able to update/delete any
found row. The default handler marks all columns to be read.
- handler::table_flags() now returns a ulonglong (to allow for more flags).
- New/changed table_flags()
- HA_HAS_RECORDS Set if ::records() is supported
- HA_NO_TRANSACTIONS Set if engine doesn't support transactions
- HA_PRIMARY_KEY_REQUIRED_FOR_DELETE
Set if we should mark all primary key columns for
read when reading rows as part of a DELETE
statement. If there is no primary key,
all columns are marked for read.
- HA_PARTIAL_COLUMN_READ Set if engine will not read all columns in some
cases (based on table->read_set)
- HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
Renamed to HA_PRIMARY_KEY_REQUIRED_FOR_POSITION.
- HA_DUPP_POS Renamed to HA_DUPLICATE_POS
- HA_REQUIRES_KEY_COLUMNS_FOR_DELETE
Set this if we should mark ALL key columns for
read when when reading rows as part of a DELETE
statement. In case of an update we will mark
all keys for read for which key part changed
value.
- HA_STATS_RECORDS_IS_EXACT
Set this if stats.records is exact.
(This saves us some extra records() calls
when optimizing COUNT(*))
- Removed table_flags()
- HA_NOT_EXACT_COUNT Now one should instead use HA_HAS_RECORDS if
handler::records() gives an exact count() and
HA_STATS_RECORDS_IS_EXACT if stats.records is exact.
- HA_READ_RND_SAME Removed (no one supported this one)
- Removed not needed functions ha_retrieve_all_cols() and ha_retrieve_all_pk()
- Renamed handler::dupp_pos to handler::dup_pos
- Removed not used variable handler::sortkey
Upper level handler changes:
- ha_reset() now does some overall checks and calls ::reset()
- ha_table_flags() added. This is a cached version of table_flags(). The
cache is updated on engine creation time and updated on open.
MySQL level changes (not obvious from the above):
- DBUG_ASSERT() added to check that column usage matches what is set
in the column usage bit maps. (This found a LOT of bugs in current
column marking code).
- In 5.1 before, all used columns was marked in read_set and only updated
columns was marked in write_set. Now we only mark columns for which we
need a value in read_set.
- Column bitmaps are created in open_binary_frm() and open_table_from_share().
(Before this was in table.cc)
- handler::table_flags() calls are replaced with handler::ha_table_flags()
- For calling field->val() you must have the corresponding bit set in
table->read_set. For calling field->store() you must have the
corresponding bit set in table->write_set. (There are asserts in
all store()/val() functions to catch wrong usage)
- thd->set_query_id is renamed to thd->mark_used_columns and instead
of setting this to an integer value, this has now the values:
MARK_COLUMNS_NONE, MARK_COLUMNS_READ, MARK_COLUMNS_WRITE
Changed also all variables named 'set_query_id' to mark_used_columns.
- In filesort() we now inform the handler of exactly which columns are needed
doing the sort and choosing the rows.
- The TABLE_SHARE object has a 'all_set' column bitmap one can use
when one needs a column bitmap with all columns set.
(This is used for table->use_all_columns() and other places)
- The TABLE object has 3 column bitmaps:
- def_read_set Default bitmap for columns to be read
- def_write_set Default bitmap for columns to be written
- tmp_set Can be used as a temporary bitmap when needed.
The table object has also two pointer to bitmaps read_set and write_set
that the handler should use to find out which columns are used in which way.
- count() optimization now calls handler::records() instead of using
handler->stats.records (if (table_flags() & HA_HAS_RECORDS) is true).
- Added extra argument to Item::walk() to indicate if we should also
traverse sub queries.
- Added TABLE parameter to cp_buffer_from_ref()
- Don't close tables created with CREATE ... SELECT but keep them in
the table cache. (Faster usage of newly created tables).
New interfaces:
- table->clear_column_bitmaps() to initialize the bitmaps for tables
at start of new statements.
- table->column_bitmaps_set() to set up new column bitmaps and signal
the handler about this.
- table->column_bitmaps_set_no_signal() for some few cases where we need
to setup new column bitmaps but don't signal the handler (as the handler
has already been signaled about these before). Used for the momement
only in opt_range.cc when doing ROR scans.
- table->use_all_columns() to install a bitmap where all columns are marked
as use in the read and the write set.
- table->default_column_bitmaps() to install the normal read and write
column bitmaps, but not signaling the handler about this.
This is mainly used when creating TABLE instances.
- table->mark_columns_needed_for_delete(),
table->mark_columns_needed_for_delete() and
table->mark_columns_needed_for_insert() to allow us to put additional
columns in column usage maps if handler so requires.
(The handler indicates what it neads in handler->table_flags())
- table->prepare_for_position() to allow us to tell handler that it
needs to read primary key parts to be able to store them in
future table->position() calls.
(This replaces the table->file->ha_retrieve_all_pk function)
- table->mark_auto_increment_column() to tell handler are going to update
columns part of any auto_increment key.
- table->mark_columns_used_by_index() to mark all columns that is part of
an index. It will also send extra(HA_EXTRA_KEYREAD) to handler to allow
it to quickly know that it only needs to read colums that are part
of the key. (The handler can also use the column map for detecting this,
but simpler/faster handler can just monitor the extra() call).
- table->mark_columns_used_by_index_no_reset() to in addition to other columns,
also mark all columns that is used by the given key.
- table->restore_column_maps_after_mark_index() to restore to default
column maps after a call to table->mark_columns_used_by_index().
- New item function register_field_in_read_map(), for marking used columns
in table->read_map. Used by filesort() to mark all used columns
- Maintain in TABLE->merge_keys set of all keys that are used in query.
(Simplices some optimization loops)
- Maintain Field->part_of_key_not_clustered which is like Field->part_of_key
but the field in the clustered key is not assumed to be part of all index.
(used in opt_range.cc for faster loops)
- dbug_tmp_use_all_columns(), dbug_tmp_restore_column_map()
tmp_use_all_columns() and tmp_restore_column_map() functions to temporally
mark all columns as usable. The 'dbug_' version is primarily intended
inside a handler when it wants to just call Field:store() & Field::val()
functions, but don't need the column maps set for any other usage.
(ie:: bitmap_is_set() is never called)
- We can't use compare_records() to skip updates for handlers that returns
a partial column set and the read_set doesn't cover all columns in the
write set. The reason for this is that if we have a column marked only for
write we can't in the MySQL level know if the value changed or not.
The reason this worked before was that MySQL marked all to be written
columns as also to be read. The new 'optimal' bitmaps exposed this 'hidden
bug'.
- open_table_from_share() does not anymore setup temporary MEM_ROOT
object as a thread specific variable for the handler. Instead we
send the to-be-used MEMROOT to get_new_handler().
(Simpler, faster code)
Bugs fixed:
- Column marking was not done correctly in a lot of cases.
(ALTER TABLE, when using triggers, auto_increment fields etc)
(Could potentially result in wrong values inserted in table handlers
relying on that the old column maps or field->set_query_id was correct)
Especially when it comes to triggers, there may be cases where the
old code would cause lost/wrong values for NDB and/or InnoDB tables.
- Split thd->options flag OPTION_STATUS_NO_TRANS_UPDATE to two flags:
OPTION_STATUS_NO_TRANS_UPDATE and OPTION_KEEP_LOG.
This allowed me to remove some wrong warnings about:
"Some non-transactional changed tables couldn't be rolled back"
- Fixed handling of INSERT .. SELECT and CREATE ... SELECT that wrongly reset
(thd->options & OPTION_STATUS_NO_TRANS_UPDATE) which caused us to loose
some warnings about
"Some non-transactional changed tables couldn't be rolled back")
- Fixed use of uninitialized memory in ha_ndbcluster.cc::delete_table()
which could cause delete_table to report random failures.
- Fixed core dumps for some tests when running with --debug
- Added missing FN_LIBCHAR in mysql_rm_tmp_tables()
(This has probably caused us to not properly remove temporary files after
crash)
- slow_logs was not properly initialized, which could maybe cause
extra/lost entries in slow log.
- If we get an duplicate row on insert, change column map to read and
write all columns while retrying the operation. This is required by
the definition of REPLACE and also ensures that fields that are only
part of UPDATE are properly handled. This fixed a bug in NDB and
REPLACE where REPLACE wrongly copied some column values from the replaced
row.
- For table handler that doesn't support NULL in keys, we would give an error
when creating a primary key with NULL fields, even after the fields has been
automaticly converted to NOT NULL.
- Creating a primary key on a SPATIAL key, would fail if field was not
declared as NOT NULL.
Cleanups:
- Removed not used condition argument to setup_tables
- Removed not needed item function reset_query_id_processor().
- Field->add_index is removed. Now this is instead maintained in
(field->flags & FIELD_IN_ADD_INDEX)
- Field->fieldnr is removed (use field->field_index instead)
- New argument to filesort() to indicate that it should return a set of
row pointers (not used columns). This allowed me to remove some references
to sql_command in filesort and should also enable us to return column
results in some cases where we couldn't before.
- Changed column bitmap handling in opt_range.cc to be aligned with TABLE
bitmap, which allowed me to use bitmap functions instead of looping over
all fields to create some needed bitmaps. (Faster and smaller code)
- Broke up found too long lines
- Moved some variable declaration at start of function for better code
readability.
- Removed some not used arguments from functions.
(setup_fields(), mysql_prepare_insert_check_table())
- setup_fields() now takes an enum instead of an int for marking columns
usage.
- For internal temporary tables, use handler::write_row(),
handler::delete_row() and handler::update_row() instead of
handler::ha_xxxx() for faster execution.
- Changed some constants to enum's and define's.
- Using separate column read and write sets allows for easier checking
of timestamp field was set by statement.
- Remove calls to free_io_cache() as this is now done automaticly in ha_reset()
- Don't build table->normalized_path as this is now identical to table->path
(after bar's fixes to convert filenames)
- Fixed some missed DBUG_PRINT(.."%lx") to use "0x%lx" to make it easier to
do comparision with the 'convert-dbug-for-diff' tool.
Things left to do in 5.1:
- We wrongly log failed CREATE TABLE ... SELECT in some cases when using
row based logging (as shown by testcase binlog_row_mix_innodb_myisam.result)
Mats has promised to look into this.
- Test that my fix for CREATE TABLE ... SELECT is indeed correct.
(I added several test cases for this, but in this case it's better that
someone else also tests this throughly).
Lars has promosed to do this.
BitKeeper/etc/ignore:
added mysys/test_bitmap
include/base64.h:
Removed my_global.h, as this must be included first in any program
include/heap.h:
Added heap_reset() (Required by new handler interface)
include/my_base.h:
Removed HA_EXTRA_RESET. MySQL will now call ::reset() instead of ::extra(HA_EXTRA_RESET).
HA_EXTRA_RETRIVE_ALL_COLS and HA_EXTRA_RETRIVE_PRIMARY key are deleted as the column bitmaps makes these unnecessary
include/my_bitmap.h:
Remove my_pthread.h (should be included at upper level)
Introduced my_bitmap_map typedef to make it the bitmap handling more like a black box
Added bitmap_is_overlapping(), bitmap_test_and_clear(), bitmap_copy() and bitmap_cmp()
Made bitmap_set_bit(), bitmap_flip_bit(), bitmap_clear_bit() return void
include/myisam.h:
Added mi_reset() (Required by new handler interface)
include/myisammrg.h:
Added myrg_reset() (Required by new handler interface)
include/mysql_com.h:
Added flag FIELD_IN_ADD_INDEX to be able to remove Field->add_index
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Added testing of CREATE ... SELECT in a mixed environment
(This found some bugs that Mats is going to fix shortly)
mysql-test/install_test_db.sh:
Simplify ldata usage
Added --tmpdir=. option to mysqld bootstrap (Removed some warnings when TMPDIR was wrongly set)
mysql-test/mysql-test-run.pl:
Added --tmpdir=. to bootstrap
mysql-test/mysql-test-run.sh:
Use copy instead of INSTALL_DB for master and slave databases.
(Speeds up startup time a lot!)
Remove snapshot directories at startup (removes some strange warnings)
mysql-test/r/binlog_row_mix_innodb_myisam.result:
Added testing of CREATE ... SELECT in a mixed environment
(This found some bugs that Mats is going to fix shortly)
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Added testing of CREATE ... SELECT in a mixed environment
mysql-test/r/create.result:
Some extra tests of warnings and number of tables opened by CREATE ... SELECT
mysql-test/r/federated.result:
Drop some left over tables
Added testing of multiple table update and multiple table delete (with and without keys)
mysql-test/r/func_gconcat.result:
Enable some disabled tests (converted them slightly to be predictable)
mysql-test/r/func_time.result:
Added drop of test function
mysql-test/r/innodb_mysql.result:
Added tests for CREATE ... SELECT
mysql-test/r/insert.result:
More tests
Added testing of duplicate columns in insert
mysql-test/r/loaddata.result:
Added testing LOAD DATA ... SET ...
mysql-test/r/multi_update.result:
Test multi updates and deletes using primary key and without
mysql-test/r/ndb_index_unique.result:
Better error message
mysql-test/r/ndb_replace.result:
New correct result after fixing REPLACE handling with NDB
mysql-test/r/rpl_ddl.result:
Now we don't get these (wrong) warnings anymore
mysql-test/r/view_grant.result:
Drop used views
mysql-test/t/create.test:
Some extra tests of warnings and number of tables opened by CREATE ... SELECT
mysql-test/t/federated.test:
Drop some left over tables
Added testing of multiple table update and multiple table delete (with and without keys)
mysql-test/t/func_gconcat.test:
Enable some disabled tests (converted them slightly to be predictable)
mysql-test/t/func_time.test:
Added drop of test function
mysql-test/t/innodb_mysql.test:
Added tests for CREATE ... SELECT
mysql-test/t/insert.test:
More tests
Added testing of duplicate columns in insert
mysql-test/t/loaddata.test:
Added testing LOAD DATA ... SET ...
mysql-test/t/multi_update.test:
Test multi updates and deletes using primary key and without
mysql-test/t/view_grant.test:
Drop used views
mysql-test/valgrind.supp:
Added supression of not needed warnings when printing stack trace
mysys/base64.c:
Include my_global.h first
mysys/my_bitmap.c:
Added bitmap_is_overlapping(), bitmap_test_and_clear() and bitmap_copy()
Changed logic of bitmap handling to be a bit more efficent (Did this together with Mikael Ronström)
Now the 'extra, not used bits' in the bitmap are assumed to have a 'random value' and the bitmap functions are free to change them whenever needed.
Changed how mutex is allocated to make 'bitmap_free()' function simpler.
mysys/thr_lock.c:
Added 0x before thread pointers (for easier comparison of DBUG traces)
sql/event.cc:
Ensure 'use_all_columns()' is used for event tables
Don't print warning that event table is damaged if it doesn't exists.
sql/field.cc:
Added ASSERT_COLUMN_MARKED_FOR_WRITE in all store() methods and ASSERT_COLUMN_MARKED_FOR_READ in all val() methods to catch wrong setting if table->read_set and table->write_set
(Rest of changes are only indentation cleanups)
sql/field.h:
Removed Field->query_id (replaced by table->read_set and table->write_set)
Removed Field->fieldnr (use Field->field_index instead)
Removed Field->add_index (Use Field->flags instead)
Add Field->part_of_key_not_clustered (for usage in opt_range.cc)
sql/filesort.cc:
Added paramater sort_postion to filesort() to force sorting by position instead of storing all fields in the result set.
This allowed me to remove checking of sql_command.
Create a temporary column bitmap for fields that are used by the sorting process.
Use column bitmaps instead of query_id
sql/ha_berkeley.cc:
Update to 'newer' table handler interface
sql/ha_berkeley.h:
Update to 'newer' table handler interface
sql/ha_federated.cc:
Update to 'newer' table handler interface
Only read columns that are needed from remote server.
In case of eq ranges, don't generate two conditions in the WHERE clause
(this can still be optimized, but would require a bigger code change)
Use 'simpler to use' XXXX_LEN' macros
A bit simpler logic in ::write_row() when creating statements.
In update, only include test of fields actually read.
(This greatly simplifies the queries sent by the federated engine)
Similar changes done for delete_row()
sql/ha_federated.h:
Update to 'newer' table handler interface
Changed XXX_LEN macros to use sizeof(...)-1, to simplify usage in ha_federated.cc
Added HA_PRIMARY_KEY_REQUIRED_FOR_DELETE to tell MySQL to read all primary key columns in case of DELETE
sql/ha_heap.cc:
Update to 'newer' table handler interface
sql/ha_heap.h:
Update to 'newer' table handler interface
sql/ha_innodb.cc:
Update to 'newer' table handler interface
- Update innobase_create_handler() to new interface
- Removed HA_NOT_EXACT_COUNT (not needed)
- Renamed HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS to HA_PRIMARY_KEY_REQUIRED_FOR_POSITION.
- Prefixed base status variables with 'stats'
- Use table column bitmaps instead of ha_get_bit_in_read_set()
- Added ::reset(), with code from ::extra(HA_EXTRA_RESET)
- Removed HA_EXTRA_RETRIVE_ALL_COLS and HA_EXTRA_RETRIEVE_PRIMARY_KEY as
the table->read_set and table->write_set bitmaps now are accurate
sql/ha_innodb.h:
Update to 'newer' table handler interface
- table_flags are now ulonglong
- Added reset() method
- Removed not needed ha_retrieve_all_cols() and ha_retrieve_all_pk() columns.
- Made build_template() a class function to be able to easier access class variables
sql/ha_myisam.cc:
Update to 'newer' table handler interface
sql/ha_myisam.h:
Update to 'newer' table handler interface
sql/ha_myisammrg.cc:
Update to 'newer' table handler interface
sql/ha_myisammrg.h:
Update to 'newer' table handler interface
sql/ha_ndbcluster.cc:
Update to 'newer' table handler interface
Fixed use_blob_value() to be accurate
In ::complemented_read() we have to check both the read and write bitmap as the old code did mark all changed columns also in the read map
Correct dumping of field data with DBUG_DUMP
Prefix addresses in DBUG_PRINT with 0x
Fixed usage of not initialized memory
Update to use field->flags & FIELD_IN_ADD_INDEX instead of field->add_index.
sql/ha_ndbcluster.h:
Update to 'newer' table handler interface
sql/ha_ndbcluster_binlog.cc:
Mark usage of all columns in ndbcluster binlog tables
false -> FALSE, true -> TRUE
Use table->s->all_set instead of creating a temporary bitmap.
sql/ha_partition.cc:
Update to 'newer' table handler interface
Added memroot to initialise_partitions() and related functions to get faster memory allocation.
partition_create_handler() is now responsible for initialisation of the partition object
Some trivial optimizations and indentation fixes
Ensure that table_flags() are up to date
Removed documentation for removed HA_EXTRA flags
Fixed 'strange' usage of m_file[i] in new_handlers_from_part_info()that worked in current code 'by chance'
sql/ha_partition.h:
Update to 'newer' table handler interface
sql/handler.cc:
create_xxx handler now takes MEMROOT as an argument to simplify memory allocation.
Much simpler get_new_handler()
(Initialization of the object is now handled by the create method for the engine)
Moved all allocation of bitmap handling to the TABLE object (in table.cc)
Added column_bitmaps_signal() to signal column usage changes.
Changed binlog_log_row() to use the exiusting all_set bitmap in the table object.
Added ha_reset() function to test that the file object is ok at end of statement and call handler::reset()
Added use_hidden_primary_key() to signal handler that we we are going to read and update + delete the row and the handler should thus remember the position for the row
sql/handler.h:
Added HA_NO_TRANSACTIONS, HA_PARTIAL_COLUMN_READ, HA_REQUIRES_KEY_COLUMNS_FOR_DELETE,HA_PRIMARY_KEY_REQUIRED_FOR_DELETE and HA_HAS_RECORDS
Removed HA_NOT_EXACT_COUNT, HA_READ_RND_SAME
HA_DUPP_POS -> HA_DUPLICATE_POS
HA_NOT_EXACT_COUNT replaced by HA_STATS_RECORDS_IS_EXACT, HA_HAS_RECORDS and records()
HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS renamed to HA_PRIMARY_KEY_REQUIRED_FOR_POSITION
Added future row type 'ROW_TYPE_PAGES'
Added MEM_ROOT to handlerton 'create' function
Added ha_statistics, a structure for all status variable in the base handler class.
Moved all status variables in the handler class into a stats structs to improve readability.
ha_table_flags() is now a cached (not virtual) version of table_flags()
reset() doesn't anymore call extra(HA_EXTRA_RESET) but is a function of it's own.
Renamed dupp_ref to dup_ref
Renamed not used handler::sortkey
Moved read_set and write_set to TABLE structure
handler::init() function added for cacheing of virtual constants from engine.
sql/item.cc:
Added register_field_in_read_map() for marking used columns in expression.
This is used by filesort() for creating an optimal column bitmap while retrieving columns for sorting.
Initalize value.cs_info.character_set_client to fix core dump bug with --debug
set_query_id -> mark_used_columns
Mark used columns in read_set OR write_set.
sql/item.h:
Removed reset_query_id_processor() as it's not needed anymore.
Added register_field_in_read_map()
Added extra argument to Item::walk() to indicate if we should also
traverse sub queries.
sql/item_cmpfunc.cc:
Temporary mark used columns to be read/writable
Update Item::walk to new interface
sql/item_cmpfunc.h:
Added extra argument to Item::walk() to indicate if we should also traverse sub queries.
sql/item_func.cc:
Update Item::walk() to new interface
table_flags() -> ha_table_flags()
sql/item_func.h:
Update Item::walk() to new interface
sql/item_row.cc:
Update Item::walk() to new interface
sql/item_row.h:
Update Item::walk() to new interface
sql/item_strfunc.h:
Update Item::walk() to new interface
sql/item_subselect.cc:
Added Item_subselect::walk()
(It was a bug it was missing before. Not sure what kind of bugs this could have caused)
sql/item_subselect.h:
Update Item::walk() to new interface
sql/item_sum.cc:
Update Item::walk() to new interface
Updates for new handler interace
sql/item_sum.h:
Update Item::walk() to new interface
sql/key.cc:
Updates for new handler interace
sql/log.cc:
Mark all columns used for log tables
Split options flag
Ensured that second argument to trans_register_ha is a bool
sql/log_event.cc:
Fixed comments to be withing 79 characters
Use OPTION_KEEP_LOG instead of OPTION_STATUS_NO_TRANS_UPDATE to remove wrong warnings
Updates for new handler interface
Use 0x%lx instead of %p (portability problem)
sql/mysql_priv.h:
Added OPTION_KEEP_LOG to indicate that we should replicate the binlog even on rollback
Removed not used 'conds' argument to setup_tables
sql/mysqld.cc:
Indentation fixes and removed old comment
sql/opt_range.cc:
Update to new handler and bitmap interface.
Fixed calls to cp_buffer_from_ref() and walk() (new argument).
Create new temporary bitmaps for ror scans.
(Needed because of handler changes and to get more accurate column bitmaps than before)
Remove not needed file->ha_reset() call before file->close().
Some trivial optimization and indentation fixes.
Use Field->part_of_key_not_clustered() to check if field is part of a key, instead of looping over all key parts.
Added flag 'in_ror_merged_scan' to allow ::get_next() to know that we need a special column bitmap to only fetch pointer to record.
This is needed because ror scan uses the same TABLE object but different file objects, which creates problem for the column bitmap handling.
(This is a temporary solution. A better one would be to allocate an own TABLE object for ROR scans)
Optimized bitmap handling in ror scans:
- Start bitmap at position 0, not 1
- Use same bitmap size as in TABLE
- Use table->read_set and table->write_set to create column bitmaps instead of looping over all fields in table
sql/opt_range.h:
Added 'in_ror_merged_scan' to indicate if we are doing a ROR scan
Added temporary column bitmaps used in ROR scans
sql/opt_sum.cc:
Added get_ext_record_count() which is used in COUNT() optimization if handler has HA_HAS_RECORDS
Note that we don't call this if handler has HA_STATS_RECORDS_IS_EXACT set.
sql/protocol.cc:
We need to mark columns as readable in ::store() as we sometimes return default value for fields to the user
sql/records.cc:
Updates for new handler interface
sql/set_var.cc:
Handle splitting OPTION_STATUS_NO_TRANS_UPDATE to two flags
sql/share/errmsg.txt:
Fixed wrong
sql/sp.cc:
Mark that we are using all columns for the proc table
Update call to setup_tables() to use new prototype
sql/sp_head.cc:
Removed QQ comment
sql/spatial.cc:
Removed wrong QQ comment
sql/sql_acl.cc:
Mark that we need all columns for acl tables
Supply memroot to some 'new' calls.
Indentation fixes
sql/sql_base.cc:
set_query_id removed
Ensure we call ha_reset() at end of each statement
Mark read columns in read_set and changed columns in write_set (Before all columns was marked in read set)
Fixed marking of some columns that was not proplerly marked before
Maintain in TABLE->merge_keys set of all keys that are used in some way
Removed not used 'conds' argument from setup_tables()
Remove not used setting of 'dupp_field' in insert_fields()
Added missing FN_LIBCHAR in mysql_rm_tmp_tables()
(This has probably caused us to not properly remove temporary files after crash)
sql/sql_bitmap.h:
Added is_overlapping()
sql/sql_class.cc:
Slow_logs was not properly initialized, which could maybe cause extra/lost entries in slow log.
set_query_id -> mark_used_columns
Simpler variable usage in pack_row() (cleanup)
Moved some variable declartion at start of function for better code readability
sql/sql_class.h:
Added enum_mark_columns
Updated comments
Renamed dupp_field -> dup_field
Added virtual function 'can_rollback_data()' to select_insert() to be used in CREATE ... SELECT to optimize use of OPTION_STATUS_NO_TRANS_UPDATE.
(This fixes a bug in CREATE ... SELECT where we did give wrong warnings when using non transacational tables)
sql/sql_delete.cc:
Updates to new handler interface
Call table->mark_columns_needed_for_delete() to allow us to put additional columns in column usage maps if handler so requires.
Call table->prepare_for_position() to tell handler that we are going to call ha_position().
Removed call to free_io_cache(). (io_cache is now removed in ha_reset()).
Fixed calls to setup_tables()
sql/sql_do.cc:
Update call to setup_fields()
sql/sql_handler.cc:
Tell handler tables to always read all columns.
Use temporary column map when storing value in field for later index usage
sql/sql_help.cc:
Makr all used fields to be read
Update call to setup_fields()
sql/sql_insert.cc:
Tell handler we are going to update the auto_increment column
dupp_field -> dup_field
Set column usage bits for timestamp field.
Call table->mark_columns_needed_for_insert() and table->mark_auto_increment_column()
Removed not used argument from mysql_prepare_insert_check_table().
If we get an duplicate row on insert, change column map to read and write all columns while retrying the operatation.
This is required by the definition of REPLACE and also ensures that fields that are only part of UPDATE are properly handled.
This fixed a bug in NDB and REPLACE where REPLACE wrongly copied some column values from the replaced row.
Setup new bitmaps for delayed insert rows
Remove reseting of next_number_fields as it will be reset on next call to handler_insert()
Fixed usage of thd->options and OPTION_STATUS_NO_TRANS_UPDATE.
The issue was that one should not to reset this flag as it may be set by a previous statement.
The way it was now used caused us to loose some warnings and get other wrong warnings when using non transactional tables mixed with transactional.
I fixed it by introducing 'select_insert::can_rollback_data' to inform send_error() that the given statement can be rolled back (which in case of CREATE TABLE can always be done)
Don't close tables created with CREATE ... SELECT but keep them in the table cache.
Moved out MY_HOOKS from inside function (better readability)
sql/sql_load.cc:
Update to use new handler and column marking interface
Update using setup_tables()
sql/sql_olap.cc:
Update calls to setup_tables
Use enums instead of constants to setup_fields()
sql/sql_parse.cc:
Handle OPTION_KEEP_LOG:
- Set it on CREATE TEMPORARY TABLE / DROP TABLE
- Reset it when OPTION_STATUS_NO_TRANS_UPDATE is reset
- Don't set it for CREATE ... SELECT (this is handled in select_create class)
Remove reseting of OPTION_STATUS_NO_TRANS_UPDATE in begin_trans() as this should already be reset.
If in autocommit mode, reset OPTION_KEEP_LOG and OPTION_STATUS_NO_TRANS_UPDATE to not give warnings in future commands
sql/sql_partition.cc:
Update walk() usage
Trivial indentation fixes
sql/sql_plugin.cc:
Mark all columns as used for plugins
sql/sql_prepare.cc:
Added assert to find out hidden bugs in character_set_client (got an error in debug binary when this not set correctly)
Updates for new handler interface
Update calls to setup_fields()
sql/sql_repl.cc:
Indentation fixes
sql/sql_select.cc:
Update call to setup_tables() and setup_fields()
Remove some old disabled code
Update to new hadler interface
Indentation cleanups
Added column bitmaps for temporary tables.
Remove updating of the removed slots in the Field class
Added TABLE argument to cp_buffer_from_ref() (To be able to install temporary column maps)
For internal temporary tables, use handler::write_row(), handler::delete_row() and handler::update_row() instead of handler::ha_xxxx() for faster execution.
sql/sql_select.h:
Indentaition fixes.
Install temporary column usage maps when needed
Added TABLE element to cp_buffer_from_ref()
sql/sql_show.cc:
Update to new handler interface
Mark all columns used for internal tables.
Style fixes.
Added support for 'future' ROW_TYPE_PAGES.
Don't allocate TMP_TABLE_PARAM with calloc. The 'init()' function will initialize the structure properly.
sql/sql_table.cc:
Update to new handler interface
Simple my_snprintf -> strmake()
Changed some constants to defines
Don't test for NULL in primary key (as we a couple of line above force the PRIMARY KEY to be NOT NULL)
Change field->add_index to use field->flags & FIELD_IN_ADD_INDEX
Mark all columns as used for ALTER TABLE
Style fixes
Update call to filesort()
sql/sql_trigger.h:
Added friend functions to be able to test if triggers exists for table we are going to insert/update or delete in.
sql/sql_udf.cc:
Mark all columns as used for udf system table.
sql/sql_union.cc:
Update call to walk()
Update to new handler interface
sql/sql_update.cc:
Remove query_id argument from compare_record()
Use column bitmaps instead of query_id.
We can't use compare_records() to skip updates for handlers that returns a partial column set and the read_set doesn't cover all columns in the write set, because compare_record() can't in this case know if a not read column changed value.
Update call to setup_fields()
Using separate column read and write sets allows for easier checking of timestamp field was set by statement.
Removed call to free_io_cache() as this is now done in ha_reset()
Call table->mark_columns_needed_for_update() and table->prepare_for_position()
Style fixes
sql/sql_view.cc:
Style fixes
sql/table.cc:
Remove implicitely include 'errno.h'
Remove code for building normalized path, as this is now identical to 'path'
Remove field->fieldnr
Added update of field->part_of_key_not_clustered()
Create column bitmaps in TABLE and TABLE_SHARE
Don't setup a temporary MEM_ROOT object as a thread specific variable for the handler. Instead we send the to-be-used MEMROOT to get_new_handler()
Update to new handler interface
Update call to walk()
Added new functions:
- st_table::clear_column_bitmaps()
- st_table::prepare_for_position()
- st_table::mark_columns_used_by_index()
- st_table::restore_column_maps_after_mark_index()
- st_table::mark_columns_used_by_index_no_reset()
- st_table::mark_auto_increment_column()
- st_table::mark_columns_needed_for_delete()
- st_table::mark_columns_needed_for_update()
- st_table::mark_columns_needed_for_insert()
sql/table.h:
Moved column usage bitmaps from handler to TABLE
Added to TABLE_SHARE all_set and column_bitmap_size
Added to TABLE merge_keys, bitmap_init_values, def_read_set, def_write_set, tmp_set, read_set and write_set.
Declared all new table column bitmap functions
Added TABLE functions column_bitmaps_set(), column_bitmaps_set_no_signal(), use_all_columns() and default_column_bitmaps()
Added functions: tmp_use_all_columns() and tmp_restore_column_map() to temporarly switch column bitmaps
Added functions: dbug_tmp_use_all_columns() and dbug_tmp_restore_column_map() to temporarly switch column bitmaps to avoid asserts in Field::store() and Field::val().
sql/tztime.cc:
Mark all columns as used for timezone tables
storage/archive/ha_archive.cc:
Update to new handler interface
storage/archive/ha_archive.h:
Update to new handler interface
storage/blackhole/ha_blackhole.cc:
Update to new handler interface
storage/blackhole/ha_blackhole.h:
Update to new handler interface
removed not needed flag HA_DUPP_POS
storage/csv/ha_tina.cc:
Update to new handler interface
storage/csv/ha_tina.h:
Update to new handler interface
storage/example/ha_example.cc:
Update to new handler interface
storage/example/ha_example.h:
Update to new handler interface
storage/heap/hp_extra.c:
Added heap_reset() (Required by new handler interface)
storage/heap/hp_test2.c:
Use heap_reset()
storage/myisam/ft_boolean_search.c:
Fixed compiler warning
storage/myisam/mi_extra.c:
Added mi_reset() (Required by new handler interface)
storage/myisam/mi_search.c:
Fixed DBUG_PRINT messages to use 0x%lx instead of %lx
storage/myisam/mi_test2.c:
Use mi_reset()
storage/myisam/myisampack.c:
Use mi_reset()
storage/myisammrg/myrg_extra.c:
Added myrg_reset() (Required by new handler interface)
unittest/mysys/base64.t.c:
Include my_global.h
Don't include implictely include file 'stdlib.h'
|
20 years ago |
|
|
f8386dfa48 |
Fix for bug #13525 "Rename table does not keep info of triggers".
Let us transfer triggers associated with table when we rename it (but only if we are not changing database to which table belongs, in the latter case we will emit error). mysql-test/r/trigger.result: Added test for bug #13525 "Rename table does not keep info of triggers". mysql-test/t/trigger.test: Added test for bug #13525 "Rename table does not keep info of triggers". sql/sql_rename.cc: rename_tables(): Now after renaming table's .FRM file and updating handler data we call Table_triggers_list::change_table_name() which is reponsible for updating .TRG and .TRN files. sql/sql_table.cc: mysql_alter_table(): Now in case when ALTER should rename table we call Table_triggers_list::change_table_name() which is responsible for updating .TRG and .TRN files after renaming table. sql/sql_trigger.cc: Added Table_triggers_list::change_table_name() method and change_table_name_in_triggers()/trignames() methods responsible for updating .TRG and .TRN files for table during its renaming. Two small cleanups - removed versioning for .TRG files (since it was not working before anyway) and emphasized that type of lock specified in tables list is unimportant for DROP TABLE (since this statement uses name-locking). sql/sql_trigger.h: Table_triggers_list: Added on_table_names_list member to store pointers and lenghts of "ON table_name" parts in triggers' definitions to be able easily change them during RENAME TABLE. Added change_table_name() method and change_table_name_in_trignames/triggers() helper methods responsible for updating .TRG and .TRN files. sql/sql_yacc.yy: trigger_tail: To be able properly update triggers' definitions with new table names when renaming tables we need to know where in CREATE TRIGGER statement "ON db_name.table_name" part resides. Small cleanup - let us emphasize that for CREATE TRIGGER statement lock type which is specified in table list is unimportant since name-locking is used. |
20 years ago |
|
|
8f395ebbfa |
Fix for the following bugs:
- BUG#15166: Wrong update permissions required to execute triggers - BUG#15196: Wrong select permission required to execute triggers The idea of the fix is to check necessary privileges in Item_trigger_field::fix_fields(), instead of having "special variables" technique. To achieve this, we should pass to an Item_trigger_field instance a flag, which will indicate the usage/access type of this trigger variable. mysql-test/r/trigger-grant.result: Update the result file. mysql-test/t/trigger-grant.test: Add test cases for BUG#15166 and BUG#15196 sql/item.cc: Item_trigger_field: check appropriate (SELECT/UPDATE) privilege in fix_fields(). sql/item.h: Add a flag to specify access type for trigger field. sql/sql_trigger.cc: "Special variable" technique of checking privileges for NEW/OLD variables was replaced by checking table- and column-level privileges in Item_trigger_field::fix_fields(). sql/sql_trigger.h: "Special variable" technique of checking privileges for NEW/OLD variables was replaced by checking table- and column-level privileges in Item_trigger_field::fix_fields(). sql/sql_yacc.yy: Specify access type for trigger fields. |
20 years ago |
|
|
361977c0da |
Fix for bug #11555 "Stored procedures: current SP tables locking make
impossible view security". We should not expose names of tables which are explicitly or implicitly (via routine or trigger) used by view even if we find that they are missing. So during building of list of prelocked tables for statement we track which routines (and therefore tables for these routines) are used from views. We mark elements of LEX::routines set which correspond to routines used in views by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST object for topmost view which uses routine. We propagate this mark to all routines which are used by this routine and which we add to this set. We also mark tables used by such routine which we add to the list of tables for prelocking as belonging to this view. mysql-test/r/sp-error.result: Added test for bug #11555 "Stored procedures: current SP tables locking make impossible view security". mysql-test/r/view.result: We should not expose tables which are expicitly/implicitly used in view in check table statement. mysql-test/t/sp-error.test: Added test for bug #11555 "Stored procedures: current SP tables locking make impossible view security". mysql-test/t/view.test: Removed comment obsoleted by bugfix. sql/sp.cc: We should not expose names of tables which are explicitly or implicitly (via routine or trigger) used by view even if we find that they are missing. So during building of list of prelocked tables for statement we track which routines (and therefore tables for these routines) are used from views. We mark elements of LEX::routines set which correspond to routines used in views by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST object for topmost view which uses routine. We propagate this mark to all routines which are used by this routine and which we add to this set. We also mark tables used by such routine which we add to the list of tables for prelocking as belonging to this view. sql/sp.h: sp_cache_routines_and_add_tables_for_view()/for_triggers(): To be able to determine correctly uppermost view which uses this view/table with trigger we have to pass pointer to TABLE_LIST object instead of pointer to view's LEX or to Table_triggers_list object. sql/sp_head.cc: sp_head::add_used_tables_to_table_list(): Added new argument which allows to mark tables which are added to table list for prelocking as belonging to view (this allows properly hide names of tables which are used in routines used by views). sql/sp_head.h: sp_head::add_used_tables_to_table_list(): Added new argument which allows to mark tables which are added to table list for prelocking as belonging to view (this allows properly hide names of tables which are used in routines used by views). sql/sql_base.cc: open_tables(): sp_cache_routines_and_add_tables_for_view()/for_triggers() now accept pointer to table list element as last argument, this allows them to determine correctly uppermost view which uses this view/table with trigger. sql/sql_trigger.h: Table_triggers_list: sp_cache_routines_and_add_tables_for_triggers() now accept pointer to table list element as last argument, this allows to determine correctly uppermost view which uses this table with trigger. |
20 years ago |
|
|
7dbea7df27 |
WL#2818 (Add creator to the trigger definition for privilege
checks on trigger activation)
mysql-test/r/information_schema.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/mysqldump.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/rpl_ddl.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/rpl_sp.result:
Update result file: a new clause DEFINER has been added to
CREATE TRIGGER statement.
mysql-test/r/rpl_trigger.result:
Results for new test cases were added.
mysql-test/r/skip_grants.result:
Error message has been changed.
mysql-test/r/trigger.result:
Added DEFINER column.
mysql-test/r/view.result:
Error messages have been changed.
mysql-test/r/view_grant.result:
Error messages have been changed.
mysql-test/t/mysqldump.test:
Drop created procedure to not affect further tests.
mysql-test/t/rpl_trigger.test:
Add tests for new column in information schema.
mysql-test/t/skip_grants.test:
Error tag has been renamed.
mysql-test/t/view.test:
Error tag has been renamed.
mysql-test/t/view_grant.test:
Error tag has been changed.
sql/item_func.cc:
Fix typo in comments.
sql/mysql_priv.h:
A try to minimize copy&paste:
- introduce operations to be used from sql_yacc.yy;
- introduce an operation to be used from trigger and
view processing code.
sql/share/errmsg.txt:
- Rename ER_NO_VIEW_USER to ER_MALFORMED_DEFINER in order to
be shared for view and trigger implementations;
- Fix a typo;
- Add a new error code for trigger warning.
sql/sp.cc:
set_info() was split into set_info() and set_definer().
sql/sp_head.cc:
set_info() was split into set_info() and set_definer().
sql/sp_head.h:
set_info() was split into set_info() and set_definer().
sql/sql_acl.cc:
Add a new check: exit from the cycle if the table is NULL.
sql/sql_lex.h:
- Rename create_view_definer to definer, since it is used for views
and triggers;
- Change st_lex_user to LEX_USER, since st_lex_user is a structure.
So, formally, it should be "struct st_lex_user", which is longer
than just LEX_USER;
- Add trigger_definition_begin.
sql/sql_parse.cc:
- Add a new check: exit from the cycle if the table is NULL;
- Implement definer-related functions.
sql/sql_show.cc:
Add DEFINER column.
sql/sql_trigger.cc:
Add DEFINER support for triggers.
sql/sql_trigger.h:
Add DEFINER support for triggers.
sql/sql_view.cc:
Rename create_view_definer to definer.
sql/sql_yacc.yy:
Add support for DEFINER-clause in CREATE TRIGGER statement.
Since CREATE TRIGGER and CREATE VIEW can be similar at the start,
yacc is unable to distinguish between them. So, had to modify both
statements in order to make it parsable by yacc.
mysql-test/r/trigger-compat.result:
Result file for triggers backward compatibility test.
mysql-test/r/trigger-grant.result:
Result file of the test for WL#2818.
mysql-test/t/trigger-compat.test:
Triggers backward compatibility test: check that the server
still can load triggers w/o definer attribute and modify
tables with such triggers (add a new trigger, etc).
mysql-test/t/trigger-grant.test:
Test for WL#2818 -- check that DEFINER support in triggers
works properly
|
20 years ago |
|
|
9349f18b44 |
Fixed BUG#14233: Crash after tampering with the mysql.proc table
Added error checking for errors when attempting to use stored procedures after the mysql.proc table has been dropped, corrupted, or tampered with. Test cases were put in a separate file (sp-destruct.test). mysql-test/t/sp.test: Added comment. sql/share/errmsg.txt: New error message for corrupted mysql.proc table. sql/sp.cc: Check and return error code when caching stored routines. In the case when no error message has been set, set one. sql/sp.h: Return error code from stored routine cache function. sql/sql_base.cc: Check for error from sp_cache_routines_* calls. sql/sql_trigger.h: Updated friend declaration for sp_cache_routines*. mysql-test/r/sp-destruct.result: New test file for destruction of the mysql.proc table. mysql-test/t/sp-destruct.test: New result file for destruction of the mysql.proc table. |
20 years ago |
|
|
d5303b8ab8 |
Fix for bug #12704 "Server crashes during trigger execution".
This bug occurs when some trigger for table used by DML statement is created or changed while statement was waiting in lock_tables(). In this situation prelocking set which we have calculated becames invalid which can easily lead to errors and even in some cases to crashes. With proposed patch we no longer silently reopen tables in lock_tables(), instead caller of lock_tables() becomes responsible for reopening tables and recalculation of prelocking set. mysql-test/t/trigger.test: Added tests for bug #12704 "Server crashes during trigger execution". Unfortunately these tests rely on the order in which tables are locked by statement so they are non-determenistic and therefore should be disabled. sql/lock.cc: mysql_lock_tables(): Now instead of always reopening altered or dropped tables by itself mysql_lock_tables() can notify upper level and rely on caller doing this. sql/mysql_priv.h: Now mysql_lock_tables() can either reopen deleted or altered tables by itself or notify caller about such situation through 'need_reopen' argument and rely on it in this. Also lock_tables() has new 'need_reopen' out parameter through which it notifies caller that some tables were altered or dropped so he needs to reopen them (and rebuild prelocking set some triggers may change or simply appear). sql/sp.cc: sp_add_used_routine(): To be able to restore LEX::sroutines_list to its state right after parsing we now adjust LEX::sroutines_list_own_last/sroutines_list_own_elements when we add directly used routine. sp_remove_not_own_routines(): Added procedure for restoring LEX::sroutines/sroutines_list to their state right after parsing (by throwing out non-directly used routines). sp_cache_routines_and_add_tables_for_view()/sp_update_stmt_used_routines(): We should use LEX::sroutines_list instead of LEX::sroutines as source of routines used by view, since LEX::sroutines is not availiable for view on second attempt to open it (see comment in open_tables() about it). sql/sp.h: sp_remove_not_own_routines(): Added procedure for restoring LEX::sroutines/sroutines_list to their state right after parsing (by throwing out non-directly used routines). sql/sp_head.cc: Removed assert which is no longer always true. sql/sql_base.cc: reopen_table(): When we re-open table and do shallow copy of TABLE object we should adjust pointers to it in associated Table_triggers_list object. Removed nil operation. open_tables(): Now this function is able to rebuild prelocking set for statement if it is needed. It also correctly handles FLUSH TABLES which may occur during its execution. lock_tables(): Instead of allowing mysql_lock_tables() to silently reopen altered or dropped tables let us notify caller and rely on that it will do reopen itself. This solves the problem when trigger suddenly appears or changed during mysq_lock_tables(). close_tables_for_reopen(): Added routine for properly preparing for reopening of tables and recalculation of set of prelocked tables. sql/sql_handler.cc: Here we let mysql_lock_tables() to reopen dropped or altered tables by itself. sql/sql_insert.cc: Here we let mysql_lock_tables() to reopen dropped or altered tables by itself. sql/sql_lex.cc: LEX: Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members which are used for keeping state in which 'sroutines_list' was right after statement parsing (and for restoring of this list to this state). sql/sql_lex.h: LEX: Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members which are used for keeping state in which 'sroutines_list' was right after statement parsing (and for restoring of this list to this state). Added chop_off_not_own_tables() method to simplify throwing away list of implicitly used (prelocked) tables. sql/sql_prepare.cc: Now instead of silently reopening altered or dropped tables in lock_tables() we notify caller and rely on that the caller will reopen tables. sql/sql_table.cc: Here we let mysql_lock_tables() to reopen dropped or altered tables by itself. sql/sql_trigger.cc: Added Table_triggers_list::set_table() method to adjust Table_triggers_list to new pointer to TABLE instance. sql/sql_trigger.h: Added Table_triggers_list::set_table() method to adjust Table_triggers_list to new pointer to TABLE instance. sql/sql_update.cc: Now instead of silently reopening altered or dropped tables in lock_tables() we notify caller and rely on that the caller will reopen tables. |
21 years ago |
|
|
a914b5274f |
Save and clear run context before executing a stored function or trigger and restore it afterwards.
This allows us to use statement replication with functions and triggers The following things are fixed with this patch: - NOW() and automatic timestamps takes the value from the main event for functions and triggers (which allows these to replicate with statement level logging) - No side effects for triggers or functions with auto-increment values(), last_insert_id(), rand() or found_rows() - Triggers can't return result sets Fixes bugs: #12480: NOW() is not constant in a trigger #12481: Using NOW() in a stored function breaks statement based replication #12482: Triggers has side effects with auto_increment values #11587: trigger causes lost connection error mysql-test/r/trigger.result: Added test fpr big mysql-test/t/sp-error.test: Changed error message numbers mysql-test/t/trigger.test: Added test for trigger returning result (#11587) sql/item_func.cc: Store the first used seed value for RAND() value. (This makes rand() replicatable in functions and triggers) Save and clear run context before executing a stored function and restore it afterwards. This removes side effects of stored functions for RAND(), auto-increment values and NOW() and makes most stored function replicatable sql/share/errmsg.txt: Reuse error message also for triggers sql/sp_head.cc: If in function or trigger, don't change value of NOW() (This allows us to use statement replication with functions that directly or indirectly uses timestamps) sql/sql_class.cc: Added framework for storing and retrieving run context while exceuting triggers or stored functions. sql/sql_class.h: Added framework for storing and retrieving run context while exceuting triggers or stored functions. sql/sql_parse.cc: If in function or trigger, don't change value of NOW() (This allows us to use statement replication with functions that directly or indirectly uses timestamps) sql/sql_trigger.cc: Moved process_triggers function from sql_trigger.h Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable sql/sql_trigger.h: Moved process_triggers function from sql_trigger.h Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable sql/sql_yacc.yy: Give error message if trigger can return a result set (Bug #11587) tests/fork_big2.pl: Removed return from end of lines mysql-test/r/rpl_trigger.result: New BitKeeper file ``mysql-test/r/rpl_trigger.result'' mysql-test/t/rpl_trigger.test: New BitKeeper file ``mysql-test/t/rpl_trigger.test'' |
21 years ago |
|
|
11abe15eab |
Added Non-prelocked SP execution: Now a PROCEDURE doesn't enter/leave prelocked mode for
its body, but lets each statement to get/release its own locks. This allows a broader set
of statements to be executed inside PROCEDUREs (but breaks replication)
This patch should fix BUG#8072, BUG#8766, BUG#9563, BUG#11126
mysql-test/r/sp-security.result:
Drop tables this test attempts to create
mysql-test/r/sp-threads.result:
Update test results
mysql-test/r/sp.result:
Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
mysql-test/r/view.result:
Enabled a test case that now works with prelocking-free SPs
mysql-test/t/sp-security.test:
Drop tables this test attempts to create
mysql-test/t/sp.test:
Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
mysql-test/t/view.test:
Enabled a test case that now works with prelocking-free SPs
sql/handler.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/item_func.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sp.cc:
Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
"CALL proc(...)" statements.
sql/sp.h:
Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
"CALL proc(...)" statements.
sql/sp_cache.h:
Added comments
sql/sp_head.cc:
Non-prelocked SP execution:
* Try to unlock tables after PROCEDURE arguments have been evaluated.
* Make sp_lex_keeper be able to execute in 2 modes: A) when already in prelocked mode
B) when its statement enters/leaves prelocked mode itself.
sql/sp_head.h:
Non-prelocked SP execution: Make sp_lex_keeper to additionally keep list of tables it
needs to prelock when its statement enters/leaves prelocked mode on its own.
sql/sql_base.cc:
Non-prelocked SP execution: Make open_tables() to
* detect 'CALL proc(...)' and not to do prelocking for procedure body statements.
* Make lex->query_tables_last to point precisely to a boundary in lex->query_tables
list where 'own' tables and views' tables end and added-for-prelocking tables begin.
(it was not true before - view's tables could end up after query_tables_own_last)
sql/sql_class.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sql_class.h:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sql_lex.cc:
Non-prelocked SP execution: More rigourous cleanup in st_lex::cleanup_after_one_table_open()
sql/sql_parse.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt, remove outdated comments
sql/sql_trigger.h:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
|
21 years ago |
|
|
a66928bb24 |
store/restore sql_mode which was in force during ctrigger creation (BUG#5891)
other sql_mode fixes mysql-test/r/information_schema.result: changes in information schema mysql-test/r/trigger.result: storing and restoring sql modes for triggers mysql-test/t/trigger.test: storing and restoring parsing modes for triggers sql/mysqld.cc: add length of mode names sql/parse_file.cc: new type of list (ulonglong) sql/parse_file.h: new type of list (ulonglong) sql/set_var.cc: mode output made as static method sql/set_var.h: mode output made as static method sql/sp_head.cc: added sql_mode storing/restoring during SP execution optimised sql_mode printing sql/sp_head.h: comment fixed according this changes sql/sql_show.cc: added sql_mode field sql/sql_trigger.cc: store/restore sql_mode which was in force during ctrigger creation sql/sql_trigger.h: store/restore sql_mode which was in force during ctrigger creation sql/sql_view.cc: fixed sql_mode |
21 years ago |
|
|
a32bf7fb82 |
Fix for bugs #5892/6182/8751/8758/10994 (based on Antony's patch)
"Triggers have the wrong namespace" "Triggers: duplicate names allowed" "Triggers: CREATE TRIGGER does not accept fully qualified names" "SHOW TRIGGERS" mysql-test/r/information_schema.result: Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command. mysql-test/r/information_schema_db.result: INFORMATION_SCHEMA.TRIGGERS view was added. mysql-test/r/rpl_sp.result: Now DROP TRIGGER interprets first part of trigger identifier as database name and not as table name. Adjusted tests properly. mysql-test/r/trigger.result: Now DROP TRIGGER interprets first part of trigger identifier as database name and not as table name. Adjusted tests properly. Added test checking that triggers have database wide namespace. Added test for bug #8791 "Triggers: Allowed to create triggers on a subject table in a different DB". mysql-test/r/view.result: Now DROP TRIGGER interprets first part of trigger identifier as database name and not as table name. Adjusted tests properly. mysql-test/t/information_schema.test: Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command. mysql-test/t/rpl_sp.test: Now DROP TRIGGER interprets first part of trigger identifier as database name and not as table name. Adjusted tests properly. mysql-test/t/trigger.test: Now DROP TRIGGER interprets first part of trigger identifier as database name and not as table name. Adjusted tests properly. Added test checking that triggers have database wide namespace. Added test for bug #8791 "Triggers: Allowed to create triggers on a subject table in a different DB". mysql-test/t/view.test: Now DROP TRIGGER interprets first part of trigger identifier as database name and not as table name. Adjusted tests properly. sql/handler.cc: Added .TRN tho the list of known file extensions assoicated with tables. sql/item.h: trg_action_time_type/trg_event_type enums: Added TRG_ACTION_MAX/TRG_EVENT_MAX elements which should be used instead of magical values in various loops where we iterate through all types of trigger action times or/and trigger event types. sql/lex.h: Added new symbol "TRIGGERS". sql/mysql_priv.h: Added declaration of constant holding extension for trigger name (.TRN) files. sql/mysqld.cc: Added statistical variable for SHOW TRIGGERS command. sql/share/errmsg.txt: Added error message saying that one attempts to create trigger in wrong schema. sql/sp.cc: Replaced magical values with TRG_EVENT_MAX/TRG_ACTION_MAX constants. sql/sql_base.cc: open_unireg_entry(): Now Table_triggers_list::check_n_load() has one more argument which controls whether we should prepare Table_triggers_list with fully functional triggers or load only their names. sql/sql_lex.h: Added element for new SHOW TRIGGERS command to enum_sql_command enum. sql/sql_parse.cc: prepare_schema_table(): Added support for SHOW TRIGGERS statement. sql/sql_show.cc: Added new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command. sql/sql_table.cc: mysql_rm_table_part2(): Replaced simple deletion of .TRG file with call to Table_triggers_list::drop_all_triggers which will also delete .TRN files for all triggers associated with table. sql/sql_trigger.cc: Now triggers have database wide namespace. To support it we create special .TRN file with same name as trigger for each trigger. This file contains name of trigger's table so one does not need to specify it explicitly in DROP TRIGGER. Moreover DROP TRIGGER treats first part of trigger identifier as database name now. Updated mysql_create_or_drop_trigger() routine and Table_triggers_list::create_trigger()/drop_trigger()/check_n_load() methods accordingly. Added add_table_for_trigger() routine and Table_triggers_list::drop_all_triggers() method. Added Table_triggers_list::get_trigger_info() for obtaining trigger metadata. sql/sql_trigger.h: Table_triggers_list: Use TRG_EVENT_MAX, TRG_ACTION_MAX instead of magic values. Added get_trigger_info() method for obtaining trigger's meta-data. Added drop_all_triggers() method which drops all triggers for table. Added declarations of trg_action_time_type_names/trg_event_type_names arrays which hold names of triggers action time types and event types. sql/sql_yacc.yy: Changed grammar for CREATE/DROP TRIGGER to support database wide trigger namespace. Added new SHOW TRIGGERS statement. sql/table.h: enum enum_schema_tables: Added constant for new INFORMATION_SCHEMA.TRIGGERS view. |
21 years ago |
|
|
14b1f91ba4 |
Enable support of access to tables from triggers. Thus fix bug #8406 "Triggers
crash if referencing a table" and several other related bugs. Fix for bug #11834 "Re-execution of prepared statement with dropped function crashes server." which was spotted during work on previous bugs. Also couple of nice cleanups: - Replaced two separate hashes for stored routines used by statement with one. - Now instead of doing one pass through all routines used in statement for caching them and then doing another pass for adding their tables to table list, we do only one pass during which do both things. mysql-test/r/sp-error.result: Added test for bug #11834 "Re-execution of prepared statement with dropped function crashes server" also covering handling of prepared statements which use stored functions but does not require prelocking. mysql-test/r/sp.result: Updated test for LOCK TABLES with views in table list. (Old version of statement used in this test will work ok now, since prelocking algorithm was tuned and will lock only one multi-set of tables for each routine even if this routine is used in several different views). mysql-test/r/trigger.result: Added several tests for triggers using tables. mysql-test/t/sp-error.test: Added test for bug #11834 "Re-execution of prepared statement with dropped function crashes server" also covering handling of prepared statements which use stored functions but does not require prelocking. mysql-test/t/sp.test: Updated comment about recursive views to reflect current situation. Updated test for LOCK TABLES with views in table list. (Old version of statement used in this test will work ok now, since prelocking algorithm was tuned and will lock only one multi-set of tables for each routine even if this routine is used in several different views). mysql-test/t/trigger.test: Added several tests for triggers using tables. sql/item_func.cc: Item_func_sp::cleanup(): By next statement execution stored function can be dropped or altered so we can't assume that sp_head object for it will be still valid. sql/sp.cc: - Added Sroutine_hash_entry structure that represents element in the set of stored routines used by statement or routine. We can't as before use LEX_STRING for this purprose because we want link all elements of this set in list. - Replaced sp_add_to_hash() with sp_add_used_routine() which takes into account that now we use one hash for stored routines used by statement instead of two and which mantains list linking all elelemnts in this hash. - Renamed sp_merge_hash() to sp_update_sp_used_routines(). - Introduced sp_update_stmt_used_routines() for adding elements to the set of routines used by statement from another similar set for statement or routine. This function will also mantain list linking elements of destination set. - Now instead of one sp_cache_routines() function we have family of sp_cache_routines_and_add_tables() functions which are also responsible for adding tables used by routines being cached to statement table list. Nice optimization - thanks to list linking all elements in the hash of routines used by statement we don't need to perform several iterations over this hash (as it was before in cases when we have added new elements to it). sql/sp.h: Added declarations of functions used for manipulations with set (hash) of stored routines used by statement. sql/sp_head.cc: sp_name::init_qname(): Now sp_name also holds key identifying routine in the set (hash) of stored routines used by statement. sp_head: Instead of two separate hashes sp_funs/m_spprocs representing sets of stored routines used by this routine we use one hash - m_sroutines. sp_instr_set_trigger_field: Added support for subqueries in assignments to row accessors in triggers. Removed definition of sp_add_sp_tables_to_table_list() and auxilary functions since now we don't have separate stage on which we add tables used by routines used by statement to table list for prelocking. We do it on the same stage as we load those routines in SP cache. So all this functionality moved to sp_cache_routines_and_add_tables() family of functions. sql/sp_head.h: sp_name: Now this class also holds key identifying routine in the set (hash) of stored routines used by statement. sp_head: Instead of two separate hashes sp_funs/m_spprocs representing sets of stored routines used by this routine we use one hash - m_sroutines. sp_instr_set_trigger_field: Added support for subqueries in assignments to row accessors in triggers. Removed declaration of sp_add_sp_tables_to_table_list() since now we don't have separate stage on which we add tables used by routines used by statement to table list for prelocking. We do it on the same stage as we load those routines in SP cache. sql/sql_base.cc: open_tables(): - LEX::spfuns/spprocs hashes were replaced with one LEX::sroutines hash. - Now instead of doing one pass through all routines used in statement for caching them and then doing another pass for adding their tables to table list, we do only one pass during which do both things. It is easy to do since all routines in the set of routines used by statement are linked in the list. This also allows us to calculate table list for prelocking more precisely. - Now triggers properly inform prelocking algorithm about tables they use. sql/sql_lex.cc: lex_start(): Replaced LEX::spfuns/spprocs with with one LEX::sroutines hash. Added LEX::sroutines_list list linking all elements in this hash. st_lex::st_lex(): Moved definition of LEX constructor to sql_lex.cc file to be able use sp_sroutine_key declaration from sp.h in it. sql/sql_lex.h: LEX: Replaced two separate hashes for stored routines used by statement with one. Added list linking all elements in this hash to be able to iterate through all elements and add new elements to this hash at the same time. Moved constructor definition to sql_lex.cc. sql/sql_parse.cc: mysql_execute_command(): Replaced LEX::spfuns/spprocs with one LEX::sroutines hash. sql/sql_trigger.cc: Added missing GNU GPL notice. Table_triggers_list::check_n_load() Added initialization of sroutines_key which stores key representing triggers of this table in the set (hash) of routines used by this statement. sql/sql_trigger.h: Added missing GNU GPL notice. Table_triggers_list: Added sroutines_key member to store key representing triggers of this table in the set (hash) of routines used by this statement. Declared sp_cache_routines_and_add_tables_for_triggers() as friend since it needs access to sroutines_key and trigger bodies. sql/sql_yacc.yy: - Now we use sp_add_used_routine() instead of sp_add_to_hash() for adding elements to the set of stored routines used in statement. - Enabled support of subqueries as right sides in assignments to triggers' row accessors. |
21 years ago |
|
|
49357ae8f0 |
Fix for bug #10015 "Crash in InnoDB if stored routines are used".
We should not allow explicit or implicit transaction commits inside of stored functions or triggers (so in autocommit mode we should not do commits after execution of sub-statement). Also since we don't support nested statement transactions in 5.0, we shouldn't commit or rollback stmt transactions while we are inside stored functions or triggers. This should be fixed in later (>=5.1) releases. mysql-test/r/sp_trans.result: Added test for bug #10015 "Crash in InnoDB if stored routines are used" and for general transaction handling inside of functions. mysql-test/t/sp_trans.test: Added test for bug #10015 "Crash in InnoDB if stored routines are used" and for general transaction handling inside of functions. sql/handler.cc: ha_trans_commit()/ha_trans_rollback(): Since we don't support nested statement transactions in 5.0, we can't commit or rollback stmt transactions while we are inside stored functions or triggers. So we simply do nothing now. This should be fixed in later ( >= 5.1) releases. sql/item_func.cc: Item_func_sp::execute(): Set THD::transaction.in_sub_stmt flag to TRUE during stored function execution to prevent commits and rollbacks for statement level transactions, since doing them will ruin such transaction for stateemtn which calls this function. sql/share/errmsg.txt: Added error message which says that statements doing explicit or implicit commits are disallowed in triggers and stored functions. sql/sql_base.cc: close_thread_tables(): Clarified comment about committing of statement transactions in prelocked mode. sql/sql_class.h: THD::transaction: Added in_sub_stmt method which indicates that we are executing statements from trigger or stored function now, and thus statement transaction belongs to statement which invoked this routine and we should not commit or rollback it while executing these sub-statements. sql/sql_parse.cc: end_active_trans()/begin_trans()/end_trans(): We should not commit or rollback global (non-stmt) transaction if we are executing stored function or trigger. These checks will catch situation when we are trying to do commit or rollback in stored procedure which is called from function or trigger. sql/sql_trigger.h: Table_triggers_list::process_triggers(): Set THD::transaction.in_sub_stmt flag to TRUE during trigger execution to prevent commits and rollbacks for statement level transactions, since doing them will ruin such transaction for stateemtn which invokes this trigger. sql/sql_yacc.yy: Prohibited usage of statements which do explicit or implicit commit or rollback inside of stored functions and triggers. |
21 years ago |
|
|
1fa7c69d31 |
Fix for bugs:
#5860 "Multi-table UPDATE does not activate update triggers" #6812 "Triggers are not activated for INSERT ... SELECT" #8755 "Trigger is not activated by LOAD DATA". This patch also implements proper handling of triggers for special forms of insert like REPLACE or INSERT ... ON DUPLICATE KEY UPDATE. Also now we don't call after trigger in case when we have failed to inserted/update or delete row. Trigger failure should stop statement execution. I have not properly tested handling of errors which happen inside of triggers in this patch, since it is simplier to do this once we will be able to access tables from triggers. mysql-test/r/trigger.result: Added tests for triggers behavior for various non-standard forms of INSERT such as REPLACE and INSERT ... ON DUPLICATE KEY UPDATE. Also added tests for bugs #5860 "Multi-table UPDATE does not activate update triggers", #6812 "Triggers are not activated for INSERT ... SELECT" and #8755 "Trigger is not activated by LOAD DATA". mysql-test/t/trigger.test: Added tests for triggers behavior for various non-standard forms of INSERT such as REPLACE and INSERT ... ON DUPLICATE KEY UPDATE. Also added tests for bugs #5860 "Multi-table UPDATE does not activate update triggers", #6812 "Triggers are not activated for INSERT ... SELECT" and #8755 "Trigger is not activated by LOAD DATA". sql/item.cc: Since it turned out that at trigger loading time we can't say in which buffer TABLE::record[0] or record[1] old version of row will be stored we have to change our approach to binding of Item_trigger_field to Field instances. Now after trigger parsing (in Item_trigger_field::setup_table()) we only find index of proper Field in the TABLE::field array. Then before trigger is invoked we set Table_triggers_list::old_field/new_field so they point to arrays holding Field instances bound to buffers with proper row versions. And as last step in Item_trigger_field::fix_fields() we get pointer to Field from those arrays using saved field index. Item_trigger_field::setup_field()/fix_fields() were changed to implement this approach. sql/item.h: Since it turned out that at trigger loading time we can't say in which buffer TABLE::record[0] or record[1] old version of row will be stored we have to change our approach to binding of Item_trigger_field to Field instances. Now after trigger parsing (in Item_trigger_field::setup_table()) we only find index of proper Field in the TABLE::field array. Then before trigger is invoked we set Table_triggers_list::old_field/new_field so they point to arrays holding Field instances bound to buffers with proper row versions. And as last step in Item_trigger_field::fix_fields() we get pointer to Field from those arrays using saved field index. Item_trigger_field: - Added field_idx member to store index of Field object corresponding to this Item in TABLE::field array. - Added triggers member to be able to access to parent Table_trigger_list object from fix_fields() method. - setup_field() no longer needs to know for which type of event this trigger is, since it does not make decision Field for which buffer (record[0] or record[1] is appropriate for this Item_trigger_field) sql/mysql_priv.h: Added fill_record_n_invoke_before_triggers() methods. They are simple wrappers around fill_record() which invoke proper before trigger right after filling record with values. sql/sql_base.cc: Added fill_record_n_invoke_before_triggers() methods. They are simple wrappers around fill_record() which invoke proper before trigger right after filling record with values. sql/sql_delete.cc: mysql_delete(): Now we stop statement execution if one of triggers failed, we also don't execute after delete trigger if we failed to delete row from the table (We also pass information about which buffer contains old version of row to process_triggers()). multi_delete::send_data()/do_deletes(): Now we also invoke triggers in case of multi-delete. sql/sql_insert.cc: mysql_insert(): Moved invocation of before triggers to fill_record_n_invoke_before_triggers() method. After triggers are now executed as part of write_record(). (as nice side effect now we also stop statement execution if one of triggers fail). write_record(): Invoke after insert trigger after performing insert. Also invoke proper triggers if insert is converted to update or conflicting row is deleted. Cleaned up error handling a bit - no sense to report error via handler::print_error if it was not generated by handler method and was reported before. Also now we will execute after trigger only if we really have written row to the table. select_insert::send_data()/store_values(): We should also execute INSERT triggers for INSERT ... SELECT statement. sql/sql_load.cc: read_fixed_length()/read_sep_field(): We should execute INSERT triggers when processing LOAD DATA statement. Small cleanup in auto-increment related code. Also moved check for thd->killed which is used to abort LOAD DATA in case of problems in 'traditional' mode to better place.. sql/sql_trigger.cc: Since it turned out that at trigger loading time we can't say in which buffer TABLE::record[0] or record[1] old version of row will be stored we have to change our approach to binding of Item_trigger_field to Field instances. Now after trigger parsing (in Item_trigger_field::setup_table()) we only find index of proper Field in the TABLE::field array. Then before trigger is invoked we set Table_triggers_list::old_field/new_field so they point to arrays holding Field instances bound to buffers with proper row versions. And as last step in Item_trigger_field::fix_fields() we get pointer to Field from those arrays using saved field index. Table_triggers_list methods were changed to implement this approach (see also comments for sql_trigger.h). sql/sql_trigger.h: Since it turned out that at trigger loading time we can't say in which buffer TABLE::record[0] or record[1] old version of row will be stored we have to change our approach to binding of Item_trigger_field to Field instances. Now after trigger parsing (in Item_trigger_field::setup_table()) we only find index of proper Field in the TABLE::field array. Then before trigger is invoked we set Table_triggers_list::old_field/new_field so they point to arrays holding Field instances bound to buffers with proper row versions. And as last step in Item_trigger_field::fix_fields() we get pointer to Field from those arrays using saved field index. Changed Table_triggers_list to implement this new approach: - Added record1_field member to store array of Field objects bound to TABLE::record[1] buffer (instead of existing old_field member) - Added new_field member and changed meaning of old_field member. During trigger execution they should point to arrays of Field objects bound to buffers holding new and old versions of row respectively. - Added 'table' member to be able to get access to TABLE instance (for which this trigger list object was created) from process_triggers() method. - Now process_triggers() method sets old_field and new_field members properly before executing triggers body (basing on new old_row_is_record1 parameter value). - Renamed prepare_old_row_accessors_method() to prepare_record1_accessors() Also added has_before_update_triggers() method which allows to check whenever any before update triggers exist for table. sql/sql_update.cc: mysql_update(): Now we invoke before triggers in fill_record_n_invoke_before_triggers() method. Also now we abort statement execution when one of triggers fail. safe_update_on_fly(): When we are trying to understand if we can update first table in multi update on the fly we should take into account that BEFORE UPDATE trigger can change field values. multi_update::send_data()/do_updates() We should execute proper triggers when doing multi-update (in both cases when we do it on the fly and using temporary tables). |
21 years ago |
|
|
ba7cf8ca53 |
comment change (post-review of "replication of triggers"). Btw date_formats segfaults with --ps-protocol - not caused by my changes though; I'll file a bug report.
sql/sql_trigger.h: changing comment |
21 years ago |
|
|
6f83de163b |
Dmitri please review. Fix for BUG#10417 "CREATE TRIGGER not written to binlog":
writing DROP and CREATE TRIGGER to binlog, disabling binlogging of substatements, testing. mysql-test/r/rpl_sp.result: result update mysql-test/t/rpl_sp.test: removing useless lines, plus testing replication of triggers sql/sql_trigger.cc: trigger can be used to destroy slave, so only SUPER can create it by default. If create|drop goes ok, binlog CREATE TRIGGER and DROP TRIGGER. sql/sql_trigger.h: disable binlogging of substatements of triggers (even if now triggers can't do updates) |
21 years ago |
|
|
ac9f68b9fa |
Better approach for prelocking of tables for stored routines execution
and some SP-related cleanups. - We don't have separate stage for calculation of list of tables to be prelocked and doing implicit LOCK/UNLOCK any more. Instead we calculate this list at open_tables() and do implicit LOCK in lock_tables() (and UNLOCK in close_thread_tables()). Also now we support cases when same table (with same alias) is used several times in the same query in SP. - Cleaned up execution of SP. Moved all common code which handles LEX and does preparations before statement execution or complex expression evaluation to auxilary sp_lex_keeper class. Now all statements in SP (and corresponding instructions) that evaluate expression which can contain subquery have their own LEX. mysql-test/r/lock.result: Replaced wrong error code with the correct one after fixing bug in SP-locking. mysql-test/r/mysqldump.result: Added dropping of view which is used in test to its beginning. mysql-test/r/sp.result: Added tests for improved SP-locking. Temporarily disabled tests for SHOW PROCEDURE STATUS and alike (Until Monty will allow to open mysql.proc under LOCK TABLES without mentioning it in lock list). Replaced wrong results of test for bug #5240 with correct results after fixing bug in handling of cursors. mysql-test/t/lock.test: Replaced wrong error code with the correct one after fixing bug in SP-locking. mysql-test/t/mysqldump.test: Added dropping of view which is used in test to its beginning. mysql-test/t/sp.test: Added tests for improved SP-locking. Temporarily disabled tests for SHOW PROCEDURE STATUS and alike (Until Monty will allow to open mysql.proc under LOCK TABLES without mentioning it in lock list). Removed test for bug #1654 since we already test exactly this function in one of SP-locking tests. Removed comment about cursor's wrong behavior in test for bug #5240 after fixing bug which was its cause. sql/item_func.cc: Removed comment which is no longer true. sql/mysql_priv.h: Changed open_tables() signature. Now its 2nd parameter is in/out since it can add elements to table list. sql/sp.cc: sp_find_procedure(): Added one more parameter which enforces cache only lookup. sp_merge_hash(): Now uses its return value to indicate that first of two hashes changed as result of merge. sp_cache_routines(): This function caches all stored routines used in query now. sql/sp.h: - sp_find_procedure() now has one more parameter which enforces cache only lookup. - sp_merge_hash() now uses its return value to indicate that first of two hashes changed as result of merge. - sp_cache_routines() caches all stored routines now. So it does not need third argument any more. sql/sp_head.cc: sp_head::sp_head(): Added initialization of new m_spfuns and m_spprocs members. sp_head::execute(): Let us save/restore part of thread context which can be damaged by execution of instructions. sp_head::execute_function()/execute_procedure(): Now it is responsibility of caller to close tables used in subqueries which are passed as routine parameters. sp_head::restore_lex(): Let us accumulate information about routines used by this one in new m_spfuns, m_spprocs hashes. sp_lex_keeper::reset_lex_and_exec_core() Main method of new auxilary sp_lex_keeper class to which instructions delegate responsibility for handling LEX and preparations before executing statement or calculating complex expression. Since all instructions which calculate complex expression or execute command now use sp_lex_keeper they have to implement sp_instr::exec_core() method. Most of instruction specific logic has moved from sp_instr::execute() to this new method. Removed sp_instr_set_user_var class which is no longer used, because nowdays we allow execution of statements in stored functions and triggers. sp_merge_table_list() became sp_head::merge_table_list() method. It also treats sp_head::m_sptabs as multi-set of tables now. sp_hash_to_table_list() became sp_head::add_used_tables_to_table_list(). It takes into account that sp_head::m_sptabs is multi-set and allocates object into persistent arena of PS. Removed sp_merge_table_hash(), sp_open_and_lock_tables(), sp_unlock_tables(), sp_merge_routine_tables() methods since they are not used by new prelocking mechanism. Added sp_add_sp_tables_to_table_list() which serves for adding tables needed by routines used in query to the query table list for prelocking. sql/sp_head.h: class sp_head: - Added m_spfuns, m_spprocs members for storing names of routines used by this routine. - Added add_used_tables_to_table_list() method which allows to add tables needed by this routine to query's table list. - Converted sp_merge_table_list() to sp_head::merge_table_list() method. - Changed semantics of THD::m_sptabs. Now it is multi-set which contains only tables which are used by this routine and not routines that are called from this one. Removed sp_merge_routine_tables(), sp_merge_table_hash(), sp_open_and_lock_tables(), sp_unlock_tables() calls since they are not used for our prelocking list calculation. Added auxilary sp_lex_keeper class to which instructions delegate responsibility for handling LEX and preparations before executing statement or calculating complex expression. This class uses new sp_instr::exec_core() method which is responsible for executing instruction's core function after all preparations were made. All instructions which hold and calculate complex expression now have their own LEX (by aggregating sp_lex_keeper instance). sp_instr_stmt now uses sp_lex_keeper too. Removed sp_instr_set_user_var class which is no longer used, because nowdays we allow execution of statements in stored functions and triggers. sql/sp_rcontext.cc: Now sp_cursor holds pointer to sp_lex_keeper instead of LEX. sql/sp_rcontext.h: Now sp_cursor holds pointer to sp_lex_keeper instead of LEX. sql/sql_acl.cc: acl_init(), grant_init(): Now we use simple_open_n_lock_tables() instead of explicit calls to open_tables() and mysql_lock_tables(). sql/sql_base.cc: Implemented support for execution of statements in "prelocked" mode. When we have statement which uses stored routines explicitly or implicitly (via views or triggers) we have to open and lock all tables for these routines at the same time as tables for the main statement. In fact we have to do implicit LOCK TABLES at the begining of such statement and implict UNLOCK TABLES at its end. We call such mode "prelocked". When open_tables() is called for the statement tables which are needed for execution of routines used by it are added to its tables list (this process also caches all routines used). Implicit use of routines is discovered when we open view or table with trigger and apropriate tables are added to the table list at this moment. Statement which has such extra tables in its list (well actually any that uses functions) is marked as requiring prelocked mode for its execution. When lock_tables() sees such statement it will issue implicit LOCK TABLES for this extended table list instead of doing usual locking, it will also set THD::prelocked_mode to indicate that we are in prelocked mode. When open_tables()/lock_tables() are called for statement of stored routine (substatement), they notice that we are running in prelocked mode and use one of prelocked tables from those that are not used by upper levels of execution. close_thread_tables() for substatement won't really close tables used but will mark them as free for reuse instead. Finally when close_thread_tables() is called for the main statement it really unlocks and closes all tables used. Everything will work even if one uses such statement under real LOCK TABLES (we are simply not doing implicit LOCK/UNLOCK in this case). sql/sql_class.cc: Added initialization of THD::prelocked_mode member. sql/sql_class.h: - Added prelocked_mode_type enum and THD::prelocked_mode member which are used for indication whenever "prelocked mode" is on (i.e. that statement uses stored routines and is executed under implicit LOCK TABLES). - Removed THD::shortcut_make_view which is no longer needed. We use TABLE_LIST::prelocking_placeholder for the same purprose now. sql/sql_handler.cc: Changed open_tables() invocation. Now its 2nd parameter is in/out since it can add elements to table list. sql/sql_lex.cc: lex_start(): Added initialization of LEX::query_tables_own_last. Unused LEX::sptabs member was removed. st_lex::unlink_first_table()/link_first_table_back(): We should update LEX::query_tables_last properly if table list contains(ed) only one element. sql/sql_lex.h: LEX: - Removed sptabs member since it is no longer used. - Added query_tables_own_last member, which if non-0 indicates that statement requires prelocking (implicit LOCK TABLES) for its execution and points to last own element in query table list. If it is zero then this query does not need prelocking. - Added requires_prelocking(), mark_as_requiring_prelocking(), first_not_own_table() inline methods to incapsulate and simplify usage of this new member. sql/sql_parse.cc: dispatch_command(): To properly leave prelocked mode when needed we should call close_thread_tables() even if there are no open tables. mysql_execute_command(): - Removed part of function which were responsible for doing implicit LOCK TABLES before statement execution if statement used stored routines (and doing UNLOCK TABLES at the end). Now we do all this in open_tables()/lock_tables()/close_thread_tables() instead. - It is also sensible to reset errors before execution of statement which uses routines. - SQLCOM_DO, SQLCOM_SET_OPTION, SQLCOM_CALL We should always try to open tables because even if statement has empty table list, it can call routines using tables, which should be preopened before statement execution. - SQLCOM_CALL We should not look up routine called in mysql.proc, since it should be already cached by this moment by open_tables() call. - SQLCOM_LOCK_TABLES it is better to use simple_open_n_lock_tables() since we want to avoid materialization of derived tables for this command. sql/sql_prepare.cc: mysql_test_update(): Changed open_tables() invocations. Now its 2nd parameter is in/out since it can add elements to table list. check_prepared_statement(): Since now we cache all routines used by statement in open_tables() we don't need to do it explicitly. mysql_stmt_prepare(): Now we should call close_thread_tables() when THD::lex points to the LEX of statement which opened tables. reset_stmt_for_execute(): Commented why we are resetting all tables in table list. sql/sql_trigger.h: Table_triggers_list::process_triggers(): We should surpress sending of ok packet when we are calling trigger's routine, since now we allow statements in them. sql/sql_update.cc: Changed open_tables() invocations. Now its 2nd parameter is in/out since it can add elements to table list. sql/sql_view.cc: mysql_make_view(): - Removed handling of routines used in view. Instead we add tables which are needed for their execution to statement's table list in open_tables(). - Now we use TABLE_LIST::prelocking_placeholder instead of THD::shortcut_make_view for indicating that view is opened only to discover which tables and routines it uses (this happens when we build extended table list for prelocking). Also now we try to avoid to modify main LEX in this case (except of its table list). - Corrected small error we added tables to the table list of the main LEX without updating its query_tables_last member properly. sql/sql_yacc.yy: Now each expression which is used in SP statements and can contain subquery has its own LEX. This LEX is stored in corresponding sp_instr object and used along with Item tree for expression calculation. We don't need sp_instr_set_user_var() anymore since now we allow execution of statements in stored functions and triggers. sql/table.h: Added TABLE_LIST::prelocking_placeholder member for distinguishing elements of table list which does not belong to the statement itself and added there only for prelocking (as they are to be used by routines called by this statement). sql/tztime.cc: my_tz_init(): Now we use more simplier simple_open_n_lock_tables() call instead of open_tables()/lock_tables() pair. |
21 years ago |
|
|
c3da2d12f7 |
Fix for bug #5888 "Triggers with nonexistent columns cause packets
out of order". (final version)
Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
mysql-test/r/trigger.result:
Added test which attempts to create trigger for table referencing to
field which does not exist in this table.
mysql-test/t/trigger.test:
Added test which attempts to create trigger for table referencing to
field which does not exist in this table.
sql/item.cc:
Item_trigger_field::setup_field() now returns void. If any error
will occur we will report it at fix_fields() stage.
sql/item.h:
Item_trigger_field:
- Added next_trg_field member for linking all such objects in trigger
in one list.
- Also setup_field() now returns void. If any error will occur we will
report it at fix_fields() stage.
sql/mysql_priv.h:
Added SQL_LIST::push_back() method which allows to add another SQL_LIST
to the end of this SQL_LIST.
sql/sp_head.cc:
sp_head::init()/reset_lex()/restore_lex():
In order to fill global LEX::trg_table_fields (list of all
Item_trigger_field objects for trigger) we should init the same list
in LEX of substatement before its parsing and merge it to global list
after parsing.
sql/sp_head.h:
sp_instr_trigger_field:
Made trigger_field member public to be able to add it more easily to
global list of all Item_trigger_field objects in trigger.
sql/sql_lex.cc:
LEX::trg_table was removed.
sql/sql_lex.h:
Now we are binding Item_trigger_field's to TABLE object by passing
through specially constructed list of all such objects in this trigger
instead of doing this during trigger definition parsing at table open.
So we no longer need LEX::trg_table, we use LEX::trg_table_fields list
instead.
sql/sql_parse.cc:
mysql_execute_command():
Since now we use trigger body for some checks in
mysql_create_or_drop_trigger() we should destroy it only
after calling this function.
sql/sql_trigger.cc:
Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
Table_triggers_list::prepare_old_row_accessors() method was added to be
able to reuse code creating Field objects referencing TABLE::record[1]
buffer instead of TABLE::record[0].
sql/sql_trigger.h:
Added Table_triggers_list::prepare_old_row_accessors() method to be
able to reuse code creating Field objects referencing to TABLE::record[1]
instead of record[0].
sql/sql_yacc.yy:
Now instead of performing binding of Item_trigger_field objects
to TABLE object during trigger definition parsing at table open,
we perform this binding by passing through specially constructed
list of all such items in trigger.
We also check value returned from memory allocation functions.
|
21 years ago |
|
|
bb43e8317f |
Fix for bug #5890 "Triggers fail for DELETE without WHERE".
If we have DELETE with always true WHERE clause we should not use optimized delete_all_rows() method for tables with DELETE triggers, because in this case we will lose side-effect of deletion. mysql-test/r/trigger.result: Added test for bug #5890 "Triggers fail for DELETE without WHERE". mysql-test/t/trigger.test: Added test for bug #5890 "Triggers fail for DELETE without WHERE". sql/sql_delete.cc: mysql_delete(): We should not use optimized delete_all_rows() method for tables with DELETE triggers, because in this case we will lose side-effect of deletion. sql/sql_trigger.h: Added new Table_triggers_list::has_delete_triggers() method which allows to understand quickly if we have some DELETE triggers in our list. |
21 years ago |
|
|
52ac4935e7 |
WL#1218 "Triggers". Some very preliminary version of patch.
Mostly needed for Monty for him getting notion what needed for triggers
from new .FRM format.
Things to be done:
- Right placement of trigger's invocations
- Right handling of errors in triggers (including transaction rollback)
- Support for priviliges
- Right handling of DROP/RENAME table (hope that it will be handled automatically
with merging of .TRG into .FRM file)
- Saving/restoring some information critical for trigger creation and replication
with their definitions (e.g. sql_mode, creator, ...)
- Replication
Already has some known bugs so probably not for general review.
include/mysqld_error.h:
Added trigger related error codes.
sql/Makefile.am:
Added sql_trigger.* files to list of sources from which mysqld is built.
sql/item.cc:
Added Item_trigger_field class representing field of new/old version of row which is
inserted/updated/deleted and for which trigger is invoked.
sql/item.h:
Added enums for describing trigger properties. (Here because of dependencies).
Added Item_trigger_field class representing field of new/old version of row which is
inserted/updated/deleted and for which trigger is invoked.
sql/item_func.cc:
Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
from stored procedures.
Added comment clarifying why we don't need set no_send_ok when calling stored functions.
sql/item_func.h:
Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
from stored procedures.
sql/lex.h:
Symbols used in statements defining triggers were added.
sql/mysql_priv.h:
Exported some functions needed for triggers implementation.
sql/parse_file.cc:
Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
sql/parse_file.h:
Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
sql/share/czech/errmsg.txt:
Added trigger related error messages.
sql/share/danish/errmsg.txt:
Added trigger related error messages.
sql/share/dutch/errmsg.txt:
Added trigger related error messages.
sql/share/english/errmsg.txt:
Added trigger related error messages.
sql/share/estonian/errmsg.txt:
Added trigger related error messages.
sql/share/french/errmsg.txt:
Added trigger related error messages.
sql/share/german/errmsg.txt:
Added trigger related error messages.
sql/share/greek/errmsg.txt:
Added trigger related error messages.
sql/share/hungarian/errmsg.txt:
Added trigger related error messages.
sql/share/italian/errmsg.txt:
Added trigger related error messages.
sql/share/japanese/errmsg.txt:
Added trigger related error messages.
sql/share/korean/errmsg.txt:
Added trigger related error messages.
sql/share/norwegian-ny/errmsg.txt:
Added trigger related error messages.
sql/share/norwegian/errmsg.txt:
Added trigger related error messages.
sql/share/polish/errmsg.txt:
Added trigger related error messages.
sql/share/portuguese/errmsg.txt:
Added trigger related error messages.
sql/share/romanian/errmsg.txt:
Added trigger related error messages.
sql/share/russian/errmsg.txt:
Added trigger related error messages.
sql/share/serbian/errmsg.txt:
Added trigger related error messages.
sql/share/slovak/errmsg.txt:
Added trigger related error messages.
sql/share/spanish/errmsg.txt:
Added trigger related error messages.
sql/share/swedish/errmsg.txt:
Added trigger related error messages.
sql/share/ukrainian/errmsg.txt:
Added trigger related error messages.
sql/sp_head.cc:
sp_head::init_strings(): added support for triggers
(we don't have most of strings for them)
sp_head::execute_function(): triggers don't require RETURN
sp_head::reset_lex(): added propagation of trigger properties to LEX used for
parsing of statements composing trigger body.
Added two more SP instructions:
- sp_instr_set_user_var for setting user variables in stored functions and triggers
(we can't use sp_instr_stmt and "SET @a:=..." statement since it will close open
tables and thus break execution of calling statement.
- sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
triggers
sql/sp_head.h:
Added new type of sp_head object - TYPE_ENUM_TRIGGER
Added two more SP instructions:
- sp_instr_set_user_var for setting user variables in stored functions and triggers
(we can't use sp_instr_stmt and "SET @a:=..." statement since it will close open
tables and thus break execution of calling statement.
- sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
triggers
sql/sql_base.cc:
Now freeing memory occupied by trigger related structures when closing tables.
open_unireg_entry(): added loading of triggers for table.
find_field_in_real_table() is now public since it required by Item_trigger_field in item.cc
sql/sql_delete.cc:
Added triggers invocation for DELETE (should be fixed for sure :))
sql/sql_insert.cc:
Added triggers invocation for INSERT (should be fixed for sure :))
sql/sql_lex.cc:
Added trg_new_row_fake_var variable pointer to which is used for distinguishing between
assignment to NEW row field (when parsing trigger definition) and structured variable.
Added initialization of LEX->trg_table to lex_start(). (When triggers are parsed during
opening of table it points to table object.)
sql/sql_lex.h:
Added trigger related commands.
Added st_trg_chistics structure describing properties of trigger being created
(as struct and as LEX member).
Added trg_new_row_fake_var variable pointer to which is used for
distinguishing between assignment to NEW row field (when parsing trigger definition)
and structured variable.
Added LEX::trg_table which points to table being opened when we are parsing trigger
definition while opening table.
sql/sql_parse.cc:
Added support for CREATE/DROP TRIGGER commands.
sql/sql_table.cc:
Cleanup. close_cached_table() always returns 0 and its result is not analyzed in most
places so chenged its return type to void.
sql/sql_update.cc:
Added triggers invocation for UPDATE (should be fixed for sure :))
sql/sql_yacc.yy:
Added support for CREATE/DROP TRIGGER statements.
Added support for OLD/NEW row identifiers in trigger.
Made assignment to user variables not to break execution of stored function or trigger.
sql/table.h:
Added TABLE::triggers member representing triggers for this table.
|
22 years ago |