Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
8161ec4c
Commit
8161ec4c
authored
Oct 31, 2002
by
salle@geopard.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge akeremidarski@work.mysql.com:/home/bk/mysql
into geopard.(none):/storage/bk/mysql-3.23
parents
0dacb59d
629576af
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
225 additions
and
27 deletions
+225
-27
Build-tools/Do-compile
Build-tools/Do-compile
+4
-2
Docs/manual.texi
Docs/manual.texi
+5
-0
innobase/pars/pars0grm.y
innobase/pars/pars0grm.y
+1
-2
myisam/mi_open.c
myisam/mi_open.c
+2
-1
mysql-test/t/myisam.test
mysql-test/t/myisam.test
+171
-0
sql/field.h
sql/field.h
+1
-0
sql/ha_innobase.cc
sql/ha_innobase.cc
+24
-12
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+1
-0
sql/mysqld.cc
sql/mysqld.cc
+2
-10
sql/sql_class.cc
sql/sql_class.cc
+14
-0
No files found.
Build-tools/Do-compile
View file @
8161ec4c
...
...
@@ -381,13 +381,15 @@ if ($opt_stage <= 9 && !$opt_no_test)
log_system
("
rm -f output/*
");
$tmp
=
$opt_fast_benchmark
?
"
--fast --user root --small-test
"
:
"";
check_system
("
perl ./run-all-tests --log --die-on-errors
$connect_option
$tmp
","
RUN-mysql
");
# Run additional fast test with dynamic-row tables
check_system
("
perl ./run-all-tests --log --suffix=
\"
_dynamic_rows
\"
--die-on-errors
$connect_option
--fast --user=root --small-test --create-options=
\"
row_format=dynamic
\"
","
RUN-mysql
");
if
(
$opt_innodb
)
{
check_system
("
perl ./run-all-tests --log --suffix=
\"
_innodb
\"
--die-on-errors
$connect_option
$tmp
--create-option=
\"
type=innodb
\"
","
RUN-mysql
");
check_system
("
perl ./run-all-tests --log --suffix=
\"
_innodb
\"
--die-on-errors
$connect_option
$tmp
--create-option
s
=
\"
type=innodb
\"
","
RUN-mysql
");
}
if
(
$opt_bdb
)
{
check_system
("
perl ./run-all-tests --log --suffix=
\"
_bdb
\"
--die-on-errors
$connect_option
$tmp
--create-option=
\"
type=bdb
\"
","
RUN-mysql
");
check_system
("
perl ./run-all-tests --log --suffix=
\"
_bdb
\"
--die-on-errors
$connect_option
$tmp
--create-option
s
=
\"
type=bdb
\"
","
RUN-mysql
");
}
}
...
...
Docs/manual.texi
View file @
8161ec4c
...
...
@@ -47012,6 +47012,11 @@ Changed initialisation of @code{RND()} to make it less predicatable.
Fixed problem with @code{GROUP BY} on result with expression that created a
@code{BLOB} field.
@item
Fixed problem with @code{GROUP BY} on columns that have NULL values. To
solve this we now create an MyISAM temporary table when doing a group by
on a possible NULL item. In MySQL 4.0.5 we can again use in memory HEAP
tables for this case.
@item
Fixed problem with privilege tables when downgrading from 4.0.2 to 3.23.
@item
Fixed thread bug in @code{SLAVE START}, @code{SLAVE STOP} and automatic repair
innobase/pars/pars0grm.y
View file @
8161ec4c
...
...
@@ -14,9 +14,8 @@ the InnoDB parser.
/* The value of the semantic attribute is a pointer to a query tree node
que_node_t */
#include <math.h>
#include "univ.i"
#include <math.h>
#include "pars0pars.h"
#include "mem0mem.h"
#include "que0types.h"
...
...
myisam/mi_open.c
View file @
8161ec4c
...
...
@@ -495,7 +495,8 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
extra
=
ALIGN_SIZE
(
MI_MAX_DYN_BLOCK_HEADER
)
+
MI_SPLIT_LENGTH
+
MI_DYN_DELETE_BLOCK_HEADER
;
tmp_length
=
max
(
share
->
base
.
pack_reclength
,
share
->
base
.
max_key_length
);
tmp_length
=
max
(
share
->
base
.
pack_reclength
+
share
->
base
.
pack_bits
,
share
->
base
.
max_key_length
);
info
.
alloced_rec_buff_length
=
tmp_length
;
if
(
!
(
info
.
rec_alloc
=
(
byte
*
)
my_malloc
(
tmp_length
+
extra
+
8
,
MYF
(
MY_WME
|
MY_ZEROFILL
))))
...
...
mysql-test/t/myisam.test
View file @
8161ec4c
...
...
@@ -75,3 +75,174 @@ INSERT INTO t1 VALUES (1), (2), (3);
OPTIMIZE
TABLE
t1
;
DROP
TABLE
t1
;
#
# test of myisam with huge number of packed fields
#
drop
table
if
exists
t1
;
create
table
t1
(
i1
int
,
i2
int
,
i3
int
,
i4
int
,
i5
int
,
i6
int
,
i7
int
,
i8
int
,
i9
int
,
i10
int
,
i11
int
,
i12
int
,
i13
int
,
i14
int
,
i15
int
,
i16
int
,
i17
int
,
i18
int
,
i19
int
,
i20
int
,
i21
int
,
i22
int
,
i23
int
,
i24
int
,
i25
int
,
i26
int
,
i27
int
,
i28
int
,
i29
int
,
i30
int
,
i31
int
,
i32
int
,
i33
int
,
i34
int
,
i35
int
,
i36
int
,
i37
int
,
i38
int
,
i39
int
,
i40
int
,
i41
int
,
i42
int
,
i43
int
,
i44
int
,
i45
int
,
i46
int
,
i47
int
,
i48
int
,
i49
int
,
i50
int
,
i51
int
,
i52
int
,
i53
int
,
i54
int
,
i55
int
,
i56
int
,
i57
int
,
i58
int
,
i59
int
,
i60
int
,
i61
int
,
i62
int
,
i63
int
,
i64
int
,
i65
int
,
i66
int
,
i67
int
,
i68
int
,
i69
int
,
i70
int
,
i71
int
,
i72
int
,
i73
int
,
i74
int
,
i75
int
,
i76
int
,
i77
int
,
i78
int
,
i79
int
,
i80
int
,
i81
int
,
i82
int
,
i83
int
,
i84
int
,
i85
int
,
i86
int
,
i87
int
,
i88
int
,
i89
int
,
i90
int
,
i91
int
,
i92
int
,
i93
int
,
i94
int
,
i95
int
,
i96
int
,
i97
int
,
i98
int
,
i99
int
,
i100
int
,
i101
int
,
i102
int
,
i103
int
,
i104
int
,
i105
int
,
i106
int
,
i107
int
,
i108
int
,
i109
int
,
i110
int
,
i111
int
,
i112
int
,
i113
int
,
i114
int
,
i115
int
,
i116
int
,
i117
int
,
i118
int
,
i119
int
,
i120
int
,
i121
int
,
i122
int
,
i123
int
,
i124
int
,
i125
int
,
i126
int
,
i127
int
,
i128
int
,
i129
int
,
i130
int
,
i131
int
,
i132
int
,
i133
int
,
i134
int
,
i135
int
,
i136
int
,
i137
int
,
i138
int
,
i139
int
,
i140
int
,
i141
int
,
i142
int
,
i143
int
,
i144
int
,
i145
int
,
i146
int
,
i147
int
,
i148
int
,
i149
int
,
i150
int
,
i151
int
,
i152
int
,
i153
int
,
i154
int
,
i155
int
,
i156
int
,
i157
int
,
i158
int
,
i159
int
,
i160
int
,
i161
int
,
i162
int
,
i163
int
,
i164
int
,
i165
int
,
i166
int
,
i167
int
,
i168
int
,
i169
int
,
i170
int
,
i171
int
,
i172
int
,
i173
int
,
i174
int
,
i175
int
,
i176
int
,
i177
int
,
i178
int
,
i179
int
,
i180
int
,
i181
int
,
i182
int
,
i183
int
,
i184
int
,
i185
int
,
i186
int
,
i187
int
,
i188
int
,
i189
int
,
i190
int
,
i191
int
,
i192
int
,
i193
int
,
i194
int
,
i195
int
,
i196
int
,
i197
int
,
i198
int
,
i199
int
,
i200
int
,
i201
int
,
i202
int
,
i203
int
,
i204
int
,
i205
int
,
i206
int
,
i207
int
,
i208
int
,
i209
int
,
i210
int
,
i211
int
,
i212
int
,
i213
int
,
i214
int
,
i215
int
,
i216
int
,
i217
int
,
i218
int
,
i219
int
,
i220
int
,
i221
int
,
i222
int
,
i223
int
,
i224
int
,
i225
int
,
i226
int
,
i227
int
,
i228
int
,
i229
int
,
i230
int
,
i231
int
,
i232
int
,
i233
int
,
i234
int
,
i235
int
,
i236
int
,
i237
int
,
i238
int
,
i239
int
,
i240
int
,
i241
int
,
i242
int
,
i243
int
,
i244
int
,
i245
int
,
i246
int
,
i247
int
,
i248
int
,
i249
int
,
i250
int
,
i251
int
,
i252
int
,
i253
int
,
i254
int
,
i255
int
,
i256
int
,
i257
int
,
i258
int
,
i259
int
,
i260
int
,
i261
int
,
i262
int
,
i263
int
,
i264
int
,
i265
int
,
i266
int
,
i267
int
,
i268
int
,
i269
int
,
i270
int
,
i271
int
,
i272
int
,
i273
int
,
i274
int
,
i275
int
,
i276
int
,
i277
int
,
i278
int
,
i279
int
,
i280
int
,
i281
int
,
i282
int
,
i283
int
,
i284
int
,
i285
int
,
i286
int
,
i287
int
,
i288
int
,
i289
int
,
i290
int
,
i291
int
,
i292
int
,
i293
int
,
i294
int
,
i295
int
,
i296
int
,
i297
int
,
i298
int
,
i299
int
,
i300
int
,
i301
int
,
i302
int
,
i303
int
,
i304
int
,
i305
int
,
i306
int
,
i307
int
,
i308
int
,
i309
int
,
i310
int
,
i311
int
,
i312
int
,
i313
int
,
i314
int
,
i315
int
,
i316
int
,
i317
int
,
i318
int
,
i319
int
,
i320
int
,
i321
int
,
i322
int
,
i323
int
,
i324
int
,
i325
int
,
i326
int
,
i327
int
,
i328
int
,
i329
int
,
i330
int
,
i331
int
,
i332
int
,
i333
int
,
i334
int
,
i335
int
,
i336
int
,
i337
int
,
i338
int
,
i339
int
,
i340
int
,
i341
int
,
i342
int
,
i343
int
,
i344
int
,
i345
int
,
i346
int
,
i347
int
,
i348
int
,
i349
int
,
i350
int
,
i351
int
,
i352
int
,
i353
int
,
i354
int
,
i355
int
,
i356
int
,
i357
int
,
i358
int
,
i359
int
,
i360
int
,
i361
int
,
i362
int
,
i363
int
,
i364
int
,
i365
int
,
i366
int
,
i367
int
,
i368
int
,
i369
int
,
i370
int
,
i371
int
,
i372
int
,
i373
int
,
i374
int
,
i375
int
,
i376
int
,
i377
int
,
i378
int
,
i379
int
,
i380
int
,
i381
int
,
i382
int
,
i383
int
,
i384
int
,
i385
int
,
i386
int
,
i387
int
,
i388
int
,
i389
int
,
i390
int
,
i391
int
,
i392
int
,
i393
int
,
i394
int
,
i395
int
,
i396
int
,
i397
int
,
i398
int
,
i399
int
,
i400
int
,
i401
int
,
i402
int
,
i403
int
,
i404
int
,
i405
int
,
i406
int
,
i407
int
,
i408
int
,
i409
int
,
i410
int
,
i411
int
,
i412
int
,
i413
int
,
i414
int
,
i415
int
,
i416
int
,
i417
int
,
i418
int
,
i419
int
,
i420
int
,
i421
int
,
i422
int
,
i423
int
,
i424
int
,
i425
int
,
i426
int
,
i427
int
,
i428
int
,
i429
int
,
i430
int
,
i431
int
,
i432
int
,
i433
int
,
i434
int
,
i435
int
,
i436
int
,
i437
int
,
i438
int
,
i439
int
,
i440
int
,
i441
int
,
i442
int
,
i443
int
,
i444
int
,
i445
int
,
i446
int
,
i447
int
,
i448
int
,
i449
int
,
i450
int
,
i451
int
,
i452
int
,
i453
int
,
i454
int
,
i455
int
,
i456
int
,
i457
int
,
i458
int
,
i459
int
,
i460
int
,
i461
int
,
i462
int
,
i463
int
,
i464
int
,
i465
int
,
i466
int
,
i467
int
,
i468
int
,
i469
int
,
i470
int
,
i471
int
,
i472
int
,
i473
int
,
i474
int
,
i475
int
,
i476
int
,
i477
int
,
i478
int
,
i479
int
,
i480
int
,
i481
int
,
i482
int
,
i483
int
,
i484
int
,
i485
int
,
i486
int
,
i487
int
,
i488
int
,
i489
int
,
i490
int
,
i491
int
,
i492
int
,
i493
int
,
i494
int
,
i495
int
,
i496
int
,
i497
int
,
i498
int
,
i499
int
,
i500
int
,
i501
int
,
i502
int
,
i503
int
,
i504
int
,
i505
int
,
i506
int
,
i507
int
,
i508
int
,
i509
int
,
i510
int
,
i511
int
,
i512
int
,
i513
int
,
i514
int
,
i515
int
,
i516
int
,
i517
int
,
i518
int
,
i519
int
,
i520
int
,
i521
int
,
i522
int
,
i523
int
,
i524
int
,
i525
int
,
i526
int
,
i527
int
,
i528
int
,
i529
int
,
i530
int
,
i531
int
,
i532
int
,
i533
int
,
i534
int
,
i535
int
,
i536
int
,
i537
int
,
i538
int
,
i539
int
,
i540
int
,
i541
int
,
i542
int
,
i543
int
,
i544
int
,
i545
int
,
i546
int
,
i547
int
,
i548
int
,
i549
int
,
i550
int
,
i551
int
,
i552
int
,
i553
int
,
i554
int
,
i555
int
,
i556
int
,
i557
int
,
i558
int
,
i559
int
,
i560
int
,
i561
int
,
i562
int
,
i563
int
,
i564
int
,
i565
int
,
i566
int
,
i567
int
,
i568
int
,
i569
int
,
i570
int
,
i571
int
,
i572
int
,
i573
int
,
i574
int
,
i575
int
,
i576
int
,
i577
int
,
i578
int
,
i579
int
,
i580
int
,
i581
int
,
i582
int
,
i583
int
,
i584
int
,
i585
int
,
i586
int
,
i587
int
,
i588
int
,
i589
int
,
i590
int
,
i591
int
,
i592
int
,
i593
int
,
i594
int
,
i595
int
,
i596
int
,
i597
int
,
i598
int
,
i599
int
,
i600
int
,
i601
int
,
i602
int
,
i603
int
,
i604
int
,
i605
int
,
i606
int
,
i607
int
,
i608
int
,
i609
int
,
i610
int
,
i611
int
,
i612
int
,
i613
int
,
i614
int
,
i615
int
,
i616
int
,
i617
int
,
i618
int
,
i619
int
,
i620
int
,
i621
int
,
i622
int
,
i623
int
,
i624
int
,
i625
int
,
i626
int
,
i627
int
,
i628
int
,
i629
int
,
i630
int
,
i631
int
,
i632
int
,
i633
int
,
i634
int
,
i635
int
,
i636
int
,
i637
int
,
i638
int
,
i639
int
,
i640
int
,
i641
int
,
i642
int
,
i643
int
,
i644
int
,
i645
int
,
i646
int
,
i647
int
,
i648
int
,
i649
int
,
i650
int
,
i651
int
,
i652
int
,
i653
int
,
i654
int
,
i655
int
,
i656
int
,
i657
int
,
i658
int
,
i659
int
,
i660
int
,
i661
int
,
i662
int
,
i663
int
,
i664
int
,
i665
int
,
i666
int
,
i667
int
,
i668
int
,
i669
int
,
i670
int
,
i671
int
,
i672
int
,
i673
int
,
i674
int
,
i675
int
,
i676
int
,
i677
int
,
i678
int
,
i679
int
,
i680
int
,
i681
int
,
i682
int
,
i683
int
,
i684
int
,
i685
int
,
i686
int
,
i687
int
,
i688
int
,
i689
int
,
i690
int
,
i691
int
,
i692
int
,
i693
int
,
i694
int
,
i695
int
,
i696
int
,
i697
int
,
i698
int
,
i699
int
,
i700
int
,
i701
int
,
i702
int
,
i703
int
,
i704
int
,
i705
int
,
i706
int
,
i707
int
,
i708
int
,
i709
int
,
i710
int
,
i711
int
,
i712
int
,
i713
int
,
i714
int
,
i715
int
,
i716
int
,
i717
int
,
i718
int
,
i719
int
,
i720
int
,
i721
int
,
i722
int
,
i723
int
,
i724
int
,
i725
int
,
i726
int
,
i727
int
,
i728
int
,
i729
int
,
i730
int
,
i731
int
,
i732
int
,
i733
int
,
i734
int
,
i735
int
,
i736
int
,
i737
int
,
i738
int
,
i739
int
,
i740
int
,
i741
int
,
i742
int
,
i743
int
,
i744
int
,
i745
int
,
i746
int
,
i747
int
,
i748
int
,
i749
int
,
i750
int
,
i751
int
,
i752
int
,
i753
int
,
i754
int
,
i755
int
,
i756
int
,
i757
int
,
i758
int
,
i759
int
,
i760
int
,
i761
int
,
i762
int
,
i763
int
,
i764
int
,
i765
int
,
i766
int
,
i767
int
,
i768
int
,
i769
int
,
i770
int
,
i771
int
,
i772
int
,
i773
int
,
i774
int
,
i775
int
,
i776
int
,
i777
int
,
i778
int
,
i779
int
,
i780
int
,
i781
int
,
i782
int
,
i783
int
,
i784
int
,
i785
int
,
i786
int
,
i787
int
,
i788
int
,
i789
int
,
i790
int
,
i791
int
,
i792
int
,
i793
int
,
i794
int
,
i795
int
,
i796
int
,
i797
int
,
i798
int
,
i799
int
,
i800
int
,
i801
int
,
i802
int
,
i803
int
,
i804
int
,
i805
int
,
i806
int
,
i807
int
,
i808
int
,
i809
int
,
i810
int
,
i811
int
,
i812
int
,
i813
int
,
i814
int
,
i815
int
,
i816
int
,
i817
int
,
i818
int
,
i819
int
,
i820
int
,
i821
int
,
i822
int
,
i823
int
,
i824
int
,
i825
int
,
i826
int
,
i827
int
,
i828
int
,
i829
int
,
i830
int
,
i831
int
,
i832
int
,
i833
int
,
i834
int
,
i835
int
,
i836
int
,
i837
int
,
i838
int
,
i839
int
,
i840
int
,
i841
int
,
i842
int
,
i843
int
,
i844
int
,
i845
int
,
i846
int
,
i847
int
,
i848
int
,
i849
int
,
i850
int
,
i851
int
,
i852
int
,
i853
int
,
i854
int
,
i855
int
,
i856
int
,
i857
int
,
i858
int
,
i859
int
,
i860
int
,
i861
int
,
i862
int
,
i863
int
,
i864
int
,
i865
int
,
i866
int
,
i867
int
,
i868
int
,
i869
int
,
i870
int
,
i871
int
,
i872
int
,
i873
int
,
i874
int
,
i875
int
,
i876
int
,
i877
int
,
i878
int
,
i879
int
,
i880
int
,
i881
int
,
i882
int
,
i883
int
,
i884
int
,
i885
int
,
i886
int
,
i887
int
,
i888
int
,
i889
int
,
i890
int
,
i891
int
,
i892
int
,
i893
int
,
i894
int
,
i895
int
,
i896
int
,
i897
int
,
i898
int
,
i899
int
,
i900
int
,
i901
int
,
i902
int
,
i903
int
,
i904
int
,
i905
int
,
i906
int
,
i907
int
,
i908
int
,
i909
int
,
i910
int
,
i911
int
,
i912
int
,
i913
int
,
i914
int
,
i915
int
,
i916
int
,
i917
int
,
i918
int
,
i919
int
,
i920
int
,
i921
int
,
i922
int
,
i923
int
,
i924
int
,
i925
int
,
i926
int
,
i927
int
,
i928
int
,
i929
int
,
i930
int
,
i931
int
,
i932
int
,
i933
int
,
i934
int
,
i935
int
,
i936
int
,
i937
int
,
i938
int
,
i939
int
,
i940
int
,
i941
int
,
i942
int
,
i943
int
,
i944
int
,
i945
int
,
i946
int
,
i947
int
,
i948
int
,
i949
int
,
i950
int
,
i951
int
,
i952
int
,
i953
int
,
i954
int
,
i955
int
,
i956
int
,
i957
int
,
i958
int
,
i959
int
,
i960
int
,
i961
int
,
i962
int
,
i963
int
,
i964
int
,
i965
int
,
i966
int
,
i967
int
,
i968
int
,
i969
int
,
i970
int
,
i971
int
,
i972
int
,
i973
int
,
i974
int
,
i975
int
,
i976
int
,
i977
int
,
i978
int
,
i979
int
,
i980
int
,
i981
int
,
i982
int
,
i983
int
,
i984
int
,
i985
int
,
i986
int
,
i987
int
,
i988
int
,
i989
int
,
i990
int
,
i991
int
,
i992
int
,
i993
int
,
i994
int
,
i995
int
,
i996
int
,
i997
int
,
i998
int
,
i999
int
,
i1000
int
)
row_format
=
dynamic
;
insert
into
t1
values
(
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
);
drop
table
if
exists
t1
;
sql/field.h
View file @
8161ec4c
...
...
@@ -533,6 +533,7 @@ public:
enum
Item_result
result_type
()
const
{
return
field_length
==
8
||
field_length
==
14
?
INT_RESULT
:
STRING_RESULT
;
}
enum_field_types
type
()
const
{
return
FIELD_TYPE_TIMESTAMP
;}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONG_INT
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
void
store
(
const
char
*
to
,
uint
length
);
void
store
(
double
nr
);
void
store
(
longlong
nr
);
...
...
sql/ha_innobase.cc
View file @
8161ec4c
...
...
@@ -993,7 +993,10 @@ how you can resolve the problem.\n",
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
mysql_row_len
=
table
->
reclength
;
primary_key
=
MAX_KEY
;
/* Looks like MySQL-3.23 sometimes has primary key number != 0 */
primary_key
=
table
->
primary_key
;
key_used_on_scan
=
primary_key
;
/* Allocate a buffer for a 'row reference'. A row reference is
a string of bytes of length ref_length which uniquely specifies
...
...
@@ -1002,21 +1005,30 @@ how you can resolve the problem.\n",
of length ref_length! */
if
(
!
row_table_got_default_clust_index
(
ib_table
))
{
if
(
primary_key
>=
MAX_KEY
)
{
fprintf
(
stderr
,
"InnoDB: Error: table %s has a primary key in InnoDB
\n
"
"InnoDB: data dictionary, but not in MySQL!
\n
"
,
name
);
}
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
clust_index_was_generated
=
FALSE
;
primary_key
=
0
;
key_used_on_scan
=
0
;
/* MySQL allocates the buffer for ref. key_info->key_length
/*
MySQL allocates the buffer for ref. key_info->key_length
includes space for all key columns + one byte for each column
that may be NULL. ref_length must be as exact as possible to
save space, because all row reference buffers are allocated
based on ref_length. */
based on ref_length.
*/
ref_length
=
table
->
key_info
->
key_length
;
ref_length
=
table
->
key_info
[
primary_key
].
key_length
;
}
else
{
if
(
primary_key
!=
MAX_KEY
)
{
fprintf
(
stderr
,
"InnoDB: Error: table %s has no primary key in InnoDB
\n
"
"InnoDB: data dictionary, but has one in MySQL!
\n
"
,
name
);
}
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
clust_index_was_generated
=
TRUE
;
...
...
sql/item_cmpfunc.cc
View file @
8161ec4c
...
...
@@ -354,6 +354,7 @@ void Item_func_between::fix_length_and_dec()
if
(
args
[
0
]
->
type
()
==
FIELD_ITEM
)
{
Field
*
field
=
((
Item_field
*
)
args
[
0
])
->
field
;
cmp_type
=
field
->
cmp_type
();
if
(
field
->
store_for_compare
())
{
if
(
convert_constant_item
(
field
,
&
args
[
1
]))
...
...
sql/mysqld.cc
View file @
8161ec4c
...
...
@@ -251,7 +251,7 @@ extern int init_master_info(MASTER_INFO* mi);
// and are treated as aliases for each other
static
bool
kill_in_progress
=
FALSE
;
st
atic
struct
rand_struct
sql_rand
;
st
ruct
rand_struct
sql_rand
;
// used by sql_class.cc:THD::THD()
static
int
cleanup_done
;
static
char
**
defaults_argv
,
time_zone
[
30
];
static
const
char
*
default_table_type_name
;
...
...
@@ -2323,15 +2323,7 @@ static void create_new_thread(THD *thd)
for
(
uint
i
=
0
;
i
<
8
;
i
++
)
// Generate password teststring
thd
->
scramble
[
i
]
=
(
char
)
(
rnd
(
&
sql_rand
)
*
94
+
33
);
thd
->
scramble
[
8
]
=
0
;
/*
We need good random number initialization for new thread
Just coping global one will not work
*/
{
ulong
tmp
=
(
ulong
)
(
rnd
(
&
sql_rand
)
*
3000000
);
randominit
(
&
(
thd
->
rand
),
tmp
+
(
ulong
)
start_time
,
tmp
+
(
ulong
)
thread_id
);
}
thd
->
real_id
=
pthread_self
();
// Keep purify happy
/* Start a new thread to handle connection */
...
...
sql/sql_class.cc
View file @
8161ec4c
...
...
@@ -35,6 +35,8 @@
#include <io.h>
#endif
extern
struct
rand_struct
sql_rand
;
/*****************************************************************************
** Instansiate templates
*****************************************************************************/
...
...
@@ -147,6 +149,18 @@ THD::THD():user_time(0),fatal_error(0),last_insert_id_used(0),
transaction
.
trans_log
.
end_of_file
=
max_binlog_cache_size
;
}
#endif
/*
We need good random number initialization for new thread
Just coping global one will not work
*/
{
pthread_mutex_lock
(
&
LOCK_thread_count
);
ulong
tmp
=
(
ulong
)
(
rnd
(
&
sql_rand
)
*
3000000
);
randominit
(
&
rand
,
tmp
+
(
ulong
)
start_time
,
tmp
+
(
ulong
)
thread_id
);
pthread_mutex_unlock
(
&
LOCK_thread_count
);
}
}
/* Do operations that may take a long time */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment