From mandrews@aw.sgi.com Fri Oct 13 12:35:47 1995 Received: from bsdi.BSDI.COM by python.bostic.com (8.6.9.Beta4/2.6) id PAA12214; Fri, 13 Oct 1995 15:35:44 -0400 Received: from alias.alias.com (ALIAS.ALIAS.COM [192.75.21.65]) by bsdi.BSDI.COM (8.6.12/8.6.12) with ESMTP id NAA03940 for ; Fri, 13 Oct 1995 13:36:53 -0600 Received: by alias.alias.com (940719.SGI.8.6.9/8.6.9) id PAA04609; Fri, 13 Oct 1995 15:35:29 -0400 Received: from nebula.alias.com(192.75.20.180) by alias.alias.com via smap (V1.3) id sma004595; Fri Oct 13 15:35:00 1995 Received: by nebula.alias.com (8.7.1/8.6.9) id PAA14283; Fri, 13 Oct 1995 15:34:59 -0400 (EDT) From: mandrews@aw.sgi.com (Mark Andrews) Message-Id: <199510131934.PAA14283@nebula.alias.com> Subject: Re: db-1.85 To: bostic@bsdi.com (Keith Bostic) Date: Fri, 13 Oct 1995 15:34:59 -0400 (EDT) Cc: mizzi@eu1.mpi-hd.mpg.de, mandrews@aw.sgi.com In-Reply-To: <199510131806.OAA12067@python.bostic.com> from "Keith Bostic" at Oct 13, 95 02:06:40 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO > > > Overwriting an existing record may crash the database. > > The solution was to delete it first and write it new. > > Under Ultrix the same code works correctly even if > > the record is not deleted before writing it new! > > The current version DB doesn't have a "replace" interface, so > overwriting the returned key/data pair is always risky and prone > to catastrophic failure. The closest interface to this it has > is using a cursor call to position the cursor and then a put > call to replace the cursor key/data pair. Future versions will > have a replace interface, but until then it's a mistake to > overwrite the returned key/data. > > > However after finishing the code on Linux I ported it to > > Ultrix and FBSD with no problems! Because the platforms > > where the code should run on is not yet fixed I've tried > > to port it to a SGI under IRIX 5.3 without success. Here's what I've been sending the other people: ======================================================================= Here's a compressed tar archive of a PORT directory for irix.5.2 and irix.5.3. The pathnames of all files in the archive are db.1.85/PORT/... Note that the irix.5.3 PORT directory is actually a symbolic link to the irix.5.2 PORT directory as both use the same include files and Makefile. If you continue to have problems, let me know. begin 644 irix5.tar.Z M'YV09,2XB.$"1XT74)Y(H?(BC9PT>%S4<"'C!8"+&#-JW,BQH\>/($/"&'FC M1@T0`$;"B!'#!DJ5,&30>`FS)@P0,&KV)!L3L4T8AFWI5*V.S"IG:UNO8`6/3:S2K.G;N'.;'I$`"(H1*?3R]0LX M`0X7.4"@$%*F=1G`>5*`N/$B!HT7.6@H4,`DB1`B0GHD8)-&S-LP"IX(41)# M/)HP<]"X>`/B??PO8M*@&76X,4:!`'[!QAMGR,#@ M?7"$<489_G&A0`)HS%%&56/(1Y\;`;4Q7WKKR2">&'1\,<:#'OK'HHMON&&' MC"V24888=9R!XQ"$=/[X!1QEN9+CAC&_8T9P9#][Q8X477ED' MDD6VZ"&((H(PHX=Q_#@''.1Q"8*&"$C.(]]8;*"I!@WAMP/'& M&VS(N5X-XLE1QA@NPD@D"(8B&F090_K7Z!='2GKH%THR:2FB<&RYZ1=?RA&B MDPE,2N:G;[(1)YX*-)'$%$.(-X<;<#SD!AT$LDK"'MU])T0?.H"PZYPQ]"'L M'G/*8.RPZ\VP+++KT?#LG#4\ZRJL?6PH1QL@M&"&L$!L6!4(8\0Q![AK;@C" MNL<2.VV*[](9K[3M#FKMJT-DJ\"+'[JA@[;<>GMLK^#%6VR]2BB+L+,(T\NL M$M4>>VV^VPT1:P)CC-$M$5\(,07'0SS1!!1!4)&>0D>(U\(3"@S!A'B[6FQL M"QJWP/$7X"7A!!5%2&%$$$,4\0444B1A1U71G]T)V`WWHC[#>#A;5L>W^(!-EYX MX`WRF*O:E7/.N8`$1CXYV'USCGGBFPLN^MP*"(Z@@H:W_G>#MR^H^AXN4YZY MZ[HK;GN"OM?>X(,1YE[Z[O`&;WH#3%*8.M89*@RO,""BJ*=Y("7OA9XK70<+$,9 M%)A"#X(0@^>K8(O&4*,;:1"%=.C@!V=80Q&NSH0;S*$*62A$%_+01K2;D8YX MY*,;#J^%.P32CGKD0Q+RCVTM)*(.E3A%']&-BT(*GQ95&,5'1FJ2^6/E+#F9S%C6 MLH]C$N"HD%F&,FFRCEZJ)C#UN,QAMK*-IT(FFM*P2VAZ:9Q("G*-@ITF[*\9S\/2C<%W(F@ M`7G!6QS8NHA.=#M]^E.@-)E10+V@HX':I]M`JD"0?M1/@*+@I"Z808(VR@UO M>,%*0RA2MKV4/JV[J4POQ=(83LJ,8LSIH6"Z4T<]!U(Q'&$>$UI4F"I0IS\] MZAD5,"DYNG2H,:WJ'6O:5)R6#JJ7^B-5+X5(38(548CDZDV?BM6B8BJ2M)O4 M+\W:5KD>LVY6#&97V3H&HMHUG6-%5#+IVM>L7JJ9>%VJ4`O+5[\>5IH$-)4V M">M8P6I3K5AMK&$M6R:Z3>J@E-WL%QB:6$4NUJFG%2UI%="&,K2A#5$*7V+S MM;$F%*$)37B"%9)&LVX]@75@$]N+RK;"%Y7GHZZ%K91HUX8U#*E/:9OMS&KV M6R`&=VS$)1=YQ/!1Y[H6#K2;5:W$AJOH*I6VO5T9<$TH7++I2+O'%:^MRDNW MU+HUK8$U9CGM^U>$IE:S;OVE9Q\+)GMVU:V(5:IIOYI9_A)X@'%]K#4A*A"" M&`0A"F&(0R`B$8J\P+ABT(V($U.2DR2&)2ZAC4P8\YB4Z(0G/K'.BCLS@Y(@ M14)L`_&(=^P4U%3E*JQQ#5M@,YC9S(;'2$ZRD@'P%@O+)<-UX3!>&H)='5ED MR6M128G)@F+&K)@VCZ',3GHB@QC48`8WZ4Q+9(`4I6#YS1WQL6JPHA7!$%DV M-6'Q3>#,YSZKI7N!_6D1GBA`8_+T7+)N'R8E3LF,>HQ,5C MCC$-9EQF&]A@-"#`\?`.;>4Q*)K1CA:,G(%4TWK6G<$T!>> MBX;MTN&*D-J#-.Q3&)#4:%MO1"6'J;1B4@R3+]ND)="FS*>M$^.=",73,;B! M:(R]Y%6OIM5#?C6>RR)KVW#[W'Y^@0I:H``0J``$0U!2'AYR!C3003ECD$X, M M#N\PD,<,;Y!#Q=#C6'+<[],H9A^]P-_Z[*"I>T+7(.R>FUBE(:=.3TB`\;!!%?(@2Z&V`(>#O->.=@9SRZ8]CSS_XYXSD%`GJE4'O`D(N?9S]5TO$M\ M[U7R.PAP/H<7A;ZU#;.O_;TY3L/<#]X-O!?ZZ('?=S?\G?C& MEP;(-WUN('XUQRYD\`9C4`>M=2MF]W--]P(AMW%YMW59,20/X7'G$G=V,'?. MQW58)W[#!WD[-WE-4G,S\#4GEW)A0`:5U',8YW^(-VS-D08:B'A,EP93-W+_QAS.`1U`)W3D="[U!WU;$G)Q4G,T\#5.4`98UQPB M:'VM181U6'$7EW$@`%-;-WJ8"(2WEXBXQXATX(A,.(,:)P8K1'1U1Q],DH!R MX"%:!P)Q!UM#@HME^'UC0`?GHB,/$7/85X;<4H1'MX9*:"BKV'5H\'5'MR1C M`(AIH#'C-8%W\!!T,"0%R'9MD',85R/*IP(U1P5(\"H@,`5/8`14<`5!(`5) M@XY$HUM)0`19`P)"D`4@8(Y)`X]'4`0[,P4FYP1$`&]/L#-%(P150`4*(9!@ M``9!()"O<@(G,)!$4'-!X`3Z6`180#13(Y`*`0)),#+=<8_N*`52D)%4D`13 M\V\ZXS)50`0Z9(IN3,L M"9)&``*V)05#@`0J&01"D`3=`346"0)70P5.\)%:&9)!``(DLQ!),`15P`3O M*)95(`4),05%@)'P"`(R"2MH.9)94W(ZL9`-B8])TQU4R01OR7A&`)8:*9=)`(]#0`4N29";602=^9E# M4(\`205!P`3_-@524YJI^6\<>5M%^8Y9\&^*>9!N&055<)I)D)HU1P1!T`1! M\(\"B0(OR00Q.9,UJ9,XJ9,\V33W")1B*05/8);P:%M^N8[I6`4>LY)4L)!) M9`#J8_\ MJ!#ZJ)V2695769L@<`6$R8_YF9>+204I.9KIR*)E:3*,%Z)6V30D&I(,N1#* M<9S)Z01'<).&V1V'&32)F9\Y29A2<`6O4@32\8ZO,I,$NJ$E&@19<)XVJ9W\ M.)])@Z7G*)#JR(XG602PV94Y"C&">.2JYY$(?%FB`8=P;JZG3DY:Y?0%X[ M`+`"^RT$FZX?^"#^I[`4>P8-6ZX#BZX&^X'Q$7)TH+`?ZZP-.P*S"(BS^FY) M8*NX>G2L^ER]^JO!BGZX%>[`$&+(8E[,[*Z_T^FYMF018\&_WFJ_[^HEAT%K^J@+@>K)FD+(BR;)* MY[*[RBT)*+/"6K/F.@=/J[,\:ZT7`K1X)[1$"[:="HA'J[%FD``)FP!PB[-R M*Z_U6K58P+5>^S5Z:[*Y-[8*0*N,M[(@<*MGJZLPN[:S,K/O47ZCA[@TNR38 M-X%#N[0>-X-SL`8L4'-TNT+:>K?=2A#?NK?B.J^V>[CP:;4`-Q(I&`-'EZZG MFQ6I&[H8\J]^J[02B["W(KCZX2$M0@"`=ZZ+PHX+PID``HH`*+#"G2 MT0,XP:"#;+\%2QRJ`BF13`>-[,B0S,@@0,E^L,C-"RD[FP(P\&\P8,F?6L@% MVX)DH,C.RP)+^P:-_,B=+!U\0,D%*[QK8,H&B\NL[,KU"\OZ$22T#"FVG*ZX M#,J[#`(F0,J_#!_!?,LI4,R=^LJA6K`YUUIMX(IRT,G-/,RYK,NB;`(2#,S" M#%,I(!TA0,FM#*G`?_5LL;Q\BV.Z]L@@(HL-'ZT=&C'-6V.]54O=233,GW3-#Z+!T_ MH-4)P":&#,,*&,RM#`)\X&[1K`-:S=5*C4E?G8X,_04"+=8&3=9SO2%I'<-L M+1WJ7,JA+,G2(==;O2%=;=>C#-9Y[980'9%+``)E_=?S>MB>#`+!4K!J34\H MT,KO_,XL$-5\#5>[DORZN:J\#_47Y!1X##]5XF#((1)X)A``=Q-UXT M6'-SN(LA)XRQS;-9P1=']X/)'8V'`HATJ'ERT"CSIZ[C"*Z2:J[YR#-?H!#V M*,"77,A72064^04`*9,9R<^?00/S6J],,`5"@'T.,17!D@8S@`,V\&]V$`9X M4+3U7)4-/>"]Z00)0`.8$0,)_FY-P.`.7HN*!P(V@`,J\6_ET0;F^]J-N^%9 M@-_ZW3,)P.$"#IH%7J]3\-I3E]RYNMPF4K0$;+3<3`8H,`59,`56P,MOO>1- M_N0\TP0U8,P*#;B3B@?N9B/J\Z-T!F M'N9I7LABD+-E^.5T/J_@K,AGOLIHGM#V*P8H#0=Z+B;F^\G@7.B'+@:)+NAV M3D.HU^B)SN?)%5LHX.A`]^B..W:G^BU4OJ]2/GS_S.3[2@-?,`-UWLTY5.:- M_LEBP^:O#NFL_MZN[N:?O.9ET.9T3NL)L.A]0NF?^,F$'NQNSNGU#,[*50;" M[@:-3.CRENEIQ^D$++GOAADMD!_WEA4A`JHE=W`K%!",\G6@RGN&(GXA!RG5 MB,8:%^ME$$DZWMZPC"XR'Z'3+>K%5)R9;(I()/+-9B$F^=W=! M=ZOJ^A^%QWAE4$E`]XMUP.YX]Q`?2$XE%P3W-K3?6'&=)^/C^[-4R'=7)X/] M70;9F\4(?'@YE`?"QZU_BL0;5X!#.W8\:"CR/JRW=[TF,KOA.JG?4J%(L!!? M()Q8X.M"3_1&/Z\P@`=&\/1&@/3Y[*-%'P18P/1.#_5:7]R>3KM`GYA?`#1# MD%OV>+M4Z\:[&\<1_$^9![>(MWDK!,Q#[>M/$/860_9%X,AU+P5$<)!,D`5\ M4/=70)U.\/>!_P5\/_B6G.3U3:E['*!8(`.(+S1$@*!5?_53*Y9H#\\;.S8$>2'MK#0(73C:D M*'H2)T@H(`/2478H5W).P'[NYWM8S'AHC$DM]T^DR*WOH=V:XO.-_RUUSY$% MO<\E;J\N0`-;N^O<&(Y-HN&EG_U8L/T),+^,;P9?7_=3@`3JW_V1"/YF+/Y, M0OYS?_()`/_RK\_K[_5!KI]GKJP&U)`:OLX`1HV\EP"*@,XX&DR@^SDP".:[ MLL_=:0XBYPWLO_8']!+`%0@9\*CRC0RSY_WL7T'"?^CJYY"^+?'@-@^TT*?(&K09EPDJ_#@3IC!UHE@/0$UE_WRT@!"MZ`@)-W M+E:@_<*!3V`A"<$>6`3[&?_#@09J"A+!!(#0.AWL(X#%RBT5@270XR[2%2P" M8]"A40$CF/DFH-KS71ZB##BQW5<'2)$3+&1BD`Q:)W[V`]$@&1QP7%``?KJO M]_BLUA>P`G-I,C'`-KCY*.`(F@-A`(8)'W:U_^I9(<0"AS`1$K2\!P.ZWQ1X M`YF(YYT+6(03-F`-!(-_BPH,@2D0D=;1&J1_WR_\X8'Q=W8J8>E3A:SP2ZU! M&MCU4*%&.WV33_5!@D4$^D(8J`-LX-Y4-V\$CG;/_KM^JF\X;$E/A:Q&UTN<6 M99(40`%MX)QQ"W6V$FX`3+AK(X$&',;,AW/@6\C1.'<0H'%%6#'T`*-@E&9" MP3"J!,08$Q9CO6)7ZFT:G:[(:,\F(T%;`I91)0[&S'@8'QM.@`R>\=U\-B=V M)M;;:-R+6\XM^J/42-568V%LC3U`GL&QS9CY#,49P(GCHKJ11K=X-2X3;P2, MF/$W;D;7.!*&8RO+?'X!Y"`YX^8+W2(3<`+V'">C.C)HS]$WQL?I&!R%@F(D MCO4*Z=`3&A>V9N*[`7?$Z_8,K0OG("#/3W1_YJIC?(Q#&`2^0'<`8%^`!")% M,W;R2&*EVE<!,>"5NV&'8@L$U*L08*E$!JG25%_@7[G%TQ@@X:-F M'`F<\=,@2-DHV$*C#4HY_?%5[$;WV!M]I'P4"C6AD=4KXX@2/;&L%,V4^34212`4&W2C$0K#89`TS$8E.)N:0!_- MC._*"9D&*&`&E]`9=L(,V#:DX-O]`V_`70!9P;\FX#3J`H.A%0X#$??<9S18X!Z/SI$\]V??=;&B4X`NS]*1E]6GA(6<-O#OG-$M)9_&\&X+0 M?)Y/";H_#L?RX*KPD\'BGN?Y7J&G`(V>2&AZ)-WYL3>KR/54H^2'C.3/[:&8 MNH?R])Z19X7^3\X)0,AG'(4:Q^-\2!"\E#[4!^K(`8VX+1#/R7QWO0C\N"Z) MPS++C\L\ES&3_CSFT11'*$@%T;`6]()RCO"Y0#7H!GVA ML[.#>M`/"D+SYPQ)-_="BHX0&SIW;N@Y9`HYU-XF#B?"0YZ(#[F;!!`N`=&XM$&#J#D< MJLIY>JQ3IN^,)+U71 MVF1%8N(5>0@N-HL<4?3<.KD(^?$B,_2+@E$-(D9FP!@IO\GY.BTGN[!NSRC@ MU<9I1'9XD<_9.MG([3`)7-02CEI->S3M*&G/)900!NT0$\)(3T$L@ M($+YI?B7F@13EO)'IPDDY:<5E9`B4#]41?U MDDS3SGA-Z:@U]2;5E$:Q@&S"HC=JCN*F(J";>)-O8CS`23@1IQWE!&`2#:5) M^,@F-:<\VI.B$P_53];IMIRF(TJGNE/3`$\@0#R1)_/$>-!3SUA/0:,_O2<5 MVI0JE)BZ4_>I2.FGK:1+_U.%$E`2J4"A)`2EH)P`@V(\#@I"[98Y2J'4U`;5 M4!F)0Q$F#W5$:=2(^CJE7&&8 M&E,`J4R9'#2UI#(40DT:;LH[U"BLM([F5)U"`G=*D^HIFK,[^U0*>`MH0%!- MAN4@/(]*=&!QU<$&,*K950V_!(;/`!I"@V@8#:2Q5+,+#_A3PP:J MLL-Z!H^5U3Y6IW+I%$@`1XO_S576))H6 M*5[M9S6U4C$-IW$`IT;5N!I=Z6;HU,'Z-!8@U7"*6$.Q^BW!NK36%;R:5^R" MO."`J(6T\%C$ZEA.AUUAUF6E63GK9,UWMFM=D)>68%K=%J7ZK$P+M2JLU6H# M6NO#XG(A"[,V+3$,O=6S`M>)A:QP7\4:KG0`NQI7+SBVR.MQ>S=8(+W^IAHQ MLX;0Z-E,N@LOX*)AMK.(EZ*9;[1NOL*4^CI\Q$`NH:]@Q]<9O:&1I[[`-6P" M0D#'-3TSP&`;+(/-?#Z`DHV`VV,^SH71&5I7LK,.K(5%7"5?R((#`+9DU;,! M2S+^47Y[>I(M`=@`DT`4NE^$78*WY[OU/IJ'B\"'\7*M$(O#T@'6&K)B'1[@ MK/QOP'(F`PL#$ZP46']XP,$Z6`@K86]/HPAO%I;&\A&]=;S`:W$M%5B%LZZT M)?`X),JP*5TYY`RAMQ;0`KH5$?BR+4`(P(<5)H';LH[>,A;@@0HT MK)4F!X0SH?F3BU!8R'=B;V)&.0W"93Y:VN7`HM#@OX&VTE:N&EB.]`IO M@+:-`[HV5.E`G*1;]FG1X!G&H=D&O&/KD:S`O,H!Y[90==M?"F[3+;55@];) MT_*S3AAL`]ZS%4W%UM_J0&CKY#HI/P.U[V95*8AABW"CK4H[7DR"`=59N813 MA<"^K4\X52K%/Y`[^88`3@(!D-;C+L!):^U`0`AXN>4(8I*\';0YSX"YHY=% M57F)H(``_%3='&-!&Z@JQ#0#Q'B`G_##/C777XFD`A3>+)%.XVFAM490B6JD M[_CF[XLD2#?3-K74D'Z`SL-T74JBA@$ M^/!S[`X:H@/9JS[XW2RFAAPF=LL80.A<))YG-,MHW]%9`VD`#IB?ER=Q^(.7 M5;05PB%P'83C!O`NQ_60^BSK_IVBC3;K]._\NY]-S_]V0@Z,^^@)`?:W!A@) M(&"\RBZ:WJ)LP+8H/J@=IR.!ER8%?AH76+>NBPRL$@!P!]Z'^.>?@$Q3V/6T M(?1U>]-W\Y"ZXO,0$-G9D;-R0,R:0SB;M'2.ZEP:XL[.)H!(NP")UZ%]-Q1' M&!%>X2/NAM7\8#4[3`'60$@!%`W)S%GR)3Q=&'RJ$V].'T!,#G0MN-7JR2`?K M.>HJKAZO36QG-VWE@P)8;R4PQCHP3@KF"N$/Z'%#]#MDE0!$;Q\&KQCCGR"< MN&6X9&,>P(M#3"6O$+V%6W\=AN,/YJ,ESR`\((`T+D@FH.C3QM+DA-7Q<#+X MT,D=KR=SBY_,=FILW:+)*!D.L.1F:V/MW5!>7H\,K!H**?ENM'+.^3F](U[2 MY/M)AUDQ_J'%Q%@1GV6.2XQ/<=S:6:"L5M0O/,"5>=%1.EM#A_-)8.WP[QU'BT^VKCNP\2#AV#7Z#$0PNV4SW]X(RU>8)H,R`R$= M_+(SQK-.YQ._94]&C6NR819&SUG&:AWQYI@K)?3J+' M""Y!6A^I_(R^+@$2MN.YNIIDW)RPPO-V-K2\^25'/_`LDX-S;I;*W)DJURVK MO)<3UGU&S-U//S==Y;PAYC.6Y1=NX#FCZ$5KHK,."@C1([I$-]K/0T-*[QP( MMPI+M(J!W?><@X0`TCTR2#^C@`N7@7(8B6:T)_I00-E`*UI5@!AP?]"S._.1 MZC:*'!4(4`#&`MK^YW8,B*9JSE"F/R-H#(VB<31X1NR;46Z'C)VLZ,8#@F/] M;1P_+/=$-[-+3HZ.$M*^W*X,U;&"TP12G>2;`NX((\^!6]VM>K#&B6$I+`P- M0]X*K(.`L";60\M0W#PFD7EXL&MYC"TX6>_.92WY0@84<-'#.KL5(U`X\U8( MLHZ7[LOUE$.?-V)]=1\+UC*PSIHUWG:=Z4!QU6ATH$_,MC#@9Q>;2@2-*B`% MF`"$N`5@0!>8;8/8109L$["S^D0*P%==H%]S-8`ML`EV##C8E"QADR^!W;#A MP,.6`1';M#$V3*RP*_;'QMC*@61O;(:=KSWV%KC8$GMD4^R!_;!G`,K6V(V9 M8[?LAVVP8W:VX'_<^ET[ZWB]!^8UF["R'A9?ZVM*!LF0=GT-V/Q:9/_KDDVP M#3;"5MDYFV4[;(@=LZ?VQK;8-QMK[V&M[;)!=M?&V7N88(/LJSVS._;#AME2 M&VU#[9H=MMOVSB[8(7NQ_>QZ%K2]=19X=?(:L\EM@9WIWAG>9MLEVP3(0+I] MML7VPB[<;[MN)^[%O07,=MQVW(1;S)ULQ+VR*3?<]M>#6W%K;HC-N;,VY>[9 M(EM?M%PFD*I7R*KNB*[ZZ?R=USUVLUVM#M>X^I_HZG'D#K\`:VW6SUI<<[QK MO32S]?U1UKZ[M@)OP06M/\^T5A`1F'@?:P6DK0O.,&2M?IMYB^OX2:YKA+FF MWNA::*GKYL"N2U^O_MWP&B$&;LP&7GFLTM:^E"QJ"V[,3;,/=\:FWV[[9>=M MJ2:S$S?8+MUC.W^C;KWMZZZW\D[?TJ%HF[6CK6/==\>>;4V[@==62)D"Y#?_ M]MHYNVI+[I6=OS_W!1_<__M^V^VM/<#Y]]XN?0:\1GYKP*W`+_?,AMSV.V6_ M<(08N1OW"Q_=%QN`/VX:CK=]-C5<&@GV"`1!>^0RS!-X<#<\%^NZYU8,L&'< MK7#B/(L,2PVU;'O@\QZFQL?5IE)54(U51_56-=7@0<\N#2BAQ`7Q7[8]33Q] MJ7%GG(\=H!.X3(X8$E/C,*X"EH;@$"2$S7LW#AS<_^N4COF?%@,>FQN9U M:0RXJE'$!:",;+T[=5/]*^S]!%8XKEO?H)M^PW"K+<(G-P_WX/0Z=,/P'%[+ M.SFZ6G3GY@N*;4M#L&BEC:'SJ2=$H M_9!80AH3HQ*Z#*71,S4!T\"8,K-I.$.9N0&&X<:T#E`)4B(ZL6P*NS+(^,K8 M`"QCS9$YZ3!=Q"1T71-E"HVO<>@39%3FRHF.*KV,LK$T&IW,R!B//A1J`*@1 M-6X#5.;TF,X44CJX60MWIJ63FY?.U*LZ:9CI4(;0]!HJ4U1?@(TN`W70I.]T MDA!I3LRD:38_O<7`RHT^U''"1_\T(KUT@,JO'M9UNE7?"$Z]5[H:ELX6@B6Y MN>N`G2U@]4[)T"N"K@KL&(&GF_54.1)6I:49#6M=J'=TH5`95L*-^36(/2SD M=2$#U7]E7W?IPC*SB_:G,-@7>J&YE:/](BCVBG[6565:MPE!W2=XAJ%@(#6S MM@DU6ATOI':4;M'FC$K?Z[!FJH?VW4[3_OZ#V]J_?USM[; )NWM_[_`]OK,% ` end ==================================================================== > Contact Mark Andrews (mandrews@alias.com). He has DB running > on various SGI machines, including IRIX 5.3, I believe. (I've > cc'd him on this email.) > > (Note -- Mark, if you'll send me the DB 1.85 patches for the > IRIX, I'll quit passing people along to you. ;-}) Doesn't matter to me. I like that I can help people here. Gotta give back to those who helped me when I was a net pup :-) From mandrews@aw.sgi.com Mon Oct 16 12:04:46 1995 Received: from bsdi.BSDI.COM by python.bostic.com (8.6.9.Beta4/2.6) id PAA21761; Mon, 16 Oct 1995 15:04:44 -0400 Received: from relay1.UU.NET (relay1.UU.NET [192.48.96.5]) by bsdi.BSDI.COM (8.6.12/8.6.12) with ESMTP id NAA18221 for ; Mon, 16 Oct 1995 13:05:59 -0600 Received: from alias.alias.com by relay1.UU.NET with SMTP id QQzlsm29578; Mon, 16 Oct 1995 13:10:51 -0400 (EDT) Received: by alias.alias.com (940719.SGI.8.6.9/8.6.9) id NAA29282; Mon, 16 Oct 1995 13:09:17 -0400 Received: from nebula.alias.com(192.75.20.180) by alias.alias.com via smap (V1.3) id sma029279; Mon Oct 16 13:09:10 1995 Received: by nebula.alias.com (8.7.1/8.6.9) id NAA04268; Mon, 16 Oct 1995 13:09:02 -0400 (EDT) From: mandrews@aw.sgi.com (Mark Andrews) Message-Id: <199510161709.NAA04268@nebula.alias.com> Subject: Re: db-1.85 To: mizzi@eu1.mpi-hd.mpg.de (Thomas Kihm) Date: Mon, 16 Oct 1995 13:09:01 -0400 (EDT) Cc: mandrews@aw.sgi.com, bostic@bsdi.com In-Reply-To: <9510161401.AA09018@eu1.mpi-hd.mpg.de> from "Thomas Kihm" at Oct 16, 95 03:01:44 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO > > I have tested your ports and it works with my test programs. > Currently I have tested only small databases (15MB). > > But however test 12 from the db-1.85 test directory doesn't > work! Do you have the same results running test 12. All tests work for me, but I had to make a few changes to the test script and Makefile to get it working. These changes would not have been in the files I sent you earlier. Here are the diffs: *** db.1.85/test/Makefile Sun Aug 28 11:42:52 1994 --- db.1.85/test/Makefile.irix Wed Mar 1 11:52:47 1995 *************** *** 9,15 **** INC= -I${PORTDIR}/include -I${PORTDIR} OORG= -g #STAT= -DSTATISTICS ! CFLAGS= -D__DBINTERFACE_PRIVATE -DDEBUG ${STAT} ${OORG} ${INC} dbtest: ${OBJS} ${PORTDIR}/libdb.a ${CC} -o $@ ${OBJS} ${PORTDIR}/libdb.a --- 9,15 ---- INC= -I${PORTDIR}/include -I${PORTDIR} OORG= -g #STAT= -DSTATISTICS ! CFLAGS= -D__DBINTERFACE_PRIVATE -DDEBUG ${STAT} ${OORG} ${INC} -D__BIT_TYPES_DEFINED__ dbtest: ${OBJS} ${PORTDIR}/libdb.a ${CC} -o $@ ${OBJS} ${PORTDIR}/libdb.a *** db.1.85/test/run.test Thu Sep 1 18:04:44 1994 --- db.1.85/test/run.test.irix Mon Oct 16 12:43:41 1995 *************** *** 16,21 **** --- 16,23 ---- DICT=/usr/share/dict/words elif [ -f /usr/dict/words ]; then DICT=/usr/dict/words + elif [ -f /usr/share/lib/dict/words ]; then + DICT=/usr/share/lib/dict/words else echo 'run.test: no dictionary' exit 1 ========================================================================== With respect to test 12, you may not have the rev utility which is used for that testi (run.test:540). I had to compile a version of my own to get the tests working as it is not an IRIX utility. The following is a diff to the 4.3BSD Net2 rev source (old/rev/rev.c at various ftp sites): *** rev.c Mon Mar 23 11:57:00 1992 --- /u/mandrews/src/BSD/db/db.1.85/test/rev.c Mon Oct 16 12:58:26 1995 *************** *** 46,54 **** --- 46,56 ---- #include #include #include + #include "cdefs.h" void usage __P((void)); void warn __P((const char *, ...)); + char *fgetline __P((FILE *, size_t *)); int main(argc, argv) *************** *** 130,133 **** --- 132,149 ---- { (void)fprintf(stderr, "usage: rev [file ...]\n"); exit(1); + } + + char * + fgetline(FILE *fp, size_t *n) + { + static char buf[BUFSIZ]; + + if ((fgets(buf, BUFSIZ, fp)) == NULL) + *n = 0; + else { + *n = strlen(buf) - 1; + buf[(*n)] = '\0'; + } + return(*n == 0 ? (char *)NULL : buf); } If you place the patched source in db.1.85/test, the compile/link line is: cc -O -I ../PORT/include rev.c -o rev Once you have the executable, make sure it is on your command search path so that the tests can find it. FYI, here's the output of the tests: Test 1: btree, hash: small key, small data pairs Test 1: recno: small key, small data pairs Test 2: btree, hash: small key, medium data pairs Test 2: recno: small key, medium data pairs Test 3: hash: small key, big data pairs Test 3: btree: small key, big data pairs page size 512 page size 16384 page size 65536 Test 3: recno: big data pairs page size 512 page size 16384 page size 65536 Test 4: recno: random entries Test 5: recno: reverse order entries Test 6: recno: alternating order entries Test 7: btree, recno: delete cursor record Test 8: btree, hash: repeated small key, big data pairs 1 of 10 2 of 10 3 of 10 4 of 10 5 of 10 6 of 10 7 of 10 8 of 10 (comparison) 9 of 10 10 of 10 Test 9: btree: duplicate keys Test 10: btree, recno: test cursor flag use Test 11: recno: reverse order insert Test 12: btree: lots of keys, small page size Test 13: btree, hash: differing byte orders Test 20: hash: bucketsize, fill factor; nelem 25000 cachesize 65536 bucketsize 256, fill factor 11 bucketsize 256, fill factor 14 bucketsize 256, fill factor 21 bucketsize 512, fill factor 21 bucketsize 512, fill factor 28 bucketsize 512, fill factor 43 bucketsize 1024, fill factor 43 bucketsize 1024, fill factor 57 bucketsize 1024, fill factor 85 bucketsize 2048, fill factor 85 bucketsize 2048, fill factor 114 bucketsize 2048, fill factor 171 bucketsize 4096, fill factor 171 bucketsize 4096, fill factor 228 bucketsize 4096, fill factor 341 bucketsize 8192, fill factor 341 bucketsize 8192, fill factor 455 bucketsize 8192, fill factor 683 If you continue to have trouble, let me know. From ariel@yon.engr.sgi.com Mon Oct 23 14:10:02 1995 Received: from bsdi.BSDI.COM by python.bostic.com (8.6.9.Beta4/2.6) id RAA01363; Mon, 23 Oct 1995 17:10:02 -0400 Received: from vangogh.CS.Berkeley.EDU (vangogh.CS.Berkeley.EDU [128.32.33.5]) by bsdi.BSDI.COM (8.6.12/8.6.12) with ESMTP id PAA13074 for ; Mon, 23 Oct 1995 15:11:14 -0600 Received: from hofmann.CS.Berkeley.EDU (hofmann.CS.Berkeley.EDU [128.32.35.123]) by vangogh.CS.Berkeley.EDU (8.7.Beta.2/8.7.Beta.2) with SMTP id OAA00769 for ; Mon, 23 Oct 1995 14:08:55 -0700 (PDT) Received: from sgi.sgi.com (SGI.COM [192.48.153.1]) by hofmann.CS.Berkeley.EDU (8.6.10/8.6.6.Beta11) with ESMTP id OAA12900 for ; Mon, 23 Oct 1995 14:11:02 -0700 Received: from yon.engr.sgi.com by sgi.sgi.com via ESMTP (950405.SGI.8.6.12/910110.SGI) for <@sgi.sgi.com:bostic@cs.berkeley.edu> id OAA21993; Mon, 23 Oct 1995 14:11:00 -0700 Received: by yon.engr.sgi.com (940816.SGI.8.6.9/940406.SGI.AUTO) for bostic@cs.berkeley.edu id OAA00868; Mon, 23 Oct 1995 14:10:55 -0700 From: ariel@yon.engr.sgi.com (Ariel Faigon) Message-Id: <199510232110.OAA00868@yon.engr.sgi.com> Subject: db.1.85 patches for SGI Irix 6.2 To: bostic@cs.berkeley.edu Date: Mon, 23 Oct 1995 14:10:53 -0700 (PDT) Reply-To: ariel@engr.sgi.com Organization: Silicon Graphics Inc. X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Status: RO [I'm now mailing from SGI, and I had a funny reverse alias name in my previous mail, but I'm the same guy] Hi Keith, Your last mail was very helpful. I managed to compile db.1.85 and run all tests successfully on both SGI IRIX 5.3 and IRIX 6.2 (Alpha) Here are the patches/comments: 1) SGI IRIX doesn't have 'rev', since I didn't have the berkeley sources handy, and ftp.uu.net was too loaded to let me in, I just replaced 'rev' with an inline perl script (perl comes standard with IRIX). This is not so nice, I admit, but relying on 'rev' isn't either :-) ------------------------------------- *** run.test.orig Thu Sep 1 15:04:44 1994 --- run.test Mon Oct 23 13:11:49 1995 *************** *** 16,21 **** --- 16,23 ---- DICT=/usr/share/dict/words elif [ -f /usr/dict/words ]; then DICT=/usr/dict/words + elif [ -f /usr/share/lib/dict/words ]; then + DICT=/usr/share/lib/dict/words else echo 'run.test: no dictionary' exit 1 *************** *** 537,543 **** awk '{ for (i = 1; i < 20001; ++i) print $0 }' > $TMP1 for type in btree; do rm -f $TMP2 $TMP3 ! for i in `sed 20000q $DICT | rev`; do echo p echo k$i echo d$mdata --- 539,549 ---- awk '{ for (i = 1; i < 20001; ++i) print $0 }' > $TMP1 for type in btree; do rm -f $TMP2 $TMP3 ! for i in `sed 20000q $DICT | \ ! perl -e 'while (<>) { \ ! chop; \ ! print STDOUT (scalar(reverse($_)),"\n"); \ ! }'`; do echo p echo k$i echo d$mdata -------------------------------------------- 2) IRIX 6.2 is POSIX (among other standards) compliant so 'strerror.o' is not needed separately in the test/Makefile file. Note: this is only for the irix.6.2 (5.3. aparently needs strerror.o) *** test/Makefile.orig Sun Aug 28 08:42:52 1994 --- test/Makefile Mon Oct 23 13:27:56 1995 *************** *** 1,7 **** # @(#)Makefile 8.15 (Berkeley) 7/28/94 PROG= dbtest ! OBJS= dbtest.o strerror.o # Uncomment the STAT line get hash and btree statistical use info. This # also forces ld to load the btree debug functions for use by gdb, which --- 1,7 ---- # @(#)Makefile 8.15 (Berkeley) 7/28/94 PROG= dbtest ! OBJS= dbtest.o # Uncomment the STAT line get hash and btree statistical use info. This # also forces ld to load the btree debug functions for use by gdb, which --------------------------------------------- 3) In PORT/irix.[56].*/Makefile I recommend replacing the arguments to 'ar' with 'rcs' (unlike the original patch I sent you (which used 'cqs'). lorder, tsort, and ranlib are not needed. Here is the relevant part: ${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} rm -f $@ ar rcs $@ ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} --------------------------------------------- That's all. Thanks again, --Ariel http://www.yendor.com/