mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 10:31:54 +01:00
Merge paul@work.mysql.com:/home/bk/mysql-4.0
into teton.kitebird.com:/home/paul/mysql-4.0 Docs/manual.texi: Auto merged
This commit is contained in:
commit
c8d8213d02
14 changed files with 57247 additions and 271 deletions
358
Docs/Flags/costarica.eps
Executable file
358
Docs/Flags/costarica.eps
Executable file
|
@ -0,0 +1,358 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: Adobe Photoshop Version 5.5
|
||||
%%Title: costarica.eps
|
||||
%%CreationDate: Thu Feb 28 2002 17:53:37
|
||||
%%BoundingBox: 0 0 32 22
|
||||
%%HiResBoundingBox: 0 0 32.0005 22.0004
|
||||
%%SuppressDotGainCompensation
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%EndProlog
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%ImageData: 32 22 8 3 1 32 2 "beginimage"
|
||||
%BeginPhotoshop: 1322
|
||||
% 3842494D03ED0000000000100047FFB4000200020047FFB4000200023842494D
|
||||
% 040D000000000004000000783842494D03F30000000000080000000000000000
|
||||
% 3842494D040A00000000000100003842494D271000000000000A000100000000
|
||||
% 000000023842494D03F5000000000048002F66660001006C6666000600000000
|
||||
% 0001002F6666000100A1999A0006000000000001003200000001005A00000006
|
||||
% 000000000001003500000001002D000000060000000000013842494D03F80000
|
||||
% 000000700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E80000
|
||||
% 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFF
|
||||
% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFF
|
||||
% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D0408000000000010
|
||||
% 000000010000024000000240000000003842494D041400000000000400000002
|
||||
% 3842494D040C0000000003AC0000000100000020000000160000006000000840
|
||||
% 0000039000180001FFD8FFE000104A46494600010201004800480000FFEE000E
|
||||
% 41646F626500648000000001FFDB0084000C08080809080C09090C110B0A0B11
|
||||
% 150F0C0C0F1518131315131318110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C
|
||||
% 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E
|
||||
% 14140E0E0E0E14110C0C0C0C0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C
|
||||
% 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CFFC0001108001600200301220002
|
||||
% 1101031101FFDD00040002FFC4013F0000010501010101010100000000000000
|
||||
% 030001020405060708090A0B0100010501010101010100000000000000010002
|
||||
% 030405060708090A0B1000010401030204020507060805030C33010002110304
|
||||
% 211231054151611322718132061491A1B14223241552C16233347282D1430725
|
||||
% 9253F0E1F163733516A2B283264493546445C2A3743617D255E265F2B384C3D3
|
||||
% 75E3F3462794A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F637
|
||||
% 475767778797A7B7C7D7E7F71100020201020404030405060707060535010002
|
||||
% 1103213112044151617122130532819114A1B14223C152D1F0332462E1728292
|
||||
% 435315637334F1250616A2B283072635C2D2449354A317644555367465E2F2B3
|
||||
% 84C3D375E3F34694A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6
|
||||
% F62737475767778797A7B7C7FFDA000C03010002110311003F005D1BFC53D1D4
|
||||
% 3A3E0E79CF630E5E3557961C60E23D4636DDBBFD76EFDBBBE92B9FF8CD51FF00
|
||||
% 9635FF00EC20FF00DE8593D27EA87D62C8E9585914E1EFAAEC7AACADDEA5425A
|
||||
% E635CC743AD0EFA2AD7FCCAFACDFF707FF0005A7FF004AA6FF00A43981A0C7B6
|
||||
% 9F247FF55BA31F83F2728891E771824591634BFF00ABB73FF19AA3FF002C6BFF
|
||||
% 00D841FF00BD0A9F59FF0014F474FE8F9D9E33D8F3898D6DE18318349F4D8EB7
|
||||
% 6EFF005DDB376DFA497FCCAFACDFF707FF0005A7FF004AAABD5BEA87D62C7E95
|
||||
% 9B91761ECAA9C7B6CB1DEA5461AD639CF7436D2EFA297FA43983A1C7BE9F247F
|
||||
% F55AA5F07E4E31321CEE3240B02C6B5FF577FFD05D1ACFF1AA3A3E08C0A9E708
|
||||
% 6355F6523EC3FCD6C6FA3FCF3FD5FE6F6FF3BFA4577D5FF1C3FE85FF007F4FFF
|
||||
% 00D28BC7525747150FF73EDD7DBB60357FE57FE73EC5EAFF008E1FF42FFBFA7F
|
||||
% FE9454BACD9FE354F47CE19F53C611C6B7ED44FD87F9AD8EF5BF997FABFCDEEF
|
||||
% E6BF48BCA9248F151FF73EDD3DBB50ABFF002BFF0039FFD93842494D03FD0000
|
||||
% 00000006000000000000
|
||||
%EndPhotoshop
|
||||
%%BeginICCProfile: (Photoshop Profile) -1 Hex
|
||||
% 00000C484C696E6F021000006D6E74725247422058595A2007CE000200090006
|
||||
% 00310000616373704D5346540000000049454320735247420000000000000000
|
||||
% 000000000000F6D6000100000000D32D48502020000000000000000000000000
|
||||
% 0000000000000000000000000000000000000000000000000000000000000000
|
||||
% 0000001163707274000001500000003364657363000001840000006C77747074
|
||||
% 000001F000000014626B707400000204000000147258595A0000021800000014
|
||||
% 6758595A0000022C000000146258595A0000024000000014646D6E6400000254
|
||||
% 00000070646D6464000002C400000088767565640000034C0000008676696577
|
||||
% 000003D4000000246C756D69000003F8000000146D6561730000040C00000024
|
||||
% 74656368000004300000000C725452430000043C0000080C675452430000043C
|
||||
% 0000080C625452430000043C0000080C7465787400000000436F707972696768
|
||||
% 74202863292031393938204865776C6574742D5061636B61726420436F6D7061
|
||||
% 6E790000646573630000000000000012735247422049454336313936362D322E
|
||||
% 31000000000000000000000012735247422049454336313936362D322E310000
|
||||
% 0000000000000000000000000000000000000000000000000000000000000000
|
||||
% 0000000000000000000000000000000058595A20000000000000F35100010000
|
||||
% 000116CC58595A200000000000000000000000000000000058595A2000000000
|
||||
% 00006FA2000038F50000039058595A2000000000000062990000B785000018DA
|
||||
% 58595A2000000000000024A000000F840000B6CF646573630000000000000016
|
||||
% 49454320687474703A2F2F7777772E6965632E63680000000000000000000000
|
||||
% 1649454320687474703A2F2F7777772E6965632E636800000000000000000000
|
||||
% 0000000000000000000000000000000000000000000000000000000000000000
|
||||
% 0000000064657363000000000000002E4945432036313936362D322E31204465
|
||||
% 6661756C742052474220636F6C6F7572207370616365202D2073524742000000
|
||||
% 00000000000000002E4945432036313936362D322E312044656661756C742052
|
||||
% 474220636F6C6F7572207370616365202D207352474200000000000000000000
|
||||
% 00000000000000000000000064657363000000000000002C5265666572656E63
|
||||
% 652056696577696E6720436F6E646974696F6E20696E2049454336313936362D
|
||||
% 322E3100000000000000000000002C5265666572656E63652056696577696E67
|
||||
% 20436F6E646974696F6E20696E2049454336313936362D322E31000000000000
|
||||
% 000000000000000000000000000000000000000076696577000000000013A4FE
|
||||
% 00145F2E0010CF140003EDCC0004130B00035C9E0000000158595A2000000000
|
||||
% 004C09560050000000571FE76D65617300000000000000010000000000000000
|
||||
% 00000000000000000000028F0000000273696720000000004352542063757276
|
||||
% 000000000000040000000005000A000F00140019001E00230028002D00320037
|
||||
% 003B00400045004A004F00540059005E00630068006D00720077007C00810086
|
||||
% 008B00900095009A009F00A400A900AE00B200B700BC00C100C600CB00D000D5
|
||||
% 00DB00E000E500EB00F000F600FB01010107010D01130119011F0125012B0132
|
||||
% 0138013E0145014C0152015901600167016E0175017C0183018B0192019A01A1
|
||||
% 01A901B101B901C101C901D101D901E101E901F201FA0203020C0214021D0226
|
||||
% 022F02380241024B0254025D02670271027A0284028E029802A202AC02B602C1
|
||||
% 02CB02D502E002EB02F50300030B03160321032D03380343034F035A03660372
|
||||
% 037E038A039603A203AE03BA03C703D303E003EC03F9040604130420042D043B
|
||||
% 0448045504630471047E048C049A04A804B604C404D304E104F004FE050D051C
|
||||
% 052B053A05490558056705770586059605A605B505C505D505E505F606060616
|
||||
% 0627063706480659066A067B068C069D06AF06C006D106E306F507070719072B
|
||||
% 073D074F076107740786079907AC07BF07D207E507F8080B081F08320846085A
|
||||
% 086E0882089608AA08BE08D208E708FB09100925093A094F09640979098F09A4
|
||||
% 09BA09CF09E509FB0A110A270A3D0A540A6A0A810A980AAE0AC50ADC0AF30B0B
|
||||
% 0B220B390B510B690B800B980BB00BC80BE10BF90C120C2A0C430C5C0C750C8E
|
||||
% 0CA70CC00CD90CF30D0D0D260D400D5A0D740D8E0DA90DC30DDE0DF80E130E2E
|
||||
% 0E490E640E7F0E9B0EB60ED20EEE0F090F250F410F5E0F7A0F960FB30FCF0FEC
|
||||
% 1009102610431061107E109B10B910D710F511131131114F116D118C11AA11C9
|
||||
% 11E81207122612451264128412A312C312E31303132313431363138313A413C5
|
||||
% 13E5140614271449146A148B14AD14CE14F01512153415561578159B15BD15E0
|
||||
% 160316261649166C168F16B216D616FA171D17411765178917AE17D217F7181B
|
||||
% 18401865188A18AF18D518FA19201945196B199119B719DD1A041A2A1A511A77
|
||||
% 1A9E1AC51AEC1B141B3B1B631B8A1BB21BDA1C021C2A1C521C7B1CA31CCC1CF5
|
||||
% 1D1E1D471D701D991DC31DEC1E161E401E6A1E941EBE1EE91F131F3E1F691F94
|
||||
% 1FBF1FEA20152041206C209820C420F0211C2148217521A121CE21FB22272255
|
||||
% 228222AF22DD230A23382366239423C223F0241F244D247C24AB24DA25092538
|
||||
% 2568259725C725F726272657268726B726E827182749277A27AB27DC280D283F
|
||||
% 287128A228D429062938296B299D29D02A022A352A682A9B2ACF2B022B362B69
|
||||
% 2B9D2BD12C052C392C6E2CA22CD72D0C2D412D762DAB2DE12E162E4C2E822EB7
|
||||
% 2EEE2F242F5A2F912FC72FFE3035306C30A430DB3112314A318231BA31F2322A
|
||||
% 3263329B32D4330D3346337F33B833F1342B3465349E34D83513354D358735C2
|
||||
% 35FD3637367236AE36E937243760379C37D738143850388C38C839053942397F
|
||||
% 39BC39F93A363A743AB23AEF3B2D3B6B3BAA3BE83C273C653CA43CE33D223D61
|
||||
% 3DA13DE03E203E603EA03EE03F213F613FA23FE24023406440A640E74129416A
|
||||
% 41AC41EE4230427242B542F7433A437D43C044034447448A44CE45124555459A
|
||||
% 45DE4622466746AB46F04735477B47C04805484B489148D7491D496349A949F0
|
||||
% 4A374A7D4AC44B0C4B534B9A4BE24C2A4C724CBA4D024D4A4D934DDC4E254E6E
|
||||
% 4EB74F004F494F934FDD5027507150BB51065150519B51E65231527C52C75313
|
||||
% 535F53AA53F65442548F54DB5528557555C2560F565C56A956F75744579257E0
|
||||
% 582F587D58CB591A596959B85A075A565AA65AF55B455B955BE55C355C865CD6
|
||||
% 5D275D785DC95E1A5E6C5EBD5F0F5F615FB36005605760AA60FC614F61A261F5
|
||||
% 6249629C62F06343639763EB6440649464E9653D659265E7663D669266E8673D
|
||||
% 679367E9683F689668EC6943699A69F16A486A9F6AF76B4F6BA76BFF6C576CAF
|
||||
% 6D086D606DB96E126E6B6EC46F1E6F786FD1702B708670E0713A719571F0724B
|
||||
% 72A67301735D73B87414747074CC7528758575E1763E769B76F8775677B37811
|
||||
% 786E78CC792A798979E77A467AA57B047B637BC27C217C817CE17D417DA17E01
|
||||
% 7E627EC27F237F847FE5804780A8810A816B81CD8230829282F4835783BA841D
|
||||
% 848084E3854785AB860E867286D7873B879F8804886988CE8933899989FE8A64
|
||||
% 8ACA8B308B968BFC8C638CCA8D318D988DFF8E668ECE8F368F9E9006906E90D6
|
||||
% 913F91A89211927A92E3934D93B69420948A94F4955F95C99634969F970A9775
|
||||
% 97E0984C98B89924999099FC9A689AD59B429BAF9C1C9C899CF79D649DD29E40
|
||||
% 9EAE9F1D9F8B9FFAA069A0D8A147A1B6A226A296A306A376A3E6A456A4C7A538
|
||||
% A5A9A61AA68BA6FDA76EA7E0A852A8C4A937A9A9AA1CAA8FAB02AB75ABE9AC5C
|
||||
% ACD0AD44ADB8AE2DAEA1AF16AF8BB000B075B0EAB160B1D6B24BB2C2B338B3AE
|
||||
% B425B49CB513B58AB601B679B6F0B768B7E0B859B8D1B94AB9C2BA3BBAB5BB2E
|
||||
% BBA7BC21BC9BBD15BD8FBE0ABE84BEFFBF7ABFF5C070C0ECC167C1E3C25FC2DB
|
||||
% C358C3D4C451C4CEC54BC5C8C646C6C3C741C7BFC83DC8BCC93AC9B9CA38CAB7
|
||||
% CB36CBB6CC35CCB5CD35CDB5CE36CEB6CF37CFB8D039D0BAD13CD1BED23FD2C1
|
||||
% D344D3C6D449D4CBD54ED5D1D655D6D8D75CD7E0D864D8E8D96CD9F1DA76DAFB
|
||||
% DB80DC05DC8ADD10DD96DE1CDEA2DF29DFAFE036E0BDE144E1CCE253E2DBE363
|
||||
% E3EBE473E4FCE584E60DE696E71FE7A9E832E8BCE946E9D0EA5BEAE5EB70EBFB
|
||||
% EC86ED11ED9CEE28EEB4EF40EFCCF058F0E5F172F1FFF28CF319F3A7F434F4C2
|
||||
% F550F5DEF66DF6FBF78AF819F8A8F938F9C7FA57FAE7FB77FC07FC98FD29FDBA
|
||||
% FE4BFEDCFF6DFFFF
|
||||
%%EndICCProfile
|
||||
gsave % EPS gsave
|
||||
/hascolor
|
||||
/deviceinfo where
|
||||
{pop deviceinfo /Colors known
|
||||
{deviceinfo /Colors get exec 1 gt}
|
||||
{false} ifelse}
|
||||
{/statusdict where
|
||||
{pop statusdict /processcolors known
|
||||
{statusdict /processcolors get exec 1 gt}
|
||||
{false} ifelse}
|
||||
{false} ifelse}
|
||||
ifelse
|
||||
def
|
||||
40 dict begin
|
||||
/_image systemdict /image get def
|
||||
/_setgray systemdict /setgray get def
|
||||
/_currentgray systemdict /currentgray get def
|
||||
/_settransfer systemdict /settransfer get def
|
||||
/_currenttransfer systemdict /currenttransfer get def
|
||||
/blank 0 _currenttransfer exec
|
||||
1 _currenttransfer exec eq def
|
||||
/negative blank
|
||||
{0 _currenttransfer exec 0.5 lt}
|
||||
{0 _currenttransfer exec 1 _currenttransfer exec gt}
|
||||
ifelse def
|
||||
/inverted? negative def
|
||||
/level2 systemdict /languagelevel known
|
||||
{languagelevel 2 ge} {false} ifelse def
|
||||
/level3 systemdict /languagelevel known
|
||||
{languagelevel 3 ge} {false} ifelse def
|
||||
/foureq {4 index eq 8 1 roll
|
||||
4 index eq 8 1 roll
|
||||
4 index eq 8 1 roll
|
||||
4 index eq 8 1 roll
|
||||
pop pop pop pop and and and} def
|
||||
hascolor {/band 0 def} {/band 5 def} ifelse
|
||||
/setcmykcolor where {pop
|
||||
1 0 0 0 setcmykcolor _currentgray 1 exch sub
|
||||
0 1 0 0 setcmykcolor _currentgray 1 exch sub
|
||||
0 0 1 0 setcmykcolor _currentgray 1 exch sub
|
||||
0 0 0 1 setcmykcolor _currentgray 1 exch sub
|
||||
4 {4 copy} repeat
|
||||
1 0 0 0 foureq {/band 1 store} if
|
||||
0 1 0 0 foureq {/band 2 store} if
|
||||
0 0 1 0 foureq {/band 3 store} if
|
||||
0 0 0 1 foureq {/band 4 store} if
|
||||
0 0 0 0 foureq {/band 6 store} if} if
|
||||
blank {/band 6 store} if
|
||||
gsave % Image Header gsave
|
||||
/rows 22 def
|
||||
/cols 32 def
|
||||
32.0005 22.0004 scale
|
||||
level2 {
|
||||
band 0 eq {
|
||||
/DeviceRGB
|
||||
} {/DeviceGray} ifelse
|
||||
setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
|
||||
/picstr1 32 string def
|
||||
/picstr2 32 string def
|
||||
/picstr3 32 string def
|
||||
/picstr4 32 string def
|
||||
/readdata {currentfile exch readhexstring pop} def
|
||||
/image2 level2 {/image load def} {{begin
|
||||
Width Height BitsPerComponent ImageMatrix
|
||||
Decode length 2 eq
|
||||
{/DataSource load image} if
|
||||
Decode length 6 eq
|
||||
{DataSource 0 get DataSource 1 get DataSource 2 get
|
||||
true 3 colorimage} if
|
||||
Decode length 8 eq
|
||||
{DataSource 0 get DataSource 1 get
|
||||
DataSource 2 get DataSource 3 get
|
||||
true 4 colorimage} if
|
||||
end} def} ifelse
|
||||
/_image2 level2 {/_image load def} {{begin
|
||||
Width Height BitsPerComponent ImageMatrix
|
||||
/DataSource load _image end} def} ifelse
|
||||
/beginimage {
|
||||
band 0 eq band 4 eq or band 5 eq or
|
||||
{image2}
|
||||
{negative {{pop 0}} {{pop 1}} ifelse
|
||||
_settransfer _image2} ifelse
|
||||
} def
|
||||
12 dict begin
|
||||
/ImageType 1 def
|
||||
/Width cols def
|
||||
/Height rows def
|
||||
/ImageMatrix [cols 0 0 rows neg 0 rows] def
|
||||
/BitsPerComponent 8 def
|
||||
band 0 eq
|
||||
{/Decode [0 1 0 1 0 1] def
|
||||
/MultipleDataSources true def
|
||||
/DataSource [
|
||||
{picstr1 readdata}
|
||||
{picstr2 readdata}
|
||||
{picstr3 readdata picstr4 readdata pop}
|
||||
] def}
|
||||
{/Decode [0 1] def
|
||||
/DataSource {
|
||||
picstr1 readdata pop
|
||||
picstr2 readdata pop
|
||||
picstr3 readdata pop
|
||||
picstr4 readdata
|
||||
} def}
|
||||
ifelse
|
||||
currentdict end
|
||||
%%BeginBinary: 5821
|
||||
beginimage
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0008080808080808080808080808080808080808080808080808080808080800
|
||||
0039393939393939393939393939393939393939393939393939393939393900
|
||||
009C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C00
|
||||
0035353535353535353535353535353535353535353535353535353535353500
|
||||
0007070707070707070707070707070707070707070707070707070707070700
|
||||
0038383838383838383838383838383838383838383838383838383838383800
|
||||
009C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C00
|
||||
0034343434343434343434343434343434343434343434343434343434343400
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0030303030303030303030303030303030303030303030303030303030303000
|
||||
0098989898989898989898989898989898989898989898989898989898989800
|
||||
002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD00
|
||||
001D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D00
|
||||
0014141414141414141414141414141414141414141414141414141414141400
|
||||
0056565656565656565656565656565656565656565656565656565656565600
|
||||
00DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE00
|
||||
001F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F00
|
||||
0016161616161616161616161616161616161616161616161616161616161600
|
||||
0057575757575757575757575757575757575757575757575757575757575700
|
||||
00DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE00
|
||||
0021212121212121212121212121212121212121212121212121212121212100
|
||||
0018181818181818181818181818181818181818181818181818181818181800
|
||||
0059595959595959595959595959595959595959595959595959595959595900
|
||||
00DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE00
|
||||
0021212121212121212121212121212121212121212121212121212121212100
|
||||
0018181818181818181818181818181818181818181818181818181818181800
|
||||
0059595959595959595959595959595959595959595959595959595959595900
|
||||
00DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE00
|
||||
0020202020202020202020202020202020202020202020202020202020202000
|
||||
0017171717171717171717171717171717171717171717171717171717171700
|
||||
0058585858585858585858585858585858585858585858585858585858585800
|
||||
00DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD00
|
||||
0017171717171717171717171717171717171717171717171717171717171700
|
||||
000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E00
|
||||
0051515151515151515151515151515151515151515151515151515151515100
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
|
||||
0004040404040404040404040404040404040404040404040404040404040400
|
||||
0035353535353535353535353535353535353535353535353535353535353500
|
||||
009A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A00
|
||||
0031313131313131313131313131313131313131313131313131313131313100
|
||||
0006060606060606060606060606060606060606060606060606060606060600
|
||||
0038383838383838383838383838383838383838383838383838383838383800
|
||||
009B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B00
|
||||
0034343434343434343434343434343434343434343434343434343434343400
|
||||
0008080808080808080808080808080808080808080808080808080808080800
|
||||
0039393939393939393939393939393939393939393939393939393939393900
|
||||
009C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C00
|
||||
0035353535353535353535353535353535353535353535353535353535353500
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
|
||||
%%EndBinary
|
||||
grestore end % Image Trailer grestore
|
||||
grestore % EPS grestore
|
BIN
Docs/Flags/costarica.gif
Executable file
BIN
Docs/Flags/costarica.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 200 B |
0
Docs/Flags/costarica.txt
Normal file
0
Docs/Flags/costarica.txt
Normal file
50
Docs/Support/colspec-fix.pl
Executable file
50
Docs/Support/colspec-fix.pl
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
#
|
||||
# Script to rewrite colspecs from relative values to absolute values
|
||||
#
|
||||
|
||||
use strict;
|
||||
|
||||
my $table_width = 12.75; # cm
|
||||
my $gutter_width = 0.09; # cm
|
||||
|
||||
my $str = join '', <>;
|
||||
|
||||
$str =~ s{([\t ]*(<colspec colwidth=\".+?\" />\s*)+)}
|
||||
{&rel2abs($1)}ges;
|
||||
|
||||
print STDOUT $str;
|
||||
exit;
|
||||
|
||||
#
|
||||
# Definitions for helper sub-routines
|
||||
#
|
||||
|
||||
sub msg {
|
||||
print STDERR shift, "\n";
|
||||
}
|
||||
|
||||
sub rel2abs {
|
||||
my $str = shift;
|
||||
|
||||
my @widths = ();
|
||||
my $total = 0;
|
||||
my $output = '';
|
||||
|
||||
$str =~ /^(\s+)/;
|
||||
my $ws = $1;
|
||||
|
||||
while ($str =~ m/<colspec colwidth="(\d+)\*" \/>/g) {
|
||||
$total += $1;
|
||||
push @widths, $1;
|
||||
}
|
||||
|
||||
my $unit = ($table_width - ($#widths * $gutter_width)) / ($total);
|
||||
|
||||
foreach (@widths) {
|
||||
$output .= $ws . '<colspec colwidth="'. sprintf ("%0.2f", $_ * $unit) .'" />' . "\n";
|
||||
}
|
||||
|
||||
return $output . "\n$ws";
|
||||
}
|
|
@ -1,147 +1,165 @@
|
|||
#!/usr/bin/perl -w
|
||||
# 2002-02-15 zak@mysql.com
|
||||
# Use -w to make perl print useful warnings about the script being run
|
||||
|
||||
sub fix_underscore {
|
||||
$str = shift;
|
||||
$str =~ tr/_/-/;
|
||||
return $str;
|
||||
};
|
||||
# Fix the output of `makeinfo --docbook` version 4.0c
|
||||
# Convert the broken docbook output to well-formed XML that conforms to the O'Reilly idiom
|
||||
# See code for detailed comments
|
||||
# Authors: Arjen Lentz and Zak Greant
|
||||
|
||||
sub strip_emph {
|
||||
$str = shift;
|
||||
$str =~ s{<emphasis>(.+?)</emphasis>}
|
||||
{$1}gs;
|
||||
return $str;
|
||||
};
|
||||
use strict;
|
||||
|
||||
print STDERR "\n--Post-processing makeinfo output--\n";
|
||||
my $data = '';
|
||||
my @apx = ();
|
||||
my $apx = '';
|
||||
my @nodes = ();
|
||||
my $nodes = '';
|
||||
|
||||
# 2002-02-15 zak@mysql.com
|
||||
print STDERR "Discard DTD - ORA can add the appropriate DTD for their flavour of DocBook\n";
|
||||
<STDIN>;
|
||||
msg ("\n-- Post-processing `makeinfo --docbook` output --");
|
||||
msg ("** Written to work with makeinfo version 4.0c **\n");
|
||||
|
||||
print STDERR "Slurp! In comes the rest of the file. :)\n";
|
||||
$data = join "", <STDIN>;
|
||||
msg ("Discarding DTD - not required by subsequent scripts");
|
||||
# <> is a magic filehandle - either reading lines from stdin or from file(s) specified on the command line
|
||||
<>;
|
||||
|
||||
# 2002-02-15 zak@mysql.com
|
||||
print STDERR "Add an XML processing instruction with the right character encoding\n";
|
||||
$data = "<?xml version='1.0' encoding='ISO-8859-1'?>" . $data;
|
||||
msg ("Create an XML PI with ISO-8859-1 character encoding");
|
||||
$data = "<?xml version='1.0' encoding='ISO-8859-1'?>";
|
||||
|
||||
# 2002-02-15 zak@mysql.com
|
||||
# Less than optimal - should be fixed in makeinfo
|
||||
print STDERR "Put in missing <bookinfo> and <abstract>\n";
|
||||
$data =~ s/<book lang="en">/<book lang="en"><bookinfo><abstract>/gs;
|
||||
msg ("Get the rest of the data");
|
||||
$data = $data . join "", <>;
|
||||
|
||||
# 2002-02-15 zak@mysql.com
|
||||
print STDERR "Convert existing ampersands to escape sequences \n";
|
||||
$data =~ s/&(?!\w+;)/&/gs;
|
||||
msg ("Add missing <bookinfo> and <abstract> opening tags");
|
||||
# Note the absence of the g (global) pattern modified. This situation can only happen once.
|
||||
# ...as soon as we find the first instance, we can stop looking.
|
||||
$data =~ s/<book lang="en">/<book lang="en"><bookinfo><abstract>/;
|
||||
|
||||
# 2002-02-15 zak@mysql.com
|
||||
# Need to talk to Arjen about what the <n> bits are for
|
||||
print STDERR "Rework references of the notation '<n>'\n";
|
||||
$data =~ s/<(\d)>/[$1]/gs;
|
||||
|
||||
# 2002-02-15 zak@mysql.com
|
||||
# We might need to encode the high-bit characters to ensure proper representation
|
||||
# print STDERR "Converting high-bit characters to entities\n";
|
||||
# $data =~ s/([\200-\400])/&get_entity($1)>/gs;
|
||||
# There is no get_entity function yet - no point writing it til we need it :)
|
||||
msg ("Removing mailto: from email addresses...");
|
||||
$data =~ s/mailto://g;
|
||||
|
||||
print STDERR "Changing @@ to @...\n";
|
||||
$data =~ s/@@/@/gs;
|
||||
|
||||
print STDERR "Changing '_' to '-' in references...\n";
|
||||
$data =~ s{id=\"(.+?)\"}
|
||||
{"id=\"".&fix_underscore($1)."\""}gsex;
|
||||
$data =~ s{linkend=\"(.+?)\"}
|
||||
{"linkend=\"".&fix_underscore($1)."\""}gsex;
|
||||
|
||||
print STDERR "Changing ULINK to SYSTEMITEM...\n";
|
||||
$data =~ s{<ulink url=\"(.+?)\"></ulink>}
|
||||
{<systemitem role=\"url\">$1</systemitem>}gs;
|
||||
|
||||
print STDERR "Removing INFORMALFIGURE...\n";
|
||||
$data =~ s{<informalfigure>(.+?)</informalfigure>}
|
||||
msg ("Removing INFORMALFIGURE...");
|
||||
$data =~ s{<informalfigure>.+?</informalfigure>}
|
||||
{}gs;
|
||||
|
||||
print STDERR "Adding PARA inside ENTRY...\n";
|
||||
msg ("Convert ampersands to XML escape sequences ");
|
||||
$data =~ s/&(?!\w+;)/&/g;
|
||||
|
||||
msg ("Changing @@ to @...");
|
||||
$data =~ s/@@/@/g;
|
||||
|
||||
msg ("Rework references of the notation '<n>'");
|
||||
# Need to talk to Arjen about what the <n> bits are for
|
||||
$data =~ s/<(\d)>/[$1]/g;
|
||||
|
||||
msg ("Changing '_' to '-' in references...");
|
||||
$data =~ s{((?:id|linkend)=\".+?\")}
|
||||
{&underscore2hyphen($1)}gex;
|
||||
|
||||
msg ("Changing ULINK to SYSTEMITEM...");
|
||||
$data =~ s{<ulink url=\"(.+?)\">\s*</ulink>}
|
||||
{<systemitem role=\"url\">$1</systemitem>}gs;
|
||||
|
||||
msg ("Adding PARA inside ENTRY...");
|
||||
$data =~ s{<entry>(.*?)</entry>}
|
||||
{<entry><para>$1</para></entry>}gs;
|
||||
|
||||
print STDERR "Removing mailto: from email addresses...\n";
|
||||
$data =~ s{mailto:}
|
||||
{}gs;
|
||||
msg ("Fixing spacing problem with titles...");
|
||||
$data =~ s{(</\w+>)(\w{2,})}
|
||||
{$1 $2}gs;
|
||||
|
||||
print STDERR "Fixing spacing problem with titles...\n";
|
||||
$data =~ s{</(\w+)>(\w{2,})}
|
||||
{</$1> $2}gs;
|
||||
msg ("Adding closing / to XREF and COLSPEC tags...");
|
||||
$data =~ s{<(xref|colspec) (.+?)>}
|
||||
{<$1 $2 />}gs;
|
||||
|
||||
# 2002-02-15 arjen@mysql.com
|
||||
print STDERR "Adding closing / to XREF...\n";
|
||||
$data =~ s{<xref (.+?)>}
|
||||
{<xref $1 />}gs;
|
||||
# Probably need to strip these
|
||||
msg ('Adding "See " to XREFs that used to be @xref...');
|
||||
$data =~ s{([.'!)])\s*<xref }
|
||||
{$1 See <xref }gs;
|
||||
|
||||
# 2002-01-30 arjen@mysql.com
|
||||
print STDERR "Removing COLSPEC...\n";
|
||||
$data =~ s{\n *<colspec colwidth=\"[0-9]+\*\">}
|
||||
{}gs;
|
||||
msg ('Adding "see " to (XREFs) that used to be (@pxref)...');
|
||||
$data =~ s{([([,;])(\s*)<xref }
|
||||
{$1$2see <xref }gs;
|
||||
|
||||
# 2002-01-31 arjen@mysql.com
|
||||
print STDERR "Making first row in table THEAD...\n";
|
||||
$data =~ s{([ ]*)<tbody>\n([ ]*<row>(.+?)</row>)}
|
||||
{$1<thead>\n$2\n$1</thead>\n$1<tbody>}gs;
|
||||
msg ("Making first row in table THEAD...");
|
||||
$data =~ s{( *)<tbody>(\s*<row>.+?</row>)}
|
||||
{$1<thead>$2\n$1</thead>\n$1<tbody>}gs;
|
||||
|
||||
# 2002-01-31 arjen@mysql.com
|
||||
print STDERR "Removing EMPHASIS inside THEAD...\n";
|
||||
msg ("Removing EMPHASIS inside THEAD...");
|
||||
$data =~ s{<thead>(.+?)</thead>}
|
||||
{"<thead>".&strip_emph($1)."</thead>"}gsex;
|
||||
{"<thead>".&strip_tag($1, 'emphasis')."</thead>"}gsex;
|
||||
|
||||
# 2002-01-31 arjen@mysql.com
|
||||
print STDERR "Removing lf before /PARA in ENTRY...\n";
|
||||
$data =~ s{(<entry><para>(.+?))\n(</para></entry>)}
|
||||
{$1$3}gs;
|
||||
msg ("Removing empty PARA...");
|
||||
$data =~ s{<para>\s*</para>}
|
||||
{}gs;
|
||||
|
||||
# 2002-01-31 arjen@mysql.com (2002-02-15 added \n stuff)
|
||||
print STDERR "Removing whitespace before /PARA if not on separate line...\n";
|
||||
$data =~ s{([^\n ])[ ]+</para>}
|
||||
{$1</para>}gs;
|
||||
msg ("Removing lf before /PARA in ENTRY...");
|
||||
$data =~ s{\n(</para></entry>)}
|
||||
{$1}gs;
|
||||
|
||||
# 2002-01-31 arjen@mysql.com
|
||||
print STDERR "Removing empty PARA in ENTRY...\n";
|
||||
$data =~ s{<entry><para></para></entry>}
|
||||
{<entry></entry>}gs;
|
||||
msg ("Removing whitespace before /PARA if not on separate line...");
|
||||
$data =~ s{(\S+)[\t ]+</para>}
|
||||
{$1</para>}g;
|
||||
|
||||
# 2002-01-31 arjen@mysql.com
|
||||
print STDERR "Removing PARA around INDEXENTRY if no text in PARA...\n";
|
||||
$data =~ s{<para>((<indexterm role=\"(cp|fn)\">(<(primary|secondary)>[^<]+?</(primary|secondary)>)+?</indexterm>)+?)[\n]*</para>[\n]*}
|
||||
{$1\n}gs;
|
||||
msg ("Removing PARA around INDEXTERM if no text in PARA...");
|
||||
$data =~ s{<para>((?:<indexterm role=\"(?:cp|fn)\">(?:<(primary|secondary)>[^>]+</\2>)+?</indexterm>)+?)\s*</para>}
|
||||
{$1}gs;
|
||||
|
||||
# -----
|
||||
|
||||
@apx = ("Users", "MySQL Testimonials", "News",
|
||||
"GPL-license", "LGPL-license");
|
||||
@apx = ("Users", "MySQL Testimonials", "News", "GPL-license", "LGPL-license");
|
||||
|
||||
foreach $apx (@apx) {
|
||||
print STDERR "Removing appendix $apx...\n";
|
||||
$data =~ s{<appendix id=\"$apx\">(.+?)</appendix>}
|
||||
{}gs;
|
||||
msg ("Removing appendix $apx...");
|
||||
$data =~ s{<appendix id=\"$apx\">(.+?)</appendix>}
|
||||
{}gs;
|
||||
|
||||
print STDERR " ... Building list of removed nodes ...\n";
|
||||
foreach(split "\n", $&) {
|
||||
push @nodes, $2 if(/<(\w+) id=\"(.+?)\">/)
|
||||
};
|
||||
};
|
||||
# Skip to next appendix regex if the regex did not match anything
|
||||
next unless (defined $&);
|
||||
|
||||
msg ("...Building list of removed nodes...");
|
||||
|
||||
# Split the last bracketed regex match into an array
|
||||
# Extract the node names from the tags and push them into an array
|
||||
foreach (split "\n", $&) {
|
||||
push @nodes, $1 if /<\w+ id=\"(.+?)\">/
|
||||
}
|
||||
}
|
||||
|
||||
print STDERR "Fixing references to removed nodes...\n";
|
||||
foreach $node (@nodes) {
|
||||
$web = $node;
|
||||
$web =~ s/[ ]/_/;
|
||||
$web = "http://www.mysql.com/doc/" .
|
||||
(join "/", (split //, $web)[0..1])."/$web.html";
|
||||
print STDERR "$node -> $web\n";
|
||||
$data =~ s{<(\w+) linkend=\"$node\">}
|
||||
{$web}gs;
|
||||
};
|
||||
# 2002-02-22 arjen@mysql.com (added fix " /" to end of regex, to make it match)
|
||||
msg ("Fixing references to removed nodes...");
|
||||
# Merge the list of node names into a set of regex alternations
|
||||
$nodes = join "|", @nodes;
|
||||
|
||||
# Find all references to removed nodes and convert them to absolute URLs
|
||||
$data =~ s{<\w+ linkend="($nodes)" />}
|
||||
{&xref2link($1)}ges;
|
||||
|
||||
print STDOUT $data;
|
||||
exit;
|
||||
|
||||
#
|
||||
# Definitions for helper sub-routines
|
||||
#
|
||||
|
||||
sub msg {
|
||||
print STDERR shift, "\n";
|
||||
}
|
||||
|
||||
sub strip_tag($$) {
|
||||
(my $str, my $tag) = @_;
|
||||
$str =~ s{<$tag>(.+?)</$tag>}{$1}gs;
|
||||
return $str;
|
||||
}
|
||||
|
||||
sub underscore2hyphen($) {
|
||||
my $str = shift;
|
||||
$str =~ tr/_/-/;
|
||||
return $str;
|
||||
}
|
||||
|
||||
sub xref2link {
|
||||
my $ref = shift;
|
||||
$ref =~ tr/ /_/;
|
||||
$ref =~ s{^((.)(.).+)$}{$2/$3/$1.html};
|
||||
return "http://www.mysql.com/doc/" . $ref;
|
||||
}
|
||||
|
||||
# We might need to encode the high-bit characters to ensure proper representation
|
||||
# msg ("Converting high-bit characters to entities");
|
||||
# $data =~ s/([\200-\400])/&get_entity($1)>/gs;
|
||||
# There is no get_entity function yet - no point writing it til we need it :)
|
||||
|
|
|
@ -1,91 +1,65 @@
|
|||
#! /usr/local/bin/perl
|
||||
#! /usr/bin/perl -w
|
||||
# O'Reilly's Perl script to chop mysql.xml into separate ch/apps/index files.
|
||||
# The indexes are actually not used, they're created straight from the xrefs.
|
||||
# Breaks the MySQL reference manual into chapters, appendices, and indexes.
|
||||
|
||||
use strict;
|
||||
|
||||
# Breaks the MySQL reference manual into chapters, appendices, and indexes.
|
||||
my $app_letter = "a"; # Start appendix letters at "a"
|
||||
my $chap_num = 1; # Start chapter numbers at one (there is no preface)
|
||||
my $directory = "mysql_refman_" . time;
|
||||
my $ext = ".xml";
|
||||
my $line = "";
|
||||
my $output_name = "";
|
||||
my $start_text = "";
|
||||
|
||||
my $input_file;
|
||||
my $directory;
|
||||
my $chap_num;
|
||||
my $app_letter;
|
||||
my $start_text;
|
||||
my $line;
|
||||
my $input_file;
|
||||
my $output_name;
|
||||
mkdir $directory unless -d $directory;
|
||||
|
||||
$input_file = "mysql.xml";
|
||||
$directory="chaps_apps_index";
|
||||
$chap_num=1; # Start chapter numbers at one (there is no preface)
|
||||
$app_letter="a"; # Start appendix letters at "a"
|
||||
$start_text="";
|
||||
$line="";
|
||||
|
||||
open (INPUT_FILE, '<' . $input_file) or die "Cannot open $input_file";
|
||||
|
||||
if (-d $directory) {
|
||||
my $unlinked = unlink <$directory/*>;
|
||||
printf(Removed "%d files\n", $unlinked);
|
||||
}
|
||||
else {
|
||||
mkdir $directory or die "Cannot make $directory subdirectory";
|
||||
}
|
||||
|
||||
while (1) {
|
||||
|
||||
# Terminating statement for loop.
|
||||
exit if not defined $line;
|
||||
|
||||
if ($line =~ /(?:.*)(<chapter.*)/i ) {
|
||||
while (defined $line) {
|
||||
if ($line =~ /(<chapter.+)/i ) {
|
||||
$start_text = $1;
|
||||
$output_name = &make_chapter_name($chap_num);
|
||||
$chap_num++;
|
||||
$output_name = sprintf("ch%02d%s", $chap_num, $ext);
|
||||
++$chap_num;
|
||||
&process_file("chapter");
|
||||
}
|
||||
elsif ($line =~ /(?:.*)(<appendix.*)/i ) {
|
||||
elsif ($line =~ /(<appendix.+)/i ) {
|
||||
$start_text = $1 ;
|
||||
$output_name = &make_appendix_name($app_letter);
|
||||
$app_letter++;
|
||||
$output_name = "app$app_letter$ext";
|
||||
++$app_letter;
|
||||
&process_file("appendix");
|
||||
}
|
||||
elsif ($line =~ /(?:.*)(<index\s+id=")(.*?)(">.*)/i ) {
|
||||
elsif ($line =~ /(<index\s+id=")(.*?)(">.*)/i ) {
|
||||
$start_text = $1 . $2 . $3;
|
||||
$output_name = lc($2) . ".xml";
|
||||
$output_name = lc($2) . $ext;
|
||||
&process_file("index");
|
||||
}
|
||||
else {
|
||||
# Automatically skips junk in between chapters, appendices,
|
||||
# and indexes.
|
||||
$line = <INPUT_FILE>;
|
||||
# Skip junk in between chapters, appendices and indexes.
|
||||
$line = <>;
|
||||
}
|
||||
}
|
||||
|
||||
sub make_chapter_name {
|
||||
my $num = shift;
|
||||
my $name = "ch" . sprintf("%02d", $num) . ".xml";
|
||||
return $name;
|
||||
}
|
||||
|
||||
sub make_appendix_name {
|
||||
my $letter = shift;
|
||||
my $name = "app" . sprintf("%s", $letter) . ".xml";
|
||||
return $name;
|
||||
}
|
||||
|
||||
sub process_file {
|
||||
my $marker=shift;
|
||||
open (OUTPUT_FILE, '>' . $directory . "/" . $output_name) or
|
||||
die "Cannot open $output_name";
|
||||
my $marker = shift;
|
||||
my $path = "$directory/$output_name";
|
||||
|
||||
open (OUTPUT_FILE, ">$path") or die "Cannot open $path";
|
||||
|
||||
print STDERR "Creating $path\n";
|
||||
|
||||
# Print out XML PI
|
||||
print OUTPUT_FILE "<?xml version='1.0' encoding='ISO-8859-1'?>\n";
|
||||
|
||||
# Print whatever happened to appear at the end of the previous chapter.
|
||||
print OUTPUT_FILE $start_text . "\n" if $start_text;
|
||||
while (1) {
|
||||
$line = <INPUT_FILE>;
|
||||
exit if not defined $line;
|
||||
print OUTPUT_FILE "$start_text\n" if $start_text;
|
||||
|
||||
while (defined $line) {
|
||||
$line = <>;
|
||||
|
||||
# Note: Anything after the terminating marker is lost, just like
|
||||
# lines in between chapters.
|
||||
if ($line =~ /(.*<\/\s*$marker\s*>)/i ) {
|
||||
print OUTPUT_FILE $1 . "\n" if $1;
|
||||
print OUTPUT_FILE "$1\n" if $1;
|
||||
close OUTPUT_FILE;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -18,3 +18,7 @@
|
|||
|
||||
# See if the XML output is well-formed
|
||||
xmlwf mysql.xml
|
||||
|
||||
# If all is well, keep processing
|
||||
cat mysql.xml | Support/colspec-fix.pl | Support/docbook-split;
|
||||
|
||||
|
|
3
Docs/include.de.texi
Normal file
3
Docs/include.de.texi
Normal file
|
@ -0,0 +1,3 @@
|
|||
@c This file is autogenerated by the Makefile
|
||||
@set mysql_version 4.0.2
|
||||
@set default_port 3306
|
56550
Docs/manual.de.texi
Normal file
56550
Docs/manual.de.texi
Normal file
File diff suppressed because it is too large
Load diff
|
@ -757,10 +757,9 @@ Large server clusters using replication are in production use, with
|
|||
good results. Work on enhanced replication features is continuing
|
||||
in @code{MySQL} 4.0.
|
||||
|
||||
@item @code{InnoDB} tables -- Stable (in 3.23 from 3.23.47)
|
||||
@item @code{InnoDB} tables -- Stable (in 3.23 from 3.23.49)
|
||||
The @code{InnoDB} transactional table handler has now been declared
|
||||
stable in the @code{MySQL} 3.23 development tree, starting from
|
||||
version 3.23.47.
|
||||
stable in the @code{MySQL} 3.23 tree, starting from version 3.23.49.
|
||||
@code{InnoDB} is being used in large, heavy load production systems.
|
||||
|
||||
@item @code{BDB} tables -- Gamma
|
||||
|
@ -1707,7 +1706,7 @@ development of the @code{MySQL} database.
|
|||
@code{MySQL} partnership logos may only be used by companies and persons
|
||||
having a written partnership agreement with @code{MySQL AB}. Partnerships
|
||||
include certification as a @code{MySQL} trainer or consultant.
|
||||
Please see @xref{Business Services Partnering,,Partnering}.
|
||||
Please see @ref{Business Services Partnering,,Partnering}.
|
||||
|
||||
|
||||
@node Using MySQL word in presentations, Using MySQL word in company and product names, MySQL AB Partnership Logos, MySQL AB Logos and Trademarks
|
||||
|
@ -2496,7 +2495,7 @@ perhaps solved) the problem.
|
|||
|
||||
For information on reporting bugs in @strong{MyODBC}, see @ref{ODBC Problems}.
|
||||
|
||||
For solutions to some common problems, see @xref{Problems}.
|
||||
For solutions to some common problems, see @ref{Problems}.
|
||||
|
||||
When answers are sent to you individually and not to the mailing list,
|
||||
it is considered good etiquette to summarise the answers and send the
|
||||
|
@ -5276,7 +5275,7 @@ isn't good at many things (it is!) or that it isn't faster than MySQL Server
|
|||
under certain conditions. We would just like to see a fair test where
|
||||
they are very good so that we could get some friendly competition going!
|
||||
|
||||
For more information about our benchmarks suite @xref{MySQL Benchmarks}.
|
||||
For more information about our benchmarks suite, see @ref{MySQL Benchmarks}.
|
||||
|
||||
We are working on an even better benchmark suite, including multi user
|
||||
tests, and a better documentation of what the individual tests really
|
||||
|
@ -15347,7 +15346,7 @@ starts up. Changes to the grant tables take effect as indicated in
|
|||
When you modify the contents of the grant tables, it is a good idea to make
|
||||
sure that your changes set up privileges the way you want. For help in
|
||||
diagnosing problems, see @ref{Access denied}. For advice on security issues,
|
||||
@pxref{Security}.
|
||||
see @ref{Security}.
|
||||
|
||||
A useful
|
||||
diagnostic tool is the @code{mysqlaccess} script, which Yves Carlier has
|
||||
|
@ -16594,7 +16593,7 @@ dropped only with explicit @code{REVOKE} commands or by manipulating the
|
|||
MySQL grant tables.
|
||||
@end itemize
|
||||
|
||||
For a description of using @code{REQUIRE}, see @xref{Secure connections}.
|
||||
For a description of using @code{REQUIRE}, see @ref{Secure connections}.
|
||||
|
||||
@node User names, Privilege changes, GRANT, User Account Management
|
||||
@subsection MySQL User Names and Passwords
|
||||
|
@ -17476,7 +17475,7 @@ minimum needed to restore it. Currenlty only works for @code{MyISAM}
|
|||
tables. For @code{MyISAM} table, copies @code{.frm} (definition) and
|
||||
@code{.MYD} (data) files. The index file can be rebuilt from those two.
|
||||
|
||||
Before using this command, please see @xref{Backup}.
|
||||
Before using this command, please see @ref{Backup}.
|
||||
|
||||
During the backup, read lock will be held for each table, one at time,
|
||||
as they are being backed up. If you want to backup several tables as
|
||||
|
@ -23257,11 +23256,11 @@ it is not the only one. For example, if you already have a snapshot
|
|||
of the master, and
|
||||
the master already has server id set and binary logging enabled, one can
|
||||
set up a slave without shutting the master down or even blocking the updates.
|
||||
Please refer to @xref{Replication FAQ}. for more details.
|
||||
For more details, please see @ref{Replication FAQ}.
|
||||
|
||||
If you want to become a real MySQL replication guru, we suggest that you
|
||||
begin with studing, pondering, and trying all commands
|
||||
mentioned in @xref{Replication SQL}. You should also familiarize yourself
|
||||
mentioned in @ref{Replication SQL}. You should also familiarize yourself
|
||||
with replication startup options in @code{my.cnf} in
|
||||
@xref{Replication Options}.
|
||||
|
||||
|
@ -31054,7 +31053,7 @@ relevance - similarity measure between the text in columns
|
|||
positive floating-point number. Zero relevance means no similarity.
|
||||
@code{MATCH ... AGAINST()} is available in MySQL version
|
||||
3.23.23 or later. @code{IN BOOLEAN MODE} extension was added in version
|
||||
4.0.1. For details and usage examples @pxref{Fulltext Search}.
|
||||
4.0.1. For details and usage examples, see @ref{Fulltext Search}.
|
||||
@end table
|
||||
|
||||
@node Case Sensitivity Operators, , String comparison functions, String functions
|
||||
|
@ -44272,7 +44271,7 @@ This chapter describes a lot of things that you need to know when
|
|||
working on the MySQL code. If you plan to contribute to MySQL
|
||||
development, want to have access to the bleeding-edge in-between
|
||||
versions code, or just want to keep track of development, follow the
|
||||
instructions in @xref{Installing source tree}.
|
||||
instructions in @ref{Installing source tree}.
|
||||
If you are interested in MySQL internals, you should also subscribe
|
||||
to our @code{internals} mailing list. This list is relatively low
|
||||
traffic. For details on how to subscribe, please see
|
||||
|
@ -47600,6 +47599,10 @@ Utility from Artronic to stop MySQL on win9x.
|
|||
@item @uref{http://bardo.hyperlink.cz/mysqlmon/}
|
||||
A light weight GUI client for Windows.
|
||||
|
||||
@item @uref{http://www.mysqlfront.de/}
|
||||
MySQLfront is a very nice Windows client with lots of useful features.
|
||||
By Angsar Becker.
|
||||
|
||||
@item @uref{http://www.dbtools.com.br/}
|
||||
Dbtools, a tool to manage MySQL databases. Currently only for Windows.
|
||||
Some features:
|
||||
|
|
|
@ -291,6 +291,11 @@ WWW (@uref{http://mysql.tecnoera.com/})
|
|||
@image{Flags/chile} Chile [Vision] @@
|
||||
WWW (@uref{http://mysql.vision.cl/})
|
||||
|
||||
@item
|
||||
@image{Flags/costarica} Costa Rica [Ogmios Communications] @@
|
||||
WWW (@uref{http://mysql.ogmios.co.cr/})
|
||||
FTP (@uref{ftp://mysql.ogmios.co.cr/pub/mysql/})
|
||||
|
||||
@end itemize
|
||||
|
||||
@strong{Asia:}
|
||||
|
|
|
@ -2687,6 +2687,13 @@ int mysql_show_grants(THD *thd,LEX_USER *lex_user)
|
|||
#endif /* HAVE_OPENSSL */
|
||||
if (want_access & GRANT_ACL)
|
||||
global.append(" WITH GRANT OPTION",18);
|
||||
else if (acl_user->questions)
|
||||
{
|
||||
char buff[65], *p; // just as in int2str
|
||||
global.append(" WITH MAX_QUERIES_PER_HOUR = ",29);
|
||||
p=int2str(acl_user->questions,buff,10);
|
||||
global.append(buff,p-buff);
|
||||
}
|
||||
thd->packet.length(0);
|
||||
net_store_data(&thd->packet,global.ptr(),global.length());
|
||||
if (my_net_write(&thd->net,(char*) thd->packet.ptr(),
|
||||
|
|
|
@ -6963,13 +6963,16 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
|||
{
|
||||
List<Item> field_list;
|
||||
Item *item;
|
||||
List<Item> item_list;
|
||||
THD *thd=join->thd;
|
||||
MYSQL_LOCK *save_lock;
|
||||
SELECT_LEX *select_lex = &(join->thd->lex.select_lex);
|
||||
select_result *result=join->result;
|
||||
DBUG_ENTER("select_describe");
|
||||
|
||||
/* Don't log this into the slow query log */
|
||||
select_lex->options&= ~(QUERY_NO_INDEX_USED | QUERY_NO_GOOD_INDEX_USED);
|
||||
if (join->thd->lex.select == select_lex)
|
||||
if (thd->lex.select == select_lex)
|
||||
{
|
||||
field_list.push_back(new Item_empty_string("table",NAME_LEN));
|
||||
field_list.push_back(new Item_empty_string("type",10));
|
||||
|
@ -6985,24 +6988,22 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
|||
item->maybe_null=1;
|
||||
field_list.push_back(new Item_real("rows",0.0,0,10));
|
||||
field_list.push_back(new Item_empty_string("Extra",255));
|
||||
if (send_fields(thd,field_list,1))
|
||||
if (result->send_fields(field_list,1))
|
||||
return;
|
||||
}
|
||||
char buff[512],*buff_ptr;
|
||||
String tmp(buff,sizeof(buff)),*packet= &thd->packet;
|
||||
|
||||
if (message)
|
||||
{
|
||||
packet->length(0);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_data(packet,message,strlen(message));
|
||||
if (my_net_write(&thd->net,(char*) packet->ptr(),packet->length()))
|
||||
DBUG_VOID_RETURN;
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_empty_string("",0));
|
||||
item_list.push_back(new Item_string(message,strlen(message)));
|
||||
if (result->send_data(item_list))
|
||||
result->send_error(0,NullS);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -7011,69 +7012,70 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
|||
{
|
||||
JOIN_TAB *tab=join->join_tab+i;
|
||||
TABLE *table=tab->table;
|
||||
|
||||
char buff[512],*buff_ptr=buff;
|
||||
char buff1[512], buff2[512], bufff[512];
|
||||
String tmp1(buff1,sizeof(buff1));
|
||||
String tmp2(buff2,sizeof(buff2));
|
||||
item_list.empty();
|
||||
if (tab->type == JT_ALL && tab->select && tab->select->quick)
|
||||
tab->type= JT_RANGE;
|
||||
packet->length(0);
|
||||
net_store_data(packet,table->table_name);
|
||||
net_store_data(packet,join_type_str[tab->type]);
|
||||
tmp.length(0);
|
||||
item_list.push_back(new Item_string(table->table_name,strlen(table->table_name)));
|
||||
item_list.push_back(new Item_string(join_type_str[tab->type],strlen(join_type_str[tab->type])));
|
||||
tmp1.length(0); tmp2.length(0);
|
||||
key_map bits;
|
||||
uint j;
|
||||
for (j=0,bits=tab->keys ; bits ; j++,bits>>=1)
|
||||
{
|
||||
if (bits & 1)
|
||||
{
|
||||
if (tmp.length())
|
||||
tmp.append(',');
|
||||
tmp.append(table->key_info[j].name);
|
||||
if (tmp1.length())
|
||||
tmp1.append(',');
|
||||
tmp1.append(table->key_info[j].name);
|
||||
}
|
||||
}
|
||||
if (tmp.length())
|
||||
net_store_data(packet,tmp.ptr(),tmp.length());
|
||||
if (tmp1.length())
|
||||
item_list.push_back(new Item_string(tmp1.ptr(),tmp1.length()));
|
||||
else
|
||||
net_store_null(packet);
|
||||
item_list.push_back(new Item_null());
|
||||
if (tab->ref.key_parts)
|
||||
{
|
||||
net_store_data(packet,table->key_info[tab->ref.key].name);
|
||||
net_store_data(packet,(uint32) tab->ref.key_length);
|
||||
tmp.length(0);
|
||||
item_list.push_back(new Item_string(table->key_info[tab->ref.key].name,strlen(table->key_info[tab->ref.key].name)));
|
||||
item_list.push_back(new Item_int((int) tab->ref.key_length));
|
||||
for (store_key **ref=tab->ref.key_copy ; *ref ; ref++)
|
||||
{
|
||||
if (tmp.length())
|
||||
tmp.append(',');
|
||||
tmp.append((*ref)->name());
|
||||
if (tmp2.length())
|
||||
tmp2.append(',');
|
||||
tmp2.append((*ref)->name());
|
||||
}
|
||||
net_store_data(packet,tmp.ptr(),tmp.length());
|
||||
item_list.push_back(new Item_string(tmp2.ptr(),tmp2.length()));
|
||||
}
|
||||
else if (tab->type == JT_NEXT)
|
||||
{
|
||||
net_store_data(packet,table->key_info[tab->index].name);
|
||||
net_store_data(packet,(uint32) table->key_info[tab->index].key_length);
|
||||
net_store_null(packet);
|
||||
item_list.push_back(new Item_string(table->key_info[tab->index].name,strlen(table->key_info[tab->index].name)));
|
||||
item_list.push_back(new Item_int((int) table->key_info[tab->index].key_length));
|
||||
item_list.push_back(new Item_null());
|
||||
}
|
||||
else if (tab->select && tab->select->quick)
|
||||
{
|
||||
net_store_data(packet,table->key_info[tab->select->quick->index].name);;
|
||||
net_store_data(packet,(uint32) tab->select->quick->max_used_key_length);
|
||||
net_store_null(packet);
|
||||
item_list.push_back(new Item_string(table->key_info[tab->select->quick->index].name,strlen(table->key_info[tab->select->quick->index].name)));
|
||||
item_list.push_back(new Item_int((int) tab->select->quick->max_used_key_length));
|
||||
item_list.push_back(new Item_null());
|
||||
}
|
||||
else
|
||||
{
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
net_store_null(packet);
|
||||
item_list.push_back(new Item_null());
|
||||
item_list.push_back(new Item_null());
|
||||
item_list.push_back(new Item_null());
|
||||
}
|
||||
sprintf(buff,"%.0f",join->best_positions[i].records_read);
|
||||
net_store_data(packet,buff);
|
||||
sprintf(bufff,"%.0f",join->best_positions[i].records_read);
|
||||
item_list.push_back(new Item_string(bufff,strlen(bufff)));
|
||||
my_bool key_read=table->key_read;
|
||||
if (tab->type == JT_NEXT &&
|
||||
((table->used_keys & ((key_map) 1 << tab->index))))
|
||||
key_read=1;
|
||||
|
||||
buff_ptr=buff;
|
||||
if (tab->info)
|
||||
net_store_data(packet,tab->info);
|
||||
item_list.push_back(new Item_string(tab->info,strlen(tab->info)));
|
||||
else if (tab->select)
|
||||
{
|
||||
if (tab->use_quick == 2)
|
||||
|
@ -7127,16 +7129,20 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
|||
}
|
||||
buff_ptr=strmov(buff_ptr,"Distinct");
|
||||
}
|
||||
net_store_data(packet,buff,(uint) (buff_ptr - buff));
|
||||
if (my_net_write(&thd->net,(char*) packet->ptr(),packet->length()))
|
||||
DBUG_VOID_RETURN; /* Purecov: Inspected */
|
||||
|
||||
item_list.push_back(new Item_string(buff,(uint) (buff_ptr - buff)));
|
||||
// For next iteration
|
||||
used_tables|=table->map;
|
||||
if (result->send_data(item_list))
|
||||
result->send_error(0,NullS);
|
||||
}
|
||||
}
|
||||
if (!join->thd->lex.select->next)
|
||||
send_eof(&thd->net);
|
||||
{
|
||||
save_lock=thd->lock;
|
||||
thd->lock=(MYSQL_LOCK *)0;
|
||||
result->send_eof();
|
||||
thd->lock=save_lock;
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,10 +31,11 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
|
|||
ORDER *order;
|
||||
List<Item> item_list;
|
||||
TABLE *table;
|
||||
int describe=(lex->select_lex.options & SELECT_DESCRIBE) ? 1 : 0;
|
||||
int res;
|
||||
TABLE_LIST result_table_list;
|
||||
TMP_TABLE_PARAM tmp_table_param;
|
||||
select_union *union_result;
|
||||
int res;
|
||||
DBUG_ENTER("mysql_union");
|
||||
|
||||
/* Fix tables 'to-be-unioned-from' list to point at opened tables */
|
||||
|
@ -70,33 +71,26 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
|
|||
lex_sl=0;
|
||||
order=0;
|
||||
}
|
||||
|
||||
if (lex->select_lex.options & SELECT_DESCRIBE)
|
||||
|
||||
if (describe)
|
||||
{
|
||||
for (sl= &lex->select_lex; sl; sl=sl->next)
|
||||
{
|
||||
lex->select=sl;
|
||||
thd->offset_limit=sl->offset_limit;
|
||||
thd->select_limit=sl->select_limit+sl->offset_limit;
|
||||
if (thd->select_limit < sl->select_limit)
|
||||
thd->select_limit= HA_POS_ERROR; // no limit
|
||||
if (thd->select_limit == HA_POS_ERROR)
|
||||
sl->options&= ~OPTION_FOUND_ROWS;
|
||||
res=mysql_select(thd, (TABLE_LIST*) sl->table_list.first,
|
||||
sl->item_list,
|
||||
sl->where,
|
||||
((sl->braces) ?
|
||||
(ORDER *) sl->order_list.first : (ORDER *) 0),
|
||||
(ORDER*) sl->group_list.first,
|
||||
sl->having,
|
||||
(ORDER*) NULL,
|
||||
(sl->options | thd->options | SELECT_NO_UNLOCK |
|
||||
SELECT_DESCRIBE),
|
||||
result);
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
Item *item;
|
||||
item_list.push_back(new Item_empty_string("table",NAME_LEN));
|
||||
item_list.push_back(new Item_empty_string("type",10));
|
||||
item_list.push_back(item=new Item_empty_string("possible_keys",
|
||||
NAME_LEN*MAX_KEY));
|
||||
item->maybe_null=1;
|
||||
item_list.push_back(item=new Item_empty_string("key",NAME_LEN));
|
||||
item->maybe_null=1;
|
||||
item_list.push_back(item=new Item_int("key_len",0,3));
|
||||
item->maybe_null=1;
|
||||
item_list.push_back(item=new Item_empty_string("ref",
|
||||
NAME_LEN*MAX_REF_PARTS));
|
||||
item->maybe_null=1;
|
||||
item_list.push_back(new Item_real("rows",0.0,0,10));
|
||||
item_list.push_back(new Item_empty_string("Extra",255));
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
Item *item;
|
||||
List_iterator<Item> it(lex->select_lex.item_list);
|
||||
|
@ -113,7 +107,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
|
|||
bzero((char*) &tmp_table_param,sizeof(tmp_table_param));
|
||||
tmp_table_param.field_count=item_list.elements;
|
||||
if (!(table=create_tmp_table(thd, &tmp_table_param, item_list,
|
||||
(ORDER*) 0, !lex->union_option,
|
||||
(ORDER*) 0, !describe & !lex->union_option,
|
||||
1, 0,
|
||||
(lex->select_lex.options | thd->options |
|
||||
TMP_TABLE_ALL_COLUMNS))))
|
||||
|
@ -130,7 +124,9 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
|
|||
res= -1;
|
||||
goto exit;
|
||||
}
|
||||
for (sl= &lex->select_lex; sl; sl=sl->next)
|
||||
union_result->save_time_stamp=!describe;
|
||||
|
||||
for (sl=&lex->select_lex;sl;sl=sl->next)
|
||||
{
|
||||
thd->offset_limit=sl->offset_limit;
|
||||
thd->select_limit=sl->select_limit+sl->offset_limit;
|
||||
|
@ -146,7 +142,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
|
|||
(ORDER*) sl->group_list.first,
|
||||
sl->having,
|
||||
(ORDER*) NULL,
|
||||
sl->options | thd->options | SELECT_NO_UNLOCK,
|
||||
sl->options | thd->options | SELECT_NO_UNLOCK | ((describe) ? SELECT_DESCRIBE : 0),
|
||||
union_result);
|
||||
if (res)
|
||||
goto exit;
|
||||
|
@ -187,6 +183,8 @@ int mysql_union(THD *thd, LEX *lex,select_result *result)
|
|||
if (thd->select_limit == HA_POS_ERROR)
|
||||
thd->options&= ~OPTION_FOUND_ROWS;
|
||||
}
|
||||
if (describe)
|
||||
thd->select_limit= HA_POS_ERROR; // no limit
|
||||
res=mysql_select(thd,&result_table_list,
|
||||
item_list, NULL, /*ftfunc_list,*/ order,
|
||||
(ORDER*) NULL, NULL, (ORDER*) NULL,
|
||||
|
@ -222,7 +220,7 @@ select_union::~select_union()
|
|||
|
||||
int select_union::prepare(List<Item> &list)
|
||||
{
|
||||
if (list.elements != table->fields)
|
||||
if (save_time_stamp && list.elements != table->fields)
|
||||
{
|
||||
my_message(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
|
||||
ER(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT),MYF(0));
|
||||
|
|
Loading…
Add table
Reference in a new issue