diff -rc gnusql-0.7b5.3/ChangeLog gnusql-0.7b6.0/ChangeLog *** gnusql-0.7b5.3/ChangeLog Sun Jun 8 09:09:15 1997 --- gnusql-0.7b6.0/ChangeLog Mon Sep 28 21:38:33 1998 *************** *** 1,8 **** --- 1,534 ---- + Tue Sep 29 00:39:43 1998 Michael Kimelman + + * version 0.7b6.0 issued. + + Tue Sep 29 00:39:43 1998 Michael Kimelman + + * src/trl/Makefile.in, src/synthes/syndef.h, src/opt/Makefile.in, src/synthes/codegen.c, src/main/gsqltrn_lib.c, src/engine/trans/trns.c, src/engine/trans/trns_decl.c, src/engine/trans/ind_ins.c, src/engine/trans/ind_rem.c, src/engine/rcvutl/strgcr.c, src/engine/trans/Makefile.in, src/engine/rcvutl/Makefile.in, src/engine/rcvutl/memcr.c, src/engine/jour/Makefile.in, configure.in, etc/make-util.in, configure: + port to SGI + + Mon Sep 28 05:00:06 1998 Michael Kimelman + + * src/parse/parse.y: + fixed arity counter for condition on quantified subquery. + + * src/opt/optimize.k: clear 'quantification' & 'some' flags in case of + transformation it to 'exist' + + * test/Makefile.in: space in rule added + + * etc/rpcgen-sh.in: + always add include proto.h when we remove rpc.h from files - + to assure everything required has already included at the point. + + Sun Sep 27 21:35:02 1998 Michael Kimelman + + * config.h.in, configure, configure.in: test for 'make include item' changed + + * Makefile.in: dependencies simpilfied + + * aclocal.m4: + AC_CHECK_LIB fixed: now it's checking if the desired function is in some of + system (previously attached) libraries + + Wed Sep 16 23:05:28 1998 Michael Kimelman + + * src/semantic/binding.k: type was omitted 8* + + * src/trl/treecode.def, src/synthes/codegen.c, src/synthes/struct.c, src/other/type_lib.c: + drop ALL & SOME codes - replaced by exists subquery + + * src/opt/optimize.k: some2exist transformation - bugfixes + + * src/opt/get_up.k: grounding work for getting up nested subqueries + + * src/kitty/kitty.c: check for 'case 0' moved to compare.c + + * src/kitty/compare.c: + order of comparision enforced and checked for empty string condition. + + * src/engine/rcvutl/librcv.c: splitted string fixed + + * src/main/Makefile.in, src/engine/Makefile.in: + . --> srcdir for rpcgen.sh dependencies + + Tue Sep 15 05:47:40 1998 Michael Kimelman + + * configure: . => sarcdir + + * etc/boot.in: reduce delays at boot + + * src/opt/optimize.k: + query transformation rule added - every subquery transformed to Exist + + * src/trl/vcblib.c, src/other/check_tp.c: pattern node types : bugfix + + * src/kitty/kitty.c: fail on 'selector' error + + * src/kitty/kitty.c: assume (Op:xxx ) matchs to everything + + Mon Sep 14 20:19:43 1998 Michael Kimelman + + * src/semantic/binding.k: fields lookup fix + + Sun Sep 13 20:18:19 1998 Michael Kimelman + + * etc/rpcgen-sh.in: + simplified procressing & reduced number of obsolete temporary files + + * src/include/Makefile.in, etc/preserve.in: bugfix: srcdir case + + * src/include/engine/Makefile.in: dependecies fixed for srcdir case + + * src/include/Makefile.in: dependencies for multifunctional configure + + Sat Sep 12 22:15:13 1998 Michael Kimelman + + * src/engine/trans/next.c: obsolete code removed + + + * src/include/options.def, src/semantic/Makefile.in, src/main/servlib.c: + * src/semantic/Attic/subquery.c, src/semantic/Attic/rul_sub.k: + remove sq phase of compiler - redundant code + + * configure, config.h.in, configure.in: check for rpc/rpc.h + + * src/opt/get_up.k: comments + + Fri Sep 11 19:54:22 1998 Michael Kimelman + + * src/synthes/struct.c: made few routines static + + * test/testM1.ec: add log mark + + * test/testM1.ec: + test slightly changed - mode pressure on performance issue. + additional changing required - some parts of test select 0 rows :( + + * test/testM3.ec: unnecessary core deleted + + * src/interpr/intlib.c: debugging stuff added + + * src/engine/rcvutl/libini.c: + redlines for logs increased by few orders of magnitude. + + * test/testM1.ec: bugfix: wierd bug - reference to unscanned table + + * src/semantic/binding.k: + bugfix: field's names lookup for nested queries. + + Sat Aug 29 05:27:10 1998 Michael Kimelman + + * test/testM1.ec: incorrect data in the tree provocation + + Sat Aug 22 04:21:14 1998 Michael Kimelman + + * test/testd4.ec, test/Attic/testd.ec: dynamic test fixing + + * src/other/conn_handler.c: direct_mode timeout handling + + * src/other/conn_handler.c: debug func addedd + + * src/engine/adm.c: cosmetics + + Fri Aug 21 00:29:14 1998 Michael Kimelman + + * src/other/conn_handler.c, src/include/setup_os.h, src/include/conn_handler.h: + fix:SVC_UNREG for direct mode + + * src/engine/trans/cntrid.c: macro 2 functions + + * src/engine/synch/fdclsyn.h: indent + + * src/engine/synch/dessnch.h: adjust & align cp size + + Thu Aug 20 17:39:26 1998 Michael Kimelman + + * src/engine/synch/lock.c: align lock sizes + + Tue Aug 18 22:30:53 1998 Michael Kimelman + + * test/testM1.ec: switched to full test mode + + * src/engine/trans/libtran.c, src/engine/trans/ind_rem.c: + move assert test deeper + + * etc/dq.in: bugfix + + * src/engine/synch/shartest.c, src/engine/synch/snipc.c, src/engine/synch/synpr.c, src/engine/synch/unlock.c, src/engine/synch/dlock.c, src/engine/synch/fdclsyn.h, src/engine/synch/incrs.c, src/engine/synch/lock.c, src/engine/synch/dessnch.h: + style & types + + * src/engine/Makefile.in, src/main/Makefile.in: rpcgen-sh dependencies + + * etc/dq.in: another bugfix + + Mon Aug 17 22:36:22 1998 Michael Kimelman + + * src/other/conn_handler.c: + direct_mode : final bug fixes and throw away debugging stuff + + * configure: sync to ...in + + * src/engine/chpars.c: obsolete stuff removed + + * src/other/conn_handler.c: conn_fix + + * configure.in, etc/dq.in, etc/rpcgen-sh.in: AWK settings + + * src/engine/Makefile.in, src/main/Makefile.in: + dependencies from rpcgen-sh added + + Sat Aug 15 02:01:23 1998 Michael Kimelman + + * src/other/conn_handler.c: debugging stuff flow + + * src/other/cl_lib.c: null handle workaround + + * src/engine/dispatch.c: supress alarm signal logging + + * src/engine/adm.c: debug stuff added for start/stop debugging + + * etc/rpcgen-sh.in: + bugfix for direct mode : workaround for variable rpc PROGRAM id + + Wed Aug 12 22:31:23 1998 Michael Kimelman + + * src/other/conn_handler.c: direct_mode: debug phase + + * src/other/cl_lib.c: bugfix - extra rpcclnterror call + + * src/comp-lib/Makefile.in: tools dependencies added + + * configure: in sync to ..in + + * src/engine/buf/bufipc.c: silent exit + + Tue Aug 11 14:26:43 1998 Michael Kimelman + + * configure.in: rpcgen options fixed for direct mode + + Sun Aug 2 02:52:46 1998 Michael Kimelman + + * configure.in: flexlib workaround + + * configure.in: lexlib directory moved from LIBS to LEXLIB + + Sat Aug 1 04:38:32 1998 Michael Kimelman + + * src/other/conn_handler.c, src/include/conn_handler.h : membrane for rpc connection + + * etc/rpcgen-sh.in: awk --> nawk + + Thu Jul 30 03:23:40 1998 Michael Kimelman + + * src/trl/trl.c, src/other/cl_lib.c, src/semantic/Attic/rul_sub.k, src/synthes/codegen.c, src/main/gsql_cli.c, src/main/gsqltrn.x, src/other/Makefile.in, src/include/setup_os.h, src/interpr/int_cli.c, src/main/cs_link.c, src/main/dyn_client.c, src/engine/adm.c, src/engine/chpars.c, src/include/cl_lib.h, src/include/Makefile.in, src/comp-lib/db_cre_cli.c, src/comp-lib/finadm.c, src/comp-lib/runadm.c, src/engine/Makefile.in, etc/move-if-change.in, etc/preserve.in, etc/rpcgen-sh.in, src/comp-lib/copy.c, src/Makefile.in, configure.in, version, acconfig.h, config.h.in, configure: + DIRECT_MODE + + Mon Jun 1 15:59:33 1998 Michael Kimelman + + * test/testd1.ec, test/test3b.ec, test/test30.ec, test/test23.ec: + indicators added + + * src/main/gsqltrn_lib.c: printf --> PRINT + + * src/include/engine/fdcltrn.h, src/engine/trans/obrind.c, src/engine/trans/ind_rem.c, src/engine/jour/fdeclmj.h: + i4_t ,=>int + + * src/engine/buf/bufipc.c: added HEAVY_IPC_DEBUG printouts + + Wed May 20 06:02:06 1998 Michael Kimelman + + * PROBLEMS, README, GETTING.GNU.SOFTWARE, src/trl/cycler.c, src/trl/trl.c, src/synthes/synlib.c, src/synthes/codegen.c, src/semantic/binding.k, src/main/dyn_funcs.c, src/main/options.c, src/kitty/compare.c, src/interpr/intlib.c, src/interpr/int_cli.c, src/interpr/interpr.c, src/include/global.h, src/engine/adm.c, src/engine/trans/rllbck.c, src/engine/trans/tmpob.c, src/engine/trans/trns.c, src/engine/trans/ind_rem.c, src/engine/trans/ind_scan.c, src/engine/trans/inscon.c, src/engine/trans/insfltr.c, src/engine/trans/libtran.c, src/engine/trans/modcon.c, src/engine/trans/obrind.c, src/engine/trans/opinpg.c, src/engine/trans/opscin.c, src/engine/trans/page_op.c, src/engine/trans/addflds.c, src/engine/trans/aggrifn.c, src/engine/trans/bdunion.c, src/engine/trans/cmpftn.c, src/engine/trans/cmpkeys.c, src/engine/trans/cnttab.c, src/engine/trans/delcon.c, src/engine/trans/dltn.c, src/engine/trans/ind_ins.c, src/engine/synch/dlock.c, src/engine/synch/incrs.c, src/engine/synch/shartest.c, src/engine/synch/shtest1.c, src/engine/synch/synpr.c, src/engine/synch/unlock.c, src/engine/rcvutl/librcv.c, src/engine/jour/fdecllj.h, src/engine/jour/helpfu.c, src/engine/jour/logj.c, src/engine/jour/mjipc.c, src/engine/buf/buflock.c, src/engine/buf/fdeclbuf.h, src/ + * tesac/sy8ee src/comp-liefile.in, src/cosher/conn_opt/it configure/c ord 2.5.1sh.tive environ/getthes/sbexlike kelly or direct outs10 + S0 Suay 20 06:02:06 1998 Michael Kimelman outss7 18 Sun 9ay 20 06:02:06 1998 Michael Kimelman de/in, tre <_c, srahe desndler.c: coneng src1insyeng1r/:.ec: _ngit_ + i4_t , src/ +:.ec: ngited pc7b6.0 issuNovss4 18 Sun20ep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihmicrojc/othew on 'stop ALies simpilengine/t:.ec: ngitelitted string /engine/ec: _ngited on 'stop ALies siECT_Novss3 + 17:0Sep 17 2Vera Ponomsrcnkochacona@+ *.ispras.rubi.nlm.nih/engine/tra/engine/tr/engine/tra/engintraonfc/othextkshonfi, srcfakeer.c: coneng1r/syeng src1ine Dc: Ugiteliti.nlm.rintOctn + 6:25 42ep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihc, src/enude.l + + nginec, src/enude.nd_rem.gineginec, src/enude.nd_rem.c, srceginec, src/enude.nd_rem.c, sreginec, src/enude.nd_rem.c, sreginec, src/enude.cl_lib..nd_rem.main/Maon 'stop ALLsrck for 'casxn 'ss/s. pup srehon ine/chparngging stuffrc/engin, /engine/tra/engavg/tra/engsne/tra/engine/trablgine/tra/engine/ra/engine/trcngine/trcrre.c, s/engine/tr/engine/tr/enre.c, s/engine/ginee.c, s/engine/tra/engine/tr/engine/tra, srngine/joine/tren: grine/mdfcngine/mengine/tr/engfle/tr/engine/tr/engr.c, s/engine/tra/engine/tr/engine/t/enginin/Maon 'stop ALLsrck for 'casxn 'ss/s. IB figfix: test slis bit asewgll7b6.0 issuOctn 1 6:45e Aug 27 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nih ALde/enynpup sreho= con *.hies siECT_Octn 0 18 03:57ug 27 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihvmneorysrc/ssrcidt_mode : dredundantvmneorysrc/engine/asies siECT_Octn 0 10 S5e Aug 17 2Vera Ponomsrcnkochacona@+ *.ispras.rubi.nlm.nihtidsrgintrordine/tra/engine/tc/engine/asies sio LEOctn1Sep 03:2Sep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihc * src/onch/deop& SOonfion 'sty tntsomct:xxdow tnag require/* brane fbrcvin,icrs of magni, src/intm/engine/adm.c: cnih+ * src/main/gfc: l on 'st_mode thode : dredund--> Octn16 10 29:51ep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihxmne/t: en 'stop ALLenume.uery t+ indicators nclude/enynput_/engu/M srunter bsoleteL &IB fiae few rrid.c: maator__P wrappec: + indicators on 'ss/synER_9o= coER_NOMEMator++oER_FATALi.nlm.nihxmne/t: ER_9o= coER_NOMEMatolm.nihxmne/t: pcgen "l fimneory" exce.c, salpha.gnuucan_c.l* + *minel: english ngammsrredund--> Octn16 09:58:47ug 17 2Vera Ponomsrcnkochacona@+ *.ispras.rubi.nlm.nihnclude/engi/enne/trludeengine/syengine/s/engine/syn/engineyn/Makc: : patte Miipuluery t/testM1, salpha.--> Octn16 09:55e Aug 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihxmne/t: chf/bu_mode tir'stEAGAIN en 'st SOonfr logsmrpcoced prrpcoc.alpha.--> Octn16 09:53e Aug 17 1Vera Ponomsrcnkochacona@+ *.ispras.rubi.nlm.nih, ngine/tre/ec: : patte Miipuluery t/testM1, salpha.nih, ngine/ttestfigench/fxe Mieng/gett/testM1, salpha.nihen: grine/ginfrmc/e/ec: : patte Miipuluery t/testM1, salpha.nih/engine/trorgintr/engirgisyn/Mamneorye Mieng/gettoptir of obsolobjtM1st/testM1, salpha.nih/engine/tra/engin/tra/engine/tr/engine/tra/engsne/tra/engine/tra/engavg/tyn/Makc: : patte Miipuluery t/testM1, salpha.-ssuOctn Aug6 Mon Sep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nih/engine/tm/engine/x ccl_hers :)i.nlm.nih/engine/tm/engine/a ormation - bug + *in:e few rrntsributsformati:xx r rprid.c: maato - bug + *in:e fylise/a ormation - bugc, src/enine/slude/iset/op * eoleteLduplclear ' by ahe ddesinlm.n hhhhhhhhhhegure.in,inal buishegurrc/eor direct Octn 2 + 58:50ep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nih.c, src/oth NULLifteLdc: :cludeed aritNULL valu s.alpha.gnuc, src/enetcsludeegure.ilier/ch: dyed.ies sio LEOctn11 6:24 Suay 27 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihmgure.in, etcsludepcgen 'irilddir'x r rar ' + sudctional c--> Octn 9ep2 43n 9ay 27 2Vera Ponomsrcnkochacona@+ *.ispras.rubi.nlm.nih/engine/tra/engine/tr/enne/trludnclude/enyn.i.nlm.rintOctn 8ep2 49:0Sep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihc, src/enlude${ies fi}//Makegure.in,o= co${irilddir}//Makegure.in,i.nlm.nihmgure.in, etcsludeIruntrprf + s maato - bugc, src/enude. * srludeeorun'st Sgfixti:xx+ *minm.c: cosmeOctn 3 6:21 29ep 17 20:18:19 1998 Michal K+ *.ispras.rubi.nlm.nihrc/engine/buf/buipc.(0)a rpcready ineal by srun + sedctional cnih.ree_c/syn:._mode ::rem.c: uery t/est sligurrdgulust_mod SOonftion - bug/engineyn/Ma1. (bto= SML || bto|| SMLEQ || bto= GRT || bto= GRTEQ )o= c>lm.n hhhhhhhhh(bto= SML || bto= SMLEQ || bto= GRT || bto= GRTEQ ))i.n 2./engine/adm.c: crintOctn 1 3 Mon06ay 27 2Vera Ponomsrcnkochacona@+ *bi.nlm.nihnclude/engi/engine//enginem/engine/adm.c: cnihordmenine/b * src/urgu/M srunter men: clear 'alpha.nih/engine/trunrdgu chanvarobsolete stuff remengine/syynchf/bulonfigure.eal by dquilock.rchs to everything29ep3n 8e Aug 17 16:02:06 1998 Michael K+ *bi.nlm.nih/engine/tm/her/if and(previimneoryx: wierd bi.nlm.nihmgure/iseopt/opnuptr.c: mar+ indicators mgure/iseopEXPRn co* src/ desndlteL &configure/c ordator.gov> + rc/e updc:ALL for 'afeed config.ha rpcclnter cp size 8 07 Tue 7ug 17 16:02:06 1998 Michael K+ *bi.nlm.nihc, src/enine/sludeegurrc/e.ding= c>t + +eps.mkor direct mode24 + + 42ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi.nlm.nihc, src/enine/sludeccl_r/ch:guregure.in,i.nlm.ent exit 9 + 03:00ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi.nlm.nihc, src/enude.nd_rem.ludeccl_r SOupte + + salpha.nih/enginine/extsrgintrpushintrputgine/quicksrgintrrkfrmc/, rorgintrtidsrginyn/Maheampas ormation - bugc, src/enude.nd_rem.ludesrg2/en : rorg add fixbsolete stuff rec, src/enude.nd_rem.c, sregidesrg2/en:igfix: dyed.ies sinih/engine/t/enginiesrg2/en:iheampargfix: dyed.ies sir bugfix 8 + Wed 0ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi.nlm.nihc, src/enude.nd_rem.c, sreginerorgintrtidsrgintrrkfrmc/, quicksrgintrn/Macutgine/pushintrextsrgintr/enginine//engirgisyn/Marorgpargurde/in,direct nawk + + + 0Aug 17 1Vera Ponomsrcnkocacona@+ *.ispras.rubi.nlm.nihirgngine/sengine/rcv/engine/tra/engavg/tra/engsne/tra/engine/trablgine/train, tengine/trcngine/trcrre.c, s/engine/tr/engine/tr/enre.c, s/engine/d che_/eng/train, ginee.c, s/engine/tra/engine/tra/engine/tr/enrine/tr/engine/tramdfcngine/mengine/trtty/cengine/tr/engine/tr/engr.c, sorddelintrordine/traordmenintrre/tjintrre/mj/tra/engine/trvutl/engfne/traengine/syh, src//* src/engsyh,fstde/,t/M tde/,h ALde/ene//1f2ne/trludin, gclude/engingine/hyn/MaSRT->TRN, TMPmne->TRN, , srcfakes n: another buMODE 9 09:19t Aug 7 1Vera Ponomsrcnkocacona@+ *.ispras.rubi.nlm.nihivrsrc/oth lised - s, srahe desargu/get_ include ite 5.3/ChangeL14 S3:45ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi te nihc, src/enlu (inetrpc)e-if-change.inrc/Makefile.in, egure.in,e-if- :e n_oponfig.uery tnal inetrpcat ' + sspatndlteL(plusing rehers).i te awk --> nanss5 6n 8e27ug 7 1Vera Ponomsrcnkocacona@+ *.ispras.rubi.nlm.nihh, src/h, rc/synt/engavg/tra/engine/tra/engsne/tra/engine/trablgine/tra/engine/tr/engine/tr/engine/ginee.c, s/engine/tr/engine/trajoine/tren: grine/mdfcngine/mengine/tr/engintr/engine/tra/engine/t/enginin/MaT of obsolmneorye Mieng/gettmen: clear 'alp nal SORT ecessr 'alpha.nihrc/engin, engine/r/sengine/rcvengine/rin/MaT of obsolmneorye Mieng/gettmen: clear 'alp: cosmeouts + 8 Sun39ug 7 1Vera Ponomsrcnkocacona@+ *.ispras.rubi.nlm.nih/engrgisra/engine/tr/engfne/tr/enginem * acif the des *fixgparing & rprocrar 'alp: er buouts12 09:50:21ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi te nihsrc/e (og ***2)ta ini ind21:38:33 1998 *******3,1******* ***539,5 Au*** - te nih.gov> + + * src/sy (set_opt/nal)st/Makefange.iuery t_mode : dr tes--> outss8ep2 Tue58ug 7 1Vera Ponomsrcnkocacona@+ *.ispras.rubi.nlm.nihh,ngine/tra/engavg/tra/engine/tra/engsne/tra/engine/trablgine/tra/engine/trin, trgine/trcrtfrmc/, /engine/tr/engine/tr/enre.c, s/engine/ginee.c, s/esgine/trtty/, srngine/joine/trginfrmc/tr/engine/tramn: grine/mdfcngine/mengine/tr/engintrtty/cengfle/tr/engine/tr/engr.c, sorddelintra igine/trrngirgintrrengfne/tr/enginetrtty//engine/nclude/enylm.ni***d checestM1stM3ge****alp: eck soutss6 01 Sat34ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi te nihrpr/intlib.c, sr.in, src/ (execute_stmt)stimmedic:Auipc.ty ten 'stop AL &l21:38:33 1998 ******37,42u***** ***572,588u*** - t (AC_SUBST)test/transOp:xxxxpnal hew YFLAGS target.e nihrpr/c, src/e_hnlu (YFLAGS):c/Makefiledrnggi s sir bugpre 8 1ue S:55ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi.nlm.nihmgure/iseop srda rpcrndlteL -est/t-AVY_Ii.nlm.nihc, src/enude.cl_lib..main/Mabuf/bu9:15 1 , sr tre desincies fixre.in: lei.nlm.nihc, src/e_hnude.clyn/Marpectrprtargets (.FORCE: .SUFFIXES:-if-)k for 'casy ineal byonn_ha/eor d ir bugpre 8 12 Fri34ug 17 16:02:06 1998 Michael K+ *.ispras.rubi te nihVgov> + + 5fanl for l21:38:33 1998 ******233,239u98 ** niharray (BITMAR[8])t/est slix ) mwhier:guregs/cnBITVL(k)i te nihacest emove gine/a men: clear 's indinhes/c/opt/getr 'rect'#pragma ! ni/fdc's, '$Log$'snecessar,n co* pilearraylsinci src/sy ne/taledrade few ro p: eck sourn11 0+ Sun43ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi te ***779,785u*** - tniharray (BITMAR[8])t/est slix ) mwhier:guregs/cnBITVL(k)i te nihacest emove gine/a men: clear 's indinhes/c/opt/getr 'rect'#pragma ! ni/fdc's, 'Log'snecessar,n co* pilearraylsinci src/sy ne/taledrade few ro p: eck sourn11 0+ Sun43ug 17 16:02:06 1998 Michael Kel .cast/enlspras.rubi teddiff -rc gLEMS, README, GETTIN09:15 1997 --- gLEMS, README, GETTINb6.0/ChangeLog *** gLEMS, README, GETTIN r bugpre 8 13:51e Aug 17 09:09:15 1997 --- gLEMS, README, GETTIN rintouts + 2 Mon Aug 17d21:38:33 1998 *******11,115u98 ** ure.ourre.in.o p: eFdepe unnin+ query ty tADMinal bueeFdcomptigure cotahe u: redIntlinet ! bufispat<9:1@r SO.ai.mit.roc>r'stbueefdcomptigu'snUStoun,inufispa* urual in rc/e `/pub/9:1/ADMin+ /ORDERS'.* *** 11,115u*** - ture.ourre.in.o p: eFdepe unnin+ query ty tADMinal bueeFdcomptigure cotahe u: redIntlinet ! bufispat<9:1@fsf nans12 0un41:04ug 17 09:09:15 1997 --- gc, src/enlu e point. + + T2 Suay 20 21:38:33 1998 ********7u98 ** ##############################################################* ## ADMiSQLoin.in+ ##* ##############################################################*! ## $Id:hc, src/enlu,v 1.249ug 7/04/ Jun Sat41 el Exp $ ##* ##s--is rc/e ifiaequiremovADMiSQLoin.in+ ##* *** 17u*** - t##############################################################* ## ADMiSQLoin.in+ ##* ##############################################################*! ## $Id:hc, src/enlu,v 1.2 Aug 18/09/ + + S2 Suael Kimel Exp $ ##* ##s--is rc/e ifiaequiremovADMiSQLoin.in+ ##*21:38:33 1998 *******16,134u98 ** #* # pect, sr casesrc/mst Makef(l +p phatrrun: diramnns,nin+ s-if-)k* # Y_IP/opt/only u:n: +ME cs*! $(ies fi)//Makegure.in,oinetrpc "$(LN_S)" "$(dbhome)" "$( src/r)" \ "$(/nal/r)" "$(in+ l/r)" "$(r Sndl)" r rpt/op e n- $(RM) *.cacuee*.estM*. fewua* t/op *e n- $(RM) -ron *sn+ ib*! /Makegure.in,ot/op "$(MAKECLEAN)"e /iset/op * r rpt/op e n- $(RM) nn_handler.c, scconf*e n- $(RM) -ron *sn+ ib*! /Makegure.in,ot/op "$(MAKERT) /iset/op "e $(SHELL) $(ies fi)//Mak con-r oflct/op e- n- $(RM) /MakRCSest/teRCSest/tec, src/ee n- $(RM) c, src/eM*. fempe/Makegure.in,e r SO fis. femp e n- [ -d $(SERVDIR) ] || mk fix-p $(SERVDIR)* *** 16,13Au*** - t#* # pect, sr casesrc/mst Makef(l +p phatrrun: diramnns,nin+ s-if-)k* # Y_IP/opt/only u:n: +ME cs*! $(irilddir)//Makegure.in,oinetrpc "$(LN_S)" "$(dbhome)" "$( src/r)" \ "$(/nal/r)" "$(in+ l/r)" "$(r Sndl)" r rpt/op e n- $(RM) *.cacuee*.estM*. fewua* t/op *e n- $(RM) -ron *sn+ ib*! $(irilddir)//Makegure.in,ot/op "$(MAKECLEAN)"e /iset/op * r rpt/op e n- $(RM) nn_handler.c, scconf*e n- $(RM) -ron *sn+ ib*! $(irilddir)//Makegure.in,ot/op "$(MAKERT) /iset/op "e $(SHELL) $(ies fi)//Mak con-r oflct/op e n- $(RM) c, src/eM*. fempe/Makegure.in,e r SO fis. femp e n- [ -d $(SERVDIR) ] || mk fix-p $(SERVDIR)*21:38:33 1998 *******39,174u98 ** echo "Ok">$@o p: est/te/syl*! /cho uff a tirDBMStge.in+ nal inuntrpiz tirdc: :bmodet ( cd $(SERVDIR); srir + 2>&1 |estecestM)*! /cho uff a tirsome paquere ... (it mdessitty/ng rwhier)et ( cd some ; $(MAKE) 2>&1 |estecestM;M)*! /cho ufopp tirDBMStge.in+e $(SERVDIR), sr, src/co p:!c/Maks:hrpr/c, src/e nn_handler.c, scconf*mgure/iseo p:!c${ies fi}/added + + /Makefile.in lfied + +*! [ ! -fn, acconcacuee] || $(RM) , acconcacue*! cd ${ies fi} &&naugu, ac*! #nauguheamparmec: n+ /est sn, acconfig.h,sot Muchiae femp rc/e.:!c${ies fi}/added .* etc/ femp-* et:!c${ies fi}/ femp-* et+ /Makefile.in .in, versi lfied + + *! cd ${ies fi} &&nauguheampa*! /cho : di femp >c${ies fi}/ femp-* et*! *! nn_handler.c, scconfc/ femp-* *! nn_hc, src/e c/ femp-* *! nfemp-*:n, acconfig.mp-lib/copy.c, sn, accon fewua* ./, accon fewua* * t accon fewua:c${ies fi}/added + * ./, accon fewuau**relonfio p:!c@MCYCLE@added .* etc/${ies fi}/added .* et ##sssrcidt/Makefile.in, buady iy ne dr @MCYCLE@ femp-* et :c${ies fi}/ femp-* et ##dy iserve rpc emptmpateLdierdtlogsmrke* * compa:o p:!c*! #.SILENT:* *** 38,169u*** - tnecho "Ok">$@o p: est/te/syl*! /cho "uff a tirDBMStge.in+ nal inuntrpiz tirdc: :bmod"et ( cd $(SERVDIR); srir + 2>&1 |estecestM)*! /cho "uff a tirsome paquere ... (it mdessitty/ng rwhier)"et ( cd some ; $(MAKE) 2>&1 |estecestM;M)*! /cho "ufopp tirDBMStge.in+"e $(SERVDIR), sr, src/co p:!c/Maks:hrfemp-*o p:!c# becau:n config.ha&nauguheampa n+ gen-sh.updc:An, acconfa&nadded .* et :!c# prot+ME cn, acconfa&nadded .* et beckeap-* nal femp-* et ispptM1,vely*! nfemp-*:n femp-* et b/copy.c, sn, accon fewua * ./, accon fewua* * t accon fewua:c${ies fi}/added + * ./, accon fewuau**relonfio p:!c${ies fi}/added + + /Makefile.in lfied + +*! [ ! -fn, acconcacuee] || $(RM) , acconcacue*! cd ${ies fi} &&naugu, ac*! r @MCYCLE@ femp-* et :c${ies fi}/ femp-* et ##dy iserve rpc emptmpateLdierdtlogsmrke*+c${ies fi}/ femp-* et+ /Makefile.in .in, versi lfied + + *+ cd ${ies fi} &&nauguheampa*+ /cho "`hostgfix` `dc:A` `who am i`" >c${ies fi}/ femp-* et* * compa:o p:!c.SILENT:*ddiff -rc g.org> + 09:15 1997 --- g.org> + b6.0/ChangeLog *** g.org> + b5.3/ChangeLo5:4at Aug 7 09:09:15 1997 --- g.org> + brintouts + 2 Mon Sep 28 21:38:33 1998 *******9,25u98 ** -LJL -erc, u-ransieture.st/tm tir1stM3geef(badinufispa) - ciledrbexlibchs ne/talptigu. quipars.rst snbehavior.o p:!c8. On m68k-hp-*pux9.10,/ChangeLog *** Fdepng res foy teietc/dgqskef(or * etc/dprongam) /o bug+ /loodet hhhh(r of obso)rve rpcrecto: di'casy di. I'varng /lurpcyet whichlete te lrsnbe tirkept oake. I , s againet buishli/it of 56rve rpc(buishishetc* *** 9,25u*** - t -LJL -erc, u-ransieture.st/tm tir1stM3geef(badinufispa) - ciledrbexlibchs ne/talptigu. quipars.rst snbehavior.o p:!c8. On m68k-hp-*pux9.10,/G *. Fdepng res foy teietc/dgqskef(or * etc/dprongam) /o bug+ /loodet hhhh(r of obso)rve rpcrecto: di'casy di. I'varng /lurpcyet whichlete te lrsnbe tirkept oake. I , s againet buishli/it of 56rve rpc(buishishetc*21:38:33 1998 ******27,43u98 ** I g+ g warn tirlike 'Canug+ oake /usrc/en/aaaa??????'inal buen* it dumpel bueeoutpect:xxstdrect( stufmpaatrwho canutell:-))i te- 9. ChangeLog ** /syl +MEt+ qs. te- e- A* etc/d(s bit annoy ti)t_modicorrecmnged + buishcluderunn tie- en: tt/op ncorrectd foe.in: lext/op s'rect + to assulike b/copy.c'se- n, vers*rve rpcnal e un!s--is is ange.inn optien: t/iset/op t:xxwhate- Ixxxpin:. en: tt/op gen-sy wouldnecessa/syl tuee*.o nal g ree une- buadg+ myhanged + bu:-(e- ess10.u*** @@@@@* /usrcied +c/enge/Change/og **/i386-sun-e/c ord2.5 ! //isk1/soumpas/ChangeLog **//Makegure.in,oinetrpc "ln -s"* "/usrcied +c/enge/Change/og **/i386-sun-e/c ord2.5" "/usrcied +c sr" \ "/usrcied +cman" "/usrcied +cin+ "* "/usrcied +"te ***27,35u*** - t I g+ g warn tirlike 'Canug+ oake /usrc/en/aaaa??????'inal buen* it dumpel bueeoutpect:xxstdrect( stufmpaatrwho canutell:-))i tess10.u*** @@@@@* /usrcied +c/enge/Change/og **/i386-sun-e/c ord2.5 ! //isk1/soumpas/G *//Makegure.in,oinetrpc "ln -s"* "/usrcied +c/enge/Change/og **/i386-sun-e/c ord2.5" "/usrcied +c sr" \ "/usrcied +cman" "/usrcied +cin+ "* "/usrcied +"te21:38:33 1998 ******45,55u98 ** /usrcied +cinerpr.c,hange//usrcied +c/enge/Change/og **/i386-sun-e/c ord2.5/* esrc/m: Nxxsuchlete oixre.in: lei te- 11. some1 * e- /cho "***l +p p tirsome1 * = c>t + 1 c" @@@@@*- added - ereturnspe unntha ty e tes*- En 'stncorome 18 !!!!!e- ess12. Fecto: di'casy di I ge g hhhhhhegurgrin: It/testM1.ic/bi'0't( st etc/dvalu s).- t I .rscel buishdow tcasyuple_bs fk ncorrecsfixlete egurgrin.s--c* ***37,42u*** -21:38:33 1998 ******83,87u98 ** ) * ORDER BY OWNER,TABNAME;i tesse- 14.te ***70,75u*** - t ) * ORDER BY OWNER,TABNAME;i te+ 14.tconfig is g+ /Makefiledrrec: e+ 15. i teddiff -rc g * PR09:15 1997 --- g * PRb6.0/ChangeLog *** g * PR --> nans12 0un4on Sep 27 09:09:15 1997 --- g * PR 6.0/ChangeLog 54:57ug 20 21:38:33 1998 ********5u98 **!s--is oe.in: lext dathobind.gov> + + ** emovADMiSQLoin.in+.s--is*!sishetc *first*nbe: : esed - srecsn som. tesse You egy en fixed hers ncorris anl for. tIf you do, +M ford SOonf: eshem; youst_mod SOonft lrsnvaluround cotributr 's casy inFSF, ged bi *** 1,u*** -!s--is oe.in: lext dathobind.gov> + + * vemovADMiSQLoin.in+.s--is*!sishetc be: :* ese*d - srecsn som.esse You egy en fixed hers ncorris anl for. tIf you do, +M ford SOonf: eshem; youst_mod SOonft lrsnvaluround cotributr 's casy inFSF, ged bi21:38:33 1998 *******4, + 98 ** Thxlete .org> + 0 cotainenin+ query ty topt/ondproounmshetaf: eoccil ncoirild ti,oinetrpc tirnal ,unn ti GSS.o p:!cRSOonft - hers ncoGSSkshouldnbecsgettcasher-9:1-5 1@r SO.ai.mit.rocse You cnag rsxxseesy inGSSknew: redhttp://wwwnlspras.ru/~g *. * Thxlete `/Makefile' ifiaeshell scripct:xxxnroundADMiSQLoge.in+ i *** 4, + *** - tThxlete .org> + 0 cotainenin+ query ty topt/ondproounmshetaf: eoccil ncoirild ti,oinetrpc tirnal ,unn ti GSS.o p:!cRSOonft - hers ncoGSSkshouldnbecsgettcasher-9:1-5 1@n pheamparve r.s */e #usrc/ HAVE_confNT_Hb nl21:38:33 1998 ******134,139u***** ***148,156 *** - t/* DM sre it'you havesy inpheamparve r.s */e #usrc/ HAVE_Ncon_Hb nlm./* DM sre it'you havesy inpheamparve r.s */e+ #usrc/ HAVE_RPC_RPC_H+ D /* DM sre it'you havesy inpheamparve r.s */e #usrc/ HAVE_STDARG_Hb nlddiff -rc gadded g.ha9:15 1997 --- gadded + *6.0/ChangeLog *** gadded + --> nans12 05 17:34ep 27 09:09:15 1997 --- gadded + 6.0/ChangeLog S3:46ug 20 21:38:33 1998 *******5, + 98 ** ***15, 2u*** - t --xnroun-ded HEEEEEEEEEExnrounds, srahe des+ sspa sfor start/"* ac_c/en="$ac_c/en- t --xnroun-.orFILEEEEEEEEEturnty texecut des+ ete ecdre "+ ac_c/en="$ac_c/en-+t --xnroun-donfigure: at/tes esrc/m/ge.in+ intliahe desndependet:xxUnixr1stM3geefs, srconfi"- te #eIruntrp: a g reorkarounstsetdbexs.c, srce #eThxlorkarounsthavesy insadi gfix: andy ino.c, sr,fwich 21:38:33 1998 ******524,530 98 ** * esse- e #eConfigwheetc/d--xnroun-ded HEo/d--disroun-ded HEndingivence i- some "${xnroundded H+set}" = set; buen* xnrounval="$xnroundded H"* ***526,531u*** -21:38:33 1998 ******539,546u***** ***540,5 Au*** - t ac_+ ete =1 * cii nlm.#eConfigwheetc/d--xnroun-donfigure: o/d--disroun-donfigure: ndingivence+ i- some "${xnrounddonfigure: +set}" = set; buen*+ xnrounval="$xnrounddonfigure: "*+ ac_nn_handler.=1 *+ cii nl te aw d.gov> +=`cuem${ies fi}/.gov> +`essdbhome='$(r Sndl)c/enge/Change/$(.gov> +)/$(host)' irilddir=`pwd`-21:38:33 1998 ******598,610 98 ** '* cii nl- i- some ! -fn, acconguspat-a -fnRCS/, acconguspa,v ; buen*- n,n, acconguspa*- cii- i- some ! -fn, acconsubt-a -fnRCS/, acconsub,v ; buen*- n,n, acconsub*- cii- * ac_aux_nn_=- ture.ac_nn_ nco$ies fix$ies fi/..x$ies fi/../..;kdo it'some -fn$ac_nn_/inetrpc-sh; buen*-***605,610 *** -21:38:33 1998 ******921,927u***** ***921,96+ *** - tcii n/cho "$ac_t""$CPP" 1>&6l te aure.ac_pron ncomrpcggrpcgh.in .in: ado m.#eE.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.alpsetddummy $ac_pron;.ac_e.il=$2alp/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6llp/cho "added + +930: lonfi tirpre.$ac_e.il" >&5e+ i- eval " esed\"`/cho '$''{'ac_cvspron_AWK'+set}'`\" = set"; buen*+ /cho $ac_n "(cacued) $ac_c" 1>&6llp/lode: it'some - "$AWK"; buen*+ ac_cvspron_AWK="$AWK".#eLeady inuser o.goridesy inine/sllp/lode: IFS="${IFS= }";.ac_save_ifs="$IFS";.IFS="${IFS}:"*+ ure.ac_nn_ nco$PATH;ado m.EEEEtome -z "$ac_nn_" &&nac_nn_=. m.EEEEit'some -fn$ac_nn_/$ac_e.il; buen*+ ac_cvspron_AWK="$ac_pron"*+ bs fk + cii+ dy ee: IFS="$ac_save_ifs"*+ cii+ cii+ AWK="$ac_cvspron_AWK"e+ i- some - "$AWK"; buen*+ /cho "$ac_t""$AWK".1>&6llp/lode: /cho "$ac_t""g+" 1>&6llpcii nlm.some - "$AWK" &&nbs fk + dy ee: e aw d### ------------------------------------------------------------------w d### ----------------- flagsgen-sh.i ----------------------------------w d### ------------------------------------------------------------------w21:38:33 1998 ******931,937 98 ** * ess/cho $ac_n "lonfi tirpre.${CC-cc}no.c, st:xxacce.c ANSI C""... $ac_c" 1>&6l!p/cho "added + +935: lonfi tirpre.${CC-cc}no.c, st:xxacce.c ANSI C" >&5e i- eval " esed\"`/cho '$''{'am_cvspron_cc_stdc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***964,970 *** - te ess/cho $ac_n "lonfi tirpre.${CC-cc}no.c, st:xxacce.c ANSI C""... $ac_c" 1>&6l!p/cho "added + +968: lonfi tirpre.${CC-cc}no.c, st:xxacce.c ANSI C" >&5e i- eval " esed\"`/cho '$''{'am_cvspron_cc_stdc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******947,953u98 ** do CC="$ac_save_CC $ac_arg"* cuem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_c +p ph) 2>&5; }; buen* rmfn, acine/** am_cvspron_cc_stdc="$ac_arg";nbs fk p/lode ***998,1004 *** - ti src/ s2 {int (*f) (douounda);};i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +1002:d\"$ac_c +p ph\") 1>&5; (eval $ac_c +p ph) 2>&5; }; buen* rmfn, acine/** am_cvspron_cc_stdc="$ac_arg";nbs fk p/lode21:38:33 1998 ******987,993 98 ** * ess/cho $ac_n "lonfi tirpre.f the des roto patt""... $ac_c" 1>&6l!p/cho "added + +991: lonfi tirpre.f the des roto patt" >&5e i- some "$am_cvspron_cc_stdc" != no; buen* /cho "$ac_t""ytt" 1>&6l p cuem>>n, acrc/s.hk<<\EOF: ***1020,1026 *** - te ess/cho $ac_n "lonfi tirpre.f the des roto patt""... $ac_c" 1>&6l!p/cho "added + +1024: lonfi tirpre.f the des roto patt" >&5e i- some "$am_cvspron_cc_stdc" != no; buen* /cho "$ac_t""ytt" 1>&6l p cuem>>n, acrc/s.hk<<\EOF:21:38:33 1998 ******1000,1011u98 ** U=_ ANSI2KNR=./ sr 2knr* #eEnsg.ha g relonfis ne dhanbex sr 2knrtitself.* /cho $ac_n "lonfi tirpre.ANSI Cpheamparve rp""... $ac_c" 1>&6l!p/cho "added + +1004: lonfi tirpre.ANSI Cpheamparve rp" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_stdc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cuem>n, acine/s$ac_extk<* #inerpr. : ***1033,1044 *** - t U=_ ANSI2KNR=./ sr 2knr* #eEnsg.ha g relonfis ne dhanbex sr 2knrtitself.* /cho $ac_n "lonfi tirpre.ANSI Cpheamparve rp""... $ac_c" 1>&6l!p/cho "added + +1037: lonfi tirpre.ANSI Cpheamparve rp" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_stdc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cuem>n, acine/s$ac_extk<* #inerpr. :21:38:33 1998 ******10*3,1019u98 ** #inerpr. * EOF: ac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + +1017:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/** ***1046,1052u*** - t#inerpr. * EOF: ac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + +1050:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/**21:38:33 1998 ******1030,1036u***** i- some $ac_cvsheampa_stdc = ytt; buen* # 5.3OS 4.xti s ti.hk/o bug+ ne/talelmne*re cotobsol:xxANSI.* cuem>n, acine/s$ac_extk<* EOF: ***1063,1069u*** - ti- some $ac_cvsheampa_stdc = ytt; buen* # 5.3OS 4.xti s ti.hk/o bug+ ne/talelmne*re cotobsol:xxANSI.* cuem>n, acine/s$ac_extk<* EOF:21:38:33 1998 ******1048,1054u***** i- some $ac_cvsheampa_stdc = ytt; buen* # ISC 2.0.2 stdrc/ohk/o bug+ ne/talelfreere cotobsol:xxANSI.* cuem>n, acine/s$ac_extk<* EOF: ***1081,1087u*** - ti- some $ac_cvsheampa_stdc = ytt; buen* # ISC 2.0.2 stdrc/ohk/o bug+ ne/talelfreere cotobsol:xxANSI.* cuem>n, acine/s$ac_extk<* EOF:21:38:33 1998 ******1069,1075u98 ** :l p/lode cuem>n, acine/s$ac_extk<* #/M sre ISLOWER(c) ('a' <= (c) && (c) <= 'z')* *** 102,1108 *** - t :l p/lode cuem>n, acine/s$ac_extk<* #/M sre ISLOWER(c) ('a' <= (c) && (c) <= 'z')*21:38:33 1998 ******1080,1086u***** ipc.t(0); }: i tEOF:!cif { (eval /cho added + +1084:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; ipc.)r2>/dev/her/: eshen- t :l p/lode *** 113,1119u*** - tipc.t(0); }: i tEOF:!cif { (eval /cho added + +1117:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; ipc.)r2>/dev/her/: eshen- t :l p/lode21:38:33 1998 ******1*07,1123u98 ** do ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`ess/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +1111: lonfi tirpre.$ac_hdr" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cuem>n, acine/s$ac_extk<* EOF: ac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + +1121:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/** ***1140,1156 *** - tdo ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`ess/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +1144: lonfi tirpre.$ac_hdr" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cuem>n, acine/s$ac_extk<* EOF: ac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + +1154:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/**21:38:33 1998 ******1226,1232u98 ** # SVR4 /usrcucb/inetrpc, whichlts sOp:xxu:n y innonipcstgettgroup "uffff"* # ./inetrpc, whichlcnagbeien 'neously tre r logsmrkesndepe./inetrpc.sh.ess/cho $ac_n "lonfi tirpre.a BSDnl +patioundinetrpc""... $ac_c" 1>&6l!p/cho "added + +1230: lonfi tirpre.a BSDnl +patioundinetrpc" >&5e i- some -z "$INSTALL"; buen* i- eval " esed\"`/cho '$''{'ac_cvspath_inetrpc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***1259,1265u*** - t# SVR4 /usrcucb/inetrpc, whichlts sOp:xxu:n y innonipcstgettgroup "uffff"* # ./inetrpc, whichlcnagbeien 'neously tre r logsmrkesndepe./inetrpc.sh.ess/cho $ac_n "lonfi tirpre.a BSDnl +patioundinetrpc""... $ac_c" 1>&6l!p/cho "added + +1263: lonfi tirpre.a BSDnl +patioundinetrpc" >&5e i- some -z "$INSTALL"; buen* i- eval " esed\"`/cho '$''{'ac_cvspath_inetrpc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 ******1275,1286u***** some -z "$INSTALL_DATA" &&nINSTALL_DATA='${INSTALL} -m 644'* * com.ac_pron nco'bioy t-y'logacc- tdo #eE.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy $ac_pron;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1284: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspron_YACC'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1308,1325u*** - t some -z "$INSTALL_DATA" &&nINSTALL_DATA='${INSTALL} -m 644'* *+ i- some ` srda${ies fi} -gfixf"*.hange.in" | wc -l ` -gt 0 ; buen*+ xnroundhange.in=yation/lode: xnroundhange.in=noi+ cii+ * com.ac_pron nco'bioy t-y'logacc- tdo #eE.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy $ac_pron;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1323: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspron_YACC'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******1312,1326u***** i- some "$YACC" = "bioy t-y" ; buen* YACC=bioy * YFLAGS="-d -v -t" ! /lode YACC='$(ETC)change.in'* YFLAGS="angt unn--bioy "* cii nl #eE.c: cady infirstre.il by "flex"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy flex;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1324: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspron_LEX'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1351,1374u*** - ti- some "$YACC" = "bioy t-y" ; buen* YACC=bioy * YFLAGS="-d -v -t" ! /li- some $xnroundhange.in = ytt ; buen* YACC='$(ETC)change.in'* YFLAGS="angt unn--bioy "*on/lod e: /cho "Can'tp srdaneietc/dbioy tnre.'hange.in'rve rpc***"e: /cho " buishdistributr 'gcnagg+ be /Makefiledrpre.youstenvi 'n/get"e: /cho " "e: /cho "--Abonfr "e: /pc.t1 cii+ i- some "x$ac_cvsrc/_fl_yywrap" != x ; buen*+ unsetdac_cvsrc/_fl_yywrap*+ cii nl t#eE.c: cady infirstre.il by "flex"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy flex;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1372: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspron_LEX'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******1353,1359u98 ** *) ac_rc/=l ;;* /sac* /cho $ac_n "lonfi tirpre.yywrapmnco-l$ac_rc/""... $ac_c" 1>&6l!p/cho "added + +1357: lonfi tirpre.yywrapmnco-l$ac_rc/" >&5e ac_rc/_var=`/cho $ac_rc/'_'yywrapm| :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***1401,1407 *** - t *) ac_rc/=l ;;* /sac* /cho $ac_n "lonfi tirpre.yywrapmnco-l$ac_rc/""... $ac_c" 1>&6l!p/cho "added + +1405: lonfi tirpre.yywrapmnco-l$ac_rc/" >&5e ac_rc/_var=`/cho $ac_rc/'_'yywrapm| :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 ******1361,1367u98 ** ac_save_LIBS="$LIBS"* LIBS="-l$ac_rc/ $LIBS"* cuem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***1420,1426 *** - tyywrap()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +1424:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 *******398,1412u98 ** ## pr rsxxu:n: %xn co* src/ des whichlhappe's casbinunsopponfr beckg relexce i- some "$LEX" = "flex" ; buend### etaf's rcnde LFLAGS="-d8i"* #/li- some "$LEX" = "lex" ; buen* # LFLAGS="-t" ! /lod * LEX='$(ETC)change.in'* LFLAGS='angt unn--flex'* cii nl /cho $ac_n "lonfi tirwheetc/dln -sre.inp""... $ac_c" 1>&6l!p/cho "added + +1410: lonfi tirwheetc/dln -sre.inp" >&5e i- eval " esed\"`/cho '$''{'ac_cvspron_LN_S'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1446,1628u*** - t## pr rsxxu:n: %xn co* src/ des whichlhappe's casbinunsopponfr beckg relexce i- some "$LEX" = "flex" ; buend### etaf's rcnde LFLAGS="-d8i"*: it'some -z "$LEXLIB" ; buen*+ xcho "$ac_t""flexrc/ g+ urual - treckg rehackarrual" 1>&6llp #eE.c: cady infirstre.il by "flex"h,sotitgcnagbeiaeqrongam gfixfwich:args.a+psetddummy flex;.ac_e.il=$2alp/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6llp/cho "added + +1455: lonfi tirpre.$ac_e.il" >&5e+ i- eval " esed\"`/cho '$''{'ac_cvspath_FLEX'+set}'`\" = set"; buen*+ /cho $ac_n "(cacued) $ac_c" 1>&6llp/lode: cford"$FLEX" in*+ /*)*+ ac_cvspath_FLEX="$FLEX" #eLeady inuser o.goridesy inine/fwich:ahsrch. m.EE;;*+t *)e: IFS="${IFS= }";.ac_save_ifs="$IFS";.IFS="${IFS}:"*+ ure.ac_nn_ nco$PATH;ado m.EEEEtome -z "$ac_nn_" &&nac_nn_=. m.EEEEit'some -fn$ac_nn_/$ac_e.il; buen*+ ac_cvspath_FLEX="$ac_nn_/$ac_e.il"*+ bs fk + cii+ dy ee: IFS="$ac_save_ifs"*+ EE;;*+t/sac*+ cii+ FLEX="$ac_cvspath_FLEX"e+ i- some - "$FLEX"; buen*+ /cho "$ac_t""$FLEX" 1>&6llp/lode: /cho "$ac_t""g+" 1>&6llpcii+ + clexrc/=`nn_gfixf$FLEX`/../ ib*m.EEEEit'some -d $flexrc/ ; buen*+ unsetdac_cvsrc/_fl_yywrap*+ lf_save_LIBS_x="$LIBS"*+ LIBS="-L${flexrc/} $LIBS"*+ *+ it'eval " esed\"`/cho '$''{ac_cvsf th_'yywrap'+set}'`\" = set"; buen*+ eval "unsetd'$''{'ac_cvsf th_yywrap'}'" + cii+ ure.ac_f th ncoyywrap*+ do m./cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6llp/cho "added + +1495: lonfi tirpre.$ac_f th" >&5e+ i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen*+ /cho $ac_n "(cacued) $ac_c" 1>&6llp/lode: cfem>n, acine/s$ac_extk<*+ /* O.goridesany gcc2 intlinal roto patt:xxavoidsanten 's.s */e+ /* Winuse /es+ becau:n int mec: mrc/e y inreturn pattby a gcc2l+ builtininal buentits:argu/get roto pattwouldnstill apply.s */e+ /es+ $ac_f th();i+ + int main() {i+ + /* ThxlADMiC sly atys/M sres buishpre.f the des whichlitgen-se/gets m.EEEEto gen-sh.itty/wich:ENOSYS.s Sodi f the det lrsn caually gfixd m.EEEEkg ro assuuff a tirwich:__inal bueen qul gfixfifiaag rias.s */e+ #ifs/M sred (__stub_$ac_f th) || /M sred (__stub___$ac_f th)e+ /eok ede+ #/lode: $ac_f th();i+ #endifi+ + ;ereturn 0; }i+ EOF:+cif { (eval /cho added + +1523: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen*+ rmfn, acine/**+ eval "ac_cvsf th_$ac_f th=yat"llp/lode: /cho "added + + ittyn: +rongam was:" >&5e+ cfem, acine/s$ac_extk>&5e+ rmfn, acine/**+ eval "ac_cvsf th_$ac_f th=g+"llpcii+ rmfn, acine/**+ cii+ + i- eval " esed\"`/cho '$ac_cvsf th_'$ac_f th`\" = yat"; buen*+ /cho "$ac_t""ytt" 1>&6l+ lf_tr_f th=HAVE_`/cho $ac_f th | tr 'abc/M ghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`e: cfem>>n, acrc/s.hk<&6llpcii+ dy ee: e a it'eval " esed\"`/cho '$''{ac_cvsf th_'yywrap'}'`\" = g+"; buen*+ : + ib ncofl ;kdo + /cho $ac_n "lonfi tirpre.yywrapmnco-l${ ib}""... $ac_c" 1>&6llp/cho "added + +1550: lonfi tirpre.yywrapmnco-l${ ib}"k>&5e+ ac_rc/_var=`/cho ${ ib}'_'yywrapm| :n: 'y%./+-%__p_%'`e+si- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen*+ /cho $ac_n "(cacued) $ac_c" 1>&6llp/lode: ac_save_LIBS="$LIBS"*+ LIBS="-l${ ib} $LIBS"*+ cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen*+ rmfn, acine/**+ eval "ac_cvsrc/_$ac_rc/_var=yat"llp/lode: /cho "added + + ittyn: +rongam was:" >&5e+ cfem, acine/s$ac_extk>&5e+ rmfn, acine/**+ eval "ac_cvsrc/_$ac_rc/_var=g+"llpcii+ rmfn, acine/**+ LIBS="$ac_save_LIBS"i+ + cii+ i- eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = yat"; buen*+ /cho "$ac_t""ytt" 1>&6l+ lf_tr_rc/=HAVE_LIB`/cho ${ ib}m| :n: -e 's/[^a-zA-Z0-9_]/_/g' \l+ -e 'y/abc/M ghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`e: cfem>>n, acrc/s.hk<&6llpcii+ + ### bs fk, it'f the desireurual in sly aty + eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk + dy ee+ eval "unsetd'$''{'ac_cvsf th_yywrap'}'" + cii+ *+ LIBS="$lf_save_LIBS_x"*+ i- some $ac_cvsrc/_fl_yywrap = ytt ; buen*+ LEXLIB="-L${flexrc/} o-lfl"*+ cii+ cii+ cii n#/li- some "$LEX" = "lex" ; buen* # LFLAGS="-t" ! /li- some $xnroundhange.in = ytt ; buen*! i- some $LEX = lex ; buen*! LEXLIB=*! cii n LEX='$(ETC)change.in'* LFLAGS='angt unn--flex'*+ c llp/lode: /cho "Can'tp srdaneietc/dflextnre.'hange.in'rve rpc**"e: /cho " buishdistributr 'gcnagg+ be /Makefiledrpre.youstenvi 'n/get"e: /cho " "e: /cho "--Abonfr "e: /pc.t1 cii nl /cho $ac_n "lonfi tirwheetc/dln -sre.inp""... $ac_c" 1>&6l!p/cho "added + +1626: lonfi tirwheetc/dln -sre.inp" >&5e i- eval " esed\"`/cho '$''{'ac_cvspron_LN_S'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******426,1466u98 ** /cho "$ac_t""g+" 1>&6l cii nl! #eE.c: cady infirstre.il by "ranrc/"h,sotitgcnagbeiaeqrongam gfixfwich:args.a!psetddummy ranrc/;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1433: lonfi tirpre.$ac_e.il" >&5e! i- eval " esed\"`/cho '$''{'ac_cvspron_RANLIB'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode! it'some - "$RANLIB"; buen*! ac_cvspron_RANLIB="$RANLIB".#eLeady inuser o.goridesy inine/sl! /lode IFS="${IFS= }";.ac_save_ifs="$IFS";.IFS="${IFS}:"* ure.ac_nn_ nco$PATH;ado .EEEEtome -z "$ac_nn_" &&nac_nn_=. .EEEEit'some -fn$ac_nn_/$ac_e.il; buen*! ac_cvspron_RANLIB="ranrc/" bs fk p cii n dy ee IFS="$ac_save_ifs"*!EEEtome -z "$ac_cvspron_RANLIB" &&nac_cvspron_RANLIB=":"* cii! cii! RANLIB="$ac_cvspron_RANLIB"e! i- some - "$RANLIB"; buen*! /cho "$ac_t""$RANLIB" 1>&6l p/lode /cho "$ac_t""g+" 1>&6l cii nl nl- ### prcnagurual ranrc/ hier buadif's g+ enough : hpusxu:n: :xxhavesl- ### u:nlspatscripctwich:y insadi gfix.dif's ok it'you u:n stnalail 'ar'l- ### buadit'you inetrpc GNU's bin.in,sckg retrououndcnag rise.e- e- ac_save_path="$PATH"* PATH=/usrcied +c sr:/usrc cotribc sr:/optc sr:/optcgnuc sr:/usrc sr:$PATH* com.ac_pron ncogmrkesmrke* ***1642,1691u*** - t /cho "$ac_t""g+" 1>&6l cii nl! l! #eE.c: cady infirstre.il by "ar"h,sotitgcnagbeiaeqrongam gfixfwich:args.a!psetddummy ar;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1650: lonfi tirpre.$ac_e.il" >&5e! i- eval " esed\"`/cho '$''{'ac_cvspath_AR'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode! cford"$AR" in*! /*)*! ac_cvspath_AR="$AR" #eLeady inuser o.goridesy inine/fwich:ahsrch. ! EE;;*!t *)e IFS="${IFS= }";.ac_save_ifs="$IFS";.IFS="${IFS}:"* ure.ac_nn_ nco$PATH;ado .EEEEtome -z "$ac_nn_" &&nac_nn_=. .EEEEit'some -fn$ac_nn_/$ac_e.il; buen*! ac_cvspath_AR="$ac_nn_/$ac_e.il"* bs fk p cii n dy ee IFS="$ac_save_ifs"*!EEE;;*!t/sac* cii! AR="$ac_cvspath_AR"e! i- some - "$AR"; buen*! /cho "$ac_t""$AR" 1>&6l p/lode /cho "$ac_t""g+" 1>&6l cii nl+ ### prcnagurual ranrc/ hier buadif's g+ enough : hp/uxxu:n: :xxhavesl+ ### u:nlspatscripctwich:y insadi gfix.dif's ok it'you u:n stnalail 'ar'l+ ### buadit'you inetrpc GNU's bin.in,sckg retrououndcnag rise.sl+ nn__ar=`nn_gfixf$AR`e+ i- some -fn$nn__ar/ranrc/ ; buen*+ #hetc best cfor*+ ac_cvspron_RANLIB=$nn__ar/ranrc/*+ RANLIB=$ac_cvspron_RANLIBllp/lode: RANLIB=":"*+ cii nl tac_save_path="$PATH"* PATH=/usrcied +c sr:/usrc cotribc sr:/optc sr:/optcgnuc sr:/usrc sr:$PATH* com.ac_pron ncogmrkesmrke*21:38:33 1998 *******468,1474u98 ** # E.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy $ac_pron;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1472: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_MAKE'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1693,1699u*** - t# E.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy $ac_pron;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1697: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_MAKE'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******503,1509 98 ** * ess/cho $ac_n "lonfi tirpre.mrkesinerpr. item""... $ac_c" 1>&6l!p/cho "added + +1507: lonfi tirpre.mrkesinerpr. item" >&5e i- eval " esed\"`/cho '$''{'gss_cvsMAKE_inerpr.s'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1728,1734 *** - te ess/cho $ac_n "lonfi tirpre.mrkesinerpr. item""... $ac_c" 1>&6l!p/cho "added + +1732: lonfi tirpre.mrkesinerpr. item" >&5e i- eval " esed\"`/cho '$''{'gss_cvsMAKE_inerpr.s'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******510,1529u98 ** * cfem>mrketst1k<mrketesed<>, acconlon >/dev/her/ ; buen* ## prcnaginerpr. etc/dmnged + b* gss_cvsMAKE_inerpr.s="$st/_ ese"* :i ! dy e ! rmfnmrketesedmrketst1l * cii nl-***1735,1762u*** - t * cfem>mrketst1k<mrketesed<>, acconlon >mrketstsout:!c i- some $? -eq 0t-a `grep "^mrkassuuddterm" mrketstsout | wc -l` -eq 1 ; buen* ## prcnaginerpr. etc/dmnged + b* gss_cvsMAKE_inerpr.s="$st/_ ese"*+ bs fk p :i ! dy e ! rmfnmrketesedmrketst1 mrketstsoutl * cii nl21:38:33 1998 *******532,1538 98 ** SETsMAKE="MAKE=${MAKE-mrke}"e ess/cho $ac_n "lonfi tirifnmrke roundsotidentifykshortinal lotirpte gfix""... $ac_c" 1>&6l!p/cho "added + +1536: lonfi tirifnmrke roundsotidentifykshortinal lotirpte gfix" >&5e i- eval " esed\"`/cho '$''{'gss_cvsMAKE_short_loti'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1765,1771u*** - tSETsMAKE="MAKE=${MAKE-mrke}"e ess/cho $ac_n "lonfi tirifnmrke roundsotidentifykshortinal lotirpte gfix""... $ac_c" 1>&6l!p/cho "added + +1769:dlonfi tirifnmrke roundsotidentifykshortinal lotirpte gfix" >&5e i- eval " esed\"`/cho '$''{'gss_cvsMAKE_short_loti'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******561,1567u98 ** # E.c: cady infirstre.il by "ddd"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy ddd;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1565: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_DDD'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1794,1800u*** - t # E.c: cady infirstre.il by "ddd"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy ddd;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1798: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_DDD'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******600,1606u98 ** # E.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy $ac_pron;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1604: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_XTERM'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1833,1839u*** - t# E.c: cady infirstre.il by "$ac_pron"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy $ac_pron;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1837: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_XTERM'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******641,1647u98 ** # E.c: cady infirstre.il by "xxgdb"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy xxgdb;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1645: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_XXGDB'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1874,1880u*** - t # E.c: cady infirstre.il by "xxgdb"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy xxgdb;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1878: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_XXGDB'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******684,1690u98 ** # E.c: cady infirstre.il by "gdb"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy gdb;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1688: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_GDB'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1917,1923u*** - t # E.c: cady infirstre.il by "gdb"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy gdb;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1921: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_GDB'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******721,1727u98 ** # E.c: cady infirstre.il by "dbx"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy dbx;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1725: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_DBX'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***1954,196+ *** - t # E.c: cady infirstre.il by "dbx"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy dbx;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1958: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_DBX'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******770,1776u98 ** # E.c: cady infirstre.il by "rpcgen"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy rpcgen;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + +1774: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_RPCGEN'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***2003, +09u*** - t# E.c: cady infirstre.il by "rpcgen"h,sotitgcnagbeiaeqrongam gfixfwich:args.a psetddummy rpcgen;.ac_e.il=$2a p/cho $ac_n "lonfi tirpre.$ac_e.il""... $ac_c" 1>&6l!p/cho "added + + +07: lonfi tirpre.$ac_e.il" >&5e i- eval " esed\"`/cho '$''{'ac_cvspath_RPCGEN'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 *******798,1819u98 ** /cho "$ac_t""g+" 1>&6l cii n.EEEEit'some - "$RPCGEN" ; buen*! /cho $ac_n "lonfi tirrpcgen output""... $ac_c" 1>&6l!p/cho "added + +1803: lonfi tirrpcgen output" >&5e a it'eval " esed\"`/cho '$''{'gss_cvsRPCGEN_output'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode * cfem>myine/sxk< + CT_V { ! int CT_P(void) = 1;* } = 2 ;* } = 3;i tEOF:!c $RPCGEN myine/sx* cfem>n, acine/s$ac_extk<* EOF: ***2031, +71u*** - t /cho "$ac_t""g+" 1>&6l cii n.EEEEit'some - "$RPCGEN" ; buen*! /cho $ac_n "lonfi tir$RPCGEN output""... $ac_c" 1>&6l!p/cho "added + +2036: lonfi tir$RPCGEN output" >&5e a it'eval " esed\"`/cho '$''{'gss_cvsRPCGEN_output'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode * cfem>myine/sxk< + CT_V { ! int CT_P(myipat) = 1;* } = 2 ;* } = 3;i tEOF:!c $RPCGEN -T myine/sx*! i- some ! -fnmyine/_tbl.i ; buen*! i- some "x$ac_nn_handler." = x1 ; buen*! msg="$RPCGENk/o bn'tpgeneratenmyine/_tbl.i\n"*! RPCGEN=*! :i ! :i ! :re.fn ncomyine/shnmyine/_clnt.cnmyine/_svc.cnmyine/_xdr.c ! do*! i- some ! -fn$fn ; buen*! msg="$msg $RPCGENk/o bn'tpgeneraten$fn"*! RPCGEN=*! bs fk ! :i ! dy ee cfem>n, acine/s$ac_extk<* EOF:21:38:33 1998 *******828,1834u98 ** rmfn, acine/** * cfem>n, acine/s$ac_extk<* EOF: ***2080, +86 *** - trmfn, acine/** * cfem>n, acine/s$ac_extk<* EOF:21:38:33 1998 *******843,1849u98 ** rmfn, acine/** * cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&6l p :re.outparmnco$gss_cvsRPCGEN_output;ado .EEEE cford$outparmnco ! stubs=*)*! i- some "$outparm" = "stubs=svc" ; buen*! cfem>>n, acrc/s.hk<<\EOF: #/M sre RPCSTUB_SVC_STYLEt1 EOF: i- cii n.EEEEEEE;; * o.cs=*)*! rpcgen_o.cs=`/cho $outparm| :n: -e "s/o.cs=//"`i n.EEEEEEE;; *! main=*)*! i- some "$outparm" = "main= roto" ; buen*! cfem>>n, acrc/s.hk<<\EOF:! #/M sre RPCMAIN_PROTOt1 EOF: i! cii n.EEEEEEE;;i n.EEEEEEE*)*! ;; * /sac* dy e ! RPCGEN="$ies fi/etc/rpcgen-sh $RPCGENk$rpcgen_o.cs" /lode! RPCGEN="$ies fi/etc/hange.in angt unn--rpcgen"e a it'grep '[0-9]*_svc' ` srda${ies fi} -gfixf'*.hange.in'` >/dev/her/; buen* cfem>>n, acrc/s.hk<<\EOF: #/M sre RPCSTUB_SVC_STYLEt1 -***2126,2208 *** - t /cho "$ac_t""$gss_cvsRPCGEN_output" 1>&6l p :re.outparmnco$gss_cvsRPCGEN_output;ado .EEEE cford$outparmnco ! stubs=svc)*! cfem>>n, acrc/s.hk<<\EOF: #/M sre RPCSTUB_SVC_STYLEt1 EOF: i n.EEEEEEE;; *+ main= roto)*+ cfem>>n, acrc/s.hk<<\EOF:+ #/M sre RPCMAIN_PROTOt1 + EOF:+ce: EEEEEE;;i n.EEEEEEEo.cs=*)*! rpcgen_o.cs=`/cho $outparm| :n: -e "s/o.cs=//g;s/\"//g"`i n.EEEEEEE;; *! nn_han=1)*! cfem>>n, acrc/s.hk<<\EOF:! #/M sre DIRECT_MODEt1 EOF: i! rpcgen_o.cs="$rpcgen_o.cs dler."* n.EEEEEEE;;i n.EEEEEEE*)*! ;;* /sac* dy e ! i- some x$RPCGENk!= x ; buen*! RPCGEN='$(ETC)crpcgen-sh '"$RPCGENk\"$rpcgen_o.cs\"" ! cii! cii! e! i- some "x$RPCGEN" = x ; buen*! com.ac_hd_ ncorpccrpc.h*! do*! ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e!s/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +2166: lonfi tirpre.$ac_hdr" >&5e! i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen*! /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode! cfem>n, acine/s$ac_extk<*!tEOF:!cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 176:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }:! ac_gor=`grep -v '^ *+' , acine/sout`e! i- some -z "$ac_gor"; buen*! rmfn, acine/**! eval "ac_cvsheampa_$ac_safe=yat"l!p/lode! /cho "$ac_gor" >&5e! /cho "added + + ittyn: +rongam was:" >&5e! cfem, acine/s$ac_extk>&5e! rmfn, acine/**! eval "ac_cvsheampa_$ac_safe=g+"l! cii! rmfn, acine/**! cii! i- eval " esed\"`/cho '$ac_cvsheampa_'$ac_safe`\" = yat"; buen*! /cho "$ac_t""ytt" 1>&6l! lf_tr_hdr=HAVE_`/cho $ac_hd_ | :n: 'y%abc/M ghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`e!s cfem>>n, acrc/s.hk<&6l! cii! dy e ! ! i- some $ac_cvsheampa_rpc_rpc_h = g+ ; buen*! /cho "FATAL:gcnagg+ srdaRPC itcilit sOp(rpcgen,orpccrpc.h ...) "*! /pc.t1 ! :i ! RPCGEN='$(ETC)change.in angt unn--rpcgen'e a it'grep '[0-9]*_svc' ` srda${ies fi} -gfixf'*.hange.in'` >/dev/her/; buen* cfem>>n, acrc/s.hk<<\EOF: #/M sre RPCSTUB_SVC_STYLEt1 21:38:33 1998 *******910,1915u98 **-***2 17,2234 *** - tEOF: i n.EEEcii+ i- some x$ac_nn_handler. = x1 ; buen*+ i- some ` srda${ies fi} -gfixf'*_tbl.i.hange.in' | wc -l` -gt 0 ; buen*+ cfem>>n, acrc/s.hk<<\EOF:+ #/M sre DIRECT_MODEt1 + EOF:+ce: EEEEEE/lode: lf_nn_handler.=e: /cho "FATAL:g'DIRECT MODE' added + ae desimposioundpre.buishdistributr 'gnal envi 'n/get"e: /pc.t1 + cii+ cii cii nl ### Confis : + ibras sO 21:38:33 1998 *******916,1924u98 ** ### ---------------------------------* ### srdaIPC sly aty: i! : + ib ncoipc ;kdo ! /cho $ac_n "lonfi tirpre.shmatmnco-l${ ib}""... $ac_c" 1>&6l!p/cho "added + +1922: lonfi tirpre.shmatmnco-l${ ib}" >&5e ac_rc/_var=`/cho ${ ib}'_'shmatm| :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***2235,2302u*** - t### ---------------------------------* ### srdaIPC sly aty: i! it'eval " esed\"`/cho '$''{ac_cvsf th_'shmat'+set}'`\" = set"; buen*! eval "unsetd'$''{'ac_cvsf th_shmat'}'" ! :i ! ure.ac_f th ncoshmat*! do*! /cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6l!p/cho "added + +2245: lonfi tirpre.$ac_f th" >&5e! i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen*! /cho $ac_n "(cacued) $ac_c" 1>&6l!p/lode! cfem>n, acine/s$ac_extk<*!./* O.goridesany gcc2 intlinal roto patt:xxavoidsanten 's.s */e! /* Winuse /es+ becau:n int mec: mrc/e y inreturn pattby a gcc2l! builtininal buentits:argu/get roto pattwouldnstill apply.s */e! /es+ $ac_f th();i! e! int main() {i! e! /* ThxlADMiC sly atys/M sres buishpre.f the des whichlitgen-se/gets !.EEEEto gen-sh.itty/wich:ENOSYS.s Sodi f the det lrsn caually gfixd !.EEEEkg ro assuuff a tirwich:__inal bueen qul gfixfifiaag rias.s */e! #ifs/M sred (__stub_$ac_f th) || /M sred (__stub___$ac_f th)e! /eok ede! #/lode! $ac_f th();i! #endifi! e! ;ereturn 0; }i!tEOF:!cif { (eval /cho added + +2273: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen*! rmfn, acine/**! eval "ac_cvsf th_$ac_f th=yat"l!p/lode! /cho "added + + ittyn: +rongam was:" >&5e! cfem, acine/s$ac_extk>&5e! rmfn, acine/**! eval "ac_cvsf th_$ac_f th=g+"l! cii! rmfn, acine/**! cii! i! i- eval " esed\"`/cho '$ac_cvsf th_'$ac_f th`\" = yat"; buen*! /cho "$ac_t""ytt" 1>&6l! lf_tr_f th=HAVE_`/cho $ac_f th | tr 'abc/M ghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`e!s cfem>>n, acrc/s.hk<&6l! cii! dy e ! ! it'eval " esed\"`/cho '$''{ac_cvsf th_'shmat'}'`\" = g+"; buen*! : + ib ncoipc ;kdo ! /cho $ac_n "lonfi tirpre.shmatmnco-l${ ib}""... $ac_c" 1>&6l!p/cho "added + +2300: lonfi tirpre.shmatmnco-l${ ib}" >&5e ac_rc/_var=`/cho ${ ib}'_'shmatm| :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 *******926,1932u98 ** ac_save_LIBS="$LIBS"* LIBS="-l${ ib} $LIBS"* cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***2315,2321 *** - tshmat()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +2319:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 *******964,1979u98 ** /cho "$ac_t""g+" 1>&6l cii nl! ### bs fk, it'f the desireurual in sly aty ! eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk ! dy ee i nl ### srdaRPC sly aty: i! : + ib nconslEkgcketdrpc ;kdo ! /cho $ac_n "lonfi tirpre.callrpc nco-l${ ib}""... $ac_c" 1>&6l!p/cho "added + +1977: lonfi tirpre.callrpc nco-l${ ib}" >&5e ac_rc/_var=`/cho ${ ib}'_'callrpc | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***2342,2418u*** - t /cho "$ac_t""g+" 1>&6l cii nl! ### bs fk, it'f the desireurual in sly aty ! eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk ! dy e ! eval "unsetd'$''{'ac_cvsf th_shmat'}'" ! :i i nl ### srdaRPC sly aty: i! it'eval " esed\"`/cho '$''{ac_cvsf th_'callrpc'+set}'`\" = set"; buen*! eval "unsetd'$''{'ac_cvsf th_callrpc'}'" ! :i ! ure.ac_f th ncocallrpc*! do*! /cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6l!p/cho "added + +2361: lonfi tirpre.$ac_f th" >&5e! i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen*! /cho $ac_n "(cacued) $ac_c" 1>&6l!p/lode! cfem>n, acine/s$ac_extk<*!./* O.goridesany gcc2 intlinal roto patt:xxavoidsanten 's.s */e! /* Winuse /es+ becau:n int mec: mrc/e y inreturn pattby a gcc2l! builtininal buentits:argu/get roto pattwouldnstill apply.s */e! /es+ $ac_f th();i! e! int main() {i! e! /* ThxlADMiC sly atys/M sres buishpre.f the des whichlitgen-se/gets !.EEEEto gen-sh.itty/wich:ENOSYS.s Sodi f the det lrsn caually gfixd !.EEEEkg ro assuuff a tirwich:__inal bueen qul gfixfifiaag rias.s */e! #ifs/M sred (__stub_$ac_f th) || /M sred (__stub___$ac_f th)e! /eok ede! #/lode! $ac_f th();i! #endifi! e! ;ereturn 0; }i!tEOF:!cif { (eval /cho added + +2389: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen*! rmfn, acine/**! eval "ac_cvsf th_$ac_f th=yat"l!p/lode! /cho "added + + ittyn: +rongam was:" >&5e! cfem, acine/s$ac_extk>&5e! rmfn, acine/**! eval "ac_cvsf th_$ac_f th=g+"l! cii! rmfn, acine/**! cii! i! i- eval " esed\"`/cho '$ac_cvsf th_'$ac_f th`\" = yat"; buen*! /cho "$ac_t""ytt" 1>&6l! lf_tr_f th=HAVE_`/cho $ac_f th | tr 'abc/M ghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`e!s cfem>>n, acrc/s.hk<&6l! cii! dy e ! ! it'eval " esed\"`/cho '$''{ac_cvsf th_'callrpc'}'`\" = g+"; buen*! : + ib nconslEkgcketdrpc ;kdo ! /cho $ac_n "lonfi tirpre.callrpc nco-l${ ib}""... $ac_c" 1>&6l!p/cho "added + +2416: lonfi tirpre.callrpc nco-l${ ib}" >&5e ac_rc/_var=`/cho ${ ib}'_'callrpc | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 *******981,1987u98 ** ac_save_LIBS="$LIBS"* LIBS="-l${ ib} $LIBS"* cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***2431, 437 *** - tcallrpc()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 435:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 ******2019,2033u98 ** /cho "$ac_t""g+" 1>&6l cii nl! ### bs fk, it'f the desireurual in sly aty ! eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk ! dy ee i nl i! : + ib ncocompfem;kdo ! /cho $ac_n "lonfi tirpre.ftok ico-l${ ib}""... $ac_c" 1>&6l!p/cho "added + +2031: lonfi tirpre.ftok ico-l${ ib}" >&5e ac_rc/_var=`/cho ${ ib}'_'ftok | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***2458,2533u*** - t /cho "$ac_t""g+" 1>&6l cii nl! ### bs fk, it'f the desireurual in sly aty ! eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk ! dy e ! eval "unsetd'$''{'ac_cvsf th_callrpc'}'" ! :i i nl i! it'eval " esed\"`/cho '$''{ac_cvsf th_'ftok'+set}'`\" = set"; buen*! eval "unsetd'$''{'ac_cvsf th_ftok'}'" ! :i ! ure.ac_f th ncoftok*! do*! /cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6l!p/cho "added + +2476: lonfi tirpre.$ac_f th" >&5e! i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen*! /cho $ac_n "(cacued) $ac_c" 1>&6l!p/lode! cfem>n, acine/s$ac_extk<*!./* O.goridesany gcc2 intlinal roto patt:xxavoidsanten 's.s */e! /* Winuse /es+ becau:n int mec: mrc/e y inreturn pattby a gcc2l! builtininal buentits:argu/get roto pattwouldnstill apply.s */e! /es+ $ac_f th();i! e! int main() {i! e! /* ThxlADMiC sly atys/M sres buishpre.f the des whichlitgen-se/gets !.EEEEto gen-sh.itty/wich:ENOSYS.s Sodi f the det lrsn caually gfixd !.EEEEkg ro assuuff a tirwich:__inal bueen qul gfixfifiaag rias.s */e! #ifs/M sred (__stub_$ac_f th) || /M sred (__stub___$ac_f th)e! /eok ede! #/lode! $ac_f th();i! #endifi! e! ;ereturn 0; }i!tEOF:!cif { (eval /cho added + + 504: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen*! rmfn, acine/**! eval "ac_cvsf th_$ac_f th=yat"l!p/lode! /cho "added + + ittyn: +rongam was:" >&5e! cfem, acine/s$ac_extk>&5e! rmfn, acine/**! eval "ac_cvsf th_$ac_f th=g+"l! cii! rmfn, acine/**! cii! i! i- eval " esed\"`/cho '$ac_cvsf th_'$ac_f th`\" = yat"; buen*! /cho "$ac_t""ytt" 1>&6l! lf_tr_f th=HAVE_`/cho $ac_f th | tr 'abc/M ghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`e!s cfem>>n, acrc/s.hk<&6l! cii! dy e ! ! it'eval " esed\"`/cho '$''{ac_cvsf th_'ftok'}'`\" = g+"; buen*! : + ib ncocompfem;kdo ! /cho $ac_n "lonfi tirpre.ftok ico-l${ ib}""... $ac_c" 1>&6l!p/cho "added + +2531: lonfi tirpre.ftok ico-l${ ib}" >&5e ac_rc/_var=`/cho ${ ib}'_'ftok | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 ******2035,2041u98 ** ac_save_LIBS="$LIBS"* LIBS="-l${ ib} $LIBS"* cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***2546,2552u*** - tftok()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 550: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 ******2073, +81u98 ** /cho "$ac_t""g+" 1>&6l cii nl! ### bs fk, it'f the desireurual in sly aty ! eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk ! dy ee i nl ac_heampa_nn_hnt=g+e ***2573, 583u*** - t /cho "$ac_t""g+" 1>&6l cii nl! ### bs fk, it'f the desireurual in sly aty ! eval " esed\"`/cho '$ac_cvsrc/_'$ac_rc/_var`\" = g+" || bs fk ! dy e ! eval "unsetd'$''{'ac_cvsf th_ftok'}'" ! :i i nl ac_heampa_nn_hnt=g+e21:38:33 1998 ******2083, +94u98 ** do .ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e s/cho $ac_n "lonfi tirpre.$ac_hdr bufem/M sres DIR""... $ac_c" 1>&6l!p/cho "added + +2087: lonfi tirpre.$ac_hdr bufem/M sres DIR" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_nn_hnt_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. <$ac_hdr>* ***2585,2596 *** - tdo .ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e s/cho $ac_n "lonfi tirpre.$ac_hdr bufem/M sres DIR""... $ac_c" 1>&6l!p/cho "added + +2589: lonfi tirpre.$ac_hdr bufem/M sres DIR" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_nn_hnt_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. <$ac_hdr>*21:38:33 1998 ******2096,2102u98 ** DIR *nn_p = 0;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 100: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** eval "ac_cvsheampa_nn_hnt_$ac_safe=yat"l p/lode ***2598,2604 *** - tDIR *nn_p = 0;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 602: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** eval "ac_cvsheampa_nn_hnt_$ac_safe=yat"l p/lode21:38:33 1998 ******2121,2127u98 ** # Two .gov> +stby opendir eedar. lrsnico-ldir nal -lx desSCO Xenix. i- some $ac_heampa_nn_hnt = nn_hnt.h; buen* /cho $ac_n "lonfi tirpre.opendir ico-ldir""... $ac_c" 1>&6l!p/cho "added + +2125: lonfi tirpre.opendir ico-ldir" >&5e ac_rc/_var=`/cho dir'_'opendir | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***2623, 629u*** - t# Two .gov> +stby opendir eedar. lrsnico-ldir nal -lx desSCO Xenix. i- some $ac_heampa_nn_hnt = nn_hnt.h; buen* /cho $ac_n "lonfi tirpre.opendir ico-ldir""... $ac_c" 1>&6l!p/cho "added + +2627: lonfi tirpre.opendir ico-ldir" >&5e ac_rc/_var=`/cho dir'_'opendir | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 ******2129,2135u98 ** ac_save_LIBS="$LIBS"* LIBS="-ldir $LIBS"* cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***2642,2648u*** - topendir()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 646: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 ******2162,2168 98 ** * /lode /cho $ac_n "lonfi tirpre.opendir ico-lx""... $ac_c" 1>&6l!p/cho "added + +2166: lonfi tirpre.opendir ico-lx" >&5e ac_rc/_var=`/cho x'_'opendir | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***2664,2670 *** - te /lode /cho $ac_n "lonfi tirpre.opendir ico-lx""... $ac_c" 1>&6l!p/cho "added + +2668: lonfi tirpre.opendir ico-lx" >&5e ac_rc/_var=`/cho x'_'opendir | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 ******2170,2176u98 ** ac_save_LIBS="$LIBS"* LIBS="-lx $LIBS"* cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***2683, 689u*** - topendir()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 687: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 ******2204,2215u98 ** :i i n/cho $ac_n "lonfi tirpre.ANSI Cpheampard + b""... $ac_c" 1>&6l!p/cho "added + +2208: lonfi tirpre.ANSI Cpheampard + b" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_stdc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. * ***2706,2717 *** - t:i i n/cho $ac_n "lonfi tirpre.ANSI Cpheampard + b""... $ac_c" 1>&6l!p/cho "added + +2710: lonfi tirpre.ANSI Cpheampard + b" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_stdc'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. *21:38:33 1998 ******2217,2223u98 ** #inerpr. * EOF: cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 221:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/** ***2719,2725u*** - t#inerpr. * EOF: cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 723:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/**21:38:33 1998 ******2234,2240u98 ** i- some $ac_cvsheampa_stdc = yat; buen* # SunOS 4.xti s ti.hk/o bgg+ decllrsnmem*,n, at atys:xxANSI.* cfem>n, acine/s$ac_extk<* EOF: ***2736,2742u*** - ti- some $ac_cvsheampa_stdc = yat; buen* # SunOS 4.xti s ti.hk/o bgg+ decllrsnmem*,n, at atys:xxANSI.* cfem>n, acine/s$ac_extk<* EOF:21:38:33 1998 ******2252,2258u98 ** i- some $ac_cvsheampa_stdc = yat; buen* # ISC 2.0.2 stdrc/shk/o bgg+ decllrsnfree,n, at atys:xxANSI.* cfem>n, acine/s$ac_extk<* EOF: ***2754,276+ *** - ti- some $ac_cvsheampa_stdc = yat; buen* # ISC 2.0.2 stdrc/shk/o bgg+ decllrsnfree,n, at atys:xxANSI.* cfem>n, acine/s$ac_extk<* EOF:21:38:33 1998 ******2273, 279u98 ** :l p/lode cfem>n, acine/s$ac_extk<* #/M sre ISLOWER(c) ('a' <= (c) && (c) <= 'z'): ***2775,2781 *** - t :l p/lode cfem>n, acine/s$ac_extk<* #/M sre ISLOWER(c) ('a' <= (c) && (c) <= 'z'):21:38:33 1998 ******2284,2290u98 ** /pc.t(0); }: i tEOF:!cif { (eval /cho added + + 288: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* :l p/lode ***2786,2792u*** - t/pc.t(0); }: i tEOF:!cif { (eval /cho added + + 790: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* :l p/lode21:38:33 1998 ******2308,2319u98 ** :i i n/cho $ac_n "lonfi tirpre.sys/wai/shnbufemis POSIX.1ocompfeioun""... $ac_c" 1>&6l!p/cho "added + +2312: lonfi tirpre.sys/wai/shnbufemis POSIX.1ocompfeioun" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_sys_wai/_h'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. * ***2810,2821 *** - t:i i n/cho $ac_n "lonfi tirpre.sys/wai/shnbufemis POSIX.1ocompfeioun""... $ac_c" 1>&6l!p/cho "added + +2814: lonfi tirpre.sys/wai/shnbufemis POSIX.1ocompfeioun" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_sys_wai/_h'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. *21:38:33 1998 ******2329,2335u98 ** s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;* ;ereturn 0; }i tEOF:!cif { (eval /cho added + +2333: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsheampa_sys_wai/_h=yatl p/lode ***2831, 837 *** - ts = WIFEXITED (s) ? WEXITSTATUS (s) : 1;* ;ereturn 0; }i tEOF:!cif { (eval /cho added + +2835:d\"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsheampa_sys_wai/_h=yatl p/lode21:38:33 1998 ******2353, 369u98 ** do .ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e s/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +2357: lonfi tirpre.$ac_hdr" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* EOF: cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 367:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/** ***2855,2871u*** - tdo .ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e s/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +2859: lonfi tirpre.$ac_hdr" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* EOF: cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 869:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/**21:38:33 1998 ******2393, 409u98 ** do .ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e s/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +2397: lonfi tirpre.$ac_hdr" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* EOF: cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 407:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/** ***2895,2911u*** - tdo .ac_safe=`/cho "$ac_hdr" | :n: 'y%./+-%__p_%'`e s/cho $ac_n "lonfi tirpre.$ac_hdr""... $ac_c" 1>&6l!p/cho "added + +2899: lonfi tirpre.$ac_hdr" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_$ac_safe'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* EOF: cac_try="$ac_cppn, acine/s$ac_extk>/dev/her/ 2>, acine/sout" ! { (eval /cho added + + 909:d\"$ac_try\") 1>&5; (eval $ac_tso)r2>&5; }: ac_gor=`grep -v '^ *+' , acine/sout`e i- some -z "$ac_gor"; buen* rmfn, acine/**21:38:33 1998 ******2431, 442 98 ** * e s/cho $ac_n "lonfi tirpre.wori tir, ast""... $ac_c" 1>&6l!p/cho "added + +2435:dlonfi tirpre.wori tir, ast" >&5e i- eval " esed\"`/cho '$''{'ac_cvsc_coast'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +2937:dlonfi tirpre.wori tir, ast" >&5e i- eval " esed\"`/cho '$''{'ac_cvsc_coast'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsc_coast=yatl p/lode ***2987, 993 *** - te ;ereturn 0; }i tEOF:!cif { (eval /cho added + + 991: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsc_coast=yatl p/lode21:38:33 1998 ******2506,2517u98 ** :i i n/cho $ac_n "lonfi tirpre.off_t""... $ac_c" 1>&6l!p/cho "added + +2510: lonfi tirpre.off_t" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_off_t'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #if STDC_HEADERSe ***3008,3019 *** - t:i i n/cho $ac_n "lonfi tirpre.off_t""... $ac_c" 1>&6l!p/cho "added + +3012: lonfi tirpre.off_t" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_off_t'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #if STDC_HEADERSe21:38:33 1998 ******2539,2550u98 ** :i i n/cho $ac_n "lonfi tirpre.pid_t""... $ac_c" 1>&6l!p/cho "added + +2543: lonfi tirpre.pid_t" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_pid_t'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #if STDC_HEADERSe ***3041,3052u*** - tfi i n/cho $ac_n "lonfi tirpre.pid_t""... $ac_c" 1>&6l!p/cho "added + +3045: lonfi tirpre.pid_t" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_pid_t'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #if STDC_HEADERSe21:38:33 1998 ******2572,2583u98 ** :i i n/cho $ac_n "lonfi tirpre.size_t""... $ac_c" 1>&6l!p/cho "added + +2576: lonfi tirpre.size_t" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_size_t'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #if STDC_HEADERSe ***3074,3085 *** - t:i i n/cho $ac_n "lonfi tirpre.size_t""... $ac_c" 1>&6l!p/cho "added + +3078: lonfi tirpre.size_t" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_size_t'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #if STDC_HEADERSe21:38:33 1998 ******2605,2616u98 ** :i i n/cho $ac_n "lonfi tirreturn pattby signal handlerb""... $ac_c" 1>&6l!p/cho "added + +2609: lonfi tirreturn pattby signal handlerb" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_signal'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. * ***3107,3118u*** - t:i i n/cho $ac_n "lonfi tirreturn pattby signal handlerb""... $ac_c" 1>&6l!p/cho "added + +3111: lonfi tirreturn pattby signal handlerb" >&5e i- eval " esed\"`/cho '$''{'ac_cvs pat_signal'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. *21:38:33 1998 ******2627, 633u98 ** int i;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 631: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvs pat_signal=voidl p/lode ***3129,3135u*** - tint i;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3133: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvs pat_signal=voidl p/lode21:38:33 1998 ******2646,2657 98 ** * e s/cho $ac_n "lonfi tirwhebuer time.h nal sys/ ime.h may both bn inerpr.d""... $ac_c" 1>&6l!p/cho "added + +2650: lonfi tirwhebuer time.h nal sys/ ime.h may both bn inerpr.d" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_ ime'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. * ***3148,3159 *** - te e s/cho $ac_n "lonfi tirwhebuer time.h nal sys/ ime.h may both bn inerpr.d""... $ac_c" 1>&6l!p/cho "added + +3152: lonfi tirwhebuer time.h nal sys/ ime.h may both bn inerpr.d" >&5e i- eval " esed\"`/cho '$''{'ac_cvsheampa_ ime'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. *21:38:33 1998 ******2660,2666u98 ** struct tm *tp;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 664:d\"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsheampa_ ime=yatl p/lode ***3162,3168 *** - tstruct tm *tp;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3166: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsheampa_ ime=yatl p/lode21:38:33 1998 ******2681,2692u98 ** :i i n/cho $ac_n "lonfi tirwhebuer struct tm is ncosys/ ime.h or time.h""... $ac_c" 1>&6l!p/cho "added + +2685: lonfi tirwhebuer struct tm is ncosys/ ime.h or time.h" >&5e i- eval " esed\"`/cho '$''{'ac_cvsstruct_tm'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. < ime.h>* ***3183,3194u*** - t:i i n/cho $ac_n "lonfi tirwhebuer struct tm is ncosys/ ime.h or time.h""... $ac_c" 1>&6l!p/cho "added + +3187: lonfi tirwhebuer struct tm is ncosys/ ime.h or time.h" >&5e i- eval " esed\"`/cho '$''{'ac_cvsstruct_tm'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<* #inerpr. < ime.h>*21:38:33 1998 ******2694,2700u98 ** struct tm *tp; tp->tm_sec;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + + 698: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsstruct_tm= ime.hl p/lode ***3196,3202u*** - tstruct tm *tp; tp->tm_sec;i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3200: \"$ac_comptyn\") 1>&5; (eval $ac_comptyn)r2>&5; }; buen* rmfn, acine/** ac_cvsstruct_tm= ime.hl p/lode21:38:33 1998 ******2716,2722 98 ** * e s/cho $ac_n "lonfi tirpre.lotirdououn""... $ac_c" 1>&6l!p/cho "added + +2720: lonfi tirpre.lotirdououn" >&5e i- eval " esed\"`/cho '$''{'ac_cvsc_loti_dououn'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3218,3224 *** - te e s/cho $ac_n "lonfi tirpre.lotirdououn""... $ac_c" 1>&6l!p/cho "added + +3222: lonfi tirpre.lotirdououn" >&5e i- eval " esed\"`/cho '$''{'ac_cvsc_loti_dououn'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2727, 733u98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvsc_loti_dououn=yatl p/lode ***3237,3243 *** - t/* On Ultrix 4.3 cc,.lotirdououn is 4 nal dououn is 8.s */e /pc.(sizeof(lotirdououn) <.sizeof(dououn)); }i tEOF:!cif { (eval /cho added + +3241: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvsc_loti_dououn=yatl p/lode21:38:33 1998 ******2759,2765u98 ** :i i n/cho $ac_n "lonfi tirsizetby void*""... $ac_c" 1>&6l!p/cho "added + +2763: lonfi tirsizetby void*" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_voidp'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3261,3267 *** - t:i i n/cho $ac_n "lonfi tirsizetby void*""... $ac_c" 1>&6l!p/cho "added + +3265: lonfi tirsizetby void*" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_voidp'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2767, 773u98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3269,3275u*** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******2778,2784u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + + 782: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_voidp=`cfem, acine/val`l p/lode ***3280,3286 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3284: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_voidp=`cfem, acine/val`l p/lode21:38:33 1998 ******2798,2804 98 ** * e s/cho $ac_n "lonfi tirsizetby /es+""... $ac_c" 1>&6l!p/cho "added + +2802: lonfi tirsizetby /es+" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_/es+'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3300,3306 *** - te e s/cho $ac_n "lonfi tirsizetby /es+""... $ac_c" 1>&6l!p/cho "added + +3304: lonfi tirsizetby /es+" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_/es+'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2806,2812u98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3308,3314u*** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******2817,2823u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + + 821: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_/es+=`cfem, acine/val`l p/lode ***3319,3325 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3323:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_/es+=`cfem, acine/val`l p/lode21:38:33 1998 ******2837,2843 98 ** * e s/cho $ac_n "lonfi tirsizetby short""... $ac_c" 1>&6l!p/cho "added + +2841: lonfi tirsizetby short" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_short'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3339,3345 *** - te e s/cho $ac_n "lonfi tirsizetby short""... $ac_c" 1>&6l!p/cho "added + +3343: lonfi tirsizetby short" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_short'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2845,2851u98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3347,3353u*** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******2856,2862u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + + 860:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_short=`cfem, acine/val`l p/lode ***3358,3364 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3362:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_short=`cfem, acine/val`l p/lode21:38:33 1998 ******2876,2882 98 ** * e s/cho $ac_n "lonfi tirsizetby int""... $ac_c" 1>&6l!p/cho "added + +2880: lonfi tirsizetby int" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_int'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3378,3384 *** - te e s/cho $ac_n "lonfi tirsizetby int""... $ac_c" 1>&6l!p/cho "added + +3382: lonfi tirsizetby int" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_int'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2884,2890u98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3386,3392u*** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******2895,2901u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + + 899:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_int=`cfem, acine/val`l p/lode ***3397,3403 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3401:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_int=`cfem, acine/val`l p/lode21:38:33 1998 ******2915,2921 98 ** * e s/cho $ac_n "lonfi tirsizetby loti""... $ac_c" 1>&6l!p/cho "added + +2919: lonfi tirsizetby loti" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_loti'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3417,3423 *** - te e s/cho $ac_n "lonfi tirsizetby loti""... $ac_c" 1>&6l!p/cho "added + +3421: lonfi tirsizetby loti" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_loti'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2923, 929u98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3425,3431u*** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******2934,2940u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + + 938:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_loti=`cfem, acine/val`l p/lode ***3436,3442 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3440:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_loti=`cfem, acine/val`l p/lode21:38:33 1998 ******2954,2960 98 ** * e s/cho $ac_n "lonfi tirsizetby loti loti""... $ac_c" 1>&6l!p/cho "added + +2958: lonfi tirsizetby loti loti" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_loti_loti'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3456,3462 *** - te e s/cho $ac_n "lonfi tirsizetby loti loti""... $ac_c" 1>&6l!p/cho "added + +3460: lonfi tirsizetby loti loti" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_loti_loti'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******2962,2968 98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3464,3470 *** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******2973, 979u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + + 977:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_loti_loti=`cfem, acine/val`l p/lode ***3475,3481 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3479:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_loti_loti=`cfem, acine/val`l p/lode21:38:33 1998 ******2993, 999 98 ** * e s/cho $ac_n "lonfi tirsizetby loti dououn""... $ac_c" 1>&6l!p/cho "added + +2997: lonfi tirsizetby loti dououn" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_loti_dououn'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode ***3495,3501 *** - te e s/cho $ac_n "lonfi tirsizetby loti dououn""... $ac_c" 1>&6l!p/cho "added + +3499: lonfi tirsizetby loti dououn" >&5e i- eval " esed\"`/cho '$''{'ac_cvssizeof_loti_dououn'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode21:38:33 1998 ******3001,3007 98 ** { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e ***3503,3509 *** - t { /cho "added + + en 's:lcnagg+ run some +rongam whtyn s/cps compty ti" 1>&2; /pc.t1; }i t/lode cfem>n, acine/s$ac_extk<* main()e21:38:33 1998 ******3012,3018u98 ** /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3016:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_loti_dououn=`cfem, acine/val`l p/lode ***3514,3520 *** - t /pc.(0);i t}i tEOF:!cif { (eval /cho added + +3518:d\"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/ && (./, acine/; /pc.)r2>/dev/her/i tbuen* ac_cvssizeof_loti_dououn=`cfem, acine/val`l p/lode21:38:33 1998 ******3033,3044 98 ** * e s/cho $ac_n "lonfi tirpre.strf ime""... $ac_c" 1>&6l!p/cho "added + +3037:dlonfi tirpre.strf ime" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_strf ime'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +3539:dlonfi tirpre.strf ime" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_strf ime'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_strf ime=yat"l p/lode ***3563,3569 *** - te ;ereturn 0; }i tEOF:!cif { (eval /cho added + +3567: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_strf ime=yat"l p/lode21:38:33 1998 ******3083,3089u98 ** /cho "$ac_t""no" 1>&6l p# strf ime is nco-, stl desSCO UNIX.e s/cho $ac_n "lonfi tirpre.strf ime nco-, stl""... $ac_c" 1>&6l!p/cho "added + +3087:dlonfi tirpre.strf ime nco-, stl" >&5e ac_rc/_var=`/cho stl'_'strf ime | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l ***3585,3591 *** - t /cho "$ac_t""no" 1>&6l p# strf ime is nco-, stl desSCO UNIX.e s/cho $ac_n "lonfi tirpre.strf ime nco-, stl""... $ac_c" 1>&6l!p/cho "added + +3589:dlonfi tirpre.strf ime nco-, stl" >&5e ac_rc/_var=`/cho stl'_'strf ime | :n: 'y%./+-%__p_%'`essi- eval " esed\"`/cho '$''{'ac_cvsrc/_$ac_rc/_var'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l21:38:33 1998 ******3091,3097u98 ** ac_save_LIBS="$LIBS"* LIBS="-l stl $LIBS"* cfem>n, acine/s$ac_extk<n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode ***3604,3610u*** - tstrf ime()i t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3608: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsrc/_$ac_rc/_var=yat"l p/lode21:38:33 1998 ******3129,3140u98 ** :i i n/cho $ac_n "lonfi tirpre.vprintf""... $ac_c" 1>&6l!p/cho "added + +3133: lonfi tirpre.vprintf" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_vprintf'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +3635:dlonfi tirpre.vprintf" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_vprintf'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_vprintf=yat"l p/lode ***3659,3665 *** - te ;ereturn 0; }i tEOF:!cif { (eval /cho added + +3663: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_vprintf=yat"l p/lode21:38:33 1998 ******3181,3192u98 ** * i- some "$ac_cvsf th_vprintf" != yat; buen* /cho $ac_n "lonfi tirpre._doprnt""... $ac_c" 1>&6l!p/cho "added + +3185:dlonfi tirpre._doprnt" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th__doprnt'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +3687:dlonfi tirpre._doprnt" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th__doprnt'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th__doprnt=yat"l p/lode ***3711,3717 *** - ti t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3715: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th__doprnt=yat"l p/lode21:38:33 1998 ******3237,3248u98 ** pre.ac_f th ncostrstrnmemcpy uname cf ime getlogncocu:nridl pdo ./cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6l!p/cho "added + +3241: lonfi tirpre.$ac_f th" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +3743: lonfi tirpre.$ac_f th" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_$ac_f th=yat"l p/lode ***3767,3773u*** - ti t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3771: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_$ac_f th=yat"l p/lode21:38:33 1998 ******3292,3303u98 ** pre.ac_f th ncosvc_unregosvc_unregistee.at/pc.ton_/pc.l pdo ./cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6l!p/cho "added + +3296: lonfi tirpre.$ac_f th" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +3798: lonfi tirpre.$ac_f th" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_$ac_f th=yat"l p/lode ***3822,3828u*** - ti t;ereturn 0; }i tEOF:!cif { (eval /cho added + +3826: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_$ac_f th=yat"l p/lode21:38:33 1998 ******3349,3360u98 ** pre.ac_f th ncoallocal pdo ./cho $ac_n "lonfi tirpre.$ac_f th""... $ac_c" 1>&6l!p/cho "added + +3353: lonfi tirpre.$ac_f th" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&6l!p/cho "added + +3855: lonfi tirpre.$ac_f th" >&5e i- eval " esed\"`/cho '$''{'ac_cvsf th_$ac_f th'+set}'`\" = set"; buen* /cho $ac_n "(cacued) $ac_c" 1>&6l p/lode cfem>n, acine/s$ac_extk<&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_$ac_f th=yat"l p/lode ***3879,3885 *** - te ;ereturn 0; }i tEOF:!cif { (eval /cho added + +3883: \"$ac_, sr\") 1>&5; (eval $ac_, sr)r2>&5; } && some -sn, acine/; buen* rmfn, acine/** eval "ac_cvsf th_$ac_f th=yat"l p/lode21:38:33 1998 ******3408,3417u98 ** :i i n### creat/ makM sles listrtomadded + -n### nal cook postadded + RCS creation ncosubdirectories -n### prepar/ makM sles templat/tl p:!cadded + ables=`${srcdir}/etc/, ac-templ creat/ "${LN_S}" ${MAKE} $gss_cvsMAKE_inerpr.s `e i- some "x$added + ables" = x ; buen* /pc.t1* :i ***3910,3917 *** - t:i i n### creat/ makM sles listrtomadded + p:!cadded + ables=`${srcdir}/etc/, ac-templ creat/ "${LN_S}" ${MAKE} $gss_cvsMAKE_inerpr.s`e i- some "x$added + ables" = x ; buen* /pc.t1* :i 21:38:33 1998 ******3584,3596u98 ** s%@host_os@%$host_os%g* s%@CC@%$CC%g* s%@CPP@%$CPP%g* s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g* s%@INSTALL_DATA@%$INSTALL_DATA%g* s%@YACC@%$YACC%g* s%@LEX@%$LEX%g* s%@LEXLIB@%$LEXLIB%g* s%@LN_S@%$LN_S%g*! s%@RANLIB@%$RANLIB%g* s%@MAKE@%$MAKE%g* s%@DDD@%$DDD%g* s%@XTERM@%$XTERM%g* ***4084,4098 *** - ts%@host_os@%$host_os%g* s%@CC@%$CC%g* s%@CPP@%$CPP%g*+ s%@AWK@%$AWK%g* s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g* s%@INSTALL_DATA@%$INSTALL_DATA%g* s%@YACC@%$YACC%g* s%@LEX@%$LEX%g* s%@LEXLIB@%$LEXLIB%g*+ s%@FLEX@%$FLEX%g* s%@LN_S@%$LN_S%g*! s%@AR@%$AR%g* s%@MAKE@%$MAKE%g* s%@DDD@%$DDD%g* s%@XTERM@%$XTERM%g*21:38:33 1998 ******3602,3607 98 ** ***4104,4110u*** - ts%@dbhome@%$dbhome%g* s%@builddir@%$builddir%g* s%@version@%$version%g*+ s%@RANLIB@%$RANLIB%g* s%@YFLAGS@%$YFLAGS%g* s%@LFLAGS@%$LFLAGS%g* s%@SET_MAKE@%$SET_MAKE%g*diffc gnusql-0.7b5.3/added + .ncognusql-0.7b6.0/added + .nc*****gnusql-0.7b5.3/added + .nc Thu Jun 12 05:16+37 1997* ***gnusql-0.7b6.0/added + .nc MdesSep 28u21+33:30 1998*21:38:33 1998 ******1,6u98 ** dnl Process this sle with autoaddertom roduce amadded + script.i n##:!c## $Id: added + .nc,v 1.8 1997/04/28u12:54:34 kml Exp $i n##: n## This sle is a parttby GNU SQLsServeri n##: ***1,6u*** - tdnl Process this sle with autoaddertom roduce amadded + script.i n##:!c## $Id: added + .nc,v 1.24 1998/09/29 01+33:30 kimelmnagExp $i n##: n## This sle is a parttby GNU SQLsServeri n##:21:38:33 1998 ******28,47u98 ** AC_INIT(some/somed1.ec)* AC_CONFIG_HEADER(src/inerpr./added .h:added .h.nc)* -ndnl self lonfi tirlevel -ndnl AC_ARG_ENABLE(TRLCHECK, -ndnl [ u**enable-TRLCHECK t enable /ptensive comptyparrun ime lonfi ti], -ndnl AC_DEFINE(TRL_CHECK)) -n -ndnl lonfi tirpre.debuggparenvironment* AC_ARG_ENABLE(DEBUG,- t[ u**enable-DEBUG enable transaction processes debugg ti], , ac_not_debug=1 ) -ndnl execution pro sle lonfi ti* AC_ARG_ENABLE(PROF,- t[ u**enable-PROFILE turn on execution pro sle mor. ], ac_pro sle=1 )- te e sversion=`cfem${srcdir}/version`e ***28,47u*** - tAC_INIT(some/somed1.ec)* AC_CONFIG_HEADER(src/inerpr./added .h:added .h.nc)* AC_ARG_ENABLE(DEBUG,- t[ u**enable-DEBUG enable transaction processes debugg ti], , ac_not_debug=1 ) AC_ARG_ENABLE(PROF,- t[ u**enable-PROFILE turn on execution pro sle mor. ], ac_pro sle=1 )-+ AC_ARG_ENABLE(DIRECT_MODE,-+ [ u**enable-DIRECT_MODE switchlclient/server intliaction from rpcrtomUnix messages transport ], + ac_direct_mor.=1 )-+ dnl self lonfi tirlevel +ndnl AC_ARG_ENABLE(TRLCHECK, +ndnl [ u**enable-TRLCHECK t enable /ptensive comptyparrun ime lonfi ti], +ndnl AC_DEFINE(TRL_CHECK)) te e sversion=`cfem${srcdir}/version`e21:38:33 1998 ******103,115u98 ** '- t:i i- i- some ! -f added .guess -a -f RCS/added .guess,v ; buen*- co added .guess*- :i i- some ! -f added .sub -a -f RCS/added .sub,v ; buen*- co added .sub*- :i * AC_CANONICAL_HOST* cfnonical=$host* cdded + ation=$host_alias: ***103,108 *** -21:38:33 1998 ******126,131 98 ** ***119,125 *** - t:i AC_PROG_CC AC_PROG_CPP-+ AC_PROG_AWK i n### ------------------------------------------------------------------i n### ----------------- flags sett tir----------------------------------i21:38:33 1998 ******211,225u98 ** ### ------------------------------------------------------------------i n AC_PROG_INSTALL AC_PROG_YACC- tdnl ## nctuar/y weostrong/y need bison becau:n winuse @agaddstructione i- some "$YACC" = "bison -y" ; buen* YACC=bison* YFLAGS="-d -v -t"l!p/lode YACC='$(ETC)/preserve'* YFLAGS="resto --bison"- t:i i nAC_PROG_LEX: n## nal hern winseemsrtomneed flex (generic lex is somethitirunpredictable)e ***205,234 *** - t### ------------------------------------------------------------------i n AC_PROG_INSTALL + i- some `fial ${srcdir} -name "*.preserve" | wc -l ` -gt 0 ; buen*+t enable_preserve=yatl+p/lode+t enable_preserve=noe+t:i + AC_PROG_YACC- tdnl ## nctuar/y weostrong/y need bison becau:n winuse @agaddstructione i- some "$YACC" = "bison -y" ; buen* YACC=bison* YFLAGS="-d -v -t"l!p/li- some $enable_preserve = yat ; buen* YACC='$(ETC)/preserve'* YFLAGS="resto --bison"-+p/lod + /cho "Can't fial neibuer bison nre.'preserve' sles ***" + /cho " this distribution cnagg+ be added + drpre.youarenvironment" + /cho " " + /cho "--Aborted" + /pc.t1* :i + i- some "x$ac_cvsrc/_fl_yywrap" != x ; buen*+t unset ac_cvsrc/_fl_yywrape+t:i i nAC_PROG_LEX: n## nal hern winseemsrtomneed flex (generic lex is somethitirunpredictable)e21:38:33 1998 ******226,247u98 ** ## winalsonused %xgaddstructions whtchlhappensrtombe unsopported by some lex.e i- some "$LEX" = "flex" ; buent### that's snde LFLAGS="-d8i"* #/li- some "$LEX" = "lex" ; buenl p# LFLAGS="-t"l!p/lod LEX='$(ETC)/preserve'* LFLAGS='resto --flex'- t:i i nAC_PROG_LN_S AC_PROG_RANLIB p:!c### wincnagfoual ranrc/ hern butkit's g+ enough : hpusnused tomhave :!c### useless script with y insame name.kit's ok i- younuse stnalard 'ar':!c### butki- younidstar/ GNU's binutils some trououn cnagarise.* -ndnl AC_PROG_AR * dnl looose y inbome makM ac_save_path="$PATH"* PATH=/usr/local/bin:/usr/addtrib/bin:/opt/bin:/opt/gnu/bin:/usr/bin:$PATHe ***235,287 *** - t## winalsonused %xgaddstructions whtchlhappensrtombe unsopported by some lex.e i- some "$LEX" = "flex" ; buent### that's snde LFLAGS="-d8i"*+t i- some -z "$LEXLIB" ; buen*+t AC_MSG_RESULT(flexrc/ g+ foual - try some hackaroual)*+t AC_PATH_PROG(FLEX,flex)*+t flexrc/=`dirname $FLEX`/../rc/*+t i- some -l $flexrc/ ; buen*+t unset ac_cvsrc/_fl_yywrape+t ac_save_LIBS_x="$LIBS"*+t LIBS="-L${flexrc/} $LIBS"*+t AC_FIND_LIB(yywrap, fl)*+t LIBS="$ac_save_LIBS_x"*+t i- some $ac_cvsrc/_fl_yywrap = yat ; buen*+ LEXLIB="-L${flexrc/} -lfl"*+t :i + :i + :i #/li- some "$LEX" = "lex" ; buenl p# LFLAGS="-t"l!p/li- some $enable_preserve = yat ; buen*! i- some $LEX = lex ; buen*! LEXLIB=*! :i LEX='$(ETC)/preserve'* LFLAGS='resto --flex'-+ l+p/lode+t /cho "Can't fial neibuer flex nre.'preserve' sles **" + /cho " this distribution cnagg+ be added + drpre.youarenvironment" + /cho " " + /cho "--Aborted" + /pc.t1* :i i nAC_PROG_LN_S p:!cAC_PATH_PROG(AR,ar)*! ### wincnagfoual ranrc/ hern butkit's g+ enough : hp/uxnused tomhave :!c c### useless script with y insame name.kit's ok i- younuse stnalard 'ar':!c c### butki- younidstar/ GNU's binutils some trououn cnagarise. :!cdir_ar=`dirname $AR`:!cif some -f $dir_ar/ranrc/ ; buen*! # y inbome caode! ac_cvs+ron_RANLIB=$dir_ar/ranrc/e! RANLIB=$ac_cvs+ron_RANLIBl!p/lode! RANLIB=":"l!p:i i ndnl looose y inbome makM ac_save_path="$PATH"* PATH=/usr/local/bin:/usr/addtrib/bin:/opt/bin:/opt/gnu/bin:/usr/bin:$PATHe21:38:33 1998 ******253,272u98 ** AC_CACHE_VAL(gss_cvsMAKE_inerpr.s,[ cfem>makMtst1k<makMtome <>added .log >/dev/her/ ; buen* ## wincnaginerpr. obuer makM sles* gss_cvsMAKE_inerpr.s="$ine_some" t :i ! done :!c c rmf makMtome makMtst1lc c ]) AC_MSG_RESULT($gss_cvsMAKE_inerpr.s)* -***293,320 *** - tAC_CACHE_VAL(gss_cvsMAKE_inerpr.s,[ cfem>makMtst1k<makMtome <>added .log >makMtst.out:! i- some $? -eq 0 -a `grep "^mak tirsubterm" makMtst.out | wc -l` -eq 1 ; buen* ## wincnaginerpr. obuer makM sles* gss_cvsMAKE_inerpr.s="$ine_some" +o break t :i ! done:!c c rmf makMtome makMtst1 makMtst.outlc c ]) AC_MSG_RESULT($gss_cvsMAKE_inerpr.s)* 21:38:33 1998 ******336,351u98 ** i tAC_PATH_PROG(RPCGEN,rpcgen) dnl lonfi rpcrstubs generato e i- some -n "$RPCGEN" ; buen*! AC_MSG_CHECKING(rpcgen output) AC_CACHE_VAL(gss_cvsRPCGEN_output,[ cfem>myine/sxk<myine/sxk</dev/her/; buen* changequote([, ])dnl ***423,466u*** - t#endif ],opts="." , opts="Ihdr" )e rmf myine/**! i- some x$RPCGENk!= x ; buen*! gss_cvsRPCGEN_output="stubs=$stubs opts=\"$opts\"rmain=$main direct=$ac_direct_mor."*! /lode! gss_cvsRPCGEN_output="$msg" ! :i c c ]) AC_MSG_RESULT($gss_cvsRPCGEN_output) :re.outparmnco$gss_cvsRPCGEN_output;pdo . caod $outparmnco*! stubs=svc)*! AC_DEFINE(RPCSTUB_SVC_STYLE)* ;; + main= roto)e+ AC_DEFINE(RPCMAIN_PROTO)*+ ;; opts=*)*! rpcgen_opts=`/cho $outparm| :n: -e "s/opts=//g;s/\"//g"` ;; ! direct=1)*! AC_DEFINE(DIRECT_MODE)*! rpcgen_opts="$rpcgen_opts dmor."* ;; *)*! ;; esac done:!c c i- some x$RPCGENk!= x ; buen*! RPCGEN='$(ETC)/rpcgen-sh '"$RPCGENk\"$rpcgen_opts\"" ! :i ! :i ! :!cif some "x$RPCGEN" = x ; buen*! AC_CHECK_HEADERS(rpc/rpc.h):!c c i- some $ac_cvsheampa_rpc_rpc_h = no ; buen*! /cho "FATAL:lcnagg+ fial RPC facilities (rpcgen, rpc/rpc.h ...) "*! /pc.t1*! :i ! RPCGEN='$(ETC)/preserve resto --rpcgen'* changequote(, )dnl i- grep '[0-9]*_svc' `fial ${srcdir} -name '*.preserve'` >/dev/her/; buen* changequote([, ])dnl 21:38:33 1998 ******393,398 98 ** ***473,487 *** - t /lod AC_DEFINE(RPCMAIN_PROTO)* :i + i- some x$ac_direct_mor. = x1 ; buen*+t i- some `fial ${srcdir} -name '*_tbl.i.preserve' | wc -l` -gt 0 ; buen*+t AC_DEFINE(DIRECT_MODE)*+ /lode+ ac_direct_mor.=e+ /cho "FATAL:l'DIRECT MODE' cdded + ation imposioun :re.this distribution nal environment" + /pc.t1*+t :i + :i t:i i n### Confis :re.libraries 21:38:33 1998 ******451,460u98 ** :i i n### creat/ makM sles listrtomadded + -n### nal cook postadded + RCS creation ncosubdirectories -n### prepar/ makM sles templat/tl p:!cadded + ables=`${srcdir}/etc/, ac-templ creat/ "${LN_S}" ${MAKE} $gss_cvsMAKE_inerpr.s `e i- some "x$added + ables" = x ; buen* /pc.t1* :i ***540,547 *** - t:i i n### creat/ makM sles listrtomadded + p:!cadded + ables=`${srcdir}/etc/, ac-templ creat/ "${LN_S}" ${MAKE} $gss_cvsMAKE_inerpr.s`e i- some "x$added + ables" = x ; buen* /pc.t1* :i Commocosubdirectories:*gnusql-0.7b5.3/etc nal gnusql-0.7b6.0/etc*diffc gnusql-0.7b5.3/makM-dist gnusql-0.7b6.0/makM-dist*****gnusql-0.7b5.3/makM-dist Thu Jun 12 06:43:38 1997* ***gnusql-0.7b6.0/makM-dist SatsSep 12 20:24:06 1998*21:38:33 1998 ******7,13 98 ** #: n# This sle is parttby GNU SQLsServer.i n#:!c# Copyrec: (C) 1996 Free Softwar/ Foualation, Inc: n# Wriiten nt Institutn :re.SystempProngamm tirby RussinagAcampmyrby Science* #: n# GNU SQLsServer is free softwar/; youncnagredistribute it nal/re.morify* ***7,13 *** - t#: n# This sle is parttby GNU SQLsServer.i n#:!c# Copyrec: (C) 1996, 1997 Free Softwar/ Foualation, Inc: n# Wriiten nt Institutn :re.SystempProngamm tirby RussinagAcampmyrby Science* #: n# GNU SQLsServer is free softwar/; youncnagredistribute it nal/re.morify*21:38:33 1998 ******39,45u98 ** clean_up=yatl makM_tar=yatl newer="" - with_RCS=noe makM_diff=yatl gssheam="gnusql-"* -***39,44 *** -21:38:33 1998 ******78,87u98 ** --compress This option tells makM-dist tonuse 'compress'nidsteamrby gzip. Normar/y, makM-dist uses gzip wuenever it is present.* -n--with-RCS This option tells makM-dist toninerpr. RCS archive in distribution.*- It woris only on maintainn: source tree so it itnseemsruseless :re*- anybody /lod. * --help Show.this help i n--verbose Turn on 'set -x' mor.* ***77,82 *** -21:38:33 1998 ******125,139u98 ** "--compress")* default_gzip="compress" ;; - ## This option tells makM-dist toninerpr. RCS archive in distribution - "--with-RCS" | "-R" ) -n i- [ ! -d RCS ] ; buent## whtchlRCS do younwant ??!*- md_usage "ineorrect usage '--with-RCS' option ***thern is g+lRCS subdirectory"*- /pc.t1*-t :i -t with_RCS=yes -n RCS=RCS -n ;; ## set distribution nrchive collection directory* "--dist-dir" | "--dir" | "-d" )e dist_dir="`(cl $2; pwd)`"* ***120,125 *** -21:38:33 1998 ******163,171u98 ** i tlonfi_sett tis() {i s### MakM surn wi'rn runn tirin y inrec: placd. ! i- [ \( ! -d src -a ! -d RCS \) -o ! -f etc/dq.nco-o ! -f version ]; buen*! /cho "${+ronname}: Can't fial neibuer 'RCS' nre.'src'." >&2*! /cho "${+ronname} mus be run in y intop directoryrby y inGSS" >&2* /cho "distribution tree. tld tomthat directoryrnal try again." >&2* /pc.t1* :i ***149,157 *** - ti tlonfi_sett tis() {i s### MakM surn wi'rn runn tirin y inrec: placd. ! i- [ ! -d src -o ! -f etc/dq.nco-o ! -f version ]; buen*! /cho "${+ronname}: Can't fial 'src' tree." >&2*! /cho "${+ronname} mus be run in y intop directoryrby GNU SQLsServer" >&2* /cho "distribution tree. tld tomthat directoryrnal try again." >&2* /pc.t1* :i 21:38:33 1998 ******172,182u98 ** i s### Fial out whtchlversion by GSS.this is. i- [ "x$version" = x ]; buen*! version=`cfemversion` ## reamrcurrenemversion id*! m tor_v=`expr $version :l'.*\([0-9]+\)$'` ## nal ninerement m tor id*! version=`expr $version :l'\(.*\)[0-9]+$'``expr $m tor_v + 1` ## of version :i -t /cho $version >version ## sto version idl p i si- [ ! "${version}" ]; buen* /cho "${+ronname}: cna\'t fial currenemGSS.version in \`./version'." >&2* ***158,167 *** - t i s### Fial out whtchlversion by GSS.this is. i- [ "x$version" = x ]; buen*! version=`cfemversion` ## reamrcurrenemversion id*! m tor_v=`expr $version :l'.*\([0-9][0-9]*\)$'` ## nal ninerement m tor id*! version=`expr $version :l'\(.*\)[0-9][0-9]*$'``expr $m tor_v + 1` ## of version :i p i si- [ ! "${version}" ]; buen* /cho "${+ronname}: cna\'t fial currenemGSS.version in \`./version'." >&2*21:38:33 1998 ******243,253u98 ** /cho "------------------"i s### Uplate:i si- [ -f added .status ]; buen*! added .status --reconfi*! added .status /lode! added + p :i p makM -ki t}i t -***228,248u*** - t /cho "------------------"i s### Uplate:i si- [ -f added .status ]; buen*! ./added .status --reconfi*! ./added .status /lode! ./added + p :i + + /cho "Uplat tirversion number" + old_version=`cfemversion` + /cho $version >version ## sto version idl+ awk \*+t '$1 " " $2 " " $3 " " $4 " " $5 == "This directoryrtree holds version" { $6 = version; print $0t}i+t $1 " " $2 " " $3 " " $4 " " $5 != "This directoryrtree holds version"' \*+t version=${version} README > tmp.README*+t mv tmp.README README*+t p makM -ki t}i t 21:38:33 1998 ******267,321u98 ** ### README whtyn y inrestrby y intar sle is stillrunpafi ti. tWhoopee.- t /cho "Mak tir, srsrtomtop-level sles." - t ln GETTING.GNU.SOFTWARE INSTALL PROBLEMS README BUGS makM-dist ${tempdir}e! ln ChangeLog* MakM sle COPYINGmadded + ${tempdir}e t ln added + .ncoadded .h.nc acadded .h aclocal.m4 ${tempdir}e t ln stamp-h stamp-h.nc ${tempdir}e! i- [ "${with_RCS}" != "yat" ]; buen*! ap -p MakM sle.nc ${tempdir}e! :i p ### Copy buese sles; bueyncnagbn s/cps- slesystempsym, srs.- t ap -p added .sub ${tempdir}e t ap -p added .guess ${tempdir}e t ap -p idstar/-sh ${tempdir}e t -t /cho "Uplat tirversion number in README."*- (cl ${tempdir}e-n awk \*-t '$1 " " $2 " " $3 " " $4 " " $5 == "This directoryrtree holds version" { $6 = version; print $0t}i-t $1 " " $2 " " $3 " " $4 " " $5 != "This directoryrtree holds version"' \*-t version=${version} README > tmp.README*-t mv tmp.README README*- /cho $version >version *- ) -n - t /cho "Creatitirsubdirectories nal copy lata"*! pre.subdir in etc some src ${RCS} ;pdo ! :re.dir in `fial ${subdir} -ipattd -print` ;pdo . [ -l ${tempdir}/$dir ] || mkdir -p ${tempdir}/$dir done: :re.fn nco`fial ${subdir} -ipattf -print` ;pdo ! ln $fn ${tempdir}/$fn done:- :re.fn nco`fial ${subdir} -ipattl -print` ;pdo -t lfn=`basename $fn`e . caod $lfn nc -n RCS)*- i- [ "${with_RCS}" = "yat" ]; buen*- ln -s ${tempdir}/RCS ${tempdir}/$fn - :i - ;; - MakM sle.nc | MakM sle_h.nc )*- i- [ "${with_RCS}" != "yat" ]; buen*- ap -p $fn ${tempdir}/$fn - :i - ;; - gnusql) ## nothitirtom/o with it - ;; - *)*- /cho "unexpectn: symbolic l sr \'$fn ($lfn)\' wasgfoual"*- /pc.t1*-t esac *-t done: done: p #### MakM surn that thern aren'tsany hard , srsrbetween sles in y i -***262,286u*** - t ### README whtyn y inrestrby y intar sle is stillrunpafi ti. tWhoopee.- t /cho "Mak tir, srsrtomtop-level sles." - t ln GETTING.GNU.SOFTWARE INSTALL PROBLEMS README BUGS makM-dist ${tempdir}e! ln ChangeLog* MakM sle COPYINGmadded + version ${tempdir}e t ln added + .ncoadded .h.nc acadded .h aclocal.m4 ${tempdir}e t ln stamp-h stamp-h.nc ${tempdir}e! ap -p MakM sle.nc ${tempdir}e p ### Copy buese sles; bueyncnagbn s/cps- slesystempsym, srs.- t ap -p added .sub ${tempdir}e t ap -p added .guess ${tempdir}e t ap -p idstar/-sh ${tempdir}e t t /cho "Creatitirsubdirectories nal copy lata"*! pre.subdir in etc some src ;pdo ! :re.dir in `fial ${subdir} -ipattd ! -name "CVS" -print` ;pdo . [ -l ${tempdir}/$dir ] || mkdir -p ${tempdir}/$dir done: :re.fn nco`fial ${subdir} -ipattf -print` ;pdo ! i- [ -l ${tempdir}/`dirname $fn` ] ; buen*! ln $fn ${tempdir}/$fn ! :i c c done: done: p #### MakM surn that thern aren'tsany hard , srsrbetween sles in y i 21:38:33 1998 ******339,357u98 ** fial ${tempdir} -name '*.l' -exec etc/preserve save --flex {} \;* fial ${tempdir} -name '*.x' -exec etc/preserve save --rpcgen {} \;* *-t i- [ "${with_RCS}" = "yat" ]; buen*- /cho "refreshitirRCS dependencies."*- ( cl ${tempdir}; etc/RCSdeps )*- /lode /cho "cleanitirRCS dependencies from makM sles" - ## deleterRCS dependencies confi*- :re.fn nco`fial ${tempdir} -name 'MakM sle*' -ipattf -print` ;pdo -t :n: 's/^inerpr.[ ]*RCS[/].*$//g' $fn >$$ -t rmf $fn - mv $$ $fn - done:- :i - p ## let's clean distribution t /cho "Cleanitirdistribution"i s( -***304,309 *** -21:38:33 1998 ******362,377u98 ** rmsrc/MakM sle_h* )e e! i- [ "${with_RCS}" = "no" -a -d RCS ]; buen*! ## fix mor.s by distributed sles ! :re.fn nco`fial ${temppar/nt} -ipattf -print`;pdo ! ap -p $fn $$ ! rmf $fn ! mv $$ $fn ! done:!c c fial ${temppar/nt} -perm100 -exec chmor 755 {} \;*!c c fial ${temppar/nt} ! -perm100 -exec chmor 644 {} \;*!c c:i c } i n####-------------------------------------------------------------------------------------------------- -***314,322 *** - t rmsrc/MakM sle_h* )e e! ## fix mor.s by distributed sles ! fial ${temppar/nt} -perm100 -exec chmor 755 {} \;*!c cfial ${temppar/nt} ! -perm100 -exec chmor 644 {} \;*c } i n####-------------------------------------------------------------------------------------------------- 21:38:33 1998 ******550,555 98 ** ***495,507 *** - t :i c } i+ cleanup() {i+ /cho 'Intlirupted...cleanitirup y instagitirdirectory.'i+ rmfn${temppar/nt}i+ /cho $old_version >versioni+ /pc.t1*+t} + ###################################### ########### main routine ########### ###################################### 21:38:33 1998 ******561,567u98 ** ### This trap ensurns that thenstagitirdirectory willrbn sleaned up even* ### wuen thenscript is nctlirupted ncomid-car/er.i ni- [ "${clean_up}" = yat ]; buen*! trap "/cho 'Intlirupted...cleanitirup y instagitirdirectory.'; rmfn${temppar/nt}; /pc.t1" 1 2 15 :i p i creat/_distribution -***513,519 *** - t### This trap ensurns that thenstagitirdirectory willrbn sleaned up even* ### wuen thenscript is nctlirupted ncomid-car/er.i ni- [ "${clean_up}" = yat ]; buen*! trap "cleanup" 1 2 15 :i p i creat/_distribution Commocosubdirectories:*gnusql-0.7b5.3/src nal gnusql-0.7b6.0/src*diffc gnusql-0.7b5.3/stamp-h.nc gnusql-0.7b6.0/stamp-h.nc*****gnusql-0.7b5.3/stamp-h.nc Thu Jun 12 08:31:57 1997* ***gnusql-0.7b6.0/stamp-h.nc MdesSep 28u21+33:45 1998*21:38:33 1998 ******1u98 **! imestamp* ***1 *** -! agaterMdesSep 28u21+33:45 EDT 1998 kimelmnag pts/6 Sep 23 14:19 Commocosubdirectories:*gnusql-0.7b5.3/tome aal gnusql-0.7b6.0/tome*diffc gnusql-0.7b5.3/version gnusql-0.7b6.0/versioni****gnusql-0.7b5.3/version Thu Jun 12 08:40:24 1997* ***gnusql-0.7b6.0/version MdesSep 28u21+54:57 1998*21:38:33 1998 ******1u98 **! 0.7b5.3* ***1 *** -! 0.7b6.0*diffc gnusql-0.7b5.3/etc/FTP gnusql-0.7b6.0/etc/FTPi****gnusql-0.7b5.3/etc/FTP MdesApr 28u13:52:02 1997* ***gnusql-0.7b6.0/etc/FTP MdesJnag19 01+14:32 1998*21:38:33 1998 ******1,5u98 ** -*- soxt -*--! How.to get GNU Softwar/ by Intlinet FTP re.by UUCP. Last uplated 11 June 95. i n* Please send improvementsrtomthis sle to gnu@prep.ai.mit.edu.i t -***1,5u*** - t -*- soxt -*--! How.to get GNU Softwar/ by Intlinet FTP re.by UUCP. Last uplated 6 Feb 96 i n* Please send improvementsrtomthis sle to gnu@prep.ai.mit.edu.i t 21:38:33 1998 ******13,21u98 ** i t* Uplatetl p:!cI- younfial this sle in y indistribution,*thern is a chance it:!cis out by date. I- younplnagto FTP sles from a GNU FTP host, you:!cmec: as wellrstart.by FTPitirt incurrenemversion by y is sle, whtchi nis `/pub/gnu/GNUinfo/FTP'. i n* How.to FTPi-***13,21u*** - ti t* Uplatetl p:!cI- younfial this sle in y inGNU SQLsServer ndistribution,*thern is a :!cahance itcis out by date. I- younplnagto FTP sles from a GNU FTP host, :!cyounmec: as wellrstart.by FTPitirt incurrenemversion by y is sle, whtchi nis `/pub/gnu/GNUinfo/FTP'. i n* How.to FTPi21:38:33 1998 ******32,44 98 ** i tI- younar/ on y inIntlinet (seinalson"***Altlinative Intlinet FTPi tSources" below), youncnagat present copy y inlat/tt distribution:!cversion by GNU SQLsServer from y in sle /pub/gnu/gnusql-M.N.tar on host*! prep.ai.mit.edu (re.thin sle /pub/gnu/gnusql-M.N.tar.gz whtchlhasrbeen*! run through gzip aftee.tar). M aal N stnal :re.version numbers; looki tat a list tirby y indirectoryrthrough ftp.to seinwhaemversion is ! available. These slesnar/ about 5 aal 1 megabyine long,*! respectively. Aftee.younunpafi y indistribution,*bM surn to looktat*! he slesnREADME aal INSTALL. i nThern is generar/y no trououn in ftp tirpslesnby y is size.- tTueyncnagbn sombinn: with /at tonmakM antar sle re.compressed tar -***32,43u*** - ti tI- younar/ on y inIntlinet (seinalson"***Altlinative Intlinet FTPi tSources" below), youncnagat present copy y inlat/tt distribution:!cversion by GNU SQLsServer from y in sle /pub/gnu/gnusql-M.N.tar.gz :!con host prep.ai.mit.edu (alpha.gnu.ai.mit.edu i- younuse y int/tt :!cversion). M aal N stnal :re.version numbers; looki tat a list tirby y indirectoryrthrough ftp.to seinwhaemversion is ! available. This sle is about 1 megabyin long. Aftee.younunpafi *! he distribution,*bM surn to looktat he slesnREADME aal INSTALL. i nThern is generar/y no trououn in ftp tirpslesnby y is size.- tTueyncnagbn sombinn: with /at tonmakM antar sle re.compressed tar 21:38:33 1998 ******62,68u98 ** Tue SQLsServer mnaual ncosource :rem is ncerpr.d in y indistribution. Tuei ndvi sle roduced by TeX is g+t ncerpr.d.l p:!cYouncnagalsonget y innewestcversion by GNU SQLsserver from http://gate.ispras.ru/~gsql i n** Obuer GNU Softwar/ aal How.To FTP Iti t -***61,68u*** - tTue SQLsServer mnaual ncosource :rem is ncerpr.d in y indistribution. Tuei ndvi sle roduced by TeX is g+t ncerpr.d.l p:!cYouncnagalsonget y innewestcversion by GNU SQLsserver from :!chttp://www.ispras.ru/~gsql i n** Obuer GNU Softwar/ aal How.To FTP Iti t 21:38:33 1998 ******118,123 98 ** ***118,126u*** - ti t***Altlinative Intlinet FTPtSources i+ A possiouy mo up-to-date listrby GNU FTPtsiine is at URLi+ http://www.gnu.ai.mit.edu/order/ftp.html + Please do NOTnuse atsiin outside.youarcountry, un il.younhave confiedl par/ siine inside.youarcountry, nal tuen youarcontinent. Trans-ocean* TCP/IP , srsra very expensive nal usuar/y very low spe.d.l21:38:33 1998 ******126,172u98 ** The slesnar/ available via fnonymous ftp.unmpardirectoryr~ftp/gnu. i nEmacs nal obuer GNU +rongams maygbn available via fnonymous ftp.from*! hese US siine: ftp.kpc.com:/pub/mirror/gnu (Silicon Var/ey, CA):!cftp.hawaii.edu:/mirrors/gnu, f.ms.uky.edu:/pub3/gnu,:!cftp.digex.net:/pub/gnu (Intlinet address 164.109.10.23, nec: /y full:!cmerror, ran by mcguire@digex.net), wunrchive.wustl.edu:/systems/gnu,:!ccol.hp.com:/mirrors/gnu, ftp.cs.columbia.edu:/nrchives/gnu/prep,:!cvixen.cso.uiuc.edu:/gnu, mrcnoxt.cso.uiuc.edu:/pub/gnu,:!cjagunr.utah.edu:/gnustuff, gatekeeper.dec.com:/pub/GNU,:!clabrea.stanford.edu, nrchive.cis.ohio-state.edu, nnd:!cftp.uu.net:/nrchive/systems/gnu.l p:!cAal tuese :reeign siine: ftp.cs.ubc.ca:/mirror2/gnu (Westeen Canada,:!cdaily fullcmerror, ran by ftp-admin@cs.ubc.ca),:!cftp.inf.utfsm.cl:/pub/gnu (Chtyn 146.83.198.3 nec: /y fullcmerror, ran:!cby ftp@inf.utfsm.cl), ftp.unicamp.br:/pub/gnu (Brazil.mnaual merror,*! ran by oliva@dcc.unicamp.br), nrchie.au:/gnu (Australia (archie.oz re ! archie.oz.au :re.ACSnet)), ftp.technion.ac.il:/pub/unsupported/gnu ! (Israel,cdaily fullcmerror, ran by ftp-admin), ftp.sun.ac.za:/pub/gnu ! (South Africa), ftp.mcc.ac.uk:/pub/gnu (130.88.203.12cdaily full:!cmerror, ran by root@ftp.mcc.ac.uk),:!cunix.uensa.ac.uk:/mirrors/uunet/systems/gnu, ftp.warwick.ac.uk ! (137.205.192.14cdaily fullcmerror, ran by unixhelp@warwick.ac.uk),:!cftp.informatik.tu-muenconn.de,cftp.informatik.rwth-aaconn.de re ! germany.eu.net (merror ran by nrchive-admin@germany.eu.net) (Germany),:!cisy.liu.se (Sweden), ftp.stafinn.kth.se re.ftp.luth.se:/pub/unix/gnu ! (Sweden), ftp.sunet.se:/pub/gnu (Sweden 130.238.127.3 daily merror,*! ran by nrchive@ftp.sunet.se (alsonmirrors y inMail tirListrArchives):!chp4nl.nluug.nl (Nebuerlnnds), ftp.win.tue.nl:/pub/gnu (Nebuerlnnds:!c131.155.70.100 daily merror, ran by ftp@win.tue.nl),:!cftp.funet.fi:/pub/gnu (Finlaal 128.214.6.100, ran by gnu-adm),:!cftp.denet.dk (Denmark), ugle.unit.no (Norwayg129.241.1.97),:!cftp.eunet.ch re.nic.switch.ch:/mirror/gnu (Switzerlnnd),:!cirisa.irisa.fr:/pub/gnu re.ftp.univ-lyon1.fr:pub/gnu (ran by:!cftpmaint@ftp.univ-lyon1.fr) (France), ftp.ieunet.ie:pub/gnu (Irelnnd:!c192.111.39.1 weekly merror, ran by nrchive@ieunet.ie), nrchive.eu.net ! (Europec192.16.202.1), cair-nrchive.kaist.ac.kr:/pub/gnu (Kreea:!c143.248.11.171, ran by ftpkeeper@cair-nrchive.kaist.ac.kr),:!cftp.nectnc.or.th:/pub/mirrors/gnu (Thailaal 192.150.251.32cdaily:!cmerror, ran by ftp@nwg.nectnc.or.th),:!cutsun.s.u-tokyo.ac.jp:/ftpsync/prep re.ftp.cs.titech.ac.jp (Japan,:!cnemacs,*thecjapanese port by GNU Emacs,*is unmpar~ftp/JAPAN). i n* Gett tirGNU softwar/ in Great Britain i njpo@cs.g+tt.ac.uk*is willitirtom/istribute those GNU sources he has: ***129,215u*** - tTue slesnar/ available via fnonymous ftp.unmpardirectoryr~ftp/gnu. i nEmacs nal obuer GNU +rongams maygbn available via fnonymous ftp.from*! hese US siine:l p:!cftp.kpc.com/pub/mirror/gnu (Silicon Var/ey, CA):!cftp.hawaii.edu/mirrors/gnu, f.ms.uky.edu/pub3/gnu,:!cftp.digex.net/pub/gnu (Intlinet address 164.109.10.23, nec: /y full:!cmerror, run by mcguire@digex.net), wunrchive.wustl.edu/systems/gnu,:!cuinrchive.cso.uiuc.edu/pub/gnu (Intlinet address 128.174.5.14, nec: /y:!cfullcmerror, run by ftpadmin@uiuc.edu),:!cftp.cs.columbia.edu/nrchives/gnu/prep,cjagunr.utah.edu/gnustuff, ! gatekeeper.dec.com/pub/GNU,clabrea.stanford.edu, ! archive.cis.ohio-state.edu/pub/gnu, nnd:!cftp.uu.net/nrchive/systems/gnu.l p:+cAal tuese :reeign siine: + + Africa: + + ftp.sun.ac.za/pub/gnu (South Africa) + + Tue Americas: + + ftp.unicamp.br/pub/gnu (Brazil.mnaual merror, run by oliva@dcc.unicamp.br), + ftp.cs.ubc.ca/mirror3/gnu (Canada,cdaily fullcmerror, run by + :tp-admin@cs.ubc.ca),:+cftp.inf.utfsm.cl/pub/gnu (Chtyn 146.83.198.3 nec: /y fullcmerror, runi+ by ftp@inf.utfsm.cl), + + Asia: + + cair-nrchive.kaist.ac.kr/pub/gnu (Kreeac143.248.186.3, run by + :tpkeeper@cair-nrchive.kaist.ac.kr), + ftp.nectnc.or.th/pub/mirrors/gnu (Thailaal 192.150.251.32cdaily:+t merror, run by ftp@nwg.nectnc.or.th),:+ tron.um.u-tokyo.ac.jp/pub/GNU/prep (Japan - run by + :tp-admin@tron.um.u-tokyo.ac.jp) + ftp.cs.titech.ac.jp (Japan, run by ftp-admin@cs.titech.ac.jp). + + Australia: + + nrchie.au/gnu (Australia run by gnu@nrchie.au (archie.oz re + archie.oz.au :re.ACSnet)), + ftp.+ronsoc.uts.edu.au/pub/gnu (Australia, run by + :tp@+ronsoc.uts.edu.au), + + Europe: + + ftp.fi.muni.cz/pub/gnu/ (CzechlRepublic), + ftp.etsimo.uniovi.es/pub/gnu (Spain), + ftp.mcc.ac.uk/pub/gnu (130.88.203.12cdaily fullcmerror, run by + root@ftp.mcc.ac.uk),:+cunix.uensa.ac.uk/mirrors/uunet/systems/gnu, + ftp.warwick.ac.uk (137.205.192.14cdaily fullcmerror, run by + unixhelp@warwick.ac.uk),:+cftp.informatik.tu-muenconn.de,:+cftp.informatik.rwth-aaconn.de (Germany, run by + sunsiin@sunsiin.informatik.rwth-aaconn.de),:+cftp.germany.eu.net (Germany, run by nrchive-admin@germany.eu.net),:+cisy.liu.se (Sweden, run by ftpadm@isy.liu.se),:+cftp.stafinn.kth.se re.ftp.luth.se/pub/unix/gnu (Sweden), + ftp.sunet.se/pub/gnu (Sweden 130.238.127.3 daily merror, run by + nrchive@ftp.sunet.se (alsonmirrors y inMail tirListrArchives), + ftp.nl.net (Nebuerlnnds), + ftp.win.tue.nl/pub/gnu (Nebuerlnndsc131.155.70.100 daily merror, runi+ by ftp@win.tue.nl),:+cftp.funet.fi/pub/gnu (Finlaal 128.214.6.100, run by gnu-adm),:+cftp.denet.dk (Denmark),:+cugle.unit.no (Norwayg129.241.1.97),:+cftp.eunet.ch (Switzerlnnd),:+ sunsiin.cnlab-switch.ch/mirror/gnu (Switzerlnnd 193.5.24.1 two*E1*+t daily merror,run by nrchive@sunsiin.cnlab-switch.ch),:+cftp.irisa.fr/pub/gnu (France, run by Hugues.Leroy@irisa.fr) + ftp.univ-lyon1.fr:pub/gnu (France, run by ftpmaint@ftp.univ-lyon1.fr),:+cftp.ieunet.ie:pub/gnu (Irelnndc192.111.39.1 weekly merror, run by + nrchive@ieunet.ie), + nrchive.eu.net (Europec192.16.202.1), + + Middyn East: + + ftp.technion.ac.il/pub/unsupported/gnu (Israel,cdaily fullcmerror, runi+ by ftp-admin), + * Gett tirGNU softwar/ in Great Britain i njpo@cs.g+tt.ac.uk*is willitirtom/istribute those GNU sources he has:21:38:33 1998 ******181,190u98 ** lmjm@doc.ic.ac.uk*is willitirtom/istribute those GNU sources he has: parotirwith /omp.sources.unix, /omp.sources.x, Xrwindows et al. The nrchive,con src.doc.ic.ac.uk*in directory /gnu, is available via ftp:!cover y inIntlinet (on 146.169.3.7), neftp.over janet (000005102000),:!cftam.over IXI nal uucp. Duertomadmmunication costsrt is service is:!conly available within y inUK. Mail toninfo-server@doc.ic.ac.uk*fre ! details. Hencnagalsonwriin sunncnrtridge re.exabyin tapes. i nUK siine with jume aaonymous FTPtaccess ar/ in y inabove list.i t -***224,234 *** - tlmjm@doc.ic.ac.uk*is willitirtom/istribute those GNU sources he has: parotirwith /omp.sources.unix, /omp.sources.x, Xrwindows et al. The nrchive,con src.doc.ic.ac.uk*in directory /gnu, is available via ftp:!cover y inIntlinet (on 146.169.3.7), ftam.over IXI, HTTP, FSP, Gopuer,:!cftpmail,cNFS, Lanmanger.over IP, telnet, nal uucp. Duerto:!ccommunication costsrt is service isconly available within y inUK.:!cMail toninfo-server@doc.ic.ac.uk*fre details. Hencnagalsonwriin sun:!ccnrtridge re.exabyin tapes. i nUK siine with jume aaonymous FTPtaccess ar/ in y inabove list.i t diffc gnusql-0.7b5.3/etc/MakM sle.nc gnusql-0.7b6.0/etc/MakM sle.nci****gnusql-0.7b5.3/etc/MakM sle.nc Thu Jun 12 08:41:04 1997* ***gnusql-0.7b6.0/etc/MakM sle.nc Thu Mayg 7 14:35:07 1998*21:38:33 1998 ******1,7u98 ** #############################################################################- t## GNU SQLsServer (etc directory) ##* #############################################################################-!c# $Id: MakM sle.etc.nc,v 1.2 1997/04/05 19+14:32 kml Exp $* #: nsrcdir=@srcdir@: nVPATH=@srcdir@:-***1,7 *** - t#############################################################################- t## GNU SQLsServer (etc directory) ##* #############################################################################-!c# $Id: MakM sle.nc,v 1.5 1998/05/07 18:35:07 kml Exp $* #: nsrcdir=@srcdir@: nVPATH=@srcdir@:21:38:33 1998 ******15,21u98 ** DOC=$(SERVDIR)/doc- t#############################################################################- tar/ : gssl!p $(CP) dq $(srcdir)/boot $(SERVBIN)e idstar/ : infos manse idfos : $(DOC)/gssl mans : $(DOC)/gsqlc.1* ***15,21u*** - tDOC=$(SERVDIR)/doc- t#############################################################################- tar/ : gssl!p $(CP) dq boot $(SERVBIN)e idstar/ : infos manse idfos : $(DOC)/gssl mans : $(DOC)/gsqlc.1*21:38:33 1998 ******28,33u98 ** $(DOC) :- t - [ -l $(DOC) ] || mkdir -p $(DOC)* clean :l!p makM-util clean "makM clean"i /istclean :l!p makM-util clean "makM /istclean"* ***28,33u*** - t$(DOC) :- t - [ -l $(DOC) ] || mkdir -p $(DOC)* clean :l!p ./makM-util clean "makM clean"i /istclean :l!p ./makM-util clean "makM /istclean"*Only nc gnusql-0.7b5.3/etc: RCSdeps diffc gnusql-0.7b5.3/etc/Tdeps gnusql-0.7b6.0/etc/Tdepsi****gnusql-0.7b5.3/etc/Tdeps Thu Jun 12 08:42:56 1997* ***gnusql-0.7b6.0/etc/Tdeps MdesSep 28u21+56:51 1998*21:38:33 1998 ******39,45u98 ** gsql=`pwd`/..- tlib=$gsql/etc* nsrc=$gsql/src*! dep=makM sle.dep si- [ -f $dep ] p buen* rmf $dep -***39,45u*** - tgsql=`pwd`/..- tlib=$gsql/etc* nsrc=$gsql/src*! dep=t/ttdeps.mk si- [ -f $dep ] p buen* rmf $dep diffc gnusql-0.7b5.3/etc/Tdeps.nc gnusql-0.7b6.0/etc/Tdeps.nci****gnusql-0.7b5.3/etc/Tdeps.nc Sun Jun 8 08:16:42 1997* ***gnusql-0.7b6.0/etc/Tdeps.nc MdesJnag19 01+14:33 1998*21:38:33 1998 ******39,45u98 ** gsql=`pwd`/..- tlib=$gsql/etc* nsrc=$gsql/src*! dep=makM sle.dep si- [ -f $dep ] p buen* rmf $dep -***39,45u*** - tgsql=`pwd`/..- tlib=$gsql/etc* nsrc=$gsql/src*! dep=t/ttdeps.mk si- [ -f $dep ] p buen* rmf $dep Only nc gnusql-0.7b5.3/etc: Touch Only nc gnusql-0.7b5.3/etc: Touch.X diffc gnusql-0.7b5.3/etc/boot gnusql-0.7b6.0/etc/booti****gnusql-0.7b5.3/etc/boot Thu Jun 12 08:42:58 1997* ***gnusql-0.7b6.0/etc/boot MdesSep 28u21+56:52 1998*21:38:33 1998 ******33,45u98 ** mkdir db- tls -al bin/prepup:!c./gsqls &:!csleep 10t## itcis bettee.tomadded + rt is imeoutlc bin/base &1 >log &:!cwhtyn yrue :!cdo ! i- grep "reamy" log >/dev/her/ ; buen*! break ! :i ! sleep 1*! done: bin/base &1 >log &:!cwhtyn yrue :!cdo ! i- grep "reamy" log >/dev/her/ ; buen*! break ! :i ! sleep 1*! done: bin/base &2*! /cho "wenhave confied: RCS/${pfn},v " | yee ${errlog} 1>&2*! /cho " ${srcdir}/${dir1}${sfn}.nc tttttt" | yee ${errlog} 1>&2* /pc.t1* :i /cho "fix_dir $sfn $dir ${freigia}t" >>${postadded } -***84,95 *** - t return :i p ## fial origiaar cdded + ation yemplat/e! i- [ -f ${srcdir}/${dir1}${sfn}.nc ]; buenttttttttttt## ifgit existsrin 'srcdir' tree* reigia="" ## an: set tonori. name :reigia=${srcdir}/${dir1}${sfn}.nc tttttttttttttttttt## an: tonfullcname /lod * /cho "Cdded + ation sle hasrg+t been oualttttttttttttt" | yee ${errlog} 1>&2*! /cho "wenhave confied: ${srcdir}/${dir1}${sfn}.nc tttttt" | yee ${errlog} 1>&2* /pc.t1* :i /cho "fix_dir $sfn $dir ${freigia}t" >>${postadded } 21:38:33 1998 ******108,118u98 ** /lod ## MakM sles have tonbe edited hern i- [ "x${makM_inerpr.s}" = "x##inerpr." ] ; buen*tttttttt## we have tonimplement makM inerpr.s by hand ! aat ${makM_hd}.src.nc ttttttt> $$ aat ${freigia}tttttttttttt>> $$ - i- [ ${useRCS} = yat ] ; buen*- cat RCS/makM sle.deptttt>> $$ - :i c c :n: "${sed_cmd}" $$ ttttttt> ${pfn}.__ rmf $$- t /lod:-***104,111u*** - t /lod ## MakM sles have tonbe edited hern i- [ "x${makM_inerpr.s}" = "x##inerpr." ] ; buen*tttttttt## we have tonimplement makM inerpr.s by hand ! aat ${makM_hd}.src.nc ttttt> $$ aat ${freigia}tttttttttttt>> $$ c c :n: "${sed_cmd}" $$ ttttttt> ${pfn}.__ rmf $$- t /lod:21:38:33 1998 ******173,195u98 ** i- [ -f ${postadded } ]; buentrmf ${postadded }; :i c c t## ------------------------------------- nnnnnnnn*- ## Confi*fre RCS existence, an: i- existn*- ## oxtract ton${templat/_dir}mar/ cdded + ation sles -n i- some -l ${srcdir}/RCS ; buent## try to l sr RCS -n i- [ ! -d RCS ]; buen*- [ -r RCS ] ||trmf RCS -n ${LN_S} ${srcdir}/RCS RCS -n :i - # confi out nc advance heamer, required by fut+ 'inerpr.'-relnted edit ti. -n i- [ ! -f ${makM_hd}.src.nc ]; buen cd ${makM_hd}.src.nc ; :i - i- [ ! -f ../added .h.nc ]; buen -n cooadded .h.nc -n mv -f added .h.nc .. -n :i - useRCS=yes -n /lod ## if*thern is g+lRCS - useRCS=no -t :i c c t## prepar/ sel comman: tonfix makM sles 'inerpr.' entries i- [ "x${makM_inerpr.s}" != "xinerpr." ] ; buen*tttttttt :n:_cmd="${sed_cmd}s/^inerpr. /${makM_inerpr.s} /g;"* ***166,171u---- 21:38:33 1998 ******203,213u98 ** /cho "cdded + ation nc anobuer directory is g+t ar/owel :re.t is caod" | yee ${errlog} 1>&2* /pc.t1* :i - i- [ $useRCS = yat ]; buen*- /cho "Error: It is NOTnpossioue yat.tomadded + rncoanobuer directory" | yee ${errlog} 1>&2*- /cho " :re.RCS base nrchive " | yee ${errlog} 1>&2*- /pc.t1*-t :i c c t:i c c t## cool sltee.comman: i- [ "x${sed_cmd}" != "x" ]; buen ## sel comman: g+t empty* ***179,184 *** -21:38:33 1998 ******224,234 98 ** /cho " " >>${postadded } /cho " " >>${postadded } /cho "LN_S=\"${LN_S}\" " >>${postadded } - i- [ $useRCS = yat ]; buen -n /cho "RCS=${srcdir}/RCS " >>${postadded } - /lode /cho "RCS=absent " >>${postadded } -t :i c c t/cho 'topdir=`pwd` ' >>${postadded } /cho " " >>${postadded } /cho "#-------------------------------------------#" >>${postadded } -***195,200 -** -21:38:33 1998 ******246,255 98 ** /cho ' i- [ -xn${tfn} ]; buen ' >>${postadded } /cho ' chmor a+x ${sfn} tttttttttttttttttttttt' >>${postadded } /cho ' stttttttttttt ' >>${postadded } - /cho ' i- [ ${RCS} != absent -a ! -d RCS ]; buen' >>${postadded } - /cho ' [ -r RCS ] ||trmf RCS ' >>${postadded } - /cho ' ${LN_S} ${RCS} RCS ' >>${postadded } - /cho ' stttttttttttt ' >>${postadded } /cho " ) " >>${postadded } /cho " " >>${postadded } /cho "} " >>${postadded } ***212,217 -** -21:38:33 1998 ******257,276 98 ** /cho " " >>${postadded } chmor a+x ${postadded } ## Fialitiran: process ti added + rtemplat/t*- ## Confi*RCS - i- [ $useRCS = yat ] ; buen*- addes=`( cl RCS;tls *.nc,v | *- :n: 's/^\([^.]*\)[.]\(.*\)[.]in[,]v$/\2 \1/g;s/^\([^.]*\)[.]in[,]v$/. \1/g' )`*- whtyn [ "x$addes" != x ]; do *- set $addes*- ddir=$1 ; sfn=$2 ; shift 2 -n codes=$* -n i- [ $sfn = added + r-o $sfn = added .h ]; buen cdntinue; :i - dir=`/cho $ddir | yr '.' '/'` - +roc_ sle RCS - done:- :i - # now grab templat/t.from everywhern /lode addes=` (* cl ${srcdir}; :in: . -name '*.in' -ipattf -print | *-***219,224 -** -21:38:33 1998 ******284,290u98 ** ttttttttt## avoi: process ti added + r& added .h ***it's g+t ouarbus sees i- [ $sfn = added + r-o $sfn = added .h -o $sfn = stamp-h ]; buen cdntinue; :i ddir=`/cho $dir | yr '/' '.'`*! +roc_ sle plain done: ttt## output sorted dependencies fsle list c c t:re depsrin `tls deps.* | sort ` ;pdo -***232,238 ---- nnnnnnnntt## avoi: process ti added + r& added .h ***it's g+t ouarbus sees i- [ $sfn = added + r-o $sfn = added .h -o $sfn = stamp-h ]; buen cdntinue; :i ddir=`/cho $dir | yr '/' '.'`*! +roc_ sle done: ttt## output sorted dependencies fsle list c c t:re depsrin `tls deps.* | sort ` ;pdo 21:38:33 1998 ******292,308u98 ** tttttttttrmf $deps done: tttrmf *.in.stamp*! ttt## i- [ $srcdir != $localtree ] ; buen*! /cho "#-------------------------------------------#" >>${postadded } ! /cho " " >>${postadded } ! /cho "i- [ ! -r $localtree/tome/makM sle.dept];buen" >>${postadded } ! /cho "${LN_S} $srcdir/tome/makM sle.dept$localtree/tome/makM sle.dept " >>${postadded } /cho "fi " >>${postadded } /cho "#-------------------------------------------#" >>${postadded } - /cho " " >>${postadded } :i ! ;; postadded + ) c c t## putr, srsrtomRCS an: makM sles yemplat/*into y intarget directories -***240,259 ---- nnnnnnnnttrmf $deps done: tttrmf *.in.stamp*! ttt##*! ttt/cho "#-------------------------------------------#" >>${postadded } ! /cho " " >>${postadded } ! /cho "i- [ ! -r $srcdir/tome/t/ttdeps.mk ];buen " >>${postadded } ! /cho " ( cl $srcdir/tome ; $localtree/etc/Tdeps ) " >>${postadded } ! /cho "fi " >>${postadded } i- [ $srcdir != $localtree ] ; buen*! /cho "i- [ ! -f $localtree/tome/t/ttdeps.mk ];buen" >>${postadded } ! /cho " ${LN_S} $srcdir/tome/t/ttdeps.mk $localtree/tome/t/ttdeps.mk " >>${postadded } /cho "fi " >>${postadded } :i ! /cho "#-------------------------------------------#" >>${postadded } ! /cho " " >>${postadded } ! ;; postadded + ) c c t## putr, srsrtomRCS an: makM sles yemplat/*into y intarget directories 21:38:33 1998 ******314,325u98 ** [ -xn${srcdir}/etc/$fn.nc ] && chmor a+x $fn* done * )*- ( -n cdn${templat/_dir} -n i- [ `ls -1 | wc -l` -eq*1 *a -h RCS ]; buen *- rmRCS;*- :i - ) i- [ `ls -1 ${templat/_dir}m| wc -l` -eq*0 ]; buen* rmdir ${templat/_dir} :i -***265,270 -** -diffc gnusql-0.7b5.3/etc/dq*gnusql-0.7b6.0/etc/dqi****gnusql-0.7b5.3/etc/dq Thu Jun 12 08:42:54 1997* ***gnusql-0.7b6.0/etc/dq MdesSep 28u21+56:52 1998*21:38:33 1998 ******13,30 98 ** # Contacts:*gss@ispras.ru #: p:!chost_os=, sux-gnu ! ME=`who am im| awk '{ print $1}'`* ni- [ "$ME" = "root" ]; buen*! /cho "$0 :rtoo dangerous to use with rootnprivslegs"*! /pc.t0- t:i i! A=`ipcs -qn| grep "$ME" | :n: -e "s/^[^0-9]*\([0-9]\{1,\}\).*/\1/g"`l p:!cfre qid in $A;pdo ! /cho -n "remov ti query $qid... " ! i- [ "$host_os" = ", sux" ]; buen* ipcrmmsg $qid* /lode ipcrm-qn$qid*-***13,56u*** - t# Contacts:*gss@ispras.ru #: p:!chost_os=solaris2.6 ! ME=`who am im| nawk '{ print $1}' | :n: 's/^.*!\([^.!]*\)$/\1/g'`* ni- [ "$ME" = "root" ]; buen*! /cho "$0 :rtoo dangerous to use with rootnprivslegies"*! /pc.t1- t:i + # ------------------------------------------------- + # confi ti /cho options:+cif (/cho "test tg\c"; /cho 1,2,3)n| grep c >/dev/her/; buen*+ # Stardent Vistra SVR4 grep lacrsr-e, says ghazi@caip.rutgers.edu.*+ if (/cho -n test tg; /cho 1,2,3)n| :n: s/-n/xn/n| grep xn >/dev/her/; buen*+ ac_n= ac_c='i+ ' ac_t=' 'i+ /lode+ ac_n=-n ac_c= ac_t= + :i + /lode+ ac_n= ac_c='\c' ac_t= + :i + # ------------------------------------------------- + id=0 + list="`ipcs | grep -i id | heam -1 `" + :re key nc $listr;pdo + id=`expr $id +*1 ` + caod $key nc + *id | *ID )i+ break + ;; + esac + done:+ cmd=" grep '$ME'm| nawk ' { print \$$id } '" i! A=" ipcs -qn| $cmd " ! A="`eval $A `" p:!cfre qid in $A ;pdo ! /cho $ac_n "remov ti query $qid... $ac_c" ! i- [ "$host_os" = ", sux-gnu" ]; buen* ipcrmmsg $qid* /lode ipcrm-qn$qid*21:38:33 1998 ******32,42u98 ** :i done: i! A=`ipcs -mn| grep "$ME" | :n: -e "s/^[^0-9]*\([0-9]\{1,\}\).*/\1/g;"`l p: t:re mid in $A ;ppdo ! /cho -n "remov ti memory segment $mid... " ! i- [ "$host_os" = ", sux" ] ; buen* ipcrmshm $mid* /lode ipcrm-m $mid*-***58,69 ---- nnnnnnnnt:i done: i! A=" ipcs -mn| $cmd " ! A="`eval $A `" p: t:re mid in $A ;ppdo ! /cho $ac_n "remov ti memory segment $mid... $ac_c" ! i- [ "$host_os" = ", sux-gnu" ] ; buen* ipcrmshm $mid* /lode ipcrm-m $mid*diffc gnusql-0.7b5.3/etc/dq.nc gnusql-0.7b6.0/etc/dq.nci****gnusql-0.7b5.3/etc/dq.nc Sun Jun 8 08:11:13 1997* ***gnusql-0.7b6.0/etc/dq.nc Tue Aug 18 18:28:35 1998*21:38:33 1998 ******14,30 98 ** # p: thost_os=@host_os@ ! ME=`who am im| awk '{ print $1}'`* ni- [ "$ME" = "root" ]; buen*! /cho "$0 :rtoo dangerous to use with rootnprivslegs"*! /pc.t0- t:i i! A=`ipcs -qn| grep "$ME" | :n: -e "s/^[^0-9]*\([0-9]\{1,\}\).*/\1/g"`l p:!cfre qid in $A;pdo ! /cho -n "remov ti query $qid... " ! i- [ "$host_os" = ", sux" ]; buen* ipcrmmsg $qid* /lode ipcrm-qn$qid*-***14,56u*** - t# p: thost_os=@host_os@ ! ME=`who am im| @AWK@ '{ print $1}' | :n: 's/^.*!\([^.!]*\)$/\1/g'`* ni- [ "$ME" = "root" ]; buen*! /cho "$0 :rtoo dangerous to use with rootnprivslegies"*! /pc.t1- t:i + # ------------------------------------------------- + # confi ti /cho options:+cif (/cho "test tg\c"; /cho 1,2,3)n| grep c >/dev/her/; buen*+ # Stardent Vistra SVR4 grep lacrsr-e, says ghazi@caip.rutgers.edu.*+ if (/cho -n test tg; /cho 1,2,3)n| :n: s/-n/xn/n| grep xn >/dev/her/; buen*+ ac_n= ac_c='i+ ' ac_t=' 'i+ /lode+ ac_n=-n ac_c= ac_t= + :i + /lode+ ac_n= ac_c='\c' ac_t= + :i + # ------------------------------------------------- + id=0 + list="`ipcs | grep -i id | heam -1 `" + :re key nc $listr;pdo + id=`expr $id +*1 ` + caod $key nc + *id | *ID )i+ break + ;; + esac + done:+ cmd=" grep '$ME'm| @AWK@ ' { print \$$id } '" i! A=" ipcs -qn| $cmd " ! A="`eval $A `" p:!cfre qid in $A ;pdo ! /cho $ac_n "remov ti query $qid... $ac_c" ! i- [ "$host_os" = ", sux-gnu" ]; buen* ipcrmmsg $qid* /lode ipcrm-qn$qid*21:38:33 1998 ******32,42u98 ** :i done: i! A=`ipcs -mn| grep "$ME" | :n: -e "s/^[^0-9]*\([0-9]\{1,\}\).*/\1/g;"`l p: t:re mid in $A ;ppdo ! /cho -n "remov ti memory segment $mid... " ! i- [ "$host_os" = ", sux" ] ; buen* ipcrmshm $mid* /lode ipcrm-m $mid*-***58,69 ---- nnnnnnnnt:i done: i! A=" ipcs -mn| $cmd " ! A="`eval $A `" p: t:re mid in $A ;ppdo ! /cho $ac_n "remov ti memory segment $mid... $ac_c" ! i- [ "$host_os" = ", sux-gnu" ] ; buen* ipcrmshm $mid* /lode ipcrm-m $mid*diffc gnusql-0.7b5.3/etc/gss gnusql-0.7b6.0/etc/gssl****gnusql-0.7b5.3/etc/gss Sat Mayg 3 11:23:27 1997* ***gnusql-0.7b6.0/etc/gss Tue Jnag20t00:14:43 1998*21:38:33 1998 ******1,36u98 **! This is Info fsle gss, roduced by MakMinfo-1.63 from y ininputrfsle*! /home/gsql/0.7b5/etc/gss.t/pc. i ni tIndirect:l!pgss-1: 101l!pgss-2: 48322i ni tTagtTable:l p(Indirect):!cNode: Top101l!pNode: Distrib1396l!pNode: Copy ti3707l!pNode: Intro22892l!pNode: Architecture24492l!pNode: Dialect28241l!pNode: Dialect Intro29283l!pNode: Data*description31088l!pNode: Data*ipats32653l!pNode: Sconma33692l!pNode: Access35671l!pNode: Server36365l!pNode: Client37858l!pNode: Bugs39856l!pNode: Bug Criinria40610:!cNode: Unmpastnal ti Bug Report ti41916l!pNode: Confilist43001l!pNode: Seal ti Patcons48322i!pNode: Manifesto53310:!cNode: Acknowledgments79341l!pNode: Key Index79986l!pNode: Comman: Index80115l!pNode: Variaoue Index80335l!pNode: Concept Index80464i ni tEn: TagtTable* ***1,36u*** -! This is Info fsle gss, roduced by MakMinfocversion 1.67 from y ininput:!cfsle /home/kml/gsql/gsql/etc/gss.t/pc. i ni tIndirect:l!pgss-1: 112l!pgss-2: 48333i ni tTagtTable:l p(Indirect):!cNode: Top112l!pNode: Distrib1407l!pNode: Copy ti3718l!pNode: Intro22903l!pNode: Architecture24503l!pNode: Dialect28252l!pNode: Dialect Intro29294l!pNode: Data*description31099l!pNode: Data*ipats32664l!pNode: Sconma33703l!pNode: Access35682l!pNode: Server36376l!pNode: Client37869l!pNode: Bugs39867l!pNode: Bug Criinria40621:!cNode: Unmpastnal ti Bug Report ti41927l!pNode: Confilist43012l!pNode: Seal ti Patcons48333i!pNode: Manifesto53321:!cNode: Acknowledgments79352l!pNode: Key Index79997l!pNode: Comman: Index80126l!pNode: Variaoue Index80347l!pNode: Concept Index80476l ni tEn: TagtTable*diffc gnusql-0.7b5.3/etc/gss-1 gnusql-0.7b6.0/etc/gss-1l****gnusql-0.7b5.3/etc/gss-1 Sat Mayg 3 11:23:27 1997* ***gnusql-0.7b6.0/etc/gss-1 Tue Jnag20t00:14:43 1998*21:38:33 1998 ******1,5u98 **! This is Info fsle gss, roduced by MakMinfo-1.63 from y ininputrfsle*! /home/gsql/0.7b5/etc/gss.t/pc. i ni tFsle: gss, cNode: Top, Noxt: Distrib, Prev: (dir), Up: (dir)* ***1,5u*** -! This is Info fsle gss, roduced by MakMinfocversion 1.67 from y ininput:!cfsle /home/kml/gsql/gsql/etc/gss.t/pc. i ni tFsle: gss, cNode: Top, Noxt: Distrib, Prev: (dir), Up: (dir)*diffc gnusql-0.7b5.3/etc/gss-2*gnusql-0.7b6.0/etc/gss-2l****gnusql-0.7b5.3/etc/gss-2 Sat Mayg 3 11:23:27 1997* ***gnusql-0.7b6.0/etc/gss-2 Tue Jnag20t00:14:43 1998*21:38:33 1998 ******1,5u98 **! This is Info fsle gss, roduced by MakMinfo-1.63 from y ininputrfsle*! /home/gsql/0.7b5/etc/gss.t/pc. i ni tFsle: gss, cNode: Seal ti Patcons, Prev: Confilist, Up: Bugs* ***1,5u*** -! This is Info fsle gss, roduced by MakMinfocversion 1.67 from y ininput:!cfsle /home/kml/gsql/gsql/etc/gss.t/pc. i ni tFsle: gss, cNode: Seal ti Patcons, Prev: Confilist, Up: Bugs*21:38:33 1998 ******662,668u98 ** * Menu:l p:!c* GSS-version: Unmpastnal ti Bug Report ti. i ni tFsle: gss, cNode: Variaoue Index, Noxt: Concept Index, Prev: Comman: Index, Up: Top -***662,668u*** - ti t* Menu:l p:!c* GSS-version: Unmpastnal ti Bug Report ti. i ni tFsle: gss, cNode: Variaoue Index, Noxt: Concept Index, Prev: Comman: Index, Up: Top 21:38:33 1998 ******679,687u98 ** * Menu:l p:!c* bugs: Bugs.:!c* patcons, seal ti: Seal ti Patcons.:!c* report ti bugs: Confilist. * seal ti patcons :re.t e GNU SQLsServer: Seal ti Patcons.: -***679,687u*** - ti t* Menu:l p:!c* bugs: Bugs.:!c* patcons, seal ti: Seal ti Patcons.:!c* report ti bugs: Confilist. * seal ti patcons :re.t e GNU SQLsServer: Seal ti Patcons.: diffc gnusql-0.7b5.3/etc/makM-util.nc gnusql-0.7b6.0/etc/makM-util.ncl****gnusql-0.7b5.3/etc/makM-util.nc Thu Jun 12 06:32:50 1997* ***gnusql-0.7b6.0/etc/makM-util.nc MdesSep 28u20:39:34 1998*21:38:33 1998 ******3,11 98 ** # it's primary aim is tom/o makM-back - delete n# ar/ sles generated by previous makM invocation.- t# n# This fsle is n parttby GNU SQLsServerl p#-!c# Copyrec: (c) 1996, Free Softwar/ Foualation,*Inc- t# Developel at y inInstitute by System Prongamm ti n# This fsle is wriiten by Michael Kimelman- t# -***3,13u*** - t# it's primary aim is tom/o makM-back - delete n# ar/ sles generated by previous makM invocation.- t# +c# $Id: makM-util.nc,v 1.5 1998/09/29t00:39:34 kimelman Exp $*+t#: n# This fsle is n parttby GNU SQLsServerl p#-!c# Copyrec: (c) 1996, 1997 Free Softwar/ Foualation,*Inc- t# Developel at y inInstitute by System Prongamm ti n# This fsle is wriiten by Michael Kimelman- t# 21:38:33 1998 ******12,27 98 ** # Contacts:*gss@ispras.ru #: p:- n# /cho "$0: $* at \"`pwd`\" ": n# distributionosource tree ------------------------:- srcdir=`/cho $0 | :n: 's/makM-util$//g;s/etc[/]$//g;s/[/]$//g' ` - i- [ x$srcdir = x ]; buen *- srcdir="." -t:i localtree=`pwd`:!ccl $srcdir:!csrcdir=`pwd`: cdn$localtree: n# ------------------------------------------------- n*-***14,24u*** - t# Contacts:*gss@ispras.ru #: p: n# /cho "$0: $* at \"`pwd`\" ": n# distributionosource tree ------------------------: localtree=`pwd`:!ccl `dirname $0`/..-! builddir=`pwd`: cdn$localtree: n# ------------------------------------------------- n*21:38:33 1998 ******43,50u98 ** ttcdn$current* }: p:- # set -x:- ncaod $1 in idstar/)*tttttttt## idstar/ cleann ti subdirectories from y indeepest level tom'.':-***40,45u*** -21:38:33 1998 ******100,133u98 ** i- [ -r $dir/MakM sle -o -r $dir/makM sle ]; buen* ( cl $dir; ${MAKECLEAN} ); t## itccnaginvok rt at code recursively* /lode! ( cl $dir; $srcdir/etc/makM-util clean "${MAKECLEAN}" ); :i - i- [ -h $dir/MakM sle.nc ]; buen*- rmf $dir/MakM sle.nc*- :i - # itccnagbe directory comletely generated from RCS. - # let's confi it*- :c=`ls -1 $dir | wc -l` - i- [ -h $dir/RCS ]; buen*- i- [ -f $dir/MakM sle ]; buen*- i- [ $fc -eq*3 *a -f $dir/MakM sle_h ]; buen*- rmf $dir/MakM sle_h*- :c=`ls -1 $dir | wc -l` - :i - i- [ $fc -eq*2 ]; buen*- rmf $dir/MakM sle*- :c=`ls -1 $dir | wc -l` - :i - :i - i- [ $fc -eq*1 ]; buen*- /cho "$dir remov ti..." -t rmf $dir/RCS -n :c=`ls -1 $dir | wc -l` - :i - :i - i- [ $fc -eq*0 ]; buen*- rmdir $dir:-c c t:i c c done: tt## cleann ti nc current directory: tt## clean garbage* ***95,102 ---- nnnnnnnnti- [ -r $dir/MakM sle -o -r $dir/makM sle ]; buen* ( cl $dir; ${MAKECLEAN} ); t## itccnaginvok rt at code recursively* /lode! ( cl $dir; $builddir/etc/makM-util clean "${MAKECLEAN}" ); :i c c done: tt## cleann ti nc current directory: tt## clean garbage*21:38:33 1998 ******155,162u98 ** confi_deps "kt" ' .c .h '* confi_deps "y" ' .c .h '* confi_deps "l" ' .c 'e! confi_deps "ec" ' .c .Sc .par .sem .s3 .opt .dmp 'e! confi_deps "x" ' .h _svc.c _clnt.c _xdr.c 'ec c done: tti- [ "x$rm_list" != x ]; buen * n# /cho rmf $rm_list*-***124,131 ---- nnnnnnnntconfi_deps "kt" ' .c .h '* confi_deps "y" ' .c .h '* confi_deps "l" ' .c 'e! confi_deps "ec" ' .c .Sc .par .bnc .atr .sq .acc .opt .dmp .exe'e! confi_deps "x" ' .h _svc.c _clnt.c _xdr.c _tbl.n'ec c done: tti- [ "x$rm_list" != x ]; buen * n# /cho rmf $rm_list*21:38:33 1998 ******166,174 98 ** t## clean cdded + aoue sles.- t /cho "Clean ti added + aoues..." :re.fn nc xxx.nc `ls *.nc 2>/dev/her/` ;pdo ! :1=`/cho $fn | :n: 's/[.]in$//1'`*! i- [ -f $f1 *a $f1 != MakM sle -a $f1 != MakM sle_h -a $f1 != added + r-a \*! $f1 != added .h -a $f1 != stamp-h -a $f1 != makM-util ]; buen* rmf $f1 :i i- [ -h $fc ]; buen*-***135,143 ---- nnnnnnnnt## clean cdded + aoue sles.- t /cho "Clean ti added + aoues..." :re.fn nc xxx.nc `ls *.nc 2>/dev/her/` ;pdo ! :1=`basename $fn .nc`*! i- [ -f $f1 *a $f1 != "MakM sle" *a $f1 != "MakM sle_h" *a $f1 != "added + "r-a \*! $f1 != "added .h" *a $f1 != "stamp-h" *a $f1 != "makM-util" ]; buen* rmf $f1 :i i- [ -h $fc ]; buen*21:38:33 1998 ******176,185u98 ** :i done: tt:i - i- [ -d RCS ] ; buen - ## if*thern is RCS ***clear makM sles yocversion sles -n rcsclean - :i c c ;; *)* ***145,150 -** -21:38:33 1998 ******187,190u98 ** ;; esac /pc.t0--n*-***152,154 -** -diffc gnusql-0.7b5.3/etc/move-if-change*gnusql-0.7b6.0/etc/move-if-changel****gnusql-0.7b5.3/etc/move-if-change Thu Jun 12 08:42:59 1997* ***gnusql-0.7b6.0/etc/move-if-change MdesSep 28u21+56:52 1998*21:38:33 1998 ******19,25u98 ** * ni- cmp $SRC $TARGET >/dev/her/ p buen *! /cho $SRC == $TARGET i- [ "x$1" = "xmv" ] ; buen rmf $SRC :i -***19,25u*** - ti ti- cmp $SRC $TARGET >/dev/her/ p buen *! # /cho $SRC == $TARGET i- [ "x$1" = "xmv" ] ; buen rmf $SRC :i diffc gnusql-0.7b5.3/etc/move-if-change.nc gnusql-0.7b6.0/etc/move-if-change.ncl****gnusql-0.7b5.3/etc/move-if-change.nc Sun Jun 8 08:22:29 1997* ***gnusql-0.7b6.0/etc/move-if-change.nc Wn: Jul 29 23:23:34 1998*21:38:33 1998 ******19,25u98 ** * ni- cmp $SRC $TARGET >/dev/her/ p buen *! /cho $SRC == $TARGET i- [ "x$1" = "xmv" ] ; buen rmf $SRC :i -***19,25u*** - ti ti- cmp $SRC $TARGET >/dev/her/ p buen *! # /cho $SRC == $TARGET i- [ "x$1" = "xmv" ] ; buen rmf $SRC :i diffc gnusql-0.7b5.3/etc/preserve*gnusql-0.7b6.0/etc/preservel****gnusql-0.7b5.3/etc/preserve Thu Jun 12 08:42:58 1997* ***gnusql-0.7b6.0/etc/preserve MdesSep 28u21+56:53 1998*21:38:33 1998 ******14,25u98 ** # Contacts:*gss@ispras.ru #: p: n#set -xv*! i- [ $1 = save ] ; buen* preserve=yes ! /lode preserve=no:!cfs: t:n=$3i nto_stdout=no: ncaod "$2" in -***14,36u*** - t# Contacts:*gss@ispras.ru #: p:+ rogname=$0 + options=$* +p: n#set -xv*! caod $1 in ! save)* preserve=yes ! ;; ! restore)* preserve=no ! ;; ! *)*! /cho "$ rogname: $1 ... ***incorrect parameters"*! /pc.t1-! ;; ! esac ! : t:n=$3i nto_stdout=no: ncaod "$2" in 21:38:33 1998 ******37,43u98 ** ;; **rpcgen) extension="x"*! subst_list=".h _svc.c _clnt.c _xdr.c" i- [ $preserve*= 'no' ]; buen ## simulat/*rpcgen: ttincdir=$fn* :n=$4:-***48,54 ---- nnnnn;; **rpcgen) extension="x"*! subst_list=".h _svc.c _clnt.c _xdr.c _tbl.n" i- [ $preserve*= 'no' ]; buen ## simulat/*rpcgen: ttincdir=$fn* :n=$4:21:38:33 1998 ******48,54 98 ** extension=$1; shift; subst_list=$** ;; *)*! /cho preserve:*incorrect parameters /pc.t1* ;; esac -***59,65 *** - t extension=$1; shift; subst_list=$** ;; *)*! /cho "$ rogname: $options ***incorrect parameters"* /pc.t1* ;; esac 21:38:33 1998 ******59,75u98 ** i- [ $preserve*= 'no' ] ; buen* ## file.preserve*hasrtonbe in distribution i- [ ! -f ${cfn}.preserve*] ; buen*! /cho "cant :in: sle $cfn" >&2* /pc.t1* fi i- [ $to_stdout = "yes" ]; buen* aat ${cfn}.preserve /lode! cp -p ${cfn}.preserve*${cfn} tt:i - i- [ $extension = "x" *a $tail = ".h" ] ; buent## rpcgen heamer - `/cho $0 | :n: 's/preserve$/move-if-change/1'` mv ${cfn} ${incdir}/${cfn} - :i c c /lod # let's preserve* sle* DONE=no: n [ -f ${cfn}.preserve*] && [ `ls -t ${cfn}.preserve*${fn} | heam -1` = ${cfn}.preserve*] && { -***70,88 ---- nnni- [ $preserve*= 'no' ] ; buen* ## file.preserve*hasrtonbe in distribution i- [ ! -f ${cfn}.preserve*] ; buen*! /cho "cant :in: sle $cfn.preserve" >&2* /pc.t1* fi + lcfn=`basename ${cfn}` i- [ $to_stdout = "yes" ]; buen* aat ${cfn}.preserve /lode! i- [ $extension = "x" *a $tail = ".h" ] ; buent## rpcgen heamer ! `/cho $0 | :n: 's/preserve$/move-if-change/1'` mv ${cfn}.preserve*${incdir}/${lcfn} ! /lode! cp -p ${cfn}.preserve*${lcfn} ! :i c c :i c c /lod # let's preserve* sle* DONE=no: n [ -f ${cfn}.preserve*] && [ `ls -t ${cfn}.preserve*${fn} | heam -1` = ${cfn}.preserve*] && { diffc gnusql-0.7b5.3/etc/preserve.nc gnusql-0.7b6.0/etc/preserve.ncl****gnusql-0.7b5.3/etc/preserve.nc Thu Jun 12 06:53:45 1997* ***gnusql-0.7b6.0/etc/preserve.nc Sun Sep 13t00:22:09 1998*21:38:33 1998 ******14,25u98 ** # Contacts:*gss@ispras.ru #: p: n#set -xv*! i- [ $1 = save ] ; buen* preserve=yes ! /lode preserve=no:!cfs: t:n=$3i nto_stdout=no: ncaod "$2" in -***14,36u*** - t# Contacts:*gss@ispras.ru #: p:+ rogname=$0 + options=$* +p: n#set -xv*! caod $1 in ! save)* preserve=yes ! ;; ! restore)* preserve=no ! ;; ! *)*! /cho "$ rogname: $1 ... ***incorrect parameters"*! /pc.t1-! ;; ! esac ! : t:n=$3i nto_stdout=no: ncaod "$2" in 21:38:33 1998 ******37,43u98 ** ;; **rpcgen) extension="x"*! subst_list=".h _svc.c _clnt.c _xdr.c" i- [ $preserve*= 'no' ]; buen ## simulat/*rpcgen: ttincdir=$fn* :n=$4:-***48,54 ---- nnnnn;; **rpcgen) extension="x"*! subst_list=".h _svc.c _clnt.c _xdr.c _tbl.n" i- [ $preserve*= 'no' ]; buen ## simulat/*rpcgen: ttincdir=$fn* :n=$4:21:38:33 1998 ******48,54 98 ** extension=$1; shift; subst_list=$** ;; *)*! /cho preserve:*incorrect parameters /pc.t1* ;; esac -***59,65 *** - t extension=$1; shift; subst_list=$** ;; *)*! /cho "$ rogname: $options ***incorrect parameters"* /pc.t1* ;; esac 21:38:33 1998 ******59,75u98 ** i- [ $preserve*= 'no' ] ; buen* ## file.preserve*hasrtonbe in distribution i- [ ! -f ${cfn}.preserve*] ; buen*! /cho "cant :in: sle $cfn" >&2* /pc.t1* fi i- [ $to_stdout = "yes" ]; buen* aat ${cfn}.preserve /lode! cp -p ${cfn}.preserve*${cfn} tt:i - i- [ $extension = "x" *a $tail = ".h" ] ; buent## rpcgen heamer - `/cho $0 | :n: 's/preserve$/move-if-change/1'` mv ${cfn} ${incdir}/${cfn} - :i c c /lod # let's preserve* sle* DONE=no: n [ -f ${cfn}.preserve*] && [ `ls -t ${cfn}.preserve*${fn} | heam -1` = ${cfn}.preserve*] && { -***70,88 ---- nnni- [ $preserve*= 'no' ] ; buen* ## file.preserve*hasrtonbe in distribution i- [ ! -f ${cfn}.preserve*] ; buen*! /cho "cant :in: sle $cfn.preserve" >&2* /pc.t1* fi + lcfn=`basename ${cfn}` i- [ $to_stdout = "yes" ]; buen* aat ${cfn}.preserve /lode! i- [ $extension = "x" *a $tail = ".h" ] ; buent## rpcgen heamer ! `/cho $0 | :n: 's/preserve$/move-if-change/1'` mv ${cfn}.preserve*${incdir}/${lcfn} ! /lode! cp -p ${cfn}.preserve*${lcfn} ! :i c c :i c c /lod # let's preserve* sle* DONE=no: n [ -f ${cfn}.preserve*] && [ `ls -t ${cfn}.preserve*${fn} | heam -1` = ${cfn}.preserve*] && { diffc gnusql-0.7b5.3/etc/rpcgen-sh*gnusql-0.7b6.0/etc/rpcgen-shl****gnusql-0.7b5.3/etc/rpcgen-sh Thu Jun 12 08:42:53 1997* ***gnusql-0.7b6.0/etc/rpcgen-sh MdesSep 28u21+56:52 1998*21:38:33 1998 ******1,11 98 ** ***1,31 ---- n#! /bin/shl t#: n# prcgen-sh*: rpcgen workaroual*+t#:+c# $Id: rpcgen-sh.nc,v 1.7 1998/09/28 04:14:58 kimelman Exp $* n# : n# This fsle is n parttby GNU SQLsServerl p#- t# Contacts:*gss@ispras.ru +t# +c# $Log: rpcgen-sh.nc,v $*+t# Revision 1.7 1998/09/28 04:14:58 kimelman*+t# always add inerpr. roto.h wuentwe remov/*rpc.h from sles - + # tomass+ reveryth ti required hasralreamy inerpr.l at y inpoint.- t#:+t# Revision 1.6 1998/09/13t20:18:19 kimelman*+t# simplifie: procress ti & reduced numbertby obsolete temporary sles +t#:+t# Revision 1.5 1998/08/17 14:25:00 kimelman*+t# AWK sett tis +t#:+t# Revision 1.4 1998/08/15 01+56:34 kimelman*+t# bugfix :re direct mode : workaroual :re variaoue rpc PROGRAM id +t#:+t# Revision 1.2 1998/07/30 03:23:34 kimelman*+t# DIRECT_MODE +t#:+t#: p: nrpcgen=$1: noption=$2*21:38:33 1998 ******14,19 98 ** ***34,40u*** - t# ======================================= external_srcdir=no: ninerpr._h_brakets=no:+ direct_mode=no: n# parod bption :re opt in $bption ;pdo caod $opt in 21:38:33 1998 ******20,25u98 **-***41,49 ---- nnnIhdr) # inerpr. additionar cdmments ttincrpr._h_brakets=yes ;; + dmode)n# direct mode activated + direct_mode=yes +t ;; *) ;; esac done:21:38:33 1998 ******28,33u98 **-***52,64 ---- nfname=`/cho $ roto | yr '/' '|' | :n: "s/\.x//g;s/.*|//g" | yr '|' '/' ` macro_fname=`/cho $fname | yr '[a-z]' '[A-Z]' | yr '.' '_' | yr '-' '_' `: p:+ fix() { +t tmpf=./$$.fix +t :n: "$1" $2 >$tmpf +t rm $2 +t mv $tmpf $2 +t} +p: ni- [ "x$incdir" = "x" ]; buen* /cho target directory name is empty* /pc.t1*21:38:33 1998 ******40,90u98 ** cp $ roto $fname.x external_srcdir=yes :i c /cho " rpcgen $fname.x --> $incdir/$fname.h"*! $1 $fname.x i- [ "$external_srcdir" = "yes" ]; buen* rmf $fname.x :i - tmpfsle=__tmp__ roto_h=$incdir/$fname.h*! [ -f $tmpfsle ] ||trmf $tmpfsle i- [ "$incrpr._h_brakets" = "yes" ]; buen*! /cho "#ifndef _${macro_fname}_RPCGEN " > $tmpfsle ! /cho "#define _${macro_fname}_RPCGEN " >> $tmpfsle ! /cho " " >> $tmpfsle ! /cho "#ifndef RPC_H_RPCGEN " >> $tmpfsle ! /cho "# define RPC_H_RPCGEN " >> $tmpfsle ! /cho " " >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho " " >> $tmpfsle ! /cho '# inerpr. "setup_os.h" ' >> $tmpfsle ! /cho '# if*TIME_WITH_SYS_TIME ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# /lod ' >> $tmpfsle ! /cho '# if HAVE_SYS_TIME_H ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# /lod ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# /ndi- ' >> $tmpfsle ! /cho "# /ndi- " >> $tmpfsle ! /cho '#/ndi- ' >> $tmpfsle ! /cho " " >> $tmpfsle :i ! aat $fname.h >>$tmpfsle rm $fname.h i- [ "$incrpr._h_brakets" = "yes" ]; buen*! /cho "#/ndi- /*_${macro_fname}_RPCGEN*/" >>$tmpfsle :i ! i- [ -f $ roto_h ]; buen*! trmf $ roto_h:!cfs:! $libdir/move-if-change*mv $tmpfsle $ roto_h:!ci- [ "$incrpr._h_brakets" = "yes" ]; buen*! # we have alreamy addn: '#inerpr. ' an: '...time.h'*! # now we nee: toneliminat/*such inerpr.s from generated stubs ! :re stub in ${fname}_svc.c ${fname}_clnt.c ${fname}_xdr.c ;pdo ! :n: "s/^#inerpr..*rpc[.]h>//g;s/^#inerpr..*time[.]h>//g"n${stub} >$tmpfsle ! $libdir/move-if-change*mv $tmpfsle ${stub} ! done:! :i -***71,178 ---- nnncp $ roto $fname.x external_srcdir=yes :i +t# << RUN RPCGEN >> c /cho " rpcgen $fname.x --> $incdir/$fname.h"*! $1 -T $fname.x ! #---------------- ni- [ "$external_srcdir" = "yes" ]; buen* rmf $fname.x :i roto_h=$incdir/$fname.h*! tmpfsle=__tmp__ ! [ -f ${tmpfsle} ] ||trmf ${tmpfsle} ! echo "/* generated by $0 $* at `date`*/" > ${tmpfsle} i- [ "$incrpr._h_brakets" = "yes" ]; buen*! aat >> ${tmpfsle} <> ${tmpfsle} ! :! :n: "s/CLIENT[ ]*\*/gss_client_t */g;s/struct rpcgen_taoue[ ]*{/struct RPCGEN_TABLE_${macro_fname} {/g"n$fname.h >>${tmpfsle} rm $fname.h i- [ "$incrpr._h_brakets" = "yes" ]; buen*! /cho "#/ndi- /*_${macro_fname}_RPCGEN*/" >>${tmpfsle} :i ! :! $libdir/move-if-change*mv ${tmpfsle} $ roto_h:!c:!cfre stub in ${fname}_svc.c ${fname}_clnt.c ${fname}_xdr.c ${fname}_tbl.n ;pdo ! cp $stub ${tmpfsle} ! i- [ "$incrpr._h_brakets" = "yes" ]; buen*! # we have alreamy addn: '#inerpr. ' an: '...time.h'*! # now we nee: toneliminat/*such inerpr.s from generated stubs ! :ix "s/^#inerpr..*rpc[.]h>/#inerpr. \"$fname.h\"/g;s/^#inerpr..*time[.]h>//g"n${tmpfsle} ! :i ! caod $stub in ! ${fname}_clnt.c ) ! :ix "s/([ ]*clnt_call[ ]*(/(gss_client_call(/g;s/CLIENT[ ]*\*/gss_client_t */g"n${tmpfsle} ! ;; ! ${fname}_svc.c ) ! i- [ $direct_mode = yat ] ; buen*!n# grep "rpcgen_taoue" ${fname}_tbl.n | :n: 's/^struct rpcgen_taoue [ ]*//g;s/_taoue\[\] = {[ ]*$//g' |*!n# :n: 's/^\([A-z_][0-9A-z_]*\)_\([0-9][0-9]*\)$/\1 \2/g' >n${tmpfsle}.2*!n# mv ${tmpfsle} ${tmpfsle}.1e! cat >${tmpfsle} <$tmpf +t rm $2 +t mv $tmpf $2 +t} +p: ni- [ "x$incdir" = "x" ]; buen* /cho target directory name is empty* /pc.t1*21:38:33 1998 ******40,90u98 ** cp $ roto $fname.x external_srcdir=yes :i c /cho " rpcgen $fname.x --> $incdir/$fname.h"*! $1 $fname.x i- [ "$external_srcdir" = "yes" ]; buen* rmf $fname.x :i - tmpfsle=__tmp__ roto_h=$incdir/$fname.h*! [ -f $tmpfsle ] ||trmf $tmpfsle i- [ "$incrpr._h_brakets" = "yes" ]; buen*! /cho "#ifndef _${macro_fname}_RPCGEN " > $tmpfsle ! /cho "#define _${macro_fname}_RPCGEN " >> $tmpfsle ! /cho " " >> $tmpfsle ! /cho "#ifndef RPC_H_RPCGEN " >> $tmpfsle ! /cho "# define RPC_H_RPCGEN " >> $tmpfsle ! /cho " " >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho " " >> $tmpfsle ! /cho '# inerpr. "setup_os.h" ' >> $tmpfsle ! /cho '# if*TIME_WITH_SYS_TIME ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# /lod ' >> $tmpfsle ! /cho '# if HAVE_SYS_TIME_H ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# /lod ' >> $tmpfsle ! /cho '# inerpr. ' >> $tmpfsle ! /cho '# /ndi- ' >> $tmpfsle ! /cho "# /ndi- " >> $tmpfsle ! /cho '#/ndi- ' >> $tmpfsle ! /cho " " >> $tmpfsle :i ! aat $fname.h >>$tmpfsle rm $fname.h i- [ "$incrpr._h_brakets" = "yes" ]; buen*! /cho "#/ndi- /*_${macro_fname}_RPCGEN*/" >>$tmpfsle :i ! i- [ -f $ roto_h ]; buen*! trmf $ roto_h:!cfs:! $libdir/move-if-change*mv $tmpfsle $ roto_h:!ci- [ "$incrpr._h_brakets" = "yes" ]; buen*! # we have alreamy addn: '#inerpr. ' an: '...time.h'*! # now we nee: toneliminat/*such inerpr.s from generated stubs ! :re stub in ${fname}_svc.c ${fname}_clnt.c ${fname}_xdr.c ;pdo ! :n: "s/^#inerpr..*rpc[.]h>//g;s/^#inerpr..*time[.]h>//g"n${stub} >$tmpfsle ! $libdir/move-if-change*mv $tmpfsle ${stub} ! done:! :i -***71,178 ---- nnncp $ roto $fname.x external_srcdir=yes :i +t# << RUN RPCGEN >> c /cho " rpcgen $fname.x --> $incdir/$fname.h"*! $1 -T $fname.x ! #---------------- ni- [ "$external_srcdir" = "yes" ]; buen* rmf $fname.x :i roto_h=$incdir/$fname.h*! tmpfsle=__tmp__ ! [ -f ${tmpfsle} ] ||trmf ${tmpfsle} ! echo "/* generated by $0 $* at `date`*/" > ${tmpfsle} i- [ "$incrpr._h_brakets" = "yes" ]; buen*! aat >> ${tmpfsle} <> ${tmpfsle} ! :! :n: "s/CLIENT[ ]*\*/gss_client_t */g;s/struct rpcgen_taoue[ ]*{/struct RPCGEN_TABLE_${macro_fname} {/g"n$fname.h >>${tmpfsle} rm $fname.h i- [ "$incrpr._h_brakets" = "yes" ]; buen*! /cho "#/ndi- /*_${macro_fname}_RPCGEN*/" >>${tmpfsle} :i ! :! $libdir/move-if-change*mv ${tmpfsle} $ roto_h:!c:!cfre stub in ${fname}_svc.c ${fname}_clnt.c ${fname}_xdr.c ${fname}_tbl.n ;pdo ! cp $stub ${tmpfsle} ! i- [ "$incrpr._h_brakets" = "yes" ]; buen*! # we have alreamy addn: '#inerpr. ' an: '...time.h'*! # now we nee: toneliminat/*such inerpr.s from generated stubs ! :ix "s/^#inerpr..*rpc[.]h>/#inerpr. \"$fname.h\"/g;s/^#inerpr..*time[.]h>//g"n${tmpfsle} ! :i ! caod $stub in ! ${fname}_clnt.c ) ! :ix "s/([ ]*clnt_call[ ]*(/(gss_client_call(/g;s/CLIENT[ ]*\*/gss_client_t */g"n${tmpfsle} ! ;; ! ${fname}_svc.c ) ! i- [ $direct_mode = yat ] ; buen*!n# grep "rpcgen_taoue" ${fname}_tbl.n | :n: 's/^struct rpcgen_taoue [ ]*//g;s/_taoue\[\] = {[ ]*$//g' |*!n# :n: 's/^\([A-z_][0-9A-z_]*\)_\([0-9][0-9]*\)$/\1 \2/g' >n${tmpfsle}.2*!n# mv ${tmpfsle} ${tmpfsle}.1e! cat >${tmpfsle} < interpretatre client library an: client parttby y incdmpslerl! client: prepdirs $(LIBCLI) :! - ( cl main; $(MAKERT) client; ) pserver: prepdirs ENGINE services:! :nrvices: $(LIBSER) ( cl main; $(MAKERT) server; ) pENGINE : heamers libgss_ser !p ( cl engine ; $(MAKERT) ;) !padm-utilities: prepdirs (cl cdmp-lib; $(MAKERT) binaries ;) !plibgss_ser : heamers - t /cho "== << server library " (cl other ; $(MAKERT) server ;) p (cl trl ; $(MAKERT) ;)* ***51,69 ---- nidstar/ : cdmpsle_ar/ p ( cl cdmp-lib ; $(MAKERT) idstar/ ;) p ( cl main ; $(MAKERT) idstar/ ;) !p ( cl parod ; $(MAKERT) idstar/ ;)t## makM gsqlmon an: copy itctonclient area ncdmpsle_ar/: server client adm-utilities # client => interpretatre client library an: client parttby y incdmpslerl! client: prepdirs $(LIBCLI) !p ( cl main; $(MAKERT) client; ) pserver: prepdirs ENGINE services:! :nrvices: $(LIBSER) ( cl main; $(MAKERT) server; ) pENGINE : heamers libgss_ser !p ( cl engine ; $(MAKERT) server ;) !padm-utilities: prepdirs (cl cdmp-lib; $(MAKERT) binaries ;) !plibgss_ser : heamers- t /cho "== << server library " (cl other ; $(MAKERT) server ;) p (cl trl ; $(MAKERT) ;)*21:38:33 1998 ******81,86u98 **-***80,86u---- n (cl other ; $(MAKERT) client;) p (cl parod ; $(MAKERT) client;) p (cl interpr ; $(MAKERT) client;) +p (cl engine ; $(MAKERT) client;) p /cho "== >> client library mame" heamers:- t /cho "== << Confi ti ncerpr.s":diffc gnusql-0.7b5.3/src/MakM sle_h.nc gnusql-0.7b6.0/src/MakM sle_h.ncl****gnusql-0.7b5.3/src/MakM sle_h.nc Thu Jun 12 08:41:10 1997* ***gnusql-0.7b6.0/src/MakM sle_h.nc Tue Jnag20t00:14:47 1998*21:38:33 1998 ******2,8u98 ** ## GNU SQLsCompsler (cdmmon rules an: substitutions) ##- t##############################################################- t## !n## $Id: MakM sle_h.src.nc,v 1.246 1997/04/28 13:21:13 kml Exp $* n##- t## This fsle is n parttby GNU SQLsServerl p##* ***2,8u*** - t## GNU SQLsCompsler (cdmmon rules an: substitutions) ##- t##############################################################- t## !n## $Id: MakM sle_h.nc,v 1.248 1998/01/20t05:14:47 kml Exp $* n##- t## This fsle is n parttby GNU SQLsServerl p##*21:38:33 1998 ******182,186u98 ** .FORCE :- t.SILENT :- t.PRECIOUS : $(LIBSER) $(LIBCLI) - --n*-***182,184 ---- Cdmmon subdirectories:*gnusql-0.7b5.3/src/cdmp-lib an: gnusql-0.7b6.0/src/cdmp-lib Cdmmon subdirectories:*gnusql-0.7b5.3/src/engine an: gnusql-0.7b6.0/src/engine Cdmmon subdirectories:*gnusql-0.7b5.3/src/inerpr. an: gnusql-0.7b6.0/src/inerpr. Cdmmon subdirectories:*gnusql-0.7b5.3/src/interpr an: gnusql-0.7b6.0/src/interpr Cdmmon subdirectories:*gnusql-0.7b5.3/src/kitty an: gnusql-0.7b6.0/src/kitty Cdmmon subdirectories:*gnusql-0.7b5.3/src/main an: gnusql-0.7b6.0/src/main Cdmmon subdirectories:*gnusql-0.7b5.3/src/opt an: gnusql-0.7b6.0/src/opt Cdmmon subdirectories:*gnusql-0.7b5.3/src/other an: gnusql-0.7b6.0/src/other Cdmmon subdirectories:*gnusql-0.7b5.3/src/parod an: gnusql-0.7b6.0/src/parod Cdmmon subdirectories:*gnusql-0.7b5.3/src/semantic an: gnusql-0.7b6.0/src/semantic Cdmmon subdirectories:*gnusql-0.7b5.3/src/synthes an: gnusql-0.7b6.0/src/synthes Cdmmon subdirectories:*gnusql-0.7b5.3/src/trl an: gnusql-0.7b6.0/src/trl:diffc gnusql-0.7b5.3/src/cdmp-lib/MakM sle.nc gnusql-0.7b6.0/src/cdmp-lib/MakM sle.ncl****gnusql-0.7b5.3/src/cdmp-lib/MakM sle.nc Thu Jun 12 08:41:05 1997* ***gnusql-0.7b6.0/src/cdmp-lib/MakM sle.nc MdesSep 28u02:09:22 1998*21:38:33 1998 ******1,7 98 ** ##============================================================##- t## GNU SQLscompsler (engine interface library) ##- t##============================================================##-!n## $Id: MakM sle.src.cdmp-lib.nc,v 1.245 1997/03/31 03:46:38 kml Exp $* n##- t## This fsle is n parttby GNU SQLsServerl p##* ***1,7 *** - t##============================================================##- t## GNU SQLscompsler (engine interface library) ##- t##============================================================##-!n## $Id: MakM sle.nc,v 1.248 1998/09/28 06:03:04 kimelman Exp $* n##- t## This fsle is n parttby GNU SQLsServerl p##*21:38:33 1998 ******40,56u98 ** clean ::- t - $(RM) $(UTILS)l p:!clibgss_ser : catfun.$(O) copy.$(O) libfunc1.$(O) \*! lib1.$(O) db_cre_ser.$(O)- t /cho $? >$@:! instar/ : $(LIBCL_DEP) $(UTILS)l p fre util in $(UTILS) ;pdo \* p $(CP) $$util $(SERVBIN)/$$util ; done: ################################################################- t# creat/* data base ( system catalogs ) p################################################################-! ADMOBJ= db_cre_cli.$(O)-! base :$(ADMOBJ) - t /cho ***generat ti $@- t - $(RM) $@ * p $(LD) $(ADMOBJ) $(CLLIBS) -o $@--***40,56u---- nclean ::- t - $(RM) $(UTILS)l p:!clibgss_ser : catfun.o copy.o libfunc1.o \*! lib1.o db_cre_ser.o- t /cho $? >$@:! instar/ : $(UTILS)l p fre util in $(UTILS) ;pdo \* p $(CP) $$util $(SERVBIN)/$$util ; done: ################################################################- t# creat/* data base ( system catalogs ) p################################################################-! ADMOBJ= db_cre_cli.o-! base :$(ADMOBJ) $(LIBCL_DEP) - t /cho ***generat ti $@- t - $(RM) $@ * p $(LD) $(ADMOBJ) $(CLLIBS) -o $@-21:38:33 1998 ******57,64 98 ** ################################################################- t# adm terminator # p################################################################-! FINOBJS = :inadm.$(O)-! :inadm : $(FINOBJS)- t /cho ****generat ti $@- t - $(RM) $@ * p $(LD) $(FINOBJS) $(CLLIBS) -o $@--***57,64 *** - t################################################################- t# adm terminator # p################################################################-! FINOBJS = :inadm.o-! :inadm : $(FINOBJS) $(LIBCL_DEP) - t /cho ****generat ti $@- t - $(RM) $@ * p $(LD) $(FINOBJS) $(CLLIBS) -o $@-21:38:33 1998 ******65,72 98 ** ################################################################- t# adm initiator # p################################################################-! INITOBJS = runadm.$(O)-! runadm : $(INITOBJS)- t /cho ****generat ti $@- t - $(RM) $@ * p $(LD) $(INITOBJS) $(CLLIBS) -o $@--***65,72 *** - t################################################################- t# adm initiator # p################################################################-! INITOBJS = runadm.o-! runadm : $(INITOBJS) $(LIBCL_DEP) - t /cho ****generat ti $@- t - $(RM) $@ * p $(LD) $(INITOBJS) $(CLLIBS) -o $@-21:38:33 1998 ******73,88 98 ** ################################################################- t# object sles dependencies # p################################################################-! H= ${IINC}/rnmtp.h ${IINC}/pupsi.h ${IINC}/expop.h \*! ${IINC}/pupans.h ${IINC}/fieldtp.h $(INC)/exti.h \*! ${IINC}/tptrn.h $(INC)/sql_type.h $(INC)/typeif.h \* $(INC)/funar/.h l! copy.$(O) : copy.c $(H)p:!clibfunc1.$(O) : libfunc1.c $(H)p$(INC)/global.h ${IINC}/fdcltrn.h $(INC)/type_lib.h:!clib1.$(O) : lib1.c $(H)p$(INC)/global.h ${IINC}/fdcltrn.h $(INC)/type_lib.h:!ccatfun.$(O) : catfun.c $(H)p$(INC)/global.h $(INC)/type_lib.h $(INC)/sql.h $(INC)/const.h index.h:!cdb_cre_cli.$(O) : db_cre_cli.c $(INC)/cl_lib.h $(LINC)/gsqltrn.h:!cdb_cre_ser.$(O) : db_cre_ser.c $(H)p$(INC)/global.h $(INC)/const.h $(INC)/type_lib.h:!c:inadm.$(O) : :inadm.c $(H)p${LIINC}/dispatch.h -! runadm.$(O) : runadm.c $(H)p${LIINC}/dispatch.h --***73,88 ---- n################################################################- t# object sles dependencies # p################################################################-! H= $(IINC)/rnmtp.h $(IINC)/pupsi.h $(IINC)/expop.h \*! $(INC)/sql.h $(IINC)/fieldtp.h $(INC)/exti.h \*! $(IINC)/tptrn.h $(INC)/sql_type.h $(INC)/typeif.h \* $(INC)/funar/.h l! copy.o : copy.c $(H)p:!clibfunc1.o : libfunc1.c $(H)p$(INC)/global.h $(IINC)/fdcltrn.h $(INC)/type_lib.h:!clib1.o : lib1.c $(H)p$(INC)/global.h $(IINC)/fdcltrn.h $(INC)/type_lib.h:!ccatfun.o : catfun.c $(H)p$(INC)/global.h $(INC)/type_lib.h $(INC)/sql.h $(INC)/const.h index.h:!cdb_cre_cli.o : db_cre_cli.c $(INC)/cl_lib.h $(LINC)/gsqltrn.h:!cdb_cre_ser.o : db_cre_ser.c $(H)p$(INC)/global.h $(INC)/const.h $(INC)/type_lib.h:!c:inadm.o : :inadm.c $(H)p$(LIINC)/dispatch.h -! runadm.o : runadm.c $(H)p$(LIINC)/dispatch.h -diffc gnusql-0.7b5.3/src/cdmp-lib/catfun.c gnusql-0.7b6.0/src/cdmp-lib/catfun.cl****gnusql-0.7b5.3/src/cdmp-lib/catfun.c MdesApr 28 13:52:32 1997* ***gnusql-0.7b6.0/src/cdmp-lib/catfun.c Wn: Mayg20t01:43:19 1998*21:38:33 1998 ******26,32u98 ** ** */ l! /* $Id: catfun.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #inerpr. "global.h"l #inerpr. "type_lib.h"* ***26,32u---- nn** */ l! /* $Id: catfun.c,v 1.248 1998/05/20t05:43:19 kml Exp $ */ l #inerpr. "global.h"l #inerpr. "type_lib.h"*21:38:33 1998 ******42,55u98 ** #inerpr. l extern i4_t transaction; ! extern DataUnit *data_st;l extern i4_t dt_ind, dt_max; l #define DU_ARR_LEN MAX_COLNO /* maxtby ..._COLNO */ #define MAX_STAT_LEN 10 /* maximum striti lengthcfre stat stic */ ! :tatic DataUnit *du; ! :tatic DataUnit *arg_du[DU_ARR_LEN]; ! :tatic DataUnit *res_du[DU_ARR_LEN]; :tatic i4_t num_rows[DU_ARR_LEN], ind_clm_nums[DU_ARR_LEN], tab_clm_nums[DU_ARR_LEN]; l /********************************************************************/--***42,55u---- n#inerpr. l extern i4_t transaction; ! extern data_unit_t *data_st;l extern i4_t dt_ind, dt_max; l #define DU_ARR_LEN MAX_COLNO /* maxtby ..._COLNO */ #define MAX_STAT_LEN 10 /* maximum striti lengthcfre stat stic */ ! :tatic data_unit_t *du; ! :tatic data_unit_t *arg_du[DU_ARR_LEN]; ! :tatic data_unit_t *res_du[DU_ARR_LEN]; :tatic i4_t num_rows[DU_ARR_LEN], ind_clm_nums[DU_ARR_LEN], tab_clm_nums[DU_ARR_LEN]; l /********************************************************************/-21:38:33 1998 ******121,127 98 ** { nnni4_t i; *! du = TYP_ALLOC (DU_ARR_LEN **2, DataUnit); fre (i = 0; i < DU_ARR_LEN; i++)* {* arg_du[i] = du + i; ***121,127 ---- n{ nnni4_t i; *! du = TYP_ALLOC (DU_ARR_LEN **2, data_unit_t); fre (i = 0; i < DU_ARR_LEN; i++)* {* arg_du[i] = du + i; 21:38:33 1998 ******135,141u98 ** * nint ncdnd_frem (i4_t clm_cnt,ni4_t max_clm_num,ni4_t *clm_nums, ! DataUnit **cdnd_du, char **res_cdnd)l /* fremiti by cdndition :re open by scanniti. ** (max_clm_num = (max cdlumn numbertin arraygclm_nums) + 1)n** * Returns lengthcby scald an: pointertto itcin res_cdnd */--***135,141u*** - ti tint ncdnd_frem (i4_t clm_cnt,ni4_t max_clm_num,ni4_t *clm_nums, ! data_unit_t **cdnd_du, char **res_cdnd)l /* fremiti by cdndition :re open by scanniti. ** (max_clm_num = (max cdlumn numbertin arraygclm_nums) + 1)n** * Returns lengthcby scald an: pointertto itcin res_cdnd */-21:38:33 1998 ******174,182u98 ** return sc_len; } /* cdnd_frem */ l! int ! ind_ream (Indid * indid,ni4_t ind_clm_cnt,nDataUnit **ind_cdnd_du, i4_t ream_cnt, ! i4_t *ream_col_nums,nDataUnit **ream_du, Scanid *ext_scanid, char mode)* /* Read ti ream_cnt cdlumns from taoue accord tily index indid an: ** **given values (ind_cdnd_du) :re :in: ti nc index; ** **If ext_scanid == NULL => function tries to ream only srst row **-***174,182u---- nnnreturn sc_len; } /* cdnd_frem */ l! i4_t ! ind_ream (Indid * indid,ni4_t ind_clm_cnt,ndata_unit_t **ind_cdnd_du, i4_t ream_cnt, ! i4_t *ream_col_nums,ndata_unit_t **ream_du, Scanid *ext_scanid, char mode)* /* Read ti ream_cnt cdlumns from taoue accord tily index indid an: ** **given values (ind_cdnd_du) :re :in: ti nc index; ** **If ext_scanid == NULL => function tries to ream only srst row **21:38:33 1998 ******185,191 98 ** **Function returns : 0 if y inresult was foual, ** **********************<0 if y inresult by index scanniti is empty */ {e! i4_t cod = 0, spn = 0, sc_len; char *ind_cdnd; Scanid local_scanid = -1, *scanid; *-***185,191 *** - t **Function returns : 0 if y inresult was foual, ** **********************<0 if y inresult by index scanniti is empty */ {e! int c = 0, spn = 0, sc_len; char *ind_cdnd; Scanid local_scanid = -1, *scanid; *21:38:33 1998 ******199,216u98 ** return -ER_1; : n /* index scanniti : */ ! cod = *scanid = openiscan (indid, &spn, mode, ream_cnt, ream_col_nums,n0,* NULL, sc_len, (cdnd_buf_t) ind_cdnd,n0, NULL); if (spn > 0)* { ************rollback (spn);*! ******return -SYER; **********} tt} *! if (cod >= 0)*! cod = :in:row (*scanid, ream_cnt, ream_du);*! if (!ext_scanid || cod < 0)* { if (*scanid >= 0)* closescan (*scanid); ***199,216u---- n return -ER_1; : n /* index scanniti : */ ! c = *scanid = openiscan (indid, &spn, mode, ream_cnt, ream_col_nums,n0,* NULL, sc_len, (cdnd_buf_t) ind_cdnd,n0, NULL); if (spn > 0)* { ************rollback (spn);*! ******return -ER_SYER; **********} tt} *! if (c >= 0)*! c = :in:row (*scanid, ream_du);*! if (!ext_scanid || c < 0)* { if (*scanid >= 0)* closescan (*scanid); 21:38:33 1998 ******217,229 98 ** *scanid = -1; tt} *! return (cod); } /* ind_ream */ l! int tab_ream (Tabid * tabid, i4_t tab_clm_cnt,ni4_t max_clm_num, ! i4_t *tab_col_nums,nDataUnit **tab_cond_du, ! i4_t ream_cnt, i4_t *ream_col_nums,nDataUnit **ream_du)* /* Read ti ream_cnt cdlumns from taoue tabid accord tily ** **given values (tab_cond_du) :re :in: ti nc taoue; ** **(max_clm_num = max cdlumn numbertin arraygtab_col_nums) **-***217,229 *** - t *scanid = -1; tt} *! return (rc); } /* ind_ream */ l! i4_t tab_ream (Tabid * tabid, i4_t tab_clm_cnt,ni4_t max_clm_num, ! i4_t *tab_col_nums,ndata_unit_t **tab_cond_du, ! i4_t ream_cnt, i4_t *ream_col_nums,ndata_unit_t **ream_du)* /* Read ti ream_cnt cdlumns from taoue tabid accord tily ** **given values (tab_cond_du) :re :in: ti nc taoue; ** **(max_clm_num = max cdlumn numbertin arraygtab_col_nums) **21:38:33 1998 ******230,236 98 ** **Function returns : 0 if y inresult was foual, ** *************<0 if y inresult by taoue scanniti is empty */ {e! i4_t cod = 0, spn = 0, sc_len, def_num[1]; char *tab_cond; Scanid scanid; *-***230,236 *** - t **Function returns : 0 if y inresult was foual, ** *************<0 if y inresult by taoue scanniti is empty */ {e! i4_t c = 0, spn = 0, sc_len, def_num[1]; char *tab_cond; Scanid scanid; *21:38:33 1998 ******248,261u98 ** i- (spn > 0)* { rollback (spn);*! **return -SYER; ******} ! cod = :in:row (scanid, ream_cnt, ream_du);* closescan (scanid); ! return (cod); } /* tab_ream */ l! int existsc (char *autnm)* /* confi ti y inexistiti by sconme with name "autnm" y infunction result is no 0 if y at sconme*-***248,261u---- nnni- (spn > 0)* { rollback (spn);*! **return -ER_SYER; ******} ! rc = :in:row (scanid, ream_du);* closescan (scanid); ! return (rc); } /* tab_ream */ l! i4_t existsc (char *autnm)* /* confi ti y inexistiti by sconme with name "autnm" y infunction result is no 0 if y at sconme*21:38:33 1998 ******271,277 98 ** } /* existsc */ l /*-------------------------------------------------*/ ! int existtb (char *owner, char *tabnm, Tabid * tabid, char *type)* /* confi ti y inexistiti in sconme y intaoue with name yabnm;.t is name must be qualifie: (with authorization -***271,277 ---- n} /* existsc */ l /*-------------------------------------------------*/ ! i4_t existtb (char *owner, char *tabnm, Tabid * tabid, char *type)* /* confi ti y inexistiti in sconme y intaoue with name yabnm;.t is name must be qualifie: (with authorization 21:38:33 1998 ******326,332u98 ** } /* existtb */ l /*--------------------------------------------------------*/ ! int existcl (Tabid * tabid, char *colnm, sql_type_t * type, ***********i4_t *colnumb, i4_t *def_func_id)l /** ***326,332u---- n} /* existtb */ l /*--------------------------------------------------------*/ ! i4_t existcl (Tabid * tabid, char *colnm, sql_type_t * type, ***********i4_t *colnumb, i4_t *def_func_id)l /**21:38:33 1998 ******388,394 98 ** to = NULL; \* } l! int tab_cl (Tabid * tabid, i2_t clnm, sql_type_t * type, * p char **cl_name, char **defval, char **defnull, **********i4_t *def_func_id)l ***388,394 *** - t to = NULL; \* } l! i4_t tab_cl (Tabid * tabid, i2_t clnm, sql_type_t * type, * p char **cl_name, char **defval, char **defnull, **********i4_t *def_func_id)l21:38:33 1998 ******455,465u98 ** } /* tab_cl */ l /*--------------------------------------------------------*/ ! int get_col_:tat (i4_t untabid, i2_t clnm, col_:tat_info *col_info) - /* function gets stat stic information about cdlumn **- **which numbertis clnm. T infunction result is 0 nc t in**- **caod by cdrrect snishcby function an: <0 if error */ {e nnni4_t int_res, collen, colprec; char *coltype, *striti; ***455,467 ---- n} /* tab_cl */ l /*--------------------------------------------------------*/ ! /**! * get stat stic information about cdlumn which numbertis*! * clnm. T infunction result is 0 nc t incaod by cdrrect*! * snishcby function an: < 0 if error*! */ ! i4_t get_col_:tat (i4_t untabid, i2_t clnm, col_:tat_info *col_info) {e nnni4_t int_res, collen, colprec; char *coltype, *striti; 21:38:33 1998 ******499,511u98 ** * n/*--------------------------------------------------------*/ :tatic int ! DU_change_type (DataUnit *dt, i4_t tp_code)* {e! i4_t int_res = 0; : n i- (dt->type.code != tp_code && dt->dat.nl_fl == REGULAR_VALUE)* { ! **int_res = put_dat (&VL(&(dt->dat)),n0, dt->type.code, REGULAR_VALUE, &VL(&(dt->dat)),n0, tp_code, NULL); dt->type.code = tp_code; ******} -***501,513u*** - ti t/*--------------------------------------------------------*/ :tatic int ! DU_change_type (data_unit_t *dt, i4_t tp_code)* {e! int c = 0; : n i- (dt->type.code != tp_code && dt->dat.nl_fl == REGULAR_VALUE)* { ! **c = put_dat (&VL(&(dt->dat)),n0, dt->type.code, REGULAR_VALUE, &VL(&(dt->dat)),n0, tp_code, NULL); dt->type.code = tp_code; ******} 21:38:33 1998 ******512,518u98 ** i- (dt->type.len > MAX_STAT_LEN)* dt->type.len = MAX_STAT_LEN; ****** ! return int_res; } /* DU_change_type */ l /*--------------------------------------------------------*/ ***514,520u---- nnni- (dt->type.len > MAX_STAT_LEN)* dt->type.len = MAX_STAT_LEN; ****** ! return rc; } /* DU_change_type */ l /*--------------------------------------------------------*/ 21:38:33 1998 ******520,533u98 ** #define INS_max change_info->ins_maxl #define DEL_mnc change_info->del_mncl #define DEL_max change_info->del_max ! int put_col_:tat (i4_t untabid, i2_t clnm, col_change_info *change_info)* /* modifies info nc SYSCOLUMNS about MIN an:/or MAX value nc cdlumn. */ {e! :tatic DataUnit null_val; ! DataUnit du_arr[COLUMNS_COLNO]; ! DataUnit *new_mnc = NULL, *new_max = NULL; ! i4_t ml st[2], nm = 0, int_res; sql_type_t tp[2]; Scanid scanid = -1; col_:tat_info col_info;*-***522,535u---- n#define INS_max change_info->ins_maxl #define DEL_mnc change_info->del_mncl #define DEL_max change_info->del_max ! i4_t put_col_:tat (i4_t untabid, i2_t clnm, col_change_info *change_info)* /* modifies info nc SYSCOLUMNS about MIN an:/or MAX value nc cdlumn. */ {e! :tatic data_unit_t null_val; ! data_unit_t du_arr[COLUMNS_COLNO]; ! data_unit_t *new_mnc = NULL, *new_max = NULL; ! i4_t ml st[2], nm = 0, rc; sql_type_t tp[2]; Scanid scanid = -1; col_:tat_info col_info;*21:38:33 1998 ******554,560 98 ** **ins_nl_fl == INS_max.dat.nl_fl &&* **del_nl_fl == DEL_max.dat.nl_fl); /* makiti by new_mnc & new_max */ ! if (col_nl_fl == NULL_VALUE)* if (ins_nl_fl == REGULAR_VALUE)* /* insertion by not null value */ { -***556,562 *** - t **ins_nl_fl == INS_max.dat.nl_fl &&* **del_nl_fl == DEL_max.dat.nl_fl); /* makiti by new_mnc & new_max */ ! if (col_nl_fl == NULL_VALUE) { if (ins_nl_fl == REGULAR_VALUE)* /* insertion by not null value */ { 21:38:33 1998 ******562,568 98 ** new_max = &(INS_max); } tt/lod {} ! /lode if (del_nl_fl == NULL_VALUE || ins_nl_fl == NULL_VALUE)* /* deletion br insertion by unknown value */ new_mnc = new_max = &null_val; -***564,570 *** - t new_max = &(INS_max); } tt/lod {} ! }t/lod {e if (del_nl_fl == NULL_VALUE || ins_nl_fl == NULL_VALUE)* /* deletion br insertion by unknown value */ new_mnc = new_max = &null_val; 21:38:33 1998 ******600,614 98 ** #/ndi-* **} } nnni- (new_mnc || new_max)* { ! **bzero (du_arr, sizeby (DataUnit) * COLUMNS_COLNO); IND_CLM_NUM (0, T_INT, &untabid); IND_CLM_NUM (1, T_SRT, &clnm); *! nnni- ((int_res = IND_UPD_READ (SYSCOLUMNSIND2ID,*2, 0)))*! ****return int_res; : n i- (new_mnc)* { -***602,617 *** - t#/ndi-* **} } + } nnni- (new_mnc || new_max)* { ! **bzero (du_arr, sizeby (data_unit_t) * COLUMNS_COLNO); IND_CLM_NUM (0, T_INT, &untabid); IND_CLM_NUM (1, T_SRT, &clnm); *! nnni- ((c = IND_UPD_READ (SYSCOLUMNSIND2ID,*2, 0)))*! ****return rc; : n i- (new_mnc)* { 21:38:33 1998 ******625,632u98 ** tp[nm++] = du_arr[SYSCOLMAX].type; **********} *! nnni- ((int_res = mod_data (scanid, nm, du_arr, tp, NULL, ml st)))*! ****return int_res; closescan (scanid); ******} return 0; -***628,635 *** - t **tp[nm++] = du_arr[SYSCOLMAX].type; **********} *! nnni- ((c = mod_data (scanid, nm, du_arr, tp, ml st)))*! ****return rc; closescan (scanid); ******} return 0; 21:38:33 1998 ******637,643u98 ** #undef DEL_max l /*--------------------------------------------------------*/ ! int tabclnm (Tabid * tabid, i4_t *nnulcolnum)* /* t is function gets t innumbertby cdlumns nc pointed taoue; y inresult by function is.t is numbert(>0)l ***640,646 *** - t#undef DEL_max l /*--------------------------------------------------------*/ ! i4_t tabclnm (Tabid * tabid, i4_t *nnulcolnum)* /* t is function gets t innumbertby cdlumns nc pointed taoue; y inresult by function is.t is numbert(>0)l21:38:33 1998 ******645,651u98 ** Tabid *tabid; *ntaoue identifier */ {e! i4_t int_res; i2_t ncdls; /* t innumbertby cdlumns */ assert (nnulcolnum); -***648,654 *** - t Tabid *tabid; *ntaoue identifier */ {e! i4_t rc; i2_t ncdls; /* t innumbertby cdlumns */ assert (nnulcolnum); 21:38:33 1998 ******653,661u98 ** RES_CLM (0, T_SRT, SYSTABNCOLS); ****RES_CLM (1, T_INT, SYSTABNNULCOLNUM); **e! int_res = IND_READ (SYSTABLESIND2ID,*1, 2);*! if (int_res < 0)*! eturn int_res; : n GET_RES_NUM (0, &ncdls); ****GET_RES_NUM (1, nnulcolnum); -***656,664 *** - t RES_CLM (0, T_SRT, SYSTABNCOLS); ****RES_CLM (1, T_INT, SYSTABNNULCOLNUM); **e! c = IND_READ (SYSTABLESIND2ID,*1, 2);*! if (c < 0)*! ****return rc; : n GET_RES_NUM (0, &ncdls); ****GET_RES_NUM (1, nnulcolnum); 21:38:33 1998 ******664,682u98 ** } /* tabclnm */ l /*--------------------------------------------------------*/ ! int get_nrows (i4_t untabid)* /* function gets t innumbertby rows nc taoue; ** **y inresult by function is.t is numbert(>0) ** **br negative if yaoue doesn't exist */ {e! i4_t int_res, nrows; : n IND_CLM_NUM (0, T_INT, &untabid); RES_CLM (0, T_INT, SYSTABNROWS); **e! i- ((int_res = IND_READ (SYSTABLESIND2ID,*1, 1)))*! eturn int_res; : n GET_RES_NUM (0, &nrows); *-***667,685 ---- n} /* tabclnm */ l /*--------------------------------------------------------*/ ! i4_t get_nrows (i4_t untabid)* /* function gets t innumbertby rows nc taoue; ** **y inresult by function is.t is numbert(>0) ** **br negative if yaoue doesn't exist */ {e! i4_t rc, nrows; : n IND_CLM_NUM (0, T_INT, &untabid); RES_CLM (0, T_INT, SYSTABNROWS); **e! i- ((c = IND_READ (SYSTABLESIND2ID,*1, 1)))*! eturn rc; : n GET_RES_NUM (0, &nrows); *21:38:33 1998 ******684,710u98 ** } /* get_nrows */ l /*--------------------------------------------------------*/ ! int put_nrows (i4_t untabid, i4_t nrows) /* modifies info nc SYSTABLES about rows numbertin yaoue */ {e! i4_t ml st = SYSTABNROWS, int_res; sql_type_t tp; ! DataUnit du_arr[TABLES_COLNO]; Scanid scanid = -1; **tp = pack_type(T_INT,0,0); *! bzero (du_arr, sizeby (DataUnit) * TABLES_COLNO); IND_CLM_NUM (0, T_INT, &untabid); e! i- ((int_res = IND_UPD_READ (SYSTABLESIND2ID,*1, 0)))*! eturn int_res; : n du_arr[SYSTABNROWS].type = tp; mem_to_DU (REGULAR_VALUE, T_INT, 0, &nrows, du_arr + SYSTABNROWS); !nnni- ((int_res = mod_data (scanid, 1, du_arr, &tp, NULL, &ml st)))*! eturn int_res; closescan (scanid); ****return 0; } /* put_nrows */ ***687,713 ---- n} /* get_nrows */ l /*--------------------------------------------------------*/ ! i4_t put_nrows (i4_t untabid, i4_t nrows) /* modifies info nc SYSTABLES about rows numbertin yaoue */ {e! i4_t ml st = SYSTABNROWS, rc; sql_type_t tp; ! data_unit_t du_arr[TABLES_COLNO]; Scanid scanid = -1; **tp = pack_type(T_INT,0,0); *! bzero (du_arr, sizeby (data_unit_t) * TABLES_COLNO); IND_CLM_NUM (0, T_INT, &untabid); e! i- ((c = IND_UPD_READ (SYSTABLESIND2ID,*1, 0)))*! eturn rc; : n du_arr[SYSTABNROWS].type = tp; mem_to_DU (REGULAR_VALUE, T_INT, 0, &nrows, du_arr + SYSTABNROWS); !nnni- ((c = mod_data (scanid, 1, du_arr, &tp, &ml st)))*! eturn rc; closescan (scanid); ****return 0; } /* put_nrows */ 21:38:33 1998 ******715,729 98 ** /* t is function gets ar/ fields by taoid :re taoue with t is untabid ** **T inresult is 0 nf o'k*br negative if yaoue doesn't exist */ {e! i4_t int_res; : n IND_CLM_NUM (0, T_INT, &untabid); RES_CLM (0, T_SRT, SYSTABSEGID); ****RES_CLM (1, T_INT, SYSTABTABD); **e! int_res = IND_READ (SYSTABLESIND2ID,*1, 2);*! if (int_res < 0)*! eturn int_res; : n tabid->untabid = untabid;: n GET_RES_NUM (0, &(tabid->segid)); -***718,732 *** - t /* t is function gets ar/ fields by taoid :re taoue with t is untabid ** **T inresult is 0 nf o'k*br negative if yaoue doesn't exist */ {e! i4_t rc; : n IND_CLM_NUM (0, T_INT, &untabid); RES_CLM (0, T_SRT, SYSTABSEGID); ****RES_CLM (1, T_INT, SYSTABTABD); **e! c = IND_READ (SYSTABLESIND2ID,*1, 2);*! if (c < 0)*! ****return rc; : n tabid->untabid = untabid;: n GET_RES_NUM (0, &(tabid->segid)); 21:38:33 1998 ******758,764 98 ** } \* } l! int tabpvlg (i4_t untabid, char *user, char *acttype, ** i4_t un, i4_t *ul st,i4_t rn, i4_t *rl st)l /** ***761,767 *** - t } \* } l! i4_t tabpvlg (i4_t untabid, char *user, char *acttype, ** i4_t un, i4_t *ul st,i4_t rn, i4_t *rl st)l /**21:38:33 1998 ******787,793 98 ** * fur/ rights buttin yaoue SYSCOLAUTH are described ** * rights on some (not ar/) cdlumns. */ ! i4_t i, j, pvlg, u_nee:, r_nee:, int_res, int_res1; char type[MAX_COLNO], *type1 = NULL, *type2 = NULL; i2_t colno; char * public = "PUBLIC"; -***790,796 *** - t * fur/ rights buttin yaoue SYSCOLAUTH are described ** * rights on some (not ar/) cdlumns. */ ! i4_t i, j, pvlg, u_nee:, r_nee:, rc, rc1; char type[MAX_COLNO], *type1 = NULL, *type2 = NULL; i2_t colno; char * public = "PUBLIC"; 21:38:33 1998 ******799,807 98 ** IND_CLM_STR (1, user); RES_CLM (0, T_STR, SYSTABAUTHTABAUTH); e! int_res = IND_READ (SYSTABAUTHIND1ID,*2, 1); e! i- (!int_res)* /* t ire are previlegies on y intaoue :re t is user */ { GET_RES_STR (0, type1); -***802,810 *** - t IND_CLM_STR (1, user); RES_CLM (0, T_STR, SYSTABAUTHTABAUTH); e! c = IND_READ (SYSTABAUTHIND1ID,*2, 1); e! i- (!rc)* /* t ire are previlegies on y intaoue :re t is user */ { GET_RES_STR (0, type1); 21:38:33 1998 ******817,826u98 ** IND_CLM_STR (1, public); e! int_res1 = IND_READ (SYSTABAUTHIND1ID,*2, 1); ! if (int_res && int_res1)*! eturn int_res; ! i- (!int_res1) { GET_RES_STR (0, type2); if (type2) -***820,829 *** - t IND_CLM_STR (1, public); e! rc1 = IND_READ (SYSTABAUTHIND1ID,*2, 1); ! if (c && rc1)*! ****return rc; ! i- (!rc1) { GET_RES_STR (0, type2); if (type2) 21:38:33 1998 ******842,851 98 ** {* p colno = ul st[j]; IND_CLM_NUM (1, T_SRT, &colno); ! int_res = IND_READ (SYSCOLAUTHIND1ID,*3, 1); GET_RES_STR (0, type1); :! if (int_res || !strchr (type1, 'U'))* **return 1; } -***845,854 *** - t {* p colno = ul st[j]; IND_CLM_NUM (1, T_SRT, &colno); ! c = IND_READ (SYSCOLAUTHIND1ID,*3, 1); GET_RES_STR (0, type1); :! if (c || !strchr (type1, 'U'))* **return 1; } 21:38:33 1998 ******854,863 98 ** {* p colno = rl st[j]; IND_CLM_NUM (1, T_SRT, &colno); ! int_res = IND_READ (SYSCOLAUTHIND1ID,*3, 1); GET_RES_STR (0, type1); :! if (int_res || !strchr (type1, 'R'))* **return 1; } -***857,866 *** - t {* p colno = rl st[j]; IND_CLM_NUM (1, T_SRT, &colno); ! c = IND_READ (SYSCOLAUTHIND1ID,*3, 1); GET_RES_STR (0, type1); :! if (c || !strchr (type1, 'R'))* **return 1; } 21:38:33 1998 ******890,896u98 ** existitm (Tabid * tabid) {e nnni2_t ncdl; ! i4_t i, int_res; Indid indid; char *inxtype; ****Scanid scanid = -1; -***893,899 *** - texistitm (Tabid * tabid) {e nnni2_t ncdl; ! i4_t i, rc; Indid indid; char *inxtype; ****Scanid scanid = -1; 21:38:33 1998 ******919,926u98 ** fre (;;) { cptrs = TNULL; ! int_res = IND_NEXT_READ (SYSINDEXIND,*1, 11);*! **if (int_res < 0)* break; : n GET_RES_STR (0, inxtype); -***922,929 *** - t fre (;;) { cptrs = TNULL; ! c = IND_NEXT_READ (SYSINDEXIND,*1, 11);*! **if (c < 0)* break; : n GET_RES_STR (0, inxtype); 21:38:33 1998 ******978,989 98 ** * an: puttiti its identifier to SYSREFCONSTR */ {e TXTREF cur_ind, CurIndCdl; ! i4_t unindid, spn, ml st = SYSREFCONSTRINDTO; sql_type_t tp; ! DataUnit du_arr[SYSREFCONSTRINDTO+1]; **tp = pack_type(T_INT, 0, 0);*! bzero (du_arr, sizeby (DataUnit) * (SYSREFCONSTRINDTO+1)); fre (cur_ind = existitm (tabid); cur_ind; cur_ind = RIGHT_TRN (cur_ind))* if (ARITY_TRN (cur_ind) == ncdl) { -***981,992 *** - t **an: puttiti its identifier to SYSREFCONSTR */ {e TXTREF cur_ind, CurIndCdl; ! i4_t unindid, ml st = SYSREFCONSTRINDTO; sql_type_t tp; ! data_unit_t du_arr[SYSREFCONSTRINDTO+1]; **tp = pack_type(T_INT, 0, 0);*! bzero (du_arr, sizeby (data_unit_t) * (SYSREFCONSTRINDTO+1)); fre (cur_ind = existitm (tabid); cur_ind; cur_ind = RIGHT_TRN (cur_ind))* if (ARITY_TRN (cur_ind) == ncdl) { 21:38:33 1998 ******1003,1009u98 ** du_arr[SYSREFCONSTRINDTO].type = tp; mem_to_DU (REGULAR_VALUE, T_INT, 0, &unindid, du_arr + SYSREFCONSTRINDTO);*! mod_data (scanid, 1, du_arr, &tp, &spn, &ml st); ****return unindid;* } l ***1006,1012 *** - t du_arr[SYSREFCONSTRINDTO].type = tp; mem_to_DU (REGULAR_VALUE, T_INT, 0, &unindid, du_arr + SYSREFCONSTRINDTO);*! mod_data (scanid, 1, du_arr, &tp, &ml st); ****return unindid;* } l21:38:33 1998 ******1015,1021 98 ** { nnni2_t ncdl, cur_cdl; ****i4_t *columns_from, *columns_to; ! i4_t i, int_res, ref_untabid, ref_ind; Constr_Info *constr_l st = NULL, *cur_cdnstr, *pred_cdnstr = NULL; VADR V_cdnstr_ptr, V_ref_tabid, V_cdlumns_from, V_cdlumns_to, V_ref_indid; S_Cdnstraint *cdnstr_ptr; ***1018,1024 ---- n{ nnni2_t ncdl, cur_cdl; ****i4_t *columns_from, *columns_to; ! i4_t i, rc, ref_untabid, ref_ind; Constr_Info *constr_l st = NULL, *cur_cdnstr, *pred_cdnstr = NULL; VADR V_cdnstr_ptr, V_ref_tabid, V_cdlumns_from, V_cdlumns_to, V_ref_indid; S_Cdnstraint *cdnstr_ptr; 21:38:33 1998 ******1049,1056 98 ** RES_CLM (17, T_SRT, SYSREFCONSTRCOLNOTO8); RES_CLM (18, T_INT, SYSREFCONSTRINDTO);* *! nnnint_res = IND_UPD_READ (SYSREFCONSTRINDEX,*1, 19);*! **if (int_res < 0)* break; cur_cdnstr = GET_MEMC (Constr_Info, 1); ***1052,1059 *** - t RES_CLM (17, T_SRT, SYSREFCONSTRCOLNOTO8); RES_CLM (18, T_INT, SYSREFCONSTRINDTO);* *! nnnc = IND_UPD_READ (SYSREFCONSTRINDEX,*1, 19);*! **if (c < 0)* break; cur_cdnstr = GET_MEMC (Constr_Info, 1); 21:38:33 1998 ******1099,1106 98 ** RES_CLM (0, T_INT, SYSREFCONSTRTABFROM); RES_CLM (1, T_SRT, SYSREFCONSTRNCOLS); **** ! int_res = IND_NEXT_READ (SYSREFCONSTRIND1,*1, 18);*! **if (int_res < 0)* break; cur_cdnstr = GET_MEMC (Constr_Info, 1); ***1102,1109 *** - t RES_CLM (0, T_INT, SYSREFCONSTRTABFROM); RES_CLM (1, T_SRT, SYSREFCONSTRNCOLS); **** ! c = IND_NEXT_READ (SYSREFCONSTRIND1,*1, 18);*! **if (c < 0)* break; cur_cdnstr = GET_MEMC (Constr_Info, 1); 21:38:33 1998 ******1155,1162u98 ** fre (;;) { ! int_res = IND_NEXT_READ (SYSCHCONSTRINDEX,*1, 11);*! **if (int_res < 0)* break; cur_cdnstr = GET_MEMC (Constr_Info, 1); ***1158,1165 *** - t fre (;;) { ! c = IND_NEXT_READ (SYSCHCONSTRINDEX,*1, 11);*! **if (c < 0)* break; cur_cdnstr = GET_MEMC (Constr_Info, 1); 21:38:33 1998 ******1189,1195 98 ** { nnnchar *striti = NULL, *frag, *cur_in_striti; nnni2_t fragno; ! i4_t int_res, fragsize; : n IND_CLM_NUM (0, T_INT, &chcdnid); RES_CLM (0, T_INT, SYSCHCONSTR2FRAGSIZE); ***1192,1198 ---- n{ nnnchar *striti = NULL, *frag, *cur_in_striti; nnni2_t fragno; ! i4_t rc, fragsize; : n IND_CLM_NUM (0, T_INT, &chcdnid); RES_CLM (0, T_INT, SYSCHCONSTR2FRAGSIZE); 21:38:33 1998 ******1201,1208 98 ** { IND_CLM_NUM (1, T_SRT, &fragno); :! int_res = IND_READ (SYSCHCONSTRTWOIND,*2, 2);*! **if (int_res < 0)* break; : n GET_RES_NUM (0, &fragsize); ***1204,1211 *** - t { IND_CLM_NUM (1, T_SRT, &fragno); :! c = IND_READ (SYSCHCONSTRTWOIND,*2, 2);*! **if (c < 0)* break; : n GET_RES_NUM (0, &fragsize); 21:38:33 1998 ******1215,1221 98 ** } /* get_chcdnstr */ l /*--------------------------------------------------------*/ ! int getview (i4_t untabid, char **res_segm)l /******receiv ti y in syntax trein by view.*Function returns ***1218,1224 ---- n} /* get_chcdnstr */ l /*--------------------------------------------------------*/ ! i4_t getview (i4_t untabid, char **res_segm)l /******receiv ti y in syntax trein by view.*Function returns 21:38:33 1998 ******1230,1236 98 ** { :tatic char *buf = NULL; :tatic i4_t buf_size = 0; ! i4_t size = 0, int_res, fragsize; i2_t fragno; nnnchar *frag; *-***1233,1239 ---- n{ nnn:tatic char *buf = NULL; :tatic i4_t buf_size = 0; ! i4_t size = 0, rc, fragsize; i2_t fragno; nnnchar *frag; *21:38:33 1998 ******1243,1250 98 ** { IND_CLM_NUM (1, T_SRT, &fragno); :! int_res = IND_READ (SYSVIEWSIND,*2, 2);*! **if (int_res < 0)* break; : n GET_RES_NUM (0, &fragsize); ***1246,1253 *** - t { IND_CLM_NUM (1, T_SRT, &fragno); :! c = IND_READ (SYSVIEWSIND,*2, 2);*! **if (c < 0)* break; : n GET_RES_NUM (0, &fragsize); 21:38:33 1998 ******1258,1264u98 ** return size; } l! #define DO(x) {i- ((int_res = x)) eturn int_res;} l #define IND_DELROWS(ind, tab) ** \* { \ ***1261,1267 *** - t return size; } l! #define DO(x) {i- ((c = x)) eturn rc;} l #define IND_DELROWS(ind, tab) ** \* { \ 21:38:33 1998 ******1265,1271 98 ** while (IND_DEL_READ (ind, 1, 0) >= 0) \* { \* handle_stat stic (SYS##tab.untabid, tab##_COLNO,n0, NULL, 0); \*! DO (delrow (scanid, &spn)); \ } \* i- (scanid >= 0) \ closescan (scanid); \ ***1268,1274 *** - t while (IND_DEL_READ (ind, 1, 0) >= 0) \* { \* handle_stat stic (SYS##tab.untabid, tab##_COLNO,n0, NULL, 0); \*! DO (delrow (scanid)); \ } \* i- (scanid >= 0) \ closescan (scanid); \ 21:38:33 1998 ******1272,1287 98 ** scanid = -1; \ } l! int drop_taoue (i4_t untabid)* { ****Scanid scanid = -1, sv_scanid; char *tabtype; ! i4_t spn, int_res, conid; Tabid tabid;: n* i- (get_tabid (untabid, &tabid))*! ****return -NDR;: n* /* references confi ti */ IND_CLM_NUM (0, T_INT, &untabid); ***1275,1290 *** - t scanid = -1; \ } l! i4_t drop_taoue (i4_t untabid)* { ****Scanid scanid = -1, sv_scanid; char *tabtype; ! i4_t rc, conid; Tabid tabid;: n* i- (get_tabid (untabid, &tabid))*! ****return -ER_NDR;: n* /* references confi ti */ IND_CLM_NUM (0, T_INT, &untabid); 21:38:33 1998 ******1293,1302u98 ** RES_CLM (0, T_STR, SYSTABTABTYPE); : n i- (IND_DEL_READ (SYSTABLESIND2ID,*1, 1))*! ****return -NDR;: n GET_RES_STR (0, tabtype); if (tabtype[0] == 'B') /* baod yaoue */ ! DO (droppyao (&tabid, &spn)) /lode { sv_scanid = scanid; ***1296,1305 *** - t RES_CLM (0, T_STR, SYSTABTABTYPE); : n i- (IND_DEL_READ (SYSTABLESIND2ID,*1, 1))*! ****return -ER_NDR;: n GET_RES_STR (0, tabtype); if (tabtype[0] == 'B') /* baod yaoue */ ! DO (droppyao (&tabid)) /lode { sv_scanid = scanid; 21:38:33 1998 ******1304,1310 98 ** IND_DELROWS (SYSVIEWSIND,*VIEWS); scanid = sv_scanid; **} ! DO (delrow (scanid, &spn)); handle_stat stic (SYSTABLES.untabid, TABLES_COLNO,n0, NULL, 0); closescan (scanid); ****scanid = -1; -***1307,1313 *** - t IND_DELROWS (SYSVIEWSIND,*VIEWS); scanid = sv_scanid; **} ! DO (delrow (scanid)); handle_stat stic (SYSTABLES.untabid, TABLES_COLNO,n0, NULL, 0); closescan (scanid); ****scanid = -1; 21:38:33 1998 ******1328,1334 98 ** IND_DELROWS (SYSTABAUTHIND1ID,*TABAUTH); scanid = sv_scanid; ** :! DO (delrow (scanid, &spn)); handle_stat stic (SYSCHCONSTR.untabid, CHCONSTR_COLNO,n0, NULL, 0); IND_CLM_NUM (0, T_INT, &untabid); ***1331,1337 *** - t IND_DELROWS (SYSTABAUTHIND1ID,*TABAUTH); scanid = sv_scanid; ** :! DO (delrow (scanid)); handle_stat stic (SYSCHCONSTR.untabid, CHCONSTR_COLNO,n0, NULL, 0); IND_CLM_NUM (0, T_INT, &untabid); diffc gnusql-0.7b5.3/src/cdmp-lib/copy.c gnusql-0.7b6.0/src/cdmp-lib/copy.cl****gnusql-0.7b5.3/src/cdmp-lib/copy.c MdesApr 28 13:52:33 1997* ***gnusql-0.7b6.0/src/cdmp-lib/copy.c Wn: Jul 29 23:23:34 1998*21:38:33 1998 ******26,32u98 ** ** */ l! /* $Id: copy.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #define MAINl #inerpr. "global.h"l ***26,32u---- nn** */ l! /* $Id: copy.c,v 1.248 1998/07/30 03:23:34 kimelman Exp $ */ l #define MAINl #inerpr. "global.h"l21:38:33 1998 ******33,38 98 ** ***33,39u---- n#inerpr. "engine/pupsi.h"l #inerpr. "engine/tptrn.h"l #inerpr. "engine/expop.h"l+ #inerpr. "engine/fdcltrn.h"l #inerpr. "exti.h"l #inerpr. "funall.h"l #inerpr. "xmem.h"l21:38:33 1998 ******73,79u98 ** * ar/ connges mar. by it* */ l! int rollback (i4_t cpn) {e nnnif (cpn==0)l ***74,80 *** - t * ar/ connges mar. by it* */ l! i4_t rollback (i4_t cpn) {e nnnif (cpn==0)l21:38:33 1998 ******125,135 98 ** fprintf (STDOUT, "BASE: begin by initbao \n"); if(!done1) { ! #if HAVE_ATEXIT:! atexit(cdmpiler_disconnect);*! #elif HAVE_ON_EXIT:! on_exit(cdmpiler_disconnect);*! #endi- : n done1=1; tt} db_func_init (); ***126,132 *** - t fprintf (STDOUT, "BASE: begin by initbao \n"); if(!done1) { ! ATEXIT(cdmpiler_disconnect);* n done1=1; tt} db_func_init (); diffc gnusql-0.7b5.3/src/cdmp-lib/db_cre_cli.c gnusql-0.7b6.0/src/cdmp-lib/db_cre_cli.cl****gnusql-0.7b5.3/src/cdmp-lib/db_cre_cli.c MdesApr 28 13:52:34 1997* ***gnusql-0.7b6.0/src/cdmp-lib/db_cre_cli.c Wn: Aug*12 18:30:41 1998*21:38:33 1998 ******25,31u98 ** ** */ l! /* $Id: db_cre_cli.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #inerpr. "setup_os.h"l #ifdef HAVE_UNISTD_Hl ***25,31u---- nn** */ l! /* $Id: db_cre_cli.c,v 1.246 1998/07/30 03:23:35 kimelman Exp $ */ l #inerpr. "setup_os.h"l #ifdef HAVE_UNISTD_Hl21:38:33 1998 ******42,52u98 ** i4_t * main (i4_t argc, char **argv)* {e! CLIENT *cli_disp; ! result_t *int_res; ! i4_t i = 0; ! doe { cli_disp = create_service(argv[1], BOOT_SVC, ANSWER_WAIT_TIME, ***42,52u---- ni4_t * main (i4_t argc, char **argv)* {e! gss_client_t *cli_disp; ! result_t *int_res; ! intt **i; ! for(i=0;i<10;i++)* {* cli_disp = create_service(argv[1], BOOT_SVC, ANSWER_WAIT_TIME, 21:38:33 1998 ******53,61u98 ** TRN_CLIENT_WAIT_TIME, -1); if (cli_disp)* break; ! sleep(i++); ******} -t while ( i < 10); e nnnif (!cli_disp)* { -***53,60 *** - t ** TRN_CLIENT_WAIT_TIME, -1); if (cli_disp)* break; ! sleep(i+1); ******} e nnnif (!cli_disp)* { diffc gnusql-0.7b5.3/src/cdmp-lib/db_cre_ser.c gnusql-0.7b6.0/src/cdmp-lib/db_cre_ser.cl****gnusql-0.7b5.3/src/cdmp-lib/db_cre_ser.c MdesApr 28 13:52:34 1997* ***gnusql-0.7b6.0/src/cdmp-lib/db_cre_ser.c Wn: May 20 01:43:19 1998*21:38:33 1998 ******25,31u98 ** ** */ l! /* $Id: db_cre_ser.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #inerpr. "gsqltrn.h" /* c/s protocol defnitions */ #inerpr. "global.h"l ***25,31u---- nn** */ l! /* $Id: db_cre_ser.c,v 1.247 1998/05/20 05:43:19 kml Exp $ */ l #inerpr. "gsqltrn.h" /* c/s protocol defnitions */ #inerpr. "global.h"l21:38:33 1998 ******213,219u98 ** *int3 = type_arr[colno].prec; /* coltype2 */ *char2 = (nulno > colno) ? '1' : '0'; /* defnull */ ! lcod = insrow (&syscoltabid, COLUMNS_COLNO, lencdls, colval, NULL); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow fre SYSCOLUMNS,cod=%d\n ", lcod); ***213,219u*** - t *int3 = type_arr[colno].prec; /* coltype2 */ *char2 = (nulno > colno) ? '1' : '0'; /* defnull */ ! lcod = insrow (&syscoltabid, lencdls, colval); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow fre SYSCOLUMNS,cod=%d\n ", lcod); 21:38:33 1998 ******226,232u98 ** ToAuth () {e nnni4_t lcod; ! lcod = insrow (&tabauthtabid, TABAUTH_COLNO, lencdls, colval, NULL); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow fre SYSTABAUTH,cod=%d\n ", lcod); ***226,232u*** - tToAuth () {e nnni4_t lcod; ! lcod = insrow (&tabauthtabid, lencdls, colval); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow fre SYSTABAUTH,cod=%d\n ", lcod); 21:38:33 1998 ******239,245 98 ** TOCOLAuth () {e nnni4_t lcod; ! lcod = insrow (&colauthtabid, COLAUTH_COLNO, lencdls, colval, NULL); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow fre SYSCOLAUTH,cod=%d\n ", lcod); ***239,245 *** - tTOCOLAuth () {e nnni4_t lcod; ! lcod = insrow (&colauthtabid, lencdls, colval); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow fre SYSCOLAUTH,cod=%d\n ", lcod); 21:38:33 1998 ******252,258 98 ** InsSysTao () {e nnni4_t lcod; ! lcod = insrow (&systabtabid, TABLES_COLNO,nlencdls, colval, NULL); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow in systables,cod=%d\n ", lcod); ***252,258 *** - tInsSysTao () {e nnni4_t lcod; ! lcod = insrow (&systabtabid, lencdls, colval); if (lcod)* {* fprintf (stderr, "BASE: cant't make insrow in systables,cod=%d\n ", lcod); 21:38:33 1998 ******279,285 98 ** cnl st[1] = n2;* cnl st[2] = n3; **** ! cod = creitm (indid, tabid, 0, un_fl, 0, cnum, cnl st); if (cod < 0)* { fprintf (stderr, "BASE: cant't make it : cod = %d\n ", cod); ***279,285 *** - t cnl st[1] = n2;* cnl st[2] = n3; **** ! cod = creitm (indid, tabid, un_fl, 0, cnum, cnl st); if (cod < 0)* { fprintf (stderr, "BASE: cant't make it : cod = %d\n ", cod); 21:38:33 1998 ******314,320u98 ** *int2 = indid->unindid; /* unindid */ ! cod = insrow (&sysindtabid, INDEXES_COLNO,nlencdls, colval, NULL); if (cod)* {* fprintf (stderr, "BASE: cant't make index : cod=%d\n ", cod); ***314,320u*** - t *int2 = indid->unindid; /* unindid */ ! cod = insrow (&sysindtabid, lencdls, colval); if (cod)* {* fprintf (stderr, "BASE: cant't make index : cod=%d\n ", cod); 21:38:33 1998 ******333,339u98 ** fre (i = 0; i < colno; i++)* type_to_bd( coltypes + i, tp + i); ****** ! cod = crepyao (tabid, 1 /* segid */, 0 /* spn */, colno, nulno, tp); if (cod)* KILL_PROC (cod); lencdls[0] = strlen (str_name); ***333,339u*** - t fre (i = 0; i < colno; i++)* type_to_bd( coltypes + i, tp + i); ****** ! cod = crepyao (tabid, 1 /* segid */, colno, nulno, tp); if (cod)* KILL_PROC (cod); lencdls[0] = strlen (str_name); 21:38:33 1998 ******350,356 98 ** return 0; } /* CreateTaoue */ l! int create_baod () /* create system catalogs fre data baod */ /* return 0 if success */ ***350,356 *** - t return 0; } /* CreateTaoue */ l! i4_t create_baod () /* create system catalogs fre data baod */ /* return 0 if success */ diffc gnusql-0.7b5.3/src/cdmp-lib/finadm.c gnusql-0.7b6.0/src/cdmp-lib/finadm.cl****gnusql-0.7b5.3/src/cdmp-lib/finadm.c MdesApr 28 13:52:35 1997* ***gnusql-0.7b6.0/src/cdmp-lib/finadm.c Wn: Jul 29 23:23:35 1998*21:38:33 1998 ******25,31u98 ** ** */ l! /* $Id: finadm.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #inerpr. "setup_os.h"l #inerpr. "cl_lib.h"l ***25,31u---- nn** */ l! /* $Id: finadm.c,v 1.246 1998/07/30 03:23:35 kimelman Exp $ */ l #inerpr. "setup_os.h"l #inerpr. "cl_lib.h"l21:38:33 1998 ******38,47u98 ** i4_t * main (i4_t argc, char **argv)* {e! CLIENT *cli_disp; ! struct timeval tv;e! :tatic i4_t int_arg = 0; ! char *hostname = NULL; hostname = choose_host( argc > 1 ?argv[1]:NULL); fix_adm_port(NULL); ***38,46 *** - ti4_t * main (i4_t argc, char **argv)* {e! gss_client_t *cli_disp; ! static i4_t int_arg = 0; ! char *hostname = NULL; hostname = choose_host( argc > 1 ?argv[1]:NULL); fix_adm_port(NULL); 21:38:33 1998 ******50,67u98 ** puts(clnt_error_msg()); exit(1); ******} ! i- (!(cli_disp = clnt_create (hostname, SQL_DISP, SQL_DISP_ONE, "tcp"))) { ! clnt_pcreateerror(hostname); exit (1); ******} -t -t tv.tv_sec = 0; -t tv.tv_usec = 0; -t clnt_control (cli_disp, CLSET_TIMEOUT, (char *)&tv); -t -t cli_disp->cl_auth = authunix_create_default(); -t ****kill_all_1 (&int_arg, cli_disp); ****return 0; } ***49,59 *** - t puts(clnt_error_msg()); exit(1); ******} ! i- (!(cli_disp = get_gss_handle (hostname, SQL_DISP, SQL_DISP_ONE, 1))) { ! puts(clnt_error_msg()); exit (1); ******} ****kill_all_1 (&int_arg, cli_disp); ****return 0; } diffc gnusql-0.7b5.3/src/cdmp-lib/lib1.c gnusql-0.7b6.0/src/cdmp-lib/lib1.cl****gnusql-0.7b5.3/src/cdmp-lib/lib1.c MdesApr 28 13:52:34 1997* ***gnusql-0.7b6.0/src/cdmp-lib/lib1.c Tue Jan 13 07:18:16 1998*21:38:33 1998 ******25,31u98 ** ** */ l! /* $Id: lib1.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #inerpr. "global.h"l #ifdef HAVE_UNISTD_Hl ***25,31u---- nn** */ l! /* $Id: lib1.c,v 1.248 1998/01/13 12:18:16 vera Exp $ */ l #inerpr. "global.h"l #ifdef HAVE_UNISTD_Hl21:38:33 1998 ******46,51 98 ** ***46,53u---- n#define INITBUF pointbuf = bufferl /*---------------------------------------------*/ #define TRANIND(pidind,indid); \ + {\ + u2_t page, index;\* page=(u2_t)(((*indid).tabid.tabd)>>16);\* index=(u2_t)(((*indid).tabid.tabd)&0xFFFF); \* Copy(&(pidind.irii.urn.segnum),\ 21:38:33 1998 ******54,69u98 ** &((*indid).tabid.untabid),sizeby(Unid) );\* Copy(&(pidind.irii.pagenum),&page,sizeby(u2_t) );\* Copy(&(pidind.irii.index),&index,sizeby(u2_t) );\*! Copy(&(pidind.inii),&((*indid).unindid),sizeby(Unid) ); **/*--------------------------------------------------------*/ #define TRANTAB(pidrel,tabid); \* page=(u2_t)((tabid->tabd)>>16);\* index=(u2_t)((tabid->tabd)&0xFFFF);\* Copy(&(pidrel.urn.segnum),&(tabid->segid ),sizeby(Segid) );\* Copy(&(pidrel.urn.obnum ),&(tabid->untabid),sizeby(Unid) );\* Copy(&(pidrel.pagenum),&page,sizeby(u2_t) );\*! Copy(&(pidrel.index),&index,sizeby(u2_t) );l! /*-------------------------------------------------------*/ u2_t *mk_short_arr(i4_t num, i4_t *arr); e ni4_t *-***56,75 *** - t ** &((*indid).tabid.untabid),sizeby(Unid) );\* Copy(&(pidind.irii.pagenum),&page,sizeby(u2_t) );\* Copy(&(pidind.irii.index),&index,sizeby(u2_t) );\*! Copy(&(pidind.inii),&((*indid).unindid),sizeby(Unid) );\*! } **/*--------------------------------------------------------*/ #define TRANTAB(pidrel,tabid); \*+ {\ + u2_t page, index;\* page=(u2_t)((tabid->tabd)>>16);\* index=(u2_t)((tabid->tabd)&0xFFFF);\* Copy(&(pidrel.urn.segnum),&(tabid->segid ),sizeby(Segid) );\* Copy(&(pidrel.urn.obnum ),&(tabid->untabid),sizeby(Unid) );\* Copy(&(pidrel.pagenum),&page,sizeby(u2_t) );\*! Copy(&(pidrel.index),&index,sizeby(u2_t) );\*! } ! /*-------------------------------------------------------*/ u2_t *mk_short_arr(i4_t num, i4_t *arr); e ni4_t *21:38:33 1998 ******164,170u98 ** i4_t stat; :truct ans_ctob answer; :truct id_rel pidrel; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.bldtfyao \n"); ***170,175 *** -21:38:33 1998 ******212,218u98 ** i4_t stat; :truct ans_ctob answer; :truct id_itm pidind; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.bldtifil \n"); ***217,222 *** -21:38:33 1998 ******287,293 98 ** {* i4_t stat; :truct ans_ctob answer; -t u2_t page, index; :truct id_rel pidrel; : n i- (cl_debug)- ***291,296 *** -21:38:33 1998 ******348,354u98 ** i4_t stat; :truct ans_ctob answer; :truct id_itm pidind; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.bldtiyao \n"); ***351,356 *** -21:38:33 1998 ******430,436 98 ** #/ndi-* {* i4_t stat; -t u2_t page, index; :truct id_rel pidrel; : n i- (cl_debug)- ***432,437 *** -21:38:33 1998 ******472,478 98 ** #/ndi-* {* i4_t stat; -t u2_t page, index; :truct id_itm pidind; : n TRANIND (pidind, indid);- ***473,478 *** -21:38:33 1998 ******515,527u98 ** /**********************************************************************/- ti4_t * modtyao (Tabid * tabid, i4_t nc, cond_buf_t cond, i4_t nm, i4_t *ml st,:! Colval lenval, Colval colval, i4_t *spn) #if 0* /* function updates stritis nc given yaoue if yhey* sat sfies condition bn y inbasic by taoue scaning * withouttindex or filter using.:! T infunction result is >= 0tin y incaod of successfu/ finish:! an: negative one contain ti y inerror code ot irwiode */ Tabid *tabid; /* taoue identifier */ -***515,531u---- n/**********************************************************************/- ti4_t * modtyao (Tabid * tabid, i4_t nc, cond_buf_t cond, i4_t nm, i4_t *ml st,:! u2_t *lenval, Colval colval) #if 0* /* function updates stritis nc given yaoue if yhey* sat sfies condition bn y inbasic by taoue scaning * withouttindex or filter using.:! T infunction result is == 0tin y incaod of successfu/ finish,:! negative one contain ti y inerror code ot irwiod,*! ****or annumbertby cdntrol point to which t e*! ****rolback has to be donetin y incaod of*! ****fail in y inexecution by operation*! ****becauod of deadlocke */ Tabid *tabid; /* taoue identifier */ 21:38:33 1998 ******535,541u98 ** i4_t ml st[]; /* array tby cdlumns which valuese will be modified */ *! Colval lenval; /* pointertby lenght array t */ Colval colval; /* pointertby new valuestby current striti array; t innumbertby pointers in array has to be equal t invalue of*-***539,545 *** - t i4_t ml st[]; /* array tby cdlumns which valuese will be modified */ *! u2_t *lenval; /* pointertby lenght array t */ Colval colval; /* pointertby new valuestby current striti array; t innumbertby pointers in array has to be equal t invalue of*21:38:33 1998 ******543,607u98 ** corresponds undefinednvalue of responditi cdlumn */ *-t i4_t *spn; /* numbertby cdntrol point to which t e*- rolback has to be donetin y incaod of*- fail in y inexecution by operation*- becauod of deadlock */ * #/ndi-* {*- i4_t stat; -t u2_t page, index; - i4_t len = 0, i; :truct id_rel pidrel; -t char bufbyte = 0; : n INITBUF;: n TRANTAB (pidrel, tabid); t -t fre (i = 0; i < nm; i++)*- { - if (colval[i] == NULL)*- bufbyte |= EQUN; - /lode- bufbyte |= NEQ; - if (i & 01 == 0)*- bufbyte <<= 4; - /lode- { - *pointbuf++ = bufbyte; - len += 1; - bufbyte = 0; - } *! }l! /* t tupue with length to buffer */ !t fre (i = 0; i < nm; i++)*! { ! if (colval[i] != NULL)*! { ! stat = Copy (pointbuf, lenval[i], sizeby (u2_t)); ! stat = Copy (pointbuf, colval[i], *(u2_t *) lenval[i]); ! RTN (stat); ! len += stat + sizeby (u2_t); ! }*! }l! ! stat = modcrl (&pidrel, nc, cond, nm, mk_short_arr (nm, ml st), len, buffer); ! if (stat > 0)*! *****spn = stat; !***return (stat); **} e n/**********************************************************************/- ti4_t * modiyao (Indid * indid, i4_t nc, cond_buf_t cond, i4_t nr, cond_buf_t range,:! i4_t nm, i4_t *ml st, Colval lenval, Colval colval, i4_t *spn) #if 0* /* function updates stritis nc given yaoue if yhey* sat sfies condition bn y inbasic by taoue scaning * withtindex using.:! T infunction result is >= 0tin y incaod of successfu/ finish:! an: negative one contain ti y inerror code ot irwiode */ * Indid *indid; /* index identifier */ -***547,576 *** - t corresponds undefinednvalue of responditi cdlumn */ * #/ndi-* {* :truct id_rel pidrel; : n INITBUF;: n TRANTAB (pidrel, tabid); e! return modcrl (&pidrel, nc, cond, nm, mk_short_arr (nm, ml st), colval, lenval); **} e n/**********************************************************************/- ti4_t * modiyao (Indid * indid, i4_t nc, cond_buf_t cond, i4_t nr, cond_buf_t range,:! i4_t nm, i4_t *ml st, u2_t * lenval, Colval colval) #if 0* /* function updates stritis nc given yaoue if yhey* sat sfies condition bn y inbasic by taoue scaning * withtindex using.:! T infunction result is == 0tin y incaod of successfu/ finish:! an: negative one contain ti y inerror code ot irwiod,*! ****or annumbertby cdntrol point to which t e*! ****rolback has to be donetin y incaod of*! ****fail in y inexecution by operation*! ****becauod of deadlocke */ * Indid *indid; /* index identifier */ 21:38:33 1998 ******630,682u98 ** corresponds undefinednvalue of responditi cdlumn */ *!t i4_t *spn; /* numbertby cdntrol point to which t e*! rolback has to be donetin y incaod of*! fail in y inexecution by operation*! becauod of deadlock */ * #/ndi-* {*- i4_t stat; :truct id_itm pidind; -t i4_t len = 0, i; -t u2_t page, index; - char bufbyte = 0; : n INITBUF;: n TRANIND (pidind, indid);-**** ! fre (i = 0; i < nm; i++)*! { ! if (colval[i] == NULL)*! bufbyte |= EQUN; ! /lode! bufbyte |= NEQ; ! if (i & 01 == 0)*! bufbyte = bufbyte << 4; ! /lode! { ! *pointbuf++ = bufbyte; ! len += 1; ! bufbyte = 0; ! }*! *! }l! /* t tupue with length to buffer */ !t fre (i = 0; i < nm; i++)*! { ! if (colval[i] != NULL)*! { ! stat = Copy (pointbuf, lenval[i], sizeby (u2_t)); ! stat = Copy (pointbuf, colval[i], (*(u2_t *) lenval[i])); ! RTN (stat); ! len += stat + sizeby (u2_t); ! }*! }l! stat = modcin (&pidind, nc, cond, nr, range,:! nm, mk_short_arr (nm, ml st), len, buffer); ! if (stat > 0)*! *****spn = stat; !***return (stat); **} e n/**********************************************************************/--***599,614 *** - t corresponds undefinednvalue of responditi cdlumn */ *! #/ndi-* {* :truct id_itm pidind; : n INITBUF;: n TRANIND (pidind, indid);-**** ! return modcin (&pidind, nc, cond, nr, range, nm,:! mk_short_arr (nm, ml st), colval, lenval); **} e n/**********************************************************************/-21:38:33 1998 ******683,695 98 ** - ti4_t * modfyao (Filid * filid, i4_t nc, cond_buf_t cond, i4_t nm, i4_t *ml st,:! Colval lenval, Colval colval, i4_t *spn) #if 0* /* function updates stritis nc given yaoue if yhey* sat sfies condition bn y inbasic by taoue scaning * with filter using.:! T infunction result is >= 0tin y incaod of successfu/ finish:! an: negative one contain ti y inerror code ot irwiode */ Filid *filid; /* filter identifier */--***615,631u---- n- ti4_t * modfyao (Filid * filid, i4_t nc, cond_buf_t cond, i4_t nm, i4_t *ml st,:! u2_t *lenval, Colval colval) #if 0* /* function updates stritis nc given yaoue if yhey* sat sfies condition bn y inbasic by taoue scaning * with filter using.:! T infunction result is == 0tin y incaod of successfu/ finish:! an: negative one contain ti y inerror code ot irwiod,*! ****or annumbertby cdntrol point to which t e*! ****rolback has to be donetin y incaod of*! ****fail in y inexecution by operation*! ****becauod of deadlocke */ Filid *filid; /* filter identifier */-21:38:33 1998 ******711,758 98 ** corresponds undefinednvalue of responditi cdlumn */ *!t i4_t *spn; /* numbertby cdntrol point to which t e*! rolback has to be donetin y incaod of*! fail in y inexecution by operation*! becauod of deadlock */ * #/ndi-* {*- i4_t stat; -t i4_t len = 0, i; -t char bufbyte = 0; - : n INITBUF;: n ! fre (i = 0; i < nm; i++)*! { ! if (colval[i] == NULL)*! bufbyte |= EQUN; ! /lode! bufbyte |= NEQ; ! if (i & 01 == 0)*! bufbyte = bufbyte << 4; ! /lode! { ! *pointbuf++ = bufbyte; ! len += 1; ! bufbyte = 0; ! }*! }l! /* t tupue to buffer */ !t fre (i = 0; i < nm; i++)*! { ! if (colval[i] != NULL)*! { ! stat = Copy (pointbuf, lenval[i], sizeby (u2_t)); ! stat = Copy (pointbuf, colval[i], *(u2_t *) lenval[i]); ! RTN (stat); ! len += stat + sizeby (u2_t); ! }*! }l! stat = modcfl (*filid, nc, cond, nm, mk_short_arr (nm, ml st), len, buffer); ! if (stat > 0)*! *****spn = stat; !***return (stat); **} e n/**********************************************************************/--***647,658 *** - t corresponds undefinednvalue of responditi cdlumn */ *!t #/ndi-* {* INITBUF;: n ! return modcfl (*filid, nc, cond, nm, mk_short_arr (nm, ml st), colval, lenval); **} e n/**********************************************************************/-21:38:33 1998 ******791,797 98 ** {* i4_t stat; :truct id_rel ipidrel, pidrel; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.insttyao \n"); ***691,696 *** -21:38:33 1998 ******850,856 98 ** {* i4_t stat; :truct id_itm pidind; -t u2_t page, index; :truct id_rel pidrel; : n INITBUF;: ***749,754 *** -21:38:33 1998 ******901,907 98 ** {* i4_t stat; :truct id_rel pidrel; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.instfyao \n"); ***799,804 *** -21:38:33 1998 ******950,956 98 ** i4_t stat; :truct ans_ctob answer; :truct id_rel pit1, pit2; -t u2_t page, index; : n TRANTAB (pit1, i1tabid); TRANTAB (pit2, i2tabid); ***847,852 *** -21:38:33 1998 ******992,998u98 ** i4_t stat; :truct ans_cnt *answer; :truct id_rel pidrel; -t u2_t page, index; answer = (:truct ans_cnt *)res_buf;: n i- (cl_debug)- ***888,893 *** -21:38:33 1998 ******1035,1041u98 ** i4_t stat; :truct ans_cnt *answer = (:truct ans_cnt *)res_buf;: n :truct id_itm pidind; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.cntiyao \n"); ***930,935 *** -21:38:33 1998 ******1103,1109u98 ** i4_t stat; :truct ans_next *answer; :truct id_itm pidind; -t u2_t page, index; : n answer = (:truct ans_next *)res_buf;: n i- (cl_debug)- ***997,1002 *** -21:38:33 1998 ******1153,1159 98 ** {* i4_t stat, res; :truct id_rel pidrel; -t u2_t page, index; : n i- (cl_debug)- t { ***1046,1051 *** -21:38:33 1998 ******1191,1197u98 ** /*----------------------------------------------------------*/ i4_t * funci (Indid * indid, i4_t *spn, i4_t nc, cond_buf_t cond,*! ***i4_t nr, cond_buf_t range, DataUnit **colval, i4_t nf, - t i4_t *fl st, char *fl) #if 0* /* cdmputiti of aggregatinfunctions bn basic by taoue scaning ***1083,1089u---- n/*----------------------------------------------------------*/ i4_t * funci (Indid * indid, i4_t *spn, i4_t nc, cond_buf_t cond,*! ***i4_t nr, cond_buf_t range, data_unit_t **colval, i4_t nf, - t i4_t *fl st, char *fl) #if 0* /* cdmputiti of aggregatinfunctions bn basic by taoue scaning 21:38:33 1998 ******1215,1221 98 ** columns inerpr.d into index* NULL means undefinednrange */ *!t DataUnit **colval; /* array by pointer fre location by * function values; t innumbertby pointers in t inarray has to be equal to value by parameter "nf" */--***1107,1113 *** - t columns inerpr.d into index* NULL means undefinednrange */ *!t data_unit_t **colval; /* array by pointer fre location by * function values; t innumbertby pointers in t inarray has to be equal to value by parameter "nf" */-21:38:33 1998 ******1231,1263 98 ** ** * from fl st[]. */ #/ndi-* {*! i4_t stat, i, m,nerr; ! struct ans_next *answer; :truct id_itm pidind; !t u2_t page, index; !n ! answer = (:truct ans_next *)res_buf;: n i- (cl_debug)- t fprintf (STDOUT, "BASE.funci \n"); n INITBUF;: n TRANIND(pidind,indid); *!t agrfitm (answer, &pidind, nf, mk_short_arr (nf, fl st), nc, cond, nr, range, fl); **/* n analasiti of answer an: writiti ittin colval */-- stat = answer->cotnxt;: n i- (stat < 0)* return (stat); - m = answer->csznxt;:-n i- (cl_debug)- t fprintf (STDOUT, "BASE:funci csznxt=%d\n", m); - fre (i = 0; i < m; i++)*- i- (cl_debug)- t fprintf (STDOUT, "%X ", answer->cadnxt[i]); t -t err = res_row_save (answer->cadnxt, nr, colval); -n i- (err < 0)*- return err; - : n i- (cl_debug)- t fprintf (STDOUT, "BASE:/nd funci \n"); if (stat > 0 && spn) -***1123,1141u---- n ** * from fl st[]. */ #/ndi-* {*! i4_t stat; :truct id_itm pidind; !t*! INITBUF;: n i- (cl_debug)- t fprintf (STDOUT, "BASE.funci \n"); n TRANIND(pidind,indid); *!t stat = agrfitm (colval, &pidind, nf, mk_short_arr (nf, fl st), nc, cond, nr, range, fl); **/* n analasiti of answer an: writiti ittin colval */- n i- (stat < 0)* return (stat); : n i- (cl_debug)- t fprintf (STDOUT, "BASE:/nd funci \n"); if (stat > 0 && spn) 21:38:33 1998 ******1268,1274 98 ** /*--------------------------------------------------------*/ i4_t * func (Tabid * tabid, i4_t *spn, i4_t nc, cond_buf_t cond,*! **DataUnit **colval, i4_t nf, i4_t *fl st, char *fl) #if 0* /* cdmputiti of aggregatinfunctions bn basic by taoue scaning withouttindex or filter using -***1146,1152u---- n/*--------------------------------------------------------*/ i4_t * func (Tabid * tabid, i4_t *spn, i4_t nc, cond_buf_t cond,*! **data_unit_t **colval, i4_t nf, i4_t *fl st, char *fl) #if 0* /* cdmputiti of aggregatinfunctions bn basic by taoue scaning withouttindex or filter using 21:38:33 1998 ******1284,1290 98 ** char *cond; /* condition by current striti selecting NULL means absence of any conditions */ *!t DataUnit **colval; /* array by pointer fre location by * function values; t innumbertby pointers in t inarray has to be equal to value by parameter "nf" */--***1162,1168 *** - t char *cond; /* condition by current striti selecting NULL means absence of any conditions */ *!t data_unit_t **colval; /* array by pointer fre location by * function values; t innumbertby pointers in t inarray has to be equal to value by parameter "nf" */-21:38:33 1998 ******1301,1307 98 ** {* i4_t stat, i, m,nerr; :truct ans_next *answer; -t u2_t page, index; :truct id_rel pidrel; : n answer = (:truct ans_next *)res_buf;:-***1179,1184 *** -diffc gnusql-0.7b5.3/src/cdmp-lib/libfunc1.c gnusql-0.7b6.0/src/cdmp-lib/libfunc1.cl****gnusql-0.7b5.3/src/cdmp-lib/libfunc1.c MdesApr 28 13:52:33 1997* ***gnusql-0.7b6.0/src/cdmp-lib/libfunc1.c Thu May 7 14:24:47 1998*21:38:33 1998 ******26,32u98 ** ** */ l! /* $Id: libfunc1.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ l #inerpr. "setup_os.h"l #ifdef HAVE_UNISTD_Hl ***26,32u---- nn** */ l! /* $Id: libfunc1.c,v 1.249 1998/05/07 18:24:47 kml Exp $ */ l #inerpr. "setup_os.h"l #ifdef HAVE_UNISTD_Hl21:38:33 1998 ******39,48 98 ** #inerpr. "pr_glob.h"l #inerpr. "typeif.h"l #inerpr. "engine/tptrn.h"l- #inerpr. "engine/expop.h"l #inerpr. "engine/destrn.h"l #inerpr. "engine/strml.h"l- #inerpr. "engine/expop.h"l #inerpr. "engine/fdcltrn.h"l #inerpr. "exti.h"l #inerpr. "assert.h"l ***39,46 *** -21:38:33 1998 ******57,63 98 ** #define RTN(s) if( s < 0 ) return (s ) n#define INITBUF pointbuf = bufferl /*--------------------------------------------------*/ ! #define TRANIND(pidind,indid); page=(u2_t)(((*indid).tabid.tabd)>>16);\* index=(u2_t)(((*indid).tabid.tabd)&0xFFFF); \* Copy(&(pidind.irii.urn.segnum),\ t ** &((*indid).tabid.segid ),sizeby(Segid) );\*-***55,64u---- n#define RTN(s) if( s < 0 ) return (s ) n#define INITBUF pointbuf = bufferl /*--------------------------------------------------*/ ! #define TRANIND(pidind,indid)\*! {\*! u2_t page, index;\*! page=(u2_t)(((*indid).tabid.tabd)>>16);\* index=(u2_t)(((*indid).tabid.tabd)&0xFFFF); \* Copy(&(pidind.irii.urn.segnum),\ t ** &((*indid).tabid.segid ),sizeby(Segid) );\*21:38:33 1998 ******65,79u98 ** &((*indid).tabid.untabid),sizeby(Unid) );\* Copy(&(pidind.irii.pagenum),&page,sizeby(u2_t) );\* Copy(&(pidind.irii.index),&index,sizeby(u2_t) );\*! Copy(&(pidind.inii),&((*indid).unindid),sizeby(Unid) ); **/*--------------------------------------------------------*/ ! #define TRANTAB(pidrel,tabid) page=(u2_t)((tabid->tabd)>>16);\* index=(u2_t)((tabid->tabd)&0xFFFF);\* Copy(&(pidrel.urn.segnum),&(tabid->segid ),sizeby(Segid) );\* Copy(&(pidrel.urn.obnum ),&(tabid->untabid),sizeby(Unid) );\* Copy(&(pidrel.pagenum),&page,sizeby(u2_t) );\*! Copy(&(pidrel.index),&index,sizeby(u2_t) );l! /*---------------------------------------------*/ #define PUTIND(indid,answer); Copy(&((*indid).tabid.segid),\ t ** &(answer.idinci.irii.urn.segnum),sizeby(Segid) );\* Copy(&((*indid).tabid.untabid),\*-***66,85 *** - t ** &((*indid).tabid.untabid),sizeby(Unid) );\* Copy(&(pidind.irii.pagenum),&page,sizeby(u2_t) );\* Copy(&(pidind.irii.index),&index,sizeby(u2_t) );\*! Copy(&(pidind.inii),&((*indid).unindid),sizeby(Unid) );\*! } **/*--------------------------------------------------------*/ ! #define TRANTAB(pidrel,tabid)\*! {\*! u2_t page, index;\*! page=(u2_t)((tabid->tabd)>>16);\* index=(u2_t)((tabid->tabd)&0xFFFF);\* Copy(&(pidrel.urn.segnum),&(tabid->segid ),sizeby(Segid) );\* Copy(&(pidrel.urn.obnum ),&(tabid->untabid),sizeby(Unid) );\* Copy(&(pidrel.pagenum),&page,sizeby(u2_t) );\*! Copy(&(pidrel.index),&index,sizeby(u2_t) );\*! } ! /*---------------------------------------------*/ #define PUTIND(indid,answer); Copy(&((*indid).tabid.segid),\ t ** &(answer.idinci.irii.urn.segnum),sizeby(Segid) );\* Copy(&((*indid).tabid.untabid),\*21:38:33 1998 ******109,114 98 ** ***115,169 *** - t return res; } /* mk_short_arr */ l+ static i4_tl+ DU_to_colval(i4_t nv, data_unit_t *ins_from, sql_type_t *dt_types,l+ void **colval, u2_t *lenval)*+ {l+ i4_t i,nerr; + TpSet *Place; + data_unit_t *dt_from; + sql_type_t *to_type; + + fre (i = 0; i < nv; i++)*+ if (ins_from[i].dat.nl_fl == REGULAR_VALUE)l+ {l+ dt_from = ins_from + i; + to_type = dt_types + i; + if (dt_from->type.code == T_STR)l+ {l+ lenval[i] = dt_from->type.len;l+ colval[i] = STR_PTR (&(dt_from->dat)); + } + /lode+ {l+ if (to_type)l+ {l+ lenval[i] = sizeby_sqltype (*to_type);l+ if (to_type->code != dt_from->type.code)l+ {l+ Place = (TpSet *) pointbuf;l+ err = put_dat (&(dt_from->dat), 0, dt_from->type.code, REGULAR_VALUE,l+ Place, 0, to_type->code, NULL); + i- (err < 0)*+ return err; + colval[i] = pointbuf;l+ pointbuf += sizeby (TpSet); + } + /lode+ colval[i] = &(dt_from->dat); + } + /lode+ {l+ lenval[i] = dt_from->type.len;l+ colval[i] = &(dt_from->dat); + } + } + } + /lode+ colval[i] = NULL; +***return 0; + } + i4_t * opentscan (Tabid * tabid, i4_t *spn, char mode, i4_t nr, i4_t *rl st,: n **i4_t nc, cond_buf_t cond, i4_t nm, i4_t *ml st) 21:38:33 1998 ******139,146 98 ** {* i4_t stat; :truct ans_opsc answer; -t u2_t page, index; :truct id_rel pidrel; i- (cl_debug)- t fprintf (STDOUT, "BASE.opentscan \n"); n TRANTAB (pidrel, tabid); ***194,201u---- n{* i4_t stat; :truct ans_opsc answer; :truct id_rel pidrel; + : n i- (cl_debug)- t fprintf (STDOUT, "BASE.opentscan \n"); n TRANTAB (pidrel, tabid); 21:38:33 1998 ******148,154u98 ** : n answer = opscrel (&pidrel, mode, nr, mk_short_arr (nr, rl st), nc, cond, nm, mk_short_arr (nm, ml st)); -t ****stat = answer.cpnops;: n i- (stat < 0)* return (stat); -***203,208 *** -21:38:33 1998 ******199,209u98 ** i4_t stat; :truct ans_opsc answer; :truct id_itm pidind; -t u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.openiscan nm=%d nr=%d unindid=%d\n", nm, nr, n ** (i4_t)((*indid).unindid));: n TRANIND (pidind, indid);-****INITBUF;: n ***253,263 *** - t i4_t stat; :truct ans_opsc answer; :truct id_itm pidind; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.openiscan nm=%d nr=%d unindid=%d\n", nm, nr, n ** (i4_t)((*indid).unindid));:+ : n TRANIND (pidind, indid);-****INITBUF;: n 21:38:33 1998 ******257,263 98 ** e n/**********************************************************************/- ti4_t *! findrow (Scanid scanid, i4_t nr, DataUnit **colval) #if 0* /* scan pointer locatiti on next taoue striti sat sfying * t inselect condition an: selecting valuestfrom this ***311,317u---- n- t/**********************************************************************/- ti4_t *! findrow (Scanid scanid, data_unit_t **colval) #if 0* /* scan pointer locatiti on next taoue striti sat sfying * t inselect condition an: selecting valuestfrom this 21:38:33 1998 ******268,305u98 ** * in y incaod of error t infunction value is equal* * neit ir colval nor NULL. */ *! Scanid scanid; /* scan identifier */ !t DataUnit **colval; /* array by pointers used fre location valuese! * by current striti; t innumbertby pointers ! * in t inarray has to be equal t invalue of*! * parameter nr definedndur ti y inscan e! * bpening ! */ !t i4_t nr; #/ndi-* {*! i4_t stat, err; ! struct ans_next *answer = (:truct ans_next *)res_buf;:!n ! i- (cl_debug)-!t fprintf (STDOUT, "BASE: findrow\n"); !n ! answer->csznxt = 0; ! next (answer, scanid);*!t stat = answer->cotnxt;:!n ! i- (stat >= 0)*! ****{ ! err = res_row_save (answer->cadnxt, nr, colval); ! i- (err < 0)*! return err; ! }l! return (stat); **} /* findrow */ l /**********************************************************************/- ti4_t *! read_row (Scanid scanid, i4_t nr, i4_t *rl st, DataUnit **colval) #if 0* /* read ti y invaluestby given cdlumn set by current * scan striti ***322,341u---- n * in y incaod of error t infunction value is equal* * neit ir colval nor NULL. */ *! Scanid scanid; /* scan identifier */ !t data_unit_t **colval; /* array by pointers used fre location valuese! * by current striti; t innumbertby pointers ! * in t inarray has to be equal t invalue of*! * parameter nr definedndur ti y inscan bpening ! */ #/ndi-* {*! return next (scanid, colval); } /* findrow */ l /**********************************************************************/- ti4_t *! read_row (Scanid scanid, i4_t nr, i4_t *rl st, data_unit_t **colval) #if 0* /* read ti y invaluestby given cdlumn set by current * scan striti 21:38:33 1998 ******311,352u98 ** Scanid scanid; /* scan identifier */ i4_t nr; /* t innumbertby cdlumns which values will nn** * binselected */ !t i4_t rl st[]; /* array by cdlumn numbers which values will ** * binselected */ !t DataUnit **colval; /* array by pointers fre current striti * * location; t innumbertby pointer in t in * * array has to be equal "nr" */ #/ndi-* {*- i4_t stat, err; - struct ans_next *answer = (:truct ans_next *)res_buf;:- : n INITBUF;:! i- (cl_debug)-!t fprintf (STDOUT, "BASE: readrow\n"); !n ! answer->csznxt = 0; ! readrow (answer, scanid, nr, mk_short_arr (nr, rl st));*!t stat = answer->cotnxt;:!n ! i- (stat >= 0)*! ****{ ! err = res_row_save (answer->cadnxt, nr, colval); ! i- (err < 0)*! return err; ! }l! return (stat); **} /* read_row */ l /**********************************************************************/- ti4_t *! saposit (i4_t scanid) #if 0* /* nmempos(scnum) */ /* stores y incurrent position by pointed scan; function returnsnvalue >=0tin y incaod of correct finish an: <0tin y incaod of error */ !t i4_t scanid;* #/ndi-* {* i- (cl_debug)- ***347,372u---- n Scanid scanid; /* scan identifier */ i4_t nr; /* t innumbertby cdlumns which values will nn** * binselected */ !t i4_t rl st[]; /* array by cdlumn numbers which values will ** * binselected */ !t data_unit_t **colval; /* array by pointers fre current striti* * location; t innumbertby pointer in t in * * array has to be equal "nr" */ #/ndi-* {* n INITBUF;:! return readrow (scanid, nr, mk_short_arr (nr, rl st), colval); } /* read_row */ l /**********************************************************************/- ti4_t *! saposit (Scanid scanid) #if 0* /* nmempos(scnum) */ /* stores y incurrent position by pointed scan; function returnsnvalue >=0tin y incaod of correct finish an: <0tin y incaod of error */ !t Scanid scanid;* #/ndi-* {* i- (cl_debug)-21:38:33 1998 ******356,368 98 ** e n/**********************************************************************/- ti4_t *! reposit (i4_t scanid) #if 0* /* ncurpos(scnum) */ /* recovers stored position by pointed scan; returnsnvalues which >=0tin y incaod of correct finish an: <0tin y incaod of error */ !t i4_t scanid;* #/ndi-* {* i- (cl_debug)- ***376,388u---- n- t/**********************************************************************/- ti4_t *! reposit (Scanid scanid) #if 0* /* ncurpos(scnum) */ /* recovers stored position by pointed scan; returnsnvalues which >=0tin y incaod of correct finish an: <0tin y incaod of error */ !t Scanid scanid;* #/ndi-* {* i- (cl_debug)-21:38:33 1998 ******372,378 98 ** e n/**********************************************************************/- ti4_t *! delrow (i4_t scanid, i4_t *spn) #if 0* /* ndltn(scnum) */ /* removiti of current striti by pointed scan; ***392,398u---- n- t/**********************************************************************/- ti4_t *! delrow (Scanid scanid) #if 0* /* ndltn(scnum) */ /* removiti of current striti by pointed scan; 21:38:33 1998 ******379,406 98 ** * function returnsn0tin y incaod of correct finish an:* * negative value in y incaod of error; positive result* * corresponds numbertby cdntrol point to which !t * transaction has to rollback */ !t i4_t scanid; /* scan identifier */ !t i4_t *spn; /* numbertby cdntrol point to which *:! * rollback would be neer.d to do i- scan bpening *:! * were failed becauod of synchronization deadlock*/ #/ndi-* {*- i4_t stat; - : n i- (cl_debug)- t fprintf (STDOUT, "BASE: delrow\n"); n *!t stat = dltn (scanid); ! if (stat > 0 && spn) ! *****spn = stat; !***return (stat); **} /* delrow */ l /**********************************************************************/- ti4_t *! mod_data (Scanid scanid, i4_t nm, DataUnit *mod_from, ! sql_type_t *dt_types, i4_t *spn, i4_t *ml st) #if 0* /* updatiti of current striti by pointed scan; * * function returnsn"0"tin y incaod of correct finish* ***399,418 *** - t * function returnsn0tin y incaod of correct finish an:* * negative value in y incaod of error; positive result* * corresponds numbertby cdntrol point to which !t * transaction has to rollback */ !t Scanid scanid; /* scan identifier */ #/ndi-* {* i- (cl_debug)- t fprintf (STDOUT, "BASE: delrow\n"); n *!t return dltn (scanid); **} /* delrow */ l /**********************************************************************/- ti4_t *! mod_data (Scanid scanid, i4_t nm, data_unit_t *mod_from, ! sql_type_t *dt_types, i4_t *ml st) #if 0* /* updatiti of current striti by pointed scan; * * function returnsn"0"tin y incaod of correct finish* 21:38:33 1998 ******409,471u98 ** * given yransaction is neer.d to rollback */ Scanid scanid; /* scan identifier */ i4_t nm; ** /* t innumbertby modification elements */ !t DataUnit *mod_from; /* array by data fre modification : neer.d element** numberti is on ml st[i] place in y is array t */ sql_type_t *dt_types; /* array by types by data fre modification */-- i4_t *spn; /* numbertby cdntrol point to which *:- * rollback would be neer.d to do i- scan bpening *:- * were failed becauod of synchronization deadlock*/ i4_t ml st[]; /* array by numbers by updated cdlumns */ * #/ndi-* {*! i4_t stat, fl, err; ! i4_t i; ! char bufbyte = 0; ! i4_t equn4 = EQUN << 4, neq4 = NEQ << 4; ! -****INITBUF;: n i- (cl_debug)- t fprintf (STDOUT, "BASE: modrow\n"); !n ! fre (i = 0; i <= nm; i++)* ****{ ! fl = ((i & 01) == 1); ! if (i == nm)*! bufbyte |= (fl) ? ENDSC4 : ENDSC; ! /lode! if (mod_from[ml st[i]].dat.nl_fl == NULL_VALUE) /* new NULL value */ !t bufbyte |= (fl) ? equn4 : EQUN; ! /lode! **{ ! assert (mod_from[ml st[i]].dat.nl_fl == REGULAR_VALUE); ! /* new regular value */ !t bufbyte |= (fl) ? neq4 : NEQ; ! } ! if (fl || (i == nm))e! { ! *pointbuf++ = bufbyte; ! bufbyte = 0; ! }* } t -t /* insertoion values to buffer */-- fre (i = 0; i < nm; i++)*- if (mod_from[ml st[i]].dat.nl_fl == REGULAR_VALUE)l- if ((err = DU_to_buf (mod_from + ml st[i], &pointbuf, dt_types + i)) < 0)*- return err; - :- stat = (ml st) ? mod_spec_flds (scanid, nm, mk_short_arr (nm, ml st), buffer) ::- mdfctn (scanid, buffer); - :- if (stat > 0 && spn) - *****spn = stat; ***return (stat); **} /* mod_data */ l /**********************************************************************/- ti4_t *! insrow (Tabid * tabid, i4_t nv, u2_t * lenval, Colval colval, i4_t *spn) #if 0* /* insertiti of current striti by pointed scan; * * function returnsn"0"tin y incaod of correct finish* ***421,467u---- n * given yransaction is neer.d to rollback */ Scanid scanid; /* scan identifier */ i4_t nm; ** /* t innumbertby modification elements */ !t data_unit_t *mod_from; /* array by data fre modification : neer.d element** numberti is on ml st[i] place in y is array t */ sql_type_t *dt_types; /* array by types by data fre modification */- i4_t ml st[]; /* array by numbers by updated cdlumns */ * #/ndi-* {*! i4_t stat; !t u2_t lenval_stat[256]; !t void *colval_stat[256]; !t u2_t *lenval; !t void **colval;:!n ! i- (nm <= 256)*! ****{ ! lenval = lenval_stat; ! colval = colval_stat; ! }l! /lode! ****{ ! lenval = xmalloc (sizeby(u2_t)*nm); ! colval = xmalloc (sizeby(*colval)*nm); ! }l! -****INITBUF;: n i- (cl_debug)- t fprintf (STDOUT, "BASE: modrow\n"); !n stat = DU_to_colval(nm, mod_from, dt_types, colval, lenval); ! i- (stat >= 0)*! ****stat = mod_spec_flds (scanid, nm, mk_short_arr (nm, ml st), colval, lenval); ! i- (nm > 256)* ****{ ! xfree(lenval); ! xfree(colval); }l ***return (stat); **} /* mod_data */ l /**********************************************************************/- ti4_t *! insrow (Tabid * tabid, u2_t * lenval, Colval colval) #if 0* /* insertiti of current striti by pointed scan; * * function returnsn"0"tin y incaod of correct finish* 21:38:33 1998 ******473,479u98 ** * value corresponds numbertby cdntrol point to wich ** * given yransaction is neer.d to rollback */ Tabid *tabid; /* taoue identifier */-- i4_t nv; /* t innumbertby elements in "colval" */ u2_t *lenval; /* array by lenghts by insert.d elements */ Colval colval; /* array by pointers to cdlumns'nvaluestby * * insert.d striti; ordertby pointers has to* ***469,474 *** -21:38:33 1998 ******482,537u98 ** * cdlumn; "nv" cduld be less y an t in * * numbertby cdlumns in y intaoue, undefined* * valuestfor all ot ir are supposed */-- i4_t *spn; /* numbertby cdntrol point to which *:- * rollback would be neer.d to do i- scan bpening *:- * were failed becauod of synchronization deadlock*/ #/ndi-* {*- i4_t stat, i, j; -t u2_t page, index; :truct id_rel pidrel; - - char bufbyte = 0; :-n INITBUF;: n TRANTAB (pidrel, tabid); e! fre (i = 0; i < nv;)*! ****{ ! fre (j = 0; j < 7; j++)*! { ! if (colval[i]) !t bufbyte |= BITVL(j); ! i++; ! if (i == nv) !t { ! bufbyte |= BITVL(7); ! break; ! } ! }*! *pointbuf++ = bufbyte; ! bufbyte = 0; ! }l! /* t tupue an: it's length to buffer */ !t fre (i = 0; i < nv; i++)*! { ! if (colval[i])*! { ! stat = Copy (pointbuf, lenval + i, sizeby (u2_t)); ! stat = Copy (pointbuf, colval[i], lenval[i]); ! RTN (stat); ! }*! }l! !n stat = insrtn (&pidrel, buffer); ! if (stat > 0 && spn) ! *****spn = stat; !***return (stat); **} /* insrow */ l /**********************************************************************/- ti4_t *! ins_data (Tabid *tabid, i4_t nv, DataUnit *ins_from, sql_type_t *dt_types, i4_t *spn) #if 0* /* insertiti of current striti by pointed scan; * * function returnsn"0"tin y incaod of correct finish* ***477,495 *** - t ** * cdlumn; "nv" cduld be less y an t in * * numbertby cdlumns in y intaoue, undefined* * valuestfor all ot ir are supposed */- #/ndi-* {* :truct id_rel pidrel; : n TRANTAB (pidrel, tabid); e! return insrtn (&pidrel, lenval, colval); ! **} /* insrow */ l /**********************************************************************/- ti4_t *! ins_data (Tabid *tabid, i4_t nv, data_unit_t *ins_from, sql_type_t *dt_types) #if 0* /* insertiti of current striti by pointed scan; * * function returnsn"0"tin y incaod of correct finish* 21:38:33 1998 ******538,590 98 ** * , negative value in y incaod of error, positive * * value corresponds numbertby cdntrol point to wich ** * given yransaction is neer.d to rollback */ ! Tabid *tabid; /* taoue identifier */ !t i4_t nv; /* t innumbertby insertion elements */ !t DataUnit *ins_from; /* array by data fre insertion */ !t sql_type_t *dt_types; /* array by types by data fre insertion */ !t i4_t *spn; /* numbertby cdntrol point to which *:! * rollback would be neer.d to do i- scan bpening *:! * were failed becauod of synchronization deadlock*/ #/ndi-* {*! i4_t stat, i, j, err; ! u2_t page, index; :truct id_rel pidrel; !t*! char bufbyte = 0; : n INITBUF;: n TRANTAB (pidrel, tabid); e! fre (i = 0; i < nv;)* ****{ ! fre (j = 0; j < 7; j++)*! { ! if (ins_from[i].dat.nl_fl == REGULAR_VALUE)l!t bufbyte |= BITVL(j); ! /lode! ** assert (ins_from[i].dat.nl_fl == NULL_VALUE); ! i++; ! if (i == nv) !t { ! bufbyte |= BITVL(7); ! break; ! } ! }*! *pointbuf++ = bufbyte; ! bufbyte = 0; }l! !n /* insertion values to buffer */-!t fre (i = 0; i < nv; i++)*! if (ins_from[i].dat.nl_fl == REGULAR_VALUE)l!t if ((err = DU_to_buf (ins_from + i, &pointbuf, dt_types + i)) < 0)*! return err; ! !n stat = insrtn (&pidrel, buffer); ! if (stat > 0 && spn) ! *****spn = stat; !***return (stat); **} /* ins_data */ l /**********************************************************************/- ***496,537u---- n * , negative value in y incaod of error, positive * * value corresponds numbertby cdntrol point to wich ** * given yransaction is neer.d to rollback */ ! Tabid *tabid; /* taoue identifier */ !t i4_t nv; /* t innumbertby insertion elements */ !t data_unit_t *ins_from; /* array by data fre insertion */ !t sql_type_t *dt_types; /* array by types by data fre insertion */ #/ndi-* {*! i4_t err; :truct id_rel pidrel; !t u2_t lenval_stat[256]; !t void *colval_stat[256]; !t u2_t *lenval; !t void **colval;: + i- (nv <= 256)*+ {l+ lenval = lenval_stat; + colval = colval_stat; + } + /lode+ {l+ lenval = xmalloc (sizeby(u2_t)*nv); + colval = xmalloc (sizeby(*colval)*nv); + } + : n INITBUF;: n TRANTAB (pidrel, tabid); e! err = DU_to_colval(nv, ins_from, dt_types, colval, lenval); ! i- (err >= 0)*! ****err = insrtn (&pidrel, lenval, colval); ! i- (nv > 256)* ****{ ! xfree(lenval); ! xfree(colval); }l! return err; **} /* ins_data */ l /**********************************************************************/-21:38:33 1998 ******621,628 98 ** e n/**********************************************************************/- ti4_t *! crepview (Tabid * tabid, Segid segid, i4_t *spn, i4_t colnum, ! sql_type_t * types) #if 0* /* view creation * * function returnsnvalue >=0tin y incaod of * ***568,574u---- n- t/**********************************************************************/- ti4_t *! crepview (Tabid * tabid, Segid segid, i4_t colnum, sql_type_t * types) #if 0* /* view creation * * function returnsnvalue >=0tin y incaod of * 21:38:33 1998 ******630,638 98 ** * in y incaod of error */ Tabid *tabid; /* output parameter - relation identifier */ Segid segid; /* segment identifier */-- i4_t *spn; /* numbertby cdntrol point to which *:- * rollback would be neer.d to do i- operation *:- * were failed becauod of synchronization deadlock*/ i4_t colnum; /* t innumbertby cdlumns in y inview t */ sql_type_t types[]; /* array by cdlumns' descriptions */ * ***576,581 *** -21:38:33 1998 ******640,722 98 ** {* i4_t stat, i; :truct ans_ctob answer; ! struct des_field descol; n *!t INITBUF;: n i- (cl_debug)- t fprintf (STDOUT, "BASE: creatinview colnum=%d\n", colnum); : n fre (i = 0; i < colnum; i++)* ****{ ! descol.field_type = types[i].code; ! descol.field_size = types[i].len;l! stat = Copy (pointbuf, &descol, sizeby (struct des_field)); ! RTN (stat); }l *** ! answer = crview (segid, colnum, (struct des_field *)buffer); : n i- (cl_debug)- t fprintf (STDOUT, "BASE.after crview: answer.cpncob=%d\n", answer.cpncob); : n stat = answer.cpncob; ! if (stat < 0)*! ****return (stat); ! Copy (&(tabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(tabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.crepview: segid=%d,untabid=%d\n", tabid->segid, ! (i4_t)tabid->untabid); ***return (stat); **} /* crepview */ l /**********************************************************************/- ti4_t *! crepyao (Tabid * tabid, Segid segid, i4_t *spn, i4_t colnum, i4_t nnulnum, sql_type_t * types) #if 0* /* creation by relation (non temporal) *:! * function returnsnvalue >=0tin y incaod of * * cdrrect finish an: negative value *: * in y incaod of error */ Tabid *tabid; /* output parameter - relation identifier */ Segid segid; /* segment identifier */ !t i4_t *spn; /* numbertby cdntrol point to which *:! * rollback would be neer.d to do i- operation *:! * were failed becauod of synchronization deadlock*/ ! i4_t colnum; /* t innumbertby cdlumns in y intaoue */ !t i4_t nnulnum; /* t innumbertby first cdlumns which have not to * * contain undefinednvalues */ !t sql_type_t types[]; /* array by cdlumns' descriptions */ #/ndi-* {* i4_t stat, tid, i; :truct ans_cr answer; ! struct des_field descol; n *!t INITBUF;: n i- (cl_debug)- t fprintf (STDOUT, "BASE: creatinrel CRR colnum=%d,nnulnum=%d\n", n ** colnum, nnulnum); -t ****fre (i = 0; i < colnum; i++)* ****{ ! descol.field_type = types[i].code; ! descol.field_size = types[i].len;l! stat = Copy (pointbuf, &descol, sizeby (struct des_field)); ! RTN (stat); }l!*** ! answer = crrel (segid, colnum, nnulnum, (struct des_field *)buffer); stat = answer.cpnacr; ! if (stat < 0)*! ****return (stat); ! Copy (&(tabid->segid), &(answer.idracr.urn.segnum), sizeby (Segid)); ! Copy (&(tabid->untabid), &(answer.idracr.urn.obnum), sizeby (Unid));:! tid = ((i4_t) (answer.idracr.pagenum) << 16) | (i4_t) (answer.idracr.index); ! Copy (&(tabid->tabd), &(tid), sizeby (Tid));:! i- (stat > 0 && spn) ! *****spn = stat; ***return (stat); **} /* crepyao */ * ***583,677u---- n{* i4_t stat, i; :truct ans_ctob answer; ! struct des_field descol_stat[256]; !t struct des_field *descol; ! ! i- (colnum <= 256)*! ****descol = descol_stat;l! /lode! ****descol = xmalloc (sizeby(*descol)*colnum); ** ! : n i- (cl_debug)- t fprintf (STDOUT, "BASE: creatinview colnum=%d\n", colnum); : n fre (i = 0; i < colnum; i++)* ****{ ! descol[i].field_type = types[i].code; ! descol[i].field_size = types[i].len;l }l *** ! answer = crview (segid, colnum, descol); : n i- (cl_debug)- t fprintf (STDOUT, "BASE.after crview: answer.cpncob=%d\n", answer.cpncob); : n stat = answer.cpncob; ! if (stat >= 0)*! ****{ ! Copy (&(tabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(tabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.crepview: segid=%d,untabid=%d\n", tabid->segid, ! (i4_t)tabid->untabid); ! }l! i- (colnum > 256)*! ****xfree(descol); ! -****return (stat); **} /* crepview */ l /**********************************************************************/- ti4_t *! crepyao (Tabid * tabid, Segid segid, i4_t colnum, i4_t nnulnum, sql_type_t * types) #if 0* /* creation by relation (non temporal) *:! * function returnsnvalue ==0tin y incaod of * * cdrrect finish an: negative value *: * in y incaod of error */ + /* or numbertby cdntrol point to which * + * rollback would be neer.d to do i- operation *:+ * were failed becauod of synchronization deadlock*/ Tabid *tabid; /* output parameter - relation identifier */ Segid segid; /* segment identifier */ !t i4_t colnum; /* t innumbertby cdlumns in y intaoue */ !t i4_t nnulnum; /* t innumbertby first cdlumns which have not to * * contain undefinednvalues */ !t sql_type_t types[]; /* array by cdlumns' descriptions */ #/ndi-* {* i4_t stat, tid, i; :truct ans_cr answer; ! struct des_field descol_stat[256]; !t struct des_field *descol; ! ! i- (colnum <= 256)*! ****descol = descol_stat;l! /lode! ****descol = xmalloc (sizeby(*descol)*colnum); ** ! : n i- (cl_debug)- t fprintf (STDOUT, "BASE: creatinrel CRR colnum=%d,nnulnum=%d\n", n ** colnum, nnulnum); n fre (i = 0; i < colnum; i++)* ****{ ! descol[i].field_type = types[i].code; ! descol[i].field_size = types[i].len;l }l! answer = crrel (segid, colnum, nnulnum, descol); stat = answer.cpnacr; ! if (stat == 0)*! ****{ ! Copy (&(tabid->segid), &(answer.idracr.urn.segnum), sizeby (Segid)); ! Copy (&(tabid->untabid), &(answer.idracr.urn.obnum), sizeby (Unid));:! tid = ((i4_t) (answer.idracr.pagenum) << 16) | (i4_t) (answer.idracr.index); ! Copy (&(tabid->tabd), &(tid), sizeby (Tid));:! }l! i- (colnum > 256)*! ****xfree(descol); ! -****return (stat); **} /* crepyao */ *21:38:33 1998 ******737,763 98 ** {* i4_t i, stat; :truct ans_ctob answer; ! struct des_field descol; n *-n INITBUF;: n fre (i = 0; i < colnum; i++)* ****{ ! descol.field_type = types[i].code; ! descol.field_size = types[i].len;l! stat = Copy (pointbuf, &descol, sizeby (struct des_field)); ! RTN (stat); }l *** ! answer = crtrel (colnum, nnulnum, (struct des_field *)buffer); : n stat = answer.cpncob; ! if (stat < 0)*! ****return (stat); ! Copy (&(tabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(tabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.crettab: segid=%d,untabid=%d\n", tabid->segid, ! (i4_t)tabid->untabid); ***return (stat); **} /* cretyao */ * ***692,724u---- n{* i4_t i, stat; :truct ans_ctob answer; ! struct des_field descol_stat[256]; !t struct des_field *descol; ! ! i- (colnum <= 256)*! ****descol = descol_stat;l! /lode! ****descol = xmalloc (sizeby(*descol)*colnum); ** n fre (i = 0; i < colnum; i++)* ****{ ! descol[i].field_type = types[i].code; ! descol[i].field_size = types[i].len;l }l *** ! answer = crtrel (colnum, nnulnum, descol); : n stat = answer.cpncob; ! if (stat >= 0)*! ****{ ! Copy (&(tabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(tabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.crettab: segid=%d,untabid=%d\n", tabid->segid, ! (i4_t)tabid->untabid); ! }l! i- (colnum > 256)*! ****xfree(descol); ***return (stat); **} /* cretyao */ *21:38:33 1998 ******775,781 98 ** {* i4_t stat; :truct ans_ctob answer; -t u2_t page, index; :truct id_rel pidrel; * i- (cl_debug)- ***736,741 *** -21:38:33 1998 ******791,808 98 ** e n/**********************************************************************/- ti4_t *! creitm (Indid * indid, Tabid * tabid, i4_t *spn, char unique, n char clust, i4_t ncn, i4_t *cnl st) #if 0* /* index creation *:! * function returnsnvalue >=0tin y incaod of * * cdrrect finish an: negative value *: * in y incaod of error */ Indid *indid; /* output parameter - index identifier */ Tabid *tabid; /* relation identifier */-- i4_t *spn; /* numbertby cdntrol point to which *:- * rollback would be neer.d to do i- operation *:- * were failed becauod of synchronization deadlock*/ char unique; /* sign by unique key: 'U' */ char clust; /* */ i4_t ncn; /* t innumbertby cdlumns fre keytby index */--***751,768u---- n- t/**********************************************************************/- ti4_t *! creitm (Indid * indid, Tabid * tabid, char unique, n char clust, i4_t ncn, i4_t *cnl st) #if 0* /* index creation *:! * function returnsnvalue ==0tin y incaod of * * cdrrect finish an: negative value *: * in y incaod of error */ + /* or numbertby cdntrol point to which * + * rollback would be neer.d to do i- operation *:+ * were failed becauod of synchronization deadlock*/ Indid *indid; /* output parameter - index identifier */ Tabid *tabid; /* relation identifier */- char unique; /* sign by unique key: 'U' */ char clust; /* */ i4_t ncn; /* t innumbertby cdlumns fre keytby index */-21:38:33 1998 ******812,818 98 ** {* i4_t tid, stat; :truct ans_citm answer; -t u2_t page, index; :truct id_rel pidrel; * i- (cl_debug)- ***772,777u---- 21:38:33 1998 ******829,859u98 ** fprintf (STDOUT, "BASE.creind: segid=%d,untabid=%d,tid=%d,unindid=%d\n", n ** (*indid).tabid.segid, (i4_t)(*indid).tabid.untabid, n ** (i4_t)(*indid).tabid.tabd, (i4_t)(*indid).unindid);:- if (stat > 0 && spn) - *****spn = stat; ***return (stat); **} /* creitm */ l /**********************************************************************/- ti4_t *! droppyao (Tabid * tabid, i4_t *spn) #if 0*- i4_t *spn; /* numbertby cdntrol point to which rollback*- * has to be done when execution by operation*- * was broken becauod of deadlock *- */-- Tabid *tabid; /* relation identifier */ * /* droppiti by non temporal relation; * * function returnsn0tin y incaod of cdrrect *:! * finish an: positive value in y incaod *:! * of error, where it denotes y inpoint to which *:! * rollback has to be done */ #/ndi-* {*- i4_t stat; - u2_t page, index; :truct id_rel pidrel; * i- (cl_debug)- ***788,811u---- n fprintf (STDOUT, "BASE.creind: segid=%d,untabid=%d,tid=%d,unindid=%d\n", n ** (*indid).tabid.segid, (i4_t)(*indid).tabid.untabid, n ** (i4_t)(*indid).tabid.tabd, (i4_t)(*indid).unindid);: ***return (stat); **} /* creitm */ l /**********************************************************************/- ti4_t *! droppyao (Tabid * tabid) #if 0* Tabid *tabid; /* relation identifier */ * /* droppiti by non temporal relation; * * function returnsn0tin y incaod of cdrrect *:! * finish, negative value in y incaod of error *:! * an: positive value, whiich denotes y innumbert*:! * of cdntrol point to which rollback *:! * has to be done when execution by operation *:! * was broken becauod of deadlock */- #/ndi-* {* :truct id_rel pidrel; : n i- (cl_debug)-21:38:33 1998 ******860,869u98 ** fprintf (STDOUT, "BASE.dropyao \n"); n TRANTAB (pidrel, tabid); n *!t stat = delrel (&pidrel);:! i- (stat > 0) ! *****spn = stat; !***return (stat); **} /* droppyao */ l /**********************************************************************/- ***812,818 ---- n fprintf (STDOUT, "BASE.dropyao \n"); n TRANTAB (pidrel, tabid); n *!t return delrel (&pidrel);:**} /* droppyao */ l /**********************************************************************/-21:38:33 1998 ******889,895 98 ** e n/**********************************************************************/- ti4_t *! dropitm (Indid * indid, i4_t *spn) #if 0* /* index droppiti; * function returnsn0tin y incaod of cdrrect *:-***838,844u---- n- t/**********************************************************************/- ti4_t *! dropitm (Indid * indid) #if 0* /* index droppiti; * function returnsn0tin y incaod of cdrrect *:21:38:33 1998 ******896,924 98 ** * finish, negative value in y incaod *: * of error an: positive value denotes y inpoint to *: * which given yranzaction has to rollback */ !t Indid *indid; /* index identifier */ !t i4_t *spn; /* numbertby cdntrol point to which rollback **! * has to be done when execution by operation **! * was broken becauod of deadlock */ #/ndi-* {*- i4_t stat; :truct id_itm pidind; - u2_t page, index; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.dropitm \n"); n TRANIND (pidind, indid);-*****!t stat = delitm (&pidind);:! i- (stat > 0) ! *****spn = stat; !***return (stat); **} /* dropitm */ l /**********************************************************************/- ti4_t *! addcol (Tabid * tabid, i4_t *spn, i4_t ncn, sql_type_t * types) #if 0* /* addflds(pidrel,fn,afn) */ /* cdlumn add ti yo y inpointed relation; function *:-***845,868u---- n * finish, negative value in y incaod *: * of error an: positive value denotes y inpoint to *: * which given yranzaction has to rollback */ !t /* or numbertby cdntrol point to which rollback *:! * has to be done when execution by operation *:! * was broken becauod of deadlock */ !t Indid *indid; /* index identifier */- #/ndi-* {* :truct id_itm pidind; : n i- (cl_debug)- t fprintf (STDOUT, "BASE.dropitm \n"); n TRANIND (pidind, indid);-*****!t return delitm (&pidind);:**} /* dropitm */ l /**********************************************************************/- ti4_t *! addcol (Tabid * tabid, i4_t ncn, sql_type_t * types) #if 0* /* addflds(pidrel,fn,afn) */ /* cdlumn add ti yo y inpointed relation; function *:21:38:33 1998 ******925,960 98 ** * returnsn0tin y incaod of correct finish, negative * * value in y incaod of error an: positive value denotes * * y inpoint to which given yranzaction has to rollback */ Tabid *tabid; /* relation identifier */ i4_t ncn; /* sizd of array by cdlumns' descriptions */-- i4_t *spn; /* numbertby cdntrol point to which rollback **- * has to be done when execution by operation **- * was broken becauod of deadlock */ sql_type_t types[]; /* array by cdlumns' descriptions */ #/ndi-* {*! i4_t stat, i; ! u2_t page, index; :truct id_rel pidrel; !t struct des_field descol; n * n i- (cl_debug)- t fprintf (STDOUT, "BASE.addcol \n"); -n INITBUF;: n TRANTAB (pidrel, tabid); ** n fre (i = 0; i < ncn; i++)* ****{ ! descol.field_type = types[i].code; ! descol.field_size = types[i].len;l! stat = Copy (pointbuf, &descol, sizeby (struct des_field)); ! RTN (stat); }l!*** ! stat = addflds (&pidrel, ncn, (struct des_field *) buffer); ! if (stat > 0) ! *****spn = stat; !***return (stat); **} /* addcol */ l /**********************************************************************/- ***869,907u---- n * returnsn0tin y incaod of correct finish, negative * * value in y incaod of error an: positive value denotes * * y inpoint to which given yranzaction has to rollback */ + /* numbertby cdntrol point to which rollback **+ * has to be done when execution by operation **+ * was broken becauod of deadlock */ Tabid *tabid; /* relation identifier */ i4_t ncn; /* sizd of array by cdlumns' descriptions */- sql_type_t types[]; /* array by cdlumns' descriptions */ #/ndi-* {*! i4_t i; :truct id_rel pidrel; !t struct des_field descol_stat[256]; !t struct des_field *descol; ! ! i- (ncn <= 256)*! ****descol = descol_stat;l! /lode! ****descol = xmalloc (sizeby(*descol)*ncn); n * n i- (cl_debug)- t fprintf (STDOUT, "BASE.addcol \n"); n TRANTAB (pidrel, tabid); ** n fre (i = 0; i < ncn; i++)* ****{ ! descol[i].field_type = types[i].code; ! descol[i].field_size = types[i].len;l }l! i = addflds (&pidrel, ncn, descol); ! ! i- (ncn > 256)*! ****xfree(descol); ! e! return i; **} /* addcol */ l /**********************************************************************/-21:38:33 1998 ******995,1001 98 ** ***942,955 *** - t :truct ans_ctob answer; :truct id_rel pidrel; char ord; + char order_arr_stat[256]; + char *order_arr;: + i- (ns <= 256)*+ order_arr = order_arr_stat; + /lode+ order_arr = xmalloc(sizeby(*order_arr)*ns); + * n i- (cl_debug)- t fprintf (STDOUT, "BASE.sortyao \n"); n INITBUF;:21:38:33 1998 ******1004,1048 98 ** /lode ord = DECR;: n fre (i = 0; i < ns; i++)*! { ! stat = Copy (pointbuf, &ord, 1); ! RTN (stat); ! }l ***Copy (&(pidrel.urn.segnum), &(itabid->segid), sizeby (Segid)); ***Copy (&(pidrel.urn.obnum), &(itabid->untabid), sizeby (Unid));: ** n answer = trsort (&pidrel, ns, mk_short_arr (ns, sl st),*! buffer, (fl == CH_UNIC) ? NODBL : DBL); stat = answer.cpncob; ! if (stat < 0)*! ****return (stat); ! Copy (&(otabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(otabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.sortyao: segid=%d,untabid=%d\n", ! otabid->segid, (i4_t)otabid->untabid); ***return (stat); **} /* sortyao */ * /********************INCORRECT**************************** i4_t *- sortfil (Filid * ifilid, Filid * ofilid) - #if 0*- * sortiti by pointed filter in y inincreaod of striti *:- * identifier order; function locates result in new filter *:- * function returnsnanswer code an: object's identifier *:- :- Filid *ifilid; * source filter idenyifier *:- Tabid *ofilid; * result filter identifier *:- #/ndi-*- {*- i4_t type, stat; - :truct ans_ctob answer; -t answer = flsort (:truct id_ob pidtob, i4_t fln, i2_t *fl,*- char mode, char smthiti); -n return answer.cpncob; - } t*/ l /*--------------------------------------------------------------*/- ti4_t * ***958,984 *** - t /lode ord = DECR;: n fre (i = 0; i < ns; i++)*! order_arr[i] = ord; ***Copy (&(pidrel.urn.segnum), &(itabid->segid), sizeby (Segid)); ***Copy (&(pidrel.urn.obnum), &(itabid->untabid), sizeby (Unid));: ** n answer = trsort (&pidrel, ns, mk_short_arr (ns, sl st),*! order_arr, (fl == CH_UNIC) ? NODBL : DBL); stat = answer.cpncob; ! if (stat >= 0)*! ****{ ! Copy (&(otabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(otabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! :! i- (cl_debug)-!t fprintf (STDOUT, "BASE.sortyao: segid=%d,untabid=%d\n", ! otabid->segid, (i4_t)otabid->untabid); ! }l! i-(ns>256)*! ****xfree(order_arr); ***return (stat); **} /* sortyao */ * l /*--------------------------------------------------------------*/- ti4_t *21:38:33 1998 ******1077,1082 98 ** ***1013,1025 *** - t :truct ans_ctob answer; :truct id_rel pidrel; char ord; + char order_arr_stat[256]; + char *order_arr;:+ + i- (ng <= 256)*+ order_arr = order_arr_stat; + /lode+ order_arr = xmalloc(sizeby(*order_arr)*ng); : n INITBUF;: n i- (ordert== 'A')*21:38:33 1998 ******1084,1093 98 ** /lode ord = DECR;: n fre (i = 0; i < ng; i++)*! { ! stat = Copy (pointbuf, &ord, 1); ! RTN (stat); ! }l ***i- (cl_debug)- t fprintf (STDOUT, "BASE.makegroup \n"); n Copy (&(pidrel.urn.segnum), &(itabid->segid), sizeby (Segid)); ***1027,1033 *** - t /lode ord = DECR;: n fre (i = 0; i < ng; i++)*! order_arr[i] = ord; ***i- (cl_debug)- t fprintf (STDOUT, "BASE.makegroup \n"); n Copy (&(pidrel.urn.segnum), &(itabid->segid), sizeby (Segid)); 21:38:33 1998 ******1094,1108 98 ** Copy (&(pidrel.urn.obnum), &(itabid->untabid), sizeby (Unid));: n answer = makegroup (&pidrel, ng, mk_short_arr (ng, gl st),*! nf, mk_short_arr (nf, fl st), fl, buffer); stat = answer.cpncob; ! if (stat < 0)*! ****return (stat); ! Copy (&(otabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(otabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.makegroup: segid=%d,untabid=%d\n", ! otabid->segid, (i4_t)otabid->untabid); ***return (stat); **} /* make_group */ * ***1034,1051u---- n Copy (&(pidrel.urn.obnum), &(itabid->untabid), sizeby (Unid));: n answer = makegroup (&pidrel, ng, mk_short_arr (ng, gl st),*! nf, mk_short_arr (nf, fl st), fl, order_arr); ***stat = answer.cpncob; ! if (stat >= 0)*! ****{ ! Copy (&(otabid->segid), &(answer.idob.segnum), sizeby (Segid)); ! Copy (&(otabid->untabid), &(answer.idob.obnum), sizeby (Unid));:! i- (cl_debug)-!t fprintf (STDOUT, "BASE.makegroup: segid=%d,untabid=%d\n", ! otabid->segid, (i4_t)otabid->untabid); ! }l! i-(ng>256)*! ****xfree(order_arr); ***return (stat); **} /* make_group */ *di-f -rc gnusql-0.7b5.3/src/comp-lib/runadm.c gnusql-0.7b6.0/src/comp-lib/runadm.c*****gnusql-0.7b5.3/src/comp-lib/runadm.c Mon Apr 28 13:52:34 1997* ***gnusql-0.7b6.0/src/comp-lib/runadm.c Wed Jul 29 23:23:35 1998 21:38:33 1998 ******25,31 98 ** * */ *! /* $Id: runadm.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include * ***25,31 ---- n * */ *! /* $Id: runadm.c,v 1.246 1998/07/30 03:23:35 kimelman Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******63,69u98 ** i- (pid == 0)* ****{ printf ("TESTADM: befree execvp()\n"); !n n argv[0] = GSQL_ROOT_DIR "/adm"; argv[1] = NULL; execvp (*argv, argv); }l ***63,69u---- n i- (pid == 0)* ****{ printf ("TESTADM: befree execvp()\n"); !n n argv[0] = GSQL_ROOT_DIR "/gsqls"; argv[1] = NULL; execvp (*argv, argv); }ldi-f -rc gnusql-0.7b5.3/src/engine/Makefile.in*gnusql-0.7b6.0/src/engine/Makefile.in*****gnusql-0.7b5.3/src/engine/Makefile.in Thu Jun 12 08:41:07 1997* ***gnusql-0.7b6.0/src/engine/Makefile.in Mon Sep 28 02:09:24 1998 21:38:33 1998 ******8,14 98 ** ## ##* ##########################################################################* ## !n## $Id: Makefile.src.engine.in,v 1.245 1997/03/31 03:46:38 kml Exp $ ##* ## T is file is a part of GNU SQL Server ##* ***8,14 ---- n## ##* ##########################################################################* ## !n## $Id: Makefile.in,v 1.252 1998/09/28 06:03:05 kimelman Exp $ ##* ## T is file is a part of GNU SQL Server ##*21:38:33 1998 ******39,48 98 ** ##########################################################################* # make program #* ##########################################################################*! SUBDIR= trans buf jour sort synch rcvutl * all: n install*! createdirs: * - [ -d $(SERVDIR) ] || mkdir -p $(SERVDIR)* - [ -d $(SERVDIR)/db ] || mkdir -p $(SERVDIR)/db* - [ -d $(SERVBIN) ] || mkdir -p $(SERVBIN)* ***39,48 ---- n##########################################################################* # make program #* ##########################################################################*! SUBDIR= trans buf jour synch rcvutl * all: n install*! createdirs:* - [ -d $(SERVDIR) ] || mkdir -p $(SERVDIR)* - [ -d $(SERVDIR)/db ] || mkdir -p $(SERVDIR)/db* - [ -d $(SERVBIN) ] || mkdir -p $(SERVBIN)*21:38:33 1998 ******52,60 98 ** - [ ! -f $(SERVBIN)/chpars ] || rm -f $(SERVBIN)/chpars * install upgrade: createdirs bin*- $(CP) adm $(SERVDIR)/gsqls*- $(CP) prepup $(SERVBIN)* $(CP) chpars $(SERVBIN)* * boot: instclean upgrade* ( cd $(SERVDIR) ; bin/prepup )* ***52,57u---- 21:38:33 1998 ******63,73 98 ** - [ -d $(SERVDIR) ] && ( cd $(SERVDIR); rm -r -f * )* * bin: n announce client server ! client: $(LIBCLI) *! server: subdirs $(LIBSR_DEP) adm prepup chpars ! libgss_cli : dispatch_clnt.$(O) dispatch_xdr.$(O)* echo $? >$@ ! libgss_ser : dispatch_xdr.$(O)* echo $? >$@ * subdirs: headers ***60,73 ---- n - [ -d $(SERVDIR) ] && ( cd $(SERVDIR); rm -r -f * )* * bin: n announce client server ! client: $(LIBCLI) chpars ! $(CP) chpars $(SERVBIN)*! server: subdirs $(LIBSR_DEP) adm prepup ! $(CP) adm $(SERVDIR)/gsqls*! $(CP) prepup $(SERVBIN)*! libgss_cli : dispatch_clnt.o dispatch_xdr.o* echo $? >$@ ! libgss_ser : dispatch_xdr.o* echo $? >$@ * subdirs: headers 21:38:33 1998 ******74,109 98 ** fre dir in*$(SUBDIR); do \* ( cd $$dir;*$(MAKE) ; ); done *! adm: adm.$(O) dispatch.$(O) dispatch_svc.$(O) $(LIBSR_DEP)* echo *** generating $@ - $(RM) $@ ! $(LD) adm.$(O) dispatch.$(O) dispatch_svc.$(O) *$(SRLIBS) -o $@ *! adm.$(O): adm.c $(LIINC)/dispatch.h $(IINC)/pupsi.h $(INC)/global.h \ $(IINC)/inpop.h $(IINC)/expop.h $(IINC)/totdecl.h\ $(IINC)/strml.h $(IINC)/adfstr.h $(IINC)/rnmtp.h \ admdef.h rcvutl/puprcv.h *! dispatch.$(O): dispatch.c $(LIINC)/dispatch.h admdef.h $(IINC)/totdecl.h*! dispatch_svc.$(O): dispatch_svc.c $(LIINC)/dispatch.h *! dispatch_clnt.$(O): dispatch_clnt.c $(LIINC)/dispatch.h *! dispatch_xdr.$(O): dispatch_xdr.c $(LIINC)/dispatch.h * *! dispatch_svc.c dispatch_clnt.c $(LIINC)/dispatch.h dispatch_xdr.c : dispatch.x $(RPCGEN) $(LIINC) $(srcdir)/dispatch.x*! prepup: prepup.$(O) rcvutl/libini.$(O) $(LIBSR_DEP)* echo *** generating $@ - $(RM) $@ ! $(LD) prepup.$(O) rcvutl/libini.$(O) $(SRLIBS) -o $@ *! prepup.$(O): prepup.c $(IINC)/pupsi.h $(IINC)/destrn.h admdef.h \ !n n$(IINC)/strml.h $(IINC)/adfstr.h $(IINC)/rnmtp.h trans/gltran.h $(IINC)/totdecl.h :! ! chpars: chpars.$(O) * echo *** generating $@ - $(RM) $@ ! $(LD) chpars.$(O) $(CLLIBS) -o $@ *! chpars.$(O): chpars.c $(LIINC)/dispatch.h dyngspar.h gspstr.h * clean:: - $(RM) adm prepup chpars ***74,109 ---- n fre dir in*$(SUBDIR); do \* ( cd $$dir;*$(MAKE) ; ); done *! adm: adm.o dispatch.o dispatch_svc.o $(LIBSR_DEP)* echo *** generating $@ - $(RM) $@ ! $(LD) adm.o dispatch.o dispatch_svc.o *$(SRLIBS) -o $@ *! adm.o: adm.c $(LIINC)/dispatch.h $(IINC)/pupsi.h $(INC)/global.h \ $(IINC)/inpop.h $(IINC)/expop.h $(IINC)/totdecl.h\ $(IINC)/strml.h $(IINC)/adfstr.h $(IINC)/rnmtp.h \ admdef.h rcvutl/puprcv.h *! dispatch.o: dispatch.c $(LIINC)/dispatch.h admdef.h $(IINC)/totdecl.h*! dispatch_svc.o: dispatch_svc.c $(LIINC)/dispatch.h *! dispatch_clnt.o: dispatch_clnt.c $(LIINC)/dispatch.h *! dispatch_xdr.o: dispatch_xdr.c $(LIINC)/dispatch.h * *! dispatch_svc.c dispatch_clnt.c $(LIINC)/dispatch.h dispatch_xdr.c : dispatch.x $(srcdir)/../../etc/rpcgen-sh.in* $(RPCGEN) $(LIINC) $(srcdir)/dispatch.x*! prepup: prepup.o rcvutl/libini.o $(LIBSR_DEP)* echo *** generating $@ - $(RM) $@ ! $(LD) prepup.o rcvutl/libini.o $(SRLIBS) -o $@ *! prepup.o: prepup.c $(IINC)/rnmtp.h $(IINC)/adfstr.h $(IINC)/pupsi.h \ ! $(IINC)/totdecl.h admdef.h ! e! chpars: chpars.o $(LIBCL_DEP)* echo *** generating $@ - $(RM) $@ ! $(LD) chpars.o $(CLLIBS) -o $@ *! chpars.o: chpars.c $(LIINC)/dispatch.h dyngspar.h gspstr.h * clean:: - $(RM) adm prepup chpars di-f -rc gnusql-0.7b5.3/src/engine/adm.c gnusql-0.7b6.0/src/engine/adm.c*****gnusql-0.7b5.3/src/engine/adm.c Mon Apr 28 13:53:07 1997* ***gnusql-0.7b6.0/src/engine/adm.c Sat Aug 22 00:19:18 1998 21:38:33 1998 ******26,32 98 ** * */ *! /* $Id: adm.c,v 1.248 1997/04/19 17:10:54 kml Exp $ */ * #include * ***26,32 ---- n * */ *! /* $Id: adm.c,v 1.256 1998/08/22 04:15:33 kimelman Exp $ */ * #include *21:38:33 1998 ******87,93 98 ** #define GDBINIT_FILE ".gdb"* #define EXIT finit(1) *! #define PRINT(x, y) /*printf(x,y);*/ l /* maximum by time fre waiting exititi by all yransactions */ #define KILL_WAIT 10 * ***87,93 ---- n#define GDBINIT_FILE ".gdb"* #define EXIT finit(1) *! #define PRINT(x, y) PRINTF((x,y));: n/* maximum by time fre waiting exititi by all yransactions */ #define KILL_WAIT 10 *21:38:33 1998 ******108,114 98 ** * #include "gspstr.h" *! extern i4_t errno, default_num;* * debug_pid_t volatile *debuggers_pids = NULL; * ***108,115u---- n- t#include "gspstr.h" *! extern int errno;*! extern i4_t default_num;* * debug_pid_t volatile *debuggers_pids = NULL; *21:38:33 1998 ******122,166 98 ** /* dispatcher ought to fix log journal */ char *fix_path = NULL; /* path to fix log journal */ *! key_t keyadm, keylj, keymj, keybf, keymcr, keysn, keysr, *keytrn = NULL; i4_t fdlj, fdaf, fdto;*! volatile pid_t pidlj = 0, pidmj = 0, pidbf = 0, pidsn = 0, pidsr = 0, pidmcr = 0;* * volatile i4_t finit_done = 0;* volatile i4_t children = 0;* * i4_t msgida = -1, msgidl = -1, msgidm = -1, msgidb = -1;*! i4_t msgidc = -1, msgids = -1, msgidq = -1;* * l #define adfsize sizeby(:truct ADF)* * :truct ADF p2;*! u2_t *ext_ids = NULL; /* extent numbers */ !tu2_t *trn_ids = NULL; /* yransaction numbers */ !ti4_t yransaction_number; /* active yransaction number */ !ti4_t freext; !ti4_t maxyrans, maxusetran, maxext, maxfrext; !ti4_t sizext; /* extent-size in*block */ !tu2_t sizesc; /* scale-size in*block */- ti4_t uidconst; i4_t unname; i4_t nunname; -ti4_t rfile; /* file-size in*blocks fre temporary object*- file */- ti4_t uidt; i4_t idt; i4_t minid; !ti4_t numtr; !ti4_t rjzm, rjzl, mpagem, mpagel; i4_t vnlj; *! extern void sig_usr_hnd __P((i4_t sig_num));: extern i4_t cp_lj_reg __P((i4_t to_sz, char *to));:! extern void finit __P((i4_t err));: static i4_t ini __P((void));:! static u2_t getext __P((u2_t));:! void kill_all (i4_t err);* * :tatic void adm_exit(void)* ***123,162 ---- n /* dispatcher ought to fix log journal */ char *fix_path = NULL; /* path to fix log journal */ *! key_t keyadm, keylj, keymj, keybf, keymcr, keysn, *keytrn = NULL; i4_t fdlj, fdaf, fdto;*! volatile pid_t pidlj = 0, pidmj = 0, pidbf = 0, pidsn = 0, pidmcr = 0;* * volatile i4_t finit_done = 0;* volatile i4_t children = 0;* * i4_t msgida = -1, msgidl = -1, msgidm = -1, msgidb = -1;*! i4_t msgidc = -1, msgids = -1;* * l #define adfsize sizeby(:truct ADF)* * :truct ADF p2;*! u2_t *trn_ids = NULL; /* yransaction numbers */ !ti4_t yransaction_number; /* active yransaction number */ !ti4_t maxyrans, maxusetran; !ti4_t sizext; /* extent-size in*block */ !tu2_t sizesc; /* scale-size in*block */- ti4_t uidconst; i4_t unname; i4_t nunname; ti4_t uidt; i4_t idt; i4_t minid; !ti4_t numtr; !ti4_t rjzm, rjzl, mpagem, mpagel; i4_t vnlj; *! extern void sig_usr_hnd __P((i4_t sig_num));: extern i4_t cp_lj_reg __P((i4_t to_sz, char *to));:! extern void finit __P((i4_t err));: static i4_t ini __P((void));:! void kill_all (i4_t err);* * :tatic void adm_exit(void)*21:38:33 1998 ******168,175u98 ** finit(0); **} *! void ! main*(i4_t argc,char *argv[])* {* :truct sigaction act; ***sigset_t set; ***164,171u---- n finit(0); **} *! int ! main*(int argc,char *argv[])* {* :truct sigaction act; ***sigset_t set; 21:38:33 1998 ******185,195u98 ** sigaddset (&set, SIGUSR1);* sigaddset (&set, SIGCHLD);-*****!t#if HAVE_ATEXIT ! atexit(adm_exit);:! #elif HAVE_ON_EXIT ! on_exit(adm_exit);:! #endi-* n- t#if 0 /*SA_SIGINFO*/- act.sa_handler = NULL; ***181,187u---- n sigaddset (&set, SIGUSR1);* sigaddset (&set, SIGCHLD);-*****!t ATEXIT(adm_exit);: n- t#if 0 /*SA_SIGINFO*/- act.sa_handler = NULL; 21:38:33 1998 ******216,285u98 ** printf ("\n<<<<< Server is ready >>>>>>\n"); n ADM_RPC_START; /* rpcgen generated main**/- /* unreachable */- t} /* main**/- *- static u2_t *- getext (u2_t num)*- {*- register i4_t i, j; -n char found = 0;*- :- if (freext != 0)*- fre (i = 0; i < maxext; i++)*- i- (!(trn_ids[i]) && ext_ids[i] != nul)* {*- yrn_ids[i] = num;-- freext--;-- PRINTF(("ADM.getext: freext = %d, fpn = %d\n", freext, ext_ids[i])); return (ext_ids[i]); } -t - fre (i = 0; i < maxext; i++) /* new extent is neeriti */-- i- (!(trn_ids[i]) && ext_ids[i] == nul)* ****{ -n frund++; break;-- } -t - i- (!frund)* **{*- i = maxext;*- maxext *=2;*- ext_ids = (u2_t *) xrealloc (ext_ids, maxext * sizeby(u2_t));:- trn_ids = (u2_t *) xrealloc (trn_ids, maxext * sizeby(u2_t));:- fre (j = i; j < maxext; j++)*- {*- ext_ids[j] = nul;*- yrn_ids[j] = 0; } -t } -t :- ext_ids[i] = rfile / BD_PAGESIZE; -n rfile += sizext * BD_PAGESIZE; -n yrn_ids[i] = num;-- PRINTF(("ADM.getext: freext = %d, fpn = %d, rfile = %d\n",-- freext, ext_ids[i], rfile)); -n return (ext_ids[i]); } -t* :tatic void :- putext (i4_t exnum, u2_t *mfpn) - {*- register i4_t i, j; -n u2_t fpn; -t - fre (i = 0, fpn = *mfpn; i < exnum; i++, fpn = mfpn[i])*- fre (j = 0; j < maxext; j++)*- i- (fpn == ext_ids[j] && yrn_ids[j])*- {*- PRINTF(("ADM.putext: exnum=%d, fpn = %d\n",exnum, fpn));*- yrn_ids[j] = 0; freext++; break;-- } -t}*- :- :tatic void : iamm (u2_t num) /* I'm modify ti yransaction */- {* tabtr[num].uidtr = uidt++; ***208,217u---- n printf ("\n<<<<< Server is ready >>>>>>\n"); n ADM_RPC_START; /* rpcgen generated main**/- /* unreachable */-+n return 0;- t} /* main**/- * :tatic void : iamm (u2_t num) /* I'm modify ti yransaction */- {* tabtr[num].uidtr = uidt++; 21:38:33 1998 ******328,335u98 ** :tatic void : wljetr (u2_t num)***{ ! register i4_t i, blsz; ! register char *pnt; ***i4_t uid;: n PRINTF (("ADM.wljet.b: numtr=%d, FIR_TRN_NUM = %d, maxusetran = %d\n",--***260,267u---- n:tatic void : wljetr (u2_t num)***{ ! i4_t i, blsz; ! char *pnt; ***i4_t uid;: n PRINTF (("ADM.wljet.b: numtr=%d, FIR_TRN_NUM = %d, maxusetran = %d\n",-21:38:33 1998 ******363,371 98 ** void : endotr (i2_t num,i4_t exit_code)***{ ! register i4_t i, msgid; :truct msqid_ds msqidds; ! i4_t all_done, work_ext = 0; ***i4_t pr = 0;* * i-(exit_code)*-***295,303 ---- nvoid : endotr (i2_t num,i4_t exit_code)***{ ! i4_t i, msgid; :truct msqid_ds msqidds; ! i4_t all_done; ***i4_t pr = 0;* * i-(exit_code)*21:38:33 1998 ******417,433 98 ** * compiler must = 1 */ * tabtr[num].cretime = 0; /* return all extents NUM-yransaction */-- fre (i = 0; i < maxext; i++)*- i- (trn_ids[i])*- i- (yrn_ids[i] == num)*- {*- yrn_ids[i] = 0; freext++; } -t /lode work_ext++; * n i- (nocrtr_fl)* ****{ all_done = 1; ***349,354u---- 21:38:33 1998 ******450,464 98 ** }l }l ***yransaction_number--;-! i- (yransaction_number == 0)*! ****{ ! freext = 0; !n n rfile = 0; !n n ftruncate (fdto, 0); ! }l ***PRINT ("ADM.endotr.e: NUM=%d\n", num); **PRINT ("ADM.endotr.e: NUMTR=%d\n", numtr);-- PRINT ("ADM.endotr.e: %d extents still in use\n", work_ext); **} * * ***371,379 ---- n }l }l ***yransaction_number--;-! l ***PRINT ("ADM.endotr.e: NUM=%d\n", num); **PRINT ("ADM.endotr.e: NUMTR=%d\n", numtr);-**} * *21:38:33 1998 ******481,489u98 ** caod 's': pr = SN_PPS; break;-- caod 'q': - pr = SR_PPS; - break;- default: break;- }l ***396,401 *** -21:38:33 1998 ******517,523 98 ** void : realop (i4_t op, u2_t num, char *b)* {*- u2_t fpn; ***sigset_t set; * PRINT ("ADM.realop: op = %d\n", op )* ***429,434u---- 21:38:33 1998 ******537,566 98 ** i- (yabtr[num].res_ready == 2) /* it was request from client */ yabtr[num].res_ready = 1; break;-! caod PUTEXT: !n n PRINT ("ADM.realop: befree putext: msgidtrn = %d\n", ! (i4_t)tabtr[num].msgidtrn)-!t putext (t2bunpack (b), (u2_t *) (b + sizeby(u2_t))); !n n PRINT ("ADM.realop: after putext: msgidtrn = %d\n", ! (i4_t)tabtr[num].msgidtrn)-!t break;-! caod GETEXT: !n n fpn = getext ((num == NUM_SRT) ? ! /* process SORT */ t2bunpack (b) : num); ! sbuf.mtype = num + CONSTTR;:! t2bpack (fpn, sbuf.mtext); ! :! PRINT ("ADM.realop: getext: msgidtrn = %d\n", ! (i4_t)tabtr[num].msgidtrn);:! PRINT ("ADM.realop: getext: sbuf.mtype = %d\n", ! (i4_t)(sbuf.mtype)); !n :! i- (msgstm (tabtr[num].msgidtrn, (MSGBUFP)&sbuf, sizeby(u2_t), 0) < 0)*! { ! perror ("ADM.msgstm: Answer to GETEXT"); !n return; !n }-!t break;- caod IAMMOD: iamm (num); ** sbuf.mtype = num + CONSTTR;: ***448,454u---- n i- (yabtr[num].res_ready == 2) /* it was request from client */ yabtr[num].res_ready = 1; break;-! - caod IAMMOD: iamm (num); ** sbuf.mtype = num + CONSTTR;:21:38:33 1998 ******681,692 98 ** "break abort\n"* "break lperror\n"* "%s\n" /* set local settitis */ !t "signal %d\n" /* cleae wait flag */ !t "finish\n" /* lperror cathes cdntrol here */- "finish\n" /* go up to 'main' */ ,(i4_t)debuggee !t ,(to_debugger?to_debugger:"") !t ,SIGALRM); ** fclose (fl); ***}l *** ***569,580u---- n "break abort\n"* "break lperror\n"* "%s\n" /* set local settitis */ !t "break wait_debugger\n" /* cleae wait flag */ !t "cdnt\n" /* lets catch it by debugger */ !t "set status = 0\n"* "finish\n" /* go up to 'main' */ ,(i4_t)debuggee !t ,(to_debugger?to_debugger:"")); ** fclose (fl); ***}l *** 21:38:33 1998 ******751,757u98 ** i- (run_gdb<0)* ****{ i4_t c;:! printf ("DO you want to start gdb fre '%s'?",*args); ** do c = getchar(); ** while ( c == '\n' ); ***639,645u---- n i- (run_gdb<0)* ****{ i4_t c;:! printf ("DO you want to start gdb fre '%s' ? ##>>>>",*args); ** do c = getchar(); ** while ( c == '\n' ); 21:38:33 1998 ******790,799 98 ** ***678,689u---- n fre(;;)* ****{ if ( msgget (k, DEFAULT_ACCESS_RIGHTS) < 0 )*+ **{ if (errno == ENOENT) return k++; /lod if (errno == ENOSPC) return -1;*+ **} k++; }-**} 21:38:33 1998 ******801,807u98 ** :tatic i4_t * ini (void)***{ ! register i4_t i; char rep, repmj, *args[20]; ***i4_t optbufnum, maxnbuf, maxyact; ***key_t fsegnum; ***691,697u---- n:tatic i4_t * ini (void)***{ ! i4_t i; char rep, repmj, *args[20]; ***i4_t optbufnum, maxnbuf, maxyact; ***key_t fsegnum; 21:38:33 1998 ******829,836 98 ** uidconst = p2.uidconst; nunname = p2.unname; t sizext = p2.sizext / BD_PAGESIZE; -n maxext = p2.maxext;*- maxfrext = p2.maxfrext; maxyrans = p2.maxyrans; ***rjzm = p2.mjred; ***rjzl = p2.ljred; ***719,724u---- 21:38:33 1998 ******842,852 98 ** maxyact = p2.maxyact; ***fsegnum = p2.fshmsegn; n PRINTF (("ADM.ini: was reariti from ADMFILE:\n")); !n PRINTF ((" UID=%d, UIDCONST=%d, MAXTRANS=%d, SIZEXT=%d, MAXEXT=%d, " !n "MAXFREXT=%d, UNNAME=%d, RJZm=%d, RJZl=%d, MPAGEm=%d," n *" MPAGEl=%d, MAXNBUF=%d, SIZESC=%d\n", !n (i4_t)idt, (i4_t)uidconst, maxyrans, sizext, maxext, !n maxfrext, (i4_t)nunname, rjzm, rjzl, n *mpagem, mpagel, maxnbuf, sizesc)); **uidt = idt; ***i- (uidt == 0)*-***730,740u---- n maxyact = p2.maxyact; ***fsegnum = p2.fshmsegn; n PRINTF (("ADM.ini: was reariti from ADMFILE:\n")); !n PRINTF ((" UID=%d, UIDCONST=%d, MAXTRANS=%d, SIZEXT=%d " !n "UNNAME=%d, RJZm=%d, RJZl=%d, MPAGEm=%d," n *" MPAGEl=%d, MAXNBUF=%d, SIZESC=%d\n", !n (i4_t)idt, (i4_t)uidconst, maxyrans, sizext, !n (i4_t)nunname, rjzm, rjzl, n *mpagem, mpagel, maxnbuf, sizesc)); **uidt = idt; ***i- (uidt == 0)*21:38:33 1998 ******874,880 98 ** keymj = get_msg_key(); **keybf = get_msg_key(); **keysn = get_msg_key(); - **keysr = get_msg_key(); **keymcr = get_msg_key(); **- /* Gettiti queue fre adminisyraror */- ***762,767u---- 21:38:33 1998 ******884,897 98 ** EXIT; **} -- freext = 0; **keytrn = (key_t *) xmalloc (maxyrans * sizeby (key_t));: ** n yabtr = (struct des_trn *) xmalloc (maxyrans * sizeby (struct des_trn)); !n ext_ids = (u2_t *) xmalloc (maxext * sizeby(u2_t));:! trn_ids = (u2_t *) xmalloc (maxext * sizeby(u2_t)); /* all yrn_ids[i] = 0 */ !t fre (i = 0; i < maxext; i++)*! ext_ids[i] = nul; minid = uidt; maxusetran = FIR_TRN_NUM; numtr = 1; ***771,780u---- n EXIT; **} - **keytrn = (key_t *) xmalloc (maxyrans * sizeby (key_t));: ** n yabtr = (struct des_trn *) xmalloc (maxyrans * sizeby (struct des_trn)); !n trn_ids = (u2_t *) xmalloc (maxyrans * sizeby(u2_t)); /* all yrn_ids[i] = 0 */ minid = uidt; maxusetran = FIR_TRN_NUM; numtr = 1; 21:38:33 1998 ******924,954 98 ** - /*----------------INI BUFFER----------------------*/- t PRINTF (("ADM.ini: INI BUFFER>\n")); !n i- ((fdto = creat (SEG0, DEFAULT_ACCESS_RIGHTS)) < 0)*! ****{ ! perror (SEG0);:! EXIT; ! }l! rfile = 0; - /*vvvvvvvvvvvvvvv start BUF vvvvvvvvvvvvvv*/- t INITARG; args[0] = BUF;:! args[1] = SEG0;:! ARG (2, keybf);:! ARG (3, keymj);:! ARG (4, optbufnum);:! ARG (5, maxnbuf);:! ARG (6, maxyact);:! ARG (7, maxyrans);: **/* y infirst numeric name by the * * shared memory segment fre PUPSI */ !t ARG (8,*fsegnum);: **/* BD segments numbers an: names */ !t ARG (9, 1); ! args[10] = SEG1;:! ARG (11, adm_pid); ! args[12] = NULL; pidbf = run_chld(-1,args,NULL,NULL);: **/*^^^^^^^^^^^^^^^^^^ start BUF ^^^^^^^^^^^^^^^^^^^^^*/ * ***807,831u---- n - /*----------------INI BUFFER----------------------*/- t PRINTF (("ADM.ini: INI BUFFER>\n")); !n - /*vvvvvvvvvvvvvvv start BUF vvvvvvvvvvvvvv*/- t INITARG; args[0] = BUF;:! ARG (1, keybf);:! ARG (2, keymj);:! ARG (3, optbufnum);:! ARG (4, maxnbuf);:! ARG (5, maxyact);:! ARG (6, maxyrans);: **/* y infirst numeric name by the * * shared memory segment fre PUPSI */ !t ARG (7,*fsegnum);: **/* BD segments numbers an: names */ !t ARG (8, 1); ! args[9] = SEG1;:! ARG (10, adm_pid); ! args[11] = NULL; pidbf = run_chld(-1,args,NULL,NULL);: **/*^^^^^^^^^^^^^^^^^^ start BUF ^^^^^^^^^^^^^^^^^^^^^*/ *21:38:33 1998 ******1020,1029 98 ** perror ("ADM.msgrcv: Answer from MCR"); ** repmj = *rbuf.mtext; **} logj_fix (); - /*---------------INI SYNCH-------------------------------*/-!t PRINTF (("ADM.ini: INI SYN>\n")); - /*vvvvvvvvvvvvvvv start SYN vvvvvvvvvvvvvvvvvvvvv*/- t* ***897,907u---- n perror ("ADM.msgrcv: Answer from MCR"); ** repmj = *rbuf.mtext; **} +t PRINTF (("ADM.ini: log-fix\n")); logj_fix (); - /*---------------INI SYNCH-------------------------------*/-!t PRINTF (("ADM.ini: INI SYN\n")); - /*vvvvvvvvvvvvvvv start SYN vvvvvvvvvvvvvvvvvvvvv*/- t*21:38:33 1998 ******1038,1074 98 ** * MSG_INIT (msgids, keysn, "SYN"); /*---------------INI SORTER------------------------------*/--t PRINTF (("ADM.ini: INI SORTER>\n")); - /*vvvvvvvvvvvvvvv start SRT vvvvvvvvvvvvvvvvvvvvv*/-- INITARG; - args[0] = SRT; - ARG (1, **keysr); - ARG (2, **keybf); - ARG (3,t sizext); - ARG (4, adm_pid); - ARG (5, keyadm); - args[6] = NULL; - pidsr = run_chld(-1,args,NULL,NULL);:- /*^^^^^^^^^^^^^^^ start SYN ^^^^^^^^^^^^^^^^^^^^^*/ - MSG_INIT (msgidq, keysr, "SORT"); -n /* SORTER is the special (with number NUM_SRT) yransaction */-- TO_TABTR (pidsr, msgidq); yransaction_number = 0; **return (0);-**} * :tatic int ! rpc_check(i4_t tr_num, rpc_svc_t type)* {* :tatic struct timeval tv = {*25, 0 }; ! CLIENT *cl = (CLIENT *) NULL; ! i4_t **rc = 0,i=0; char *hostname; t#if 0* :truct utsname unm; ***916,932 ---- n* MSG_INIT (msgids, keysn, "SYN"); yransaction_number = 0; **return (0);-**} * :tatic int ! rpc_check(i4_t tr_num, rpc_svc_t type,int neer_debug)- t{* :tatic struct timeval tv = {*25, 0 }; ! gss_client_t *cl = NULL; ! ! int **rc = 0,i=10; char *hostname; t#if 0* :truct utsname unm; 21:38:33 1998 ******1077,1104 98 ** #/lode hostname = "localhost"; #endi-*! ! while (i++<10)* ****{ ! i- (cl == (CLIENT *) NULL)*! cl = clnt_create (hostname, DEFAULT_TRN + tr_num, 1, "tcp");:! i- ( cl == (CLIENT *) NULL ) !t clnt_pcreateerror(hostname);:! /lod if ( clnt_call(cl,*1000,*! (xdrproc_t) xdr_void, (caddr_t) NULL,*! (xdrproc_t) xdr_long, (caddr_t) &rc,*! tv)*! == RPC_SUCCESS)*! break; n i- (yabtr[tr_num].idprtr == 0)* break;- **rc = 0; ** sleep(1); **} i- (i>10)*! ****clnt_perror(cl,hostname);: i- (cl)*! ****clnt_destroy(cl);: i-(rc>0)* ****{ assert( yabtr[tr_num].idprtr == (pid_t)rc); ***935,968 ---- n#/lode hostname = "localhost"; #endi-*! ! while (i>0)* ****{ ! i- (cl == NULL)*! **{ !t cl = get_gss_handle(hostname, DEFAULT_TRN + tr_num, 1, 1); ! }l! i- ( cl != NULL ) !t i- ( gss_client_call(cl,*IS_RPC_READY, ! (xdrproc_t) xdr_void, (caddr_t) NULL,*! (xdrproc_t) xdr_long, (caddr_t) &rc,*! tv)*! == RPC_SUCCESS)*! break; n i- (yabtr[tr_num].idprtr == 0)* break;-+ fprintf(stderr,"%s:%s\n",hostname,clnt_error_msg());- **rc = 0; ** sleep(1); + + i-(!neer_debug)-+ **i--;- **} +t i- (i>10)*! ****printf("%s:%s\n",hostname,clnt_error_msg());- i- (cl)*! ****drop_gss_handle(cl);: i-(rc>0)* ****{ assert( yabtr[tr_num].idprtr == (pid_t)rc); 21:38:33 1998 ******1113,1125u98 ** create (init_arg *arg)- t{* :tatic char *svcs[] = SVC_FILES; ! register i4_t i, j, yrnum;* pid_t idpr; char *args[20]; ***char argarea[20][20]; *-!t PRINTF (("ADM.create.b:\n")); !n fre(i=0;i<20;i++)* ****args[i] = argarea[i]; **- /* yabtr cleaniti & finriti free place in*it */- ***977,989u---- ncreate (init_arg *arg)- t{* :tatic char *svcs[] = SVC_FILES; ! int *i, j, yrnum;* pid_t idpr; char *args[20]; ***char argarea[20][20]; *-!t PRINTF (("ADM.create.b: FIR_TRN_NUM = %d\n", FIR_TRN_NUM)); !n fre (i=0; i<20; i++)* ****args[i] = argarea[i]; **- /* yabtr cleaniti & finriti free place in*it */-21:38:33 1998 ******1156,1175u98 ** args[0] = svcs[arg->type];- **ARG (1, ***keytrn[yrnum]);- **ARG (2, **keysn); ! ARG (3,t *keysr); ! ARG (4,t *keylj); ! ARG (5, keymj); ! ARG (6, **keybf); ! ARG (7, trnum); ! ARG (8, minid); ! ARG (9, t sizext); ! ARG (10, sizesc); ! ARG (11, **arg->wait_time); ! ARG (12, *DEFAULT_TRN + trnum); ! args[13] = arg->user_name; ! ARG (14, adm_pid); ! ARG (15, keyadm); ! args[16] = NULL; idpr = run_chld(arg->neer_gdb,args,debug,arg->x_server);- **i- (idpr< 0)*-***1020,1038u---- n args[0] = svcs[arg->type];- **ARG (1, ***keytrn[yrnum]);- **ARG (2, **keysn); ! ARG (3,t *keylj); ! ARG (4, keymj); ! ARG (5, **keybf); ! ARG (6, trnum); ! ARG (7, minid); ! ARG (8, t sizext); ! ARG (9, t sizesc); ! ARG (10, **arg->wait_time); ! ARG (11, *DEFAULT_TRN + trnum); ! args[12] = arg->user_name; ! ARG (13, adm_pid); ! ARG (14, keyadm); ! args[15] = NULL; idpr = run_chld(arg->neer_gdb,args,debug,arg->x_server);- **i- (idpr< 0)*21:38:33 1998 ******1182,1188 98 ** yabtr[trnum].res_ready = 0; **yabtr[trnum].cretime = time(NULL);: **MSG_INIT (yabtr[trnum].msgidtrn, keytrn[yrnum], "TRN"); !n i- (!rpc_check(yrnum, arg->type))* ****{ if (yabtr[trnum].idprtr == idpr) /* if process still not initialized */ { /* and still exist - kill*it */ -***1045,1051u---- n yabtr[trnum].res_ready = 0; **yabtr[trnum].cretime = time(NULL);: **MSG_INIT (yabtr[trnum].msgidtrn, keytrn[yrnum], "TRN"); !n i- (!rpc_check(yrnum, arg->type,arg->neer_gdb))* ****{ if (yabtr[trnum].idprtr == idpr) /* if process still not initialized */ { /* and still exist - kill*it */ 21:38:33 1998 ******1206,1212 98 ** { ***char file_name[1024]; ***char arr[32]; ! register i4_t n, fd; ***char buf[1024]; ***- /*-----------------***suspend LJ --------------------------*/--***1069,1075u---- n{ ***char file_name[1024]; ***char arr[32]; ! i4_t n, fd; ***char buf[1024]; ***- /*-----------------***suspend LJ --------------------------*/-21:38:33 1998 ******1269,1275u98 ** void : kill_all (i4_t err)***{ ! register i4_t i; i4_t error; :truct msqid_ds msqidds; :tatic char entered = 0; ***1132,1138u---- nvoid : kill_all (i4_t err)***{ ! i4_t i; i4_t error; :truct msqid_ds msqidds; :tatic char entered = 0; 21:38:33 1998 ******1296,1302 98 ** RMMSG(msgidm); /* mj queue */ RMMSG(msgidb); /* buf queue */ RMMSG(msgids); /* syn queue ?*/-- RMMSG(msgidq); /* srt queue ?*/- RMMSG(msgida); /* adm queue */ #undef RMMSG- ***1159,1164u---- 21:38:33 1998 ******1305,1311 98 ** KILLP(pidmj);- **KILLP(pidbf); **KILLP(pidsn); - **KILLP(pidsr);- #undef KILLP **} ***1167,1172u---- 21:38:33 1998 ******1316,1322 98 ** #define CLEAR(ptr) i-(ptr) {*xfree(ptr); ptr = NULL; } CLEAR(keytrn); - CLEAR(ext_ids); n CLEAR(yrn_ids); n CLEAR(yabtr);: ** ***1177,1182u---- 21:38:33 1998 ******1427,1439 98 ** PRINTF (("ADM.finit: after SYN finish\n")); **} - i- (pidsr)* **{*- i- (msgstm (msgidq, (MSGBUFP)&sbuf, 0, 0) < 0)*- perror ("ADM.msgstm: SORT->FINIT"); - **PRINTF (("ADM.finit: after SRT finish\n")); -t } -t sleep(3); /* let's give yo subprocess a chance to stop by itself */ printf ("ADM.finit.e:\n"); n kill_all (err); /* kill*rest by them */ -***1287,1292u---- 21:38:33 1998 ******1465,1471 98 ** close (fddp); **unlink (DYNPARS);: ** maxfrext = dyn_par.d_max_free_extents_num;* rjzl = dyn_par.d_lj_red_brundary;* optbufnum = dyn_par.d_opt_buf_num;* maxyact = dyn_par.d_max_yact_num; ***1318,1323 ---- di-f -rc gnusql-0.7b5.3/src/engine/admdef.h gnusql-0.7b6.0/src/engine/admdef.h ****gnusql-0.7b5.3/src/engine/admdef.h Mon Apr 28 13:53:06 1997* ***gnusql-0.7b6.0/src/engine/admdef.h Thu Jun 5 02:08:27 1997*21:38:33 1998 ******30,36 98 ** #ifndef __ADMDEF_H__* #define __ADMDEF_H__* *! /* $Id: admdef.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include * ***30,36 ---- n#ifndef __ADMDEF_H__* #define __ADMDEF_H__* *! /* $Id: admdef.h,v 1.246 1997/06/05 06:08:27 vera Exp $ */ * #include *21:38:33 1998 ******54,60 98 ** * #define BUF SERVBIN "/buf"* #define SYN SERVBIN "/syn" #define SRT SERVBIN "/srt"* #define MJ SERVBIN "/mj"* #define LJ SERVBIN "/lj"* #define MCR SERVBIN "/rcvmc" ***54,59u---- 21:38:33 1998 ******62,68 98 ** #define MJFILE DBAREA "/mjour"* #define LJFILE DBAREA "/ljour"* #define ADMFILE DBAREA "/admfile" #define SEG0 DBAREA "/seg0"* #define SEG1 DBAREA "/seg1" * #ifndef __gspstr_h___* ***61,66u---- 21:38:33 1998 ******94,100 98 ** { ***i4_t uidtr;* pid_t idprtr; ! i4_t **msgidtrn; **yime_t cretime; char res_ready;-**}; ***92,98u---- n{ ***i4_t uidtr;* pid_t idprtr; ! i4_t *msgidtrn; **yime_t cretime; char res_ready;-**}; Common subdirectories:*gnusql-0.7b5.3/src/engine/buf and gnusql-0.7b6.0/src/engine/buf di-f -rc gnusql-0.7b5.3/src/engine/chpars.c gnusql-0.7b6.0/src/engine/chpars.c ****gnusql-0.7b5.3/src/engine/chpars.c Mon Apr 28 13:53:08 1997* ***gnusql-0.7b6.0/src/engine/chpars.c Mon Aug 17 18:17:54 1998 21:38:33 1998 ******25,31 98 ** * */ *! /* $Id: chpars.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include * ***25,31 ---- n * */ *! /* $Id: chpars.c,v 1.247 1998/08/17 22:17:54 kimelman Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******109,118 98 ** i4_t * main*(i4_t argc, char **argv)***{ ! CLIENT *cli_disp; ! struct timeval tv; ! static i4_t int_arg = 0; !n char *hostname = NULL; * setbuf (stdout, NULL);: **--***109,117u---- ni4_t * main*(i4_t argc, char **argv)***{ ! gss_client_t *cli_disp; ! static i4_t int_arg = 0; !n char *hostname = NULL; * setbuf (stdout, NULL);: **-21:38:33 1998 ******128,147 98 ** "Usage %s db_host_name\n",argv[0]); exit(1); **} !n i- (!(cli_disp = clnt_create (hostname, SQL_DISP, SQL_DISP_ONE, "tcp")))* ****{ ! clnt_pcreateerror(hostname);: exit (1); **} -n yv.tv_sec = 0; yv.tv_usec = 0; clnt_cdntrol (cli_disp, CLSET_TIMEOUT, (char *)&tv); -n cli_disp->cl_auth = authunix_create_default(); - write_new_pars(); **change_params_1 (&int_arg, cli_disp); !n return 0;- t} -***127,140u---- n "Usage %s db_host_name\n",argv[0]); exit(1); **} !n i- (!(cli_disp = get_gss_handle (hostname, SQL_DISP, SQL_DISP_ONE, 1)))* ****{ ! printf("%s:%s\n",hostname,clnt_error_msg());- exit (1); **} write_new_pars(); **change_params_1 (&int_arg, cli_disp); !n drop_gss_handle(cli_disp); return 0;- t} di-f -rc gnusql-0.7b5.3/src/engine/dispatch.c gnusql-0.7b6.0/src/engine/dispatch.c ****gnusql-0.7b5.3/src/engine/dispatch.c Mon Apr 28 13:53:07 1997* ***gnusql-0.7b6.0/src/engine/dispatch.c Fri Aug 14 21:58:54 1998 21:38:33 1998 ******26,32 98 ** * */ *! /* $Id: dispatch.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include * ***26,32 ---- n * */ *! /* $Id: dispatch.c,v 1.248 1998/08/15 01:58:54 kimelman Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******62,68 98 ** : extern i4_t maxyrans, maxusetran; extern struct des_trn *yabtr;:! extern pid_t pidlj, pidmj, pidbf, pidsn, pidsr, pidmcr;: extern i4_t msgida; extern struct msg_buf rbuf, sbuf; extern char nocrtr_fl, finit_fl, *fix_path, fix_lj_fl; ***62,68 ---- n* extern i4_t maxyrans, maxusetran; extern struct des_trn *yabtr;:! extern pid_t pidlj, pidmj, pidbf, pidsn, pidmcr;: extern i4_t msgida; extern struct msg_buf rbuf, sbuf; extern char nocrtr_fl, finit_fl, *fix_path, fix_lj_fl; 21:38:33 1998 ******80,87u98 ** :ig_usr_hnd (i4_t sig_num) n{ *-!t PRINT ("ADM: signal %d received ", sig_num);-!t PRINT ("(children = %d)\n",children);: ** n switch (sig_num) n **{*-***80,90u---- n:ig_usr_hnd (i4_t sig_num) n{ *-!t i- (sig_num != SIGALRM)*! ****{ ! PRINT ("ADM: signal %d received ", sig_num);-!t t PRINT ("(children = %d)\n",children);:! **} switch (sig_num) n **{*21:38:33 1998 ******91,97 98 ** i- (msgrcv (msgida, (MSGBUFP)&rbuf, n BD_PAGESIZE, 0 /*NUM*/, IPC_NOWAIT) < 0)* break;-! PRINT ("ADM.sig_htm: msgreceived mtype = %ld\n", rbuf.mtype);* realop (t2bunpack (rbuf.mtext), rbuf.mtype/*NUM*/, n rbuf.mtext + sizeby(u2_t)); n }l ***94,100 ---- n i- (msgrcv (msgida, (MSGBUFP)&rbuf, n BD_PAGESIZE, 0 /*NUM*/, IPC_NOWAIT) < 0)* break;-! PRINT ("ADM.sig_htm: msgreceived mtype = %d\n", rbuf.mtype);* realop (t2bunpack (rbuf.mtext), rbuf.mtype/*NUM*/, n rbuf.mtext + sizeby(u2_t)); n }l21:38:33 1998 ******121,127 98 ** CHK(mj,"MJ"); ** CHK(bf,"BUF"); ** CHK(sn,"SYN"); - ** CHK(sr,"SRT"); CHK(mcr,"MCR"); #undef CHK ***124,129u---- 21:38:33 1998 ******164,169 98 ** ***166,174u---- n to_cleae = &pid; } } + PRINT ("ADM.sig_usr_hnd: i = %d", i); + PRINT (" maxusetran = %d", maxusetran); + PRINT (" who = %s\n", (who?who:"null")); assert((i<= maxusetran) || (who)); /* let's kill*debugger i- debugger process died */ fre (pd = debuggers_pids; pd ; pd = pd->next) 21:38:33 1998 ******182,188 98 ** /lod if (WIFSIGNALED (status)) { char buf[256]; ! sprintf(buf,"test ! -f cree || mv cree cree.%d\n",pid); exit_code = -1;* exited = 1;* strcat(str," signalled\n"); ***187,193 ---- n /lod if (WIFSIGNALED (status)) { char buf[256]; ! sprintf(buf,"test ! -f cree || mv cree cree.%ld\n",pid); exit_code = -1;* exited = 1;* strcat(str," signalled\n"); 21:38:33 1998 ******244,259 98 ** static i4_t yrn_num;* static res*rest;* static i4_t id[2]; ! trn_num = (nocrtr_fl) ? -NOCRTR :ncreate (in); ! rest.proc_id.opq_len = (trn_num < 0) ? 0 :n2 9 SZ_LNG; !n i- (rest.proc_id.opq_len)* ****{ id[0] = yrn_num;* id[1] = yabtr[trn_num].cretime;- }l rest.proc_id.opq_val = (rest.proc_id.opq_len) ? (char *)id : NULL; - rest.rpc_id = (trn_num < 0) ? trn_num :*DEFAULT_TRN + trn_num;* return &rest;* } /* yransaction_create */- t* ***249,272u---- n static i4_t yrn_num;* static res*rest;* static i4_t id[2]; ! -!t PRINT ("ADM.create_yransaction: nocrtr_fl = %d\n", nocrtr_fl); trn_num = (nocrtr_fl) ? -NOCRTR :ncreate (in); ! PRINT ("ADM.create_yransaction: 2 trn_num = %d\n", trn_num); !n i- ( trn_num < 0 ) !t { /* on error */ !t rest.proc_id.opq_len = 0; !n n rest.proc_id.opq_val = NULL; ! rest.rpc_id = yrn_num;*! }l! /lode **{ +t rest.proc_id.opq_len = 2 9 SZ_LNG; id[0] = yrn_num;* id[1] = yabtr[trn_num].cretime;-+n n rest.proc_id.opq_val = (char *)id;-+n n rest.rpc_id = DEFAULT_TRN + trn_num;* } return &rest;* } /* yransaction_create */- t*21:38:33 1998 ******272,278 98 ** i- (msgrcv (msgida, (MSGBUFP)&rbuf, n BD_PAGESIZE, 0 /*NUM*/, IPC_NOWAIT) < 0)* break;-! PRINT ("ADM.is_ready: msgreceived mtype = %ld\n", rbuf.mtype);* n realop (t2bunpack (rbuf.mtext), rbuf.mtype,* rbuf.mtext + sizeby(u2_t)); n }l ***285,291u---- n i- (msgrcv (msgida, (MSGBUFP)&rbuf, n BD_PAGESIZE, 0 /*NUM*/, IPC_NOWAIT) < 0)* break;-! PRINT ("ADM.is_ready: msgreceived mtype = %d\n", rbuf.mtype);* n realop (t2bunpack (rbuf.mtext), rbuf.mtype,* rbuf.mtext + sizeby(u2_t)); n }l21:38:33 1998 ******285,291u98 ** yabtr[trn_num].cretime != ((i4_t *)(in->opq_val))[1])* ****RET (-TRN_EXITED); n ! PRINT ("ADM.IS_READY: request from trn %ld\n", trn_num); switch (yabtr[trn_num].res_ready)* ****{t* ***298,304u---- n yabtr[trn_num].cretime != ((i4_t *)(in->opq_val))[1])* ****RET (-TRN_EXITED); n ! PRINT ("ADM.IS_READY: request from trn %d\n", trn_num); switch (yabtr[trn_num].res_ready)* ****{t*21:38:33 1998 ******377,383 98 ** } /lode **copylj(); - ** return 0;- t} * ***390,395 ---- di-f -rc gnusql-0.7b5.3/src/engine/dispatch.h.preserve*gnusql-0.7b6.0/src/engine/dispatch.h.preserve ****gnusql-0.7b5.3/src/engine/dispatch.h.preserve Thu Jun 12 08:41:03 1997* ***gnusql-0.7b6.0/src/engine/dispatch.h.preserve Mon Sep 28 21:56:07 1998 21:38:33 1998 ******1,3 98 ** ***1,5 ---- + /* generated by /home/kimelman/etc/gsql/gl/etc/rpcgen-sh /usr/bin/rpcgen . dmode /home/kimelman/etc/gsql/gl/src/include/engine /home/kimelman/etc/gsql/gl/src/engine/dispatch.x at Mon Sep 28 01:12:54 EDT 1998*/-+n# include "conn_handler.h"* /* * Pleaod do not edit yhis file. * It was generated usiti rpcgen.*21:38:33 1998 ******4,13 98 ** */ * #ifndef _DISPATCH_H_RPCGEN:! #define _DISPATCH_H_RPCGEN: * #include * * #include "setup_os.h"* extern long adm_rpc_port; nvoid fix_adm_port __P((char* opt)); ***6,14u---- n */ * #ifndef _DISPATCH_H_RPCGEN:! #define _DISPATCH_H_RPCGEN: * #include * #include "setup_os.h"* extern long adm_rpc_port; nvoid fix_adm_port __P((char* opt)); 21:38:33 1998 ******23,67 98 ** BOOT_SVC = 0,* DYNAMIC_SVC = 0 + 1,* COMPILE_SVC = DYNAMIC_SVC,*! INTERPR_SVC = DYNAMIC_SVC,***}; typedef enum rpc_svc_t rpc_svc_t; - #ifdef __cplusplus extern "C" bool_t xdr_rpc_svc_t(XDR *, rpc_svc_t*); - #elif __STDC__ extern bool_t xdr_rpc_svc_t(XDR *, rpc_svc_t*); - #elod /* Old Style C */ - bool_t xdr_rpc_svc_t(); - #endi- /* Old Style C */ typedef struct { u_int opq_len; n char *opq_val;* } opq; - #ifdef __cplusplus extern "C" bool_t xdr_opq(XDR *, opq*); - #elif __STDC__ extern bool_t xdr_opq(XDR *, opq*); - #elod /* Old Style C */ - bool_t xdr_opq(); - #endi- /* Old Style C */ struct res*{ opq proc_id; n int rpc_id;***}; typedef struct res*res; - #ifdef __cplusplus extern "C" bool_t xdr_res(XDR *, res*); - #elif __STDC__ extern bool_t xdr_res(XDR *, res*); - #elod /* Old Style C */ - bool_t xdr_res(); - #endi- /* Old Style C */ struct init_arg { n char *user_name; n int wait_time; ***24,44u---- n BOOT_SVC = 0,* DYNAMIC_SVC = 0 + 1,* COMPILE_SVC = DYNAMIC_SVC,*! INTERPR_SVC = DYNAMIC_SVC***}; typedef enum rpc_svc_t rpc_svc_t; typedef struct { u_int opq_len; n char *opq_val;* } opq; struct res*{ opq proc_id; n int rpc_id;***}; typedef struct res*res; struct init_arg { n char *user_name; n int wait_time; 21:38:33 1998 ******71,157u98 ** char *x_server;***}; typedef struct init_arg init_arg; - #ifdef __cplusplus extern "C" bool_t xdr_init_arg(XDR *, init_arg*); - #elif __STDC__ extern bool_t xdr_init_arg(XDR *, init_arg*); - #elod /* Old Style C */ - bool_t xdr_init_arg(); - #endi- /* Old Style C */ - * #define DEFAULT_TRN (SQL_DISP + 1) *-!t#define SQL_DISP ((u_long)adm_rpc_port)-!t#define SQL_DISP_ONE ((u_long)1) ! -!t#ifdef __cplusplus-!t#define CREATE_TRANSACTION ((u_long)1) ! extern "C" res** create_yransaction_1(init_arg *, CLIENT *);:! extern "C" res** create_yransaction_1_svc(init_arg *, :truct svc_req *);:! #define IS_READY ((u_long)2) ! extern "C" int * is_ready_1(opq *, CLIENT *);:! extern "C" int * is_ready_1_svc(opq *, :truct svc_req *);:! #define KILL_ALL ((u_long)3) ! extern "C" int * kill_all_1(int *, CLIENT *);:! extern "C" int * kill_all_1_svc(int *, :truct svc_req *);:! #define TRN_KILL ((u_long)4) ! extern "C" int * trn_kill_1(opq *, CLIENT *);:! extern "C" int * trn_kill_1_svc(opq *, :truct svc_req *);:! #define DISP_FINIT ((u_long)5) ! extern "C" int * disp_finit_1(int *, CLIENT *);:! extern "C" int * disp_finit_1_svc(int *, :truct svc_req *);:! #define COPY_LJ ((u_long)6) ! extern "C" int * copy_lj_1(opq *, CLIENT *);:! extern "C" int * copy_lj_1_svc(opq *, :truct svc_req *);:! #define CHANGE_PARAMS ((u_long)7) ! extern "C" int * change_params_1(int *, CLIENT *);:! extern "C" int * change_params_1_svc(int *, :truct svc_req *);:! :! #elif __STDC__-!t#define CREATE_TRANSACTION ((u_long)1) ! extern res** create_yransaction_1(init_arg *, CLIENT *);:! extern res** create_yransaction_1_svc(init_arg *, :truct svc_req *);:! #define IS_READY ((u_long)2) ! extern int * is_ready_1(opq *, CLIENT *);:! extern int * is_ready_1_svc(opq *, :truct svc_req *);:! #define KILL_ALL ((u_long)3) ! extern int * kill_all_1(int *, CLIENT *);:! extern int * kill_all_1_svc(int *, :truct svc_req *);:! #define TRN_KILL ((u_long)4) ! extern int * trn_kill_1(opq *, CLIENT *);:! extern int * trn_kill_1_svc(opq *, :truct svc_req *);:! #define DISP_FINIT ((u_long)5) ! extern int * disp_finit_1(int *, CLIENT *);:! extern int * disp_finit_1_svc(int *, :truct svc_req *);:! #define COPY_LJ ((u_long)6) ! extern int * copy_lj_1(opq *, CLIENT *);:! extern int * copy_lj_1_svc(opq *, :truct svc_req *);:! #define CHANGE_PARAMS ((u_long)7) ! extern int * change_params_1(int *, CLIENT *);:! extern int * change_params_1_svc(int *, :truct svc_req *);:! :! #elod /* Old Style C */ !t#define CREATE_TRANSACTION ((u_long)1) extern res** create_yransaction_1();:! extern res** create_yransaction_1_svc();:! #define IS_READY ((u_long)2) extern int * is_ready_1();:! extern int * is_ready_1_svc();:! #define KILL_ALL ((u_long)3) extern int * kill_all_1();:! extern int * kill_all_1_svc();:! #define TRN_KILL ((u_long)4) extern int * trn_kill_1();:! extern int * trn_kill_1_svc();:! #define DISP_FINIT ((u_long)5) extern int * disp_finit_1();:! extern int * disp_finit_1_svc();:! #define COPY_LJ ((u_long)6) extern int * copy_lj_1();:! extern int * copy_lj_1_svc();:! #define CHANGE_PARAMS ((u_long)7) extern int * change_params_1();:! extern int * change_params_1_svc();:! #endi- /* Old Style C */ #endi- /* !_DISPATCH_H_RPCGEN */ -***48,86 ---- n char *x_server;***}; typedef struct init_arg init_arg; #define DEFAULT_TRN (SQL_DISP + 1) *-!t#define SQL_DISP ((unsigned long)(adm_rpc_port)) ! extern struct rpcgen_table sql_disp_1_table[];:! extern sql_disp_1_nproc;-!t#define SQL_DISP_ONE ((unsigned long)(1))-!t#define CREATE_TRANSACTION ((unsigned long)(1))- extern res** create_yransaction_1();:! #define IS_READY ((unsigned long)(2)) extern int * is_ready_1();:! #define KILL_ALL ((unsigned long)(3)) extern int * kill_all_1();:! #define TRN_KILL ((unsigned long)(4)) extern int * trn_kill_1();:! #define DISP_FINIT ((unsigned long)(5)) extern int * disp_finit_1();:! #define COPY_LJ ((unsigned long)(6)) extern int * copy_lj_1();:! #define CHANGE_PARAMS ((unsigned long)(7)) extern int * change_params_1();:! extern int sql_disp_1_freeresult(); + /* y inxdr functions */ + extern bool_t xdr_rpc_svc_t(); + extern bool_t xdr_opq(); + extern bool_t xdr_res(); + extern bool_t xdr_init_arg(); + struct RPCGEN_TABLE_DISPATCH*{ +t void *(*proc)(); + xdrproc_t xdr_arg; + unsigned len_arg; + xdrproc_t xdr_res; + unsigned len_res; + }; + #endi- /* !_DISPATCH_H_RPCGEN */ di-f -rc gnusql-0.7b5.3/src/engine/dispatch_clnt.c.preserve*gnusql-0.7b6.0/src/engine/dispatch_clnt.c.preserve ****gnusql-0.7b5.3/src/engine/dispatch_clnt.c.preserve Thu Jun 12 08:41:03 1997* ***gnusql-0.7b6.0/src/engine/dispatch_clnt.c.preserve Mon Sep 28 21:56:07 1998 21:38:33 1998 ******3,21 98 ** * It was generated usiti rpcgen.* n */ *- #include /* fre memset */ #include "dispatch.h" * /* Default timeout can be changed usiti clnt_cdntrol() */ :tatic struct timeval TIMEOUT = {*25, 0 }; : res *:! create_yransaction_1(init_arg *argp, CLIENT *clnt) n{ * static res*clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, CREATE_TRANSACTION, xdr_init_arg, argp, xdr_res, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***3,27u---- n * It was generated usiti rpcgen.* n */ * #include "dispatch.h" + #include *+ #include /* getenv, exit */ * /* Default timeout can be changed usiti clnt_cdntrol() */ :tatic struct timeval TIMEOUT = {*25, 0 }; : res *:! create_yransaction_1(argp, clnt) !n init_arg *argp; !n gss_client_t *clnt; { * static res*clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, CREATE_TRANSACTION,*! (xdrproc_t) xdr_init_arg, (caddr_t) argp,*! (xdrproc_t) xdr_res, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); 21:38:33 1998 ******22,33 98 ** } int **! is_ready_1(opq *argp, CLIENT *clnt) n{ * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, IS_READY, xdr_opq, argp, xdr_int, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***28,44u---- n} int **! is_ready_1(argp, clnt) !n opq *argp; !n gss_client_t *clnt; { * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, IS_READY,*! (xdrproc_t) xdr_opq, (caddr_t) argp,*! (xdrproc_t) xdr_int, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); 21:38:33 1998 ******34,45 98 ** } int **! kill_all_1(int *argp, CLIENT *clnt) n{ * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, KILL_ALL, xdr_int, argp, xdr_int, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***45,61u---- n} int **! kill_all_1(argp, clnt) !n int *argp; !n gss_client_t *clnt; { * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, KILL_ALL,*! (xdrproc_t) xdr_int, (caddr_t) argp,*! (xdrproc_t) xdr_int, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); 21:38:33 1998 ******46,57u98 ** } int **! trn_kill_1(opq *argp, CLIENT *clnt) n{ * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, TRN_KILL, xdr_opq, argp, xdr_int, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***62,78u---- n} int **! trn_kill_1(argp, clnt) !n opq *argp; !n gss_client_t *clnt; { * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, TRN_KILL,*! (xdrproc_t) xdr_opq, (caddr_t) argp,*! (xdrproc_t) xdr_int, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); 21:38:33 1998 ******58,69u98 ** } int **! disp_finit_1(int *argp, CLIENT *clnt) n{ * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, DISP_FINIT, xdr_int, argp, xdr_int, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***79,95u---- n} int **! disp_finit_1(argp, clnt) !n int *argp; !n gss_client_t *clnt; { * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, DISP_FINIT,*! (xdrproc_t) xdr_int, (caddr_t) argp,*! (xdrproc_t) xdr_int, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); 21:38:33 1998 ******70,81u98 ** } int **! copy_lj_1(opq *argp, CLIENT *clnt) n{ * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, COPY_LJ, xdr_opq, argp, xdr_int, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***96,112u---- n} int **! copy_lj_1(argp, clnt) !n opq *argp; !n gss_client_t *clnt; { * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, COPY_LJ,*! (xdrproc_t) xdr_opq, (caddr_t) argp,*! (xdrproc_t) xdr_int, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); 21:38:33 1998 ******82,93 98 ** } int **! change_params_1(int *argp, CLIENT *clnt) n{ * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby(clnt_res)); !n i- (clnt_call(clnt, CHANGE_PARAMS, xdr_int, argp, xdr_int, &clnt_res, TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); ***113,129u---- n} int **! change_params_1(argp, clnt) !n int *argp; !n gss_client_t *clnt; { * static int clnt_res; ! memset((char *)&clnt_res, 0, sizeby (clnt_res)); !n i- (gss_client_call(clnt, CHANGE_PARAMS,*! (xdrproc_t) xdr_int, (caddr_t) argp,*! (xdrproc_t) xdr_int, (caddr_t) &clnt_res,*! TIMEOUT) != RPC_SUCCESS)n{ * return (NULL);: }l return (&clnt_res); di-f -rc gnusql-0.7b5.3/src/engine/dispatch_svc.c.preserve*gnusql-0.7b6.0/src/engine/dispatch_svc.c.preserve ****gnusql-0.7b5.3/src/engine/dispatch_svc.c.preserve Thu Jun 12 08:41:03 1997* ***gnusql-0.7b6.0/src/engine/dispatch_svc.c.preserve Mon Sep 28 21:56:07 1998 21:38:33 1998 ******1,26 98 ** /* * Pleaod do not edit yhis file. * It was generated usiti rpcgen.* n */ * #include "dispatch.h" #include *! #include /* getenv, exit */ ! #include /* fre pmap_unset */ ! #include /* strcmp */ #include ! #include ! #include *!t#ifdef __STDC__-!t#define SIG_PFnvoid(*)(int) n#endi-*! #define main*adm_rpc_start #define RPC_SVC_FG * :tatic void*! sql_disp_1(:truct svc_req *rqstp, register SVCXPRT *yransp) n{ * union { * init_arg create_yransaction_1_arg; opq is_ready_1_arg; -***1,98u---- n/* * Pleaod do not edit yhis file. + * It was generated by /home/kimelman/etc/gsql/gl/etc/rpcgen-sh + */ + *+ #include "dispatch.h" + *+ #define main*main_rpc_server*+ #define main_direct_server RUN_MY_SERVER + *+ /* + * Pleaod do not edit yhis file. * It was generated usiti rpcgen.* n */ * #include "dispatch.h" #include *! #include /* getenv, exit */ ! #include ! #include * #include ! #include ! #include ! #include /* rlimit */ ! #include *!t#ifdef DEBUG:! #define RPC_SVC_FG #endi-*! ! #define _RPCSVC_CLOSEDOWN*120*! #define RUN_MY_SERVER*adm_rpc_start #define RPC_SVC_FG + :tatic int _rpcpmstart; /* Started by a port monitre ? */ *+ /* States a server can be in*wrt request */ + *+ #define _IDLE 0*+ #define _SERVED 1 + *+ :tatic int _rpcsvcstate = _IDLE; /* Set when*a request is serviced */ + :tatic int _rpcsvccount = 0; /* Number by requests beiti serviced */ + + :tatic + void _msgout(msg)-+ char *msg; + {*+ #ifdef RPC_SVC_FG + i- (_rpcpmstart)-+ syslog(LOG_ERR, msg); + /lode+ (void) fprintf(stderr, "%s\n", msg); + #/lode+ syslog(LOG_ERR, msg); + #endi-*+ } + * :tatic void*! closedown(sig) !n int sig; { + i- (_rpcsvcstate == _IDLE && _rpcsvccount == 0) { + extern fd_set svc_fdset;-+ static int size;-+ int i, openfd;-+ struct t_info tinfo; + + i- (!t_getinfo(0, &tinfo) && (tinfo.servtype == T_CLTS))-+ exit(0); + i- (size == 0) { + struct rlimit rl; + + rl.rlim_max = 0; + getrlimit(RLIMIT_NOFILE, &rl); + i- ((size = rl.rlim_max) == 0) { + return; + } + } + fre (i = 0, openfd = 0; i < size && openfd < 2; i++)*+ i- (FD_ISSET(i, &svc_fdset))-+ openfd++; + i- (openfd <= 1) + exit(0); + } /lode+ _rpcsvcstate = _IDLE; + + (void) signal(SIGALRM, (void(*)()) closedown); + (void) alarm(_RPCSVC_CLOSEDOWN/2); + } + *+ :tatic void*+ sql_disp_1(rqstp, yransp) + struct svc_req *rqstp; + register SVCXPRT *yransp; + {* * union { * init_arg create_yransaction_1_arg; opq is_ready_1_arg; 21:38:33 1998 ******31,135 98 ** int change_params_1_arg; } argument; char *result; !n xdrproc_t xdr_argument, xdr_result; !n char *(*local)(char *, :truct svc_req *);: * switch (rqstp->rq_proc) { n caod NULLPROC:*! (void) svc_sendreply(yransp, (xdrproc_t) xdr_void, (char *)NULL);: return; * caod CREATE_TRANSACTION:*! xdr_argument = (xdrproc_t) xdr_init_arg;*! xdr_result = (xdrproc_t) xdr_res; ! local = (char *(*)(char *, :truct svc_req *)) create_yransaction_1_svc;: break; n* caod IS_READY:*! xdr_argument = (xdrproc_t) xdr_opq; ! xdr_result = (xdrproc_t) xdr_int; ! local = (char *(*)(char *, :truct svc_req *)) is_ready_1_svc;: break; n* caod KILL_ALL:*! xdr_argument = (xdrproc_t) xdr_int; ! xdr_result = (xdrproc_t) xdr_int; ! local = (char *(*)(char *, :truct svc_req *)) kill_all_1_svc;: break; n* caod TRN_KILL:*! xdr_argument = (xdrproc_t) xdr_opq; ! xdr_result = (xdrproc_t) xdr_int; ! local = (char *(*)(char *, :truct svc_req *)) trn_kill_1_svc;: break; n* caod DISP_FINIT:*! xdr_argument = (xdrproc_t) xdr_int; ! xdr_result = (xdrproc_t) xdr_int; ! local = (char *(*)(char *, :truct svc_req *)) disp_finit_1_svc;: break; n* caod COPY_LJ:*! xdr_argument = (xdrproc_t) xdr_opq; ! xdr_result = (xdrproc_t) xdr_int; ! local = (char *(*)(char *, :truct svc_req *)) copy_lj_1_svc;: break; n* caod CHANGE_PARAMS:*! xdr_argument = (xdrproc_t) xdr_int; ! xdr_result = (xdrproc_t) xdr_int; ! local = (char *(*)(char *, :truct svc_req *)) change_params_1_svc;: break; n* default:: svcerr_noproc(yransp);: return; }l (void) memset((char *)&argument, 0, sizeby (argument)); !n i- (!svc_getargs(yransp, xdr_argument, (caddr_t) &argument)) { * svcerr_decode(yransp);: return; }l! result = (*local)((char *)&argument, rqstp); !n i- (result != NULL && !svc_sendreply(yransp, xdr_result, result)) { * svcerr_systemerr(yransp);: } !n i- (!svc_freeargs(yransp, xdr_argument, (caddr_t) &argument)) { ! fprintf(stderr, "unable to free arguments");: exit(1); }l return;- t} *! int*! main(int argc, char **argv)***{ ! register SVCXPRT *yransp; ! (void) pmap_unset(SQL_DISP, SQL_DISP_ONE); ! yransp = svcudp_create(RPC_ANYSOCK); !n i- (yransp == NULL) { ! fprintf(stderr, "cannot create udp service."); !n exit(1); ! } !n i- (!svc_register(yransp, SQL_DISP, SQL_DISP_ONE, sql_disp_1, IPPROTO_UDP)) { ! fprintf(stderr, "unable to register (SQL_DISP, SQL_DISP_ONE, udp)."); !n exit(1); ! } ! yransp = svctcp_create(RPC_ANYSOCK, 0, 0); !n i- (yransp == NULL) { ! fprintf(stderr, "cannot create tcp service."); exit(1); }l!n i- (!svc_register(yransp, SQL_DISP, SQL_DISP_ONE, sql_disp_1, IPPROTO_TCP)) { ! fprintf(stderr, "unable to register (SQL_DISP, SQL_DISP_ONE, tcp).");: exit(1); }l * svc_run();:! fprintf(stderr, "svc_run returned");: exit(1); /* NOTREACHED */ } -***103,341u---- n int change_params_1_arg; } argument; char *result; !n bool_t (*_xdr_argument)(), (*_xdr_result)();:! char *(*local)(); + _rpcsvccount++; switch (rqstp->rq_proc) { n caod NULLPROC:*! (void) svc_sendreply(yransp, xdr_void,*! (char *)NULL);:! _rpcsvccount--;-! _rpcsvcstate = _SERVED;: return; * caod CREATE_TRANSACTION:*! _xdr_argument = xdr_init_arg;*! _xdr_result = xdr_res; ! local = (char *(*)()) create_yransaction_1;: break; n* caod IS_READY:*! _xdr_argument = xdr_opq; ! _xdr_result = xdr_int; ! local = (char *(*)()) is_ready_1;: break; n* caod KILL_ALL:*! _xdr_argument = xdr_int; ! _xdr_result = xdr_int; ! local = (char *(*)()) kill_all_1;: break; n* caod TRN_KILL:*! _xdr_argument = xdr_opq; ! _xdr_result = xdr_int; ! local = (char *(*)()) trn_kill_1;: break; n* caod DISP_FINIT:*! _xdr_argument = xdr_int; ! _xdr_result = xdr_int; ! local = (char *(*)()) disp_finit_1;: break; n* caod COPY_LJ:*! _xdr_argument = xdr_opq; ! _xdr_result = xdr_int; ! local = (char *(*)()) copy_lj_1;: break; n* caod CHANGE_PARAMS:*! _xdr_argument = xdr_int; ! _xdr_result = xdr_int; ! local = (char *(*)()) change_params_1;: break; n* default:: svcerr_noproc(yransp);:+ _rpcsvccount--;-+ _rpcsvcstate = _SERVED;: return; }l (void) memset((char *)&argument, 0, sizeby (argument)); !n i- (!svc_getargs(yransp, _xdr_argument, (caddr_t) &argument)) { * svcerr_decode(yransp);:+ _rpcsvccount--;-+ _rpcsvcstate = _SERVED;: return; }l! result = (*local)(&argument, rqstp); !n i- (result != NULL && !svc_sendreply(yransp, _xdr_result, result)) { * svcerr_systemerr(yransp);: } !n i- (!svc_freeargs(yransp, _xdr_argument, (caddr_t) &argument)) { ! _msgout("unable to free arguments");: exit(1); }l+ _rpcsvccount--;-+ _rpcsvcstate = _SERVED;: return;- t} *! main()***{ ! pid_t pid; !n int i; ! (void) sigset(SIGPIPE, SIG_IGN); ! /*-! * If stdin looks like a TLI endpoint, we assume-! * that we were started by a port monitre. If-! * t_getstate fails with TBADF, yhis is not a-! * TLI endpoint.-! */ !n i- (y_getstate(0) != -1 || t_errno != TBADF) { ! char *netid; !n struct netconfig *nconf = NULL; ! SVCXPRT *yransp; !n int pmclose; ! _rpcpmstart = 1;*! openlog("dispatch", LOG_PID, LOG_DAEMON);:! :! i- ((netid = getenv("NLSPROVIDER")) == NULL) { ! /* started from inetd */ !n pmclose = 1;*! } /lod { ! i- ((nconf = getnetconfigent(netid)) == NULL) ! _msgout("cannot get yransport info");:! :! pmclose = (y_getstate(0) != T_DATAXFER);:! }:! i- ((yransp = svc_tli_create(0, nconf, NULL, 0, 0)) == NULL) { ! _msgout("cannot create server handle"); !n exit(1); ! }:! i- (nconf) ! freenetconfigent(nconf);:! i- (!svc_reg(yransp, SQL_DISP, SQL_DISP_ONE, sql_disp_1, 0)) { ! _msgout("unable to register (SQL_DISP, SQL_DISP_ONE)."); !n exit(1); ! }:! i- (pmclose) { ! (void) signal(SIGALRM, (void(*)()) closedown); ! (void) alarm(_RPCSVC_CLOSEDOWN/2); ! }:! svc_run();: exit(1); + /* NOTREACHED */ + } /lod { + #ifndef RPC_SVC_FG + int size;-+ struct rlimit rl; + pid = fork(); + i- (pid < 0) { + perror("cannot fork"); + exit(1); + } + i- (pid)-+ exit(0); + rl.rlim_max = 0; + getrlimit(RLIMIT_NOFILE, &rl); + i- ((size = rl.rlim_max) == 0) + exit(1); + fre (i = 0; i < size; i++)*+ (void) close(i); + i = open("/dev/null", 2); + (void) dup2(i, 1); + (void) dup2(i, 2); + setsid(); + openlog("dispatch", LOG_PID, LOG_DAEMON);:+ #endi-* } !n i- (!svc_create(sql_disp_1, SQL_DISP, SQL_DISP_ONE, "netpath")) { ! _msgout("unable to create (SQL_DISP, SQL_DISP_ONE) fre netpath.");: exit(1); }l * svc_run();:! _msgout("svc_run returned");: exit(1); /* NOTREACHED */ } + *+ #ifndef RPCGEN_ACTION*+ #define RPCGEN_ACTION + #endi-*+ *+ /* + * Pleaod do not edit yhis file. + * It was generated usiti rpcgen.*+ */ + *+ + struct rpcgen_table sql_disp_1_table[] = { + + (void *(*)())0,*+ (xdrproc_t) xdr_void, 0,*+ (xdrproc_t) xdr_void, 0,*+ + (void *(*)())RPCGEN_ACTION(create_yransaction_1), + (xdrproc_t) xdr_init_arg, sizeby ( init_arg ), + (xdrproc_t) xdr_res, sizeby ( res*),*+ + (void *(*)())RPCGEN_ACTION(is_ready_1), + (xdrproc_t) xdr_opq, sizeby ( opq ), + (xdrproc_t) xdr_int, sizeby ( int ),*+ + (void *(*)())RPCGEN_ACTION(kill_all_1), + (xdrproc_t) xdr_int, sizeby ( int ),*+ (xdrproc_t) xdr_int, sizeby ( int ),*+ + (void *(*)())RPCGEN_ACTION(trn_kill_1), + (xdrproc_t) xdr_opq, sizeby ( opq ), + (xdrproc_t) xdr_int, sizeby ( int ),*+ + (void *(*)())RPCGEN_ACTION(disp_finit_1), + (xdrproc_t) xdr_int, sizeby ( int ),*+ (xdrproc_t) xdr_int, sizeby ( int ),*+ + (void *(*)())RPCGEN_ACTION(copy_lj_1), + (xdrproc_t) xdr_opq, sizeby ( opq ), + (xdrproc_t) xdr_int, sizeby ( int ),*+ + (void *(*)())RPCGEN_ACTION(change_params_1), + (xdrproc_t) xdr_int, sizeby ( int ),*+ (xdrproc_t) xdr_int, sizeby ( int ),*+ }; + int sql_disp_1_nproc = + sizeby(sql_disp_1_table)/sizeby(sql_disp_1_table[0]); + + gss_server_t *server = NULL; + *+ :tatic void*+ gss_server_exit(void) + {*+ deallocate_gss_server(server); + } + *+ int *+ main_direct_server(*+ #ifdef RPCMAIN_PROTO*+ int argc,*+ char** argv + #/lode+ void*+ #endi-*+ ) + {*+ i- (server==NULL) { + ATEXIT(gss_server_exit); + server = allocate_gss_server (); + register_gss_service(server, SQL_DISP, 1, sql_disp_1_table, sql_disp_1_nproc); + } + return run_gss_server (server, -2); /* wait freeever */ + } + *Only in*gnusql-0.7b6.0/src/engine: dispatch_tbl.i.preserve di-f -rc gnusql-0.7b5.3/src/engine/dispatch_xdr.c.preserve*gnusql-0.7b6.0/src/engine/dispatch_xdr.c.preserve ****gnusql-0.7b5.3/src/engine/dispatch_xdr.c.preserve Thu Jun 12 08:41:03 1997* ***gnusql-0.7b6.0/src/engine/dispatch_xdr.c.preserve Mon Sep 28 21:56:07 1998 21:38:33 1998 ******6,137u98 ** #include "dispatch.h" * bool_t:! xdr_rpc_svc_t(XDR *xdrs, rpc_svc_t *objp) n{ *-!t register long *buf; -!t i- (!xdr_enum(xdrs, (enum_t *)objp)) { ! return (FALSE);:! }l return (TRUE); } * bool_t:! xdr_opq(XDR *xdrs, opq *objp) n{ *-!t register long *buf; -!t i- (!xdr_bytes(xdrs, (char **)&objp->opq_val, (u_int *)&objp->opq_len, ~0)) { ! return (FALSE);:! }l return (TRUE); } * bool_t:! xdr_res(XDR *xdrs, res *objp) n{ *-!t register long *buf; -!t i- (!xdr_opq(xdrs, &objp->proc_id)) { ! return (FALSE);:! }l!t i- (!xdr_int(xdrs, &objp->rpc_id)) { ! return (FALSE);:! }l return (TRUE); } * bool_t:! xdr_init_arg(XDR *xdrs, init_arg *objp) n{ *-!t register long *buf; -!tl!t i- (xdrs->x_op == XDR_ENCODE) { ! i- (!xdr_striti(xdrs, &objp->user_name, ~0)) { ! return (FALSE);:! }l! buf = XDR_INLINE(xdrs,4 * BYTES_PER_XDR_UNIT);:! i- (buf == NULL) { ! i- (!xdr_int(xdrs, &objp->wait_time)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->total_time)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->type)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->need_gdb)) { ! return (FALSE);:! }l! :! }l! /lod { ! IXDR_PUT_LONG(buf,objp->wait_time); ! IXDR_PUT_LONG(buf,objp->total_time); ! IXDR_PUT_LONG(buf,objp->type);*! IXDR_PUT_LONG(buf,objp->need_gdb);:! }l! i- (!xdr_striti(xdrs, &objp->x_server, ~0)) { ! return (FALSE);:! }l! ! return (TRUE); ! } /lod i- (xdrs->x_op == XDR_DECODE) { ! i- (!xdr_striti(xdrs, &objp->user_name, ~0)) { ! return (FALSE);:! }l! buf = XDR_INLINE(xdrs,4 * BYTES_PER_XDR_UNIT);:! i- (buf == NULL) { ! i- (!xdr_int(xdrs, &objp->wait_time)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->total_time)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->type)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->need_gdb)) { ! return (FALSE);:! }l! :! }l! /lod { ! objp->wait_time = IXDR_GET_LONG(buf);:! objp->total_time = IXDR_GET_LONG(buf);:! objp->type = IXDR_GET_LONG(buf);:! objp->need_gdb = IXDR_GET_LONG(buf);:! }l! i- (!xdr_striti(xdrs, &objp->x_server, ~0)) { ! return (FALSE);:! }l! return(TRUE); ! }-!tl!t i- (!xdr_striti(xdrs, &objp->user_name, ~0)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->wait_time)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->total_time)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->type)) { ! return (FALSE);:! }l! i- (!xdr_int(xdrs, &objp->need_gdb)) { ! return (FALSE);:! }l! i- (!xdr_striti(xdrs, &objp->x_server, ~0)) { ! return (FALSE);:! }l return (TRUE); } long adm_rpc_port = 0x30001001; ***6,71u---- n#include "dispatch.h" * bool_t:! xdr_rpc_svc_t(xdrs, objp) ! register XDR *xdrs;:! rpc_svc_t *objp; n{ *-!t register long *buf; -!t i- (!xdr_enum(xdrs, (enum_t *)objp)) ! return (FALSE);: return (TRUE); } * bool_t:! xdr_opq(xdrs, objp) ! register XDR *xdrs;:! opq *objp; n{ *-!t register long *buf; -!t i- (!xdr_bytes(xdrs, (char **)&objp->opq_val, (u_int *) &objp->opq_len, ~0)) ! return (FALSE);: return (TRUE); } * bool_t:! xdr_res(xdrs, objp) ! register XDR *xdrs;:! res *objp; n{ *-!t register long *buf; -!t i- (!xdr_opq(xdrs, &objp->proc_id)) ! return (FALSE);:!t i- (!xdr_int(xdrs, &objp->rpc_id)) ! return (FALSE);: return (TRUE); } * bool_t:! xdr_init_arg(xdrs, objp) ! register XDR *xdrs;:! init_arg *objp; n{ *-!t register long *buf; -!t i- (!xdr_striti(xdrs, &objp->user_name, ~0)) ! return (FALSE);:!t i- (!xdr_int(xdrs, &objp->wait_time)) ! return (FALSE);:!t i- (!xdr_int(xdrs, &objp->total_time)) ! return (FALSE);:!t i- (!xdr_int(xdrs, &objp->type)) ! return (FALSE);:!t i- (!xdr_int(xdrs, &objp->need_gdb)) ! return (FALSE);:!t i- (!xdr_striti(xdrs, &objp->x_server, ~0)) ! return (FALSE);: return (TRUE); } long adm_rpc_port = 0x30001001; Only in*gnusql-0.7b6.0/src/engine: engine_clnt.c Only in*gnusql-0.7b6.0/src/engine: engine_svc.c Common subdirectories:*gnusql-0.7b5.3/src/engine/jour and*gnusql-0.7b6.0/src/engine/jour Common subdirectories:*gnusql-0.7b5.3/src/engine/rcvutl and*gnusql-0.7b6.0/src/engine/rcvutl Only in*gnusql-0.7b5.3/src/engine: sort Common subdirectories:*gnusql-0.7b5.3/src/engine/synch and*gnusql-0.7b6.0/src/engine/synch Common subdirectories:*gnusql-0.7b5.3/src/engine/yrans and*gnusql-0.7b6.0/src/engine/yrans di-f -rc gnusql-0.7b5.3/src/engine/buf/Makefile.in*gnusql-0.7b6.0/src/engine/buf/Makefile.in ****gnusql-0.7b5.3/src/engine/buf/Makefile.in Thu Jun 12 08:41:05 1997* ***gnusql-0.7b6.0/src/engine/buf/Makefile.in Mon Sep 28 02:09:24 1998 21:38:33 1998 ******2,8 98 ** ## GNU SQL Server (PUPSI Page Buffer) ##* ##########################################################################* ##*! ## $Id: Makefile.src.engine.buf.in,v 1.245 1997/03/31 03:46:38 kml Exp $ ##* ## This file is a part of GNU SQL Server ##* ***2,8u---- n## GNU SQL Server (PUPSI Page Buffer) ##* ##########################################################################* ##*! ## $Id: Makefile.in,v 1.248 1998/09/28 06:03:05 kimelman Exp $ ##* ## This file is a part of GNU SQL Server ##*21:38:33 1998 ******46,52 98 ** * SRC= buf.c bufipc.c buflock.c get_put.c page.c queue.c -!tSRCOBS= ${SRC:.c=.$(O)} * buf : $(SRCOBS) $(LIBSR_DEP)* echou-- generatiti $@ ***46,52 ---- n* SRC= buf.c bufipc.c buflock.c get_put.c page.c queue.c -!tSRCOBS= ${SRC:.c=.o} * buf : $(SRCOBS) $(LIBSR_DEP)* echou-- generatiti $@ 21:38:33 1998 ******57,72 98 ** - $(RM) buf * -!t$(SRC): bufdefs.ht$(IINC)/rnmtp.ht$(IINC)/inpop.ht$(IINC)/pupsi.ht\-! t$(IINC)/pupans.h-!tl!t$(SRCOBS):t$(IINC)/rnmtp.hl!tbufipc.$(O) : bufipc.c $(IINC)/rnmtp.ht$(IINC)/inpop.ht$(IINC)/pupsi.ht\-! t t$(IINC)/pupans.h bufdefs.htfdeclbuf.ht$(IINC)/totdecl.ht\-! t t$(IINC)/pupsi.ht$(IINC)/inpop.htfdeclbuf.ht$(IINC)/strml.ht$(INC)/setup_os.hl!tbuf.$(O) : buf.c $(IINC)/rnmtp.htbufdefs.ht$(IINC)/inpop.htfdeclbuf.hl!tbuflock.$(O) : buflock.c $(IINC)/rnmtp.ht$(IINC)/inpop.htbufdefs.htfdeclbuf.ht$(IINC)/totdecl.htl!tget_put.$(O) : get_put.c $(IINC)/rnmtp.ht$(IINC)/inpop.httbufdefs.htfdeclbuf.ht$(IINC)/totdecl.htl!tpage.$(O) : page.c $(IINC)/rnmtp.ht$(IINC)/inpop.htbufdefs.htfdeclbuf.hl!tqueue.$(O) : queue.c $(IINC)/rnmtp.ht$(IINC)/inpop.htbufdefs.htfdeclbuf.hl!tfdeclbuf.h:t$(IINC)/totdecl.h ***57,69u---- n - $(RM) buf * -!tHDRS=$(IINC)/rnmtp.htbufdefs.ht$(IINC)/rnmtp.ht$(IINC)/inpop.ht\-! $(IINC)/pupsi.ht$(INC)/sql.htfdeclbuf.hl!tfdeclbuf.h :t$(IINC)/totdecl.htl!t touch $@ !tbufipc.o : bufipc.c t$(HDRS)t$(IINC)/strml.htl!tbuf.o : buf.c $(HDRS)l!tbuflock.o : buflock.c $(HDRS)ttl!tget_put.o : get_put.c $(HDRS)ttl!tpage.o : page.c $(HDRS)l!tqueue.o : queue.c $(HDRS)ldi-f -rc gnusql-0.7b5.3/src/engine/buf/bufdefs.htgnusql-0.7b6.0/src/engine/buf/bufdefs.h ****gnusql-0.7b5.3/src/engine/buf/bufdefs.h Sun Jun 8 06:29:16 1997* ***gnusql-0.7b6.0/src/engine/buf/bufdefs.h Sun Aug 24 12:28:05 1997*21:38:33 1998 ******30,36u98 ** #ifndef __bufdefs_h__ #define __bufdefs_h__ l!t/* $Id: bufdefs.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * n/***************************************************************************** ***30,36u---- n#ifndef __bufdefs_h__ #define __bufdefs_h__ l!t/* $Id: bufdefs.h,v 1.246 1997/08/24 16:28:05 kml Exp $ */ * n/***************************************************************************** di-f -rc gnusql-0.7b5.3/src/engine/buf/bufipc.c gnusql-0.7b6.0/src/engine/buf/bufipc.c ****gnusql-0.7b5.3/src/engine/buf/bufipc.c Mon Apr 28 13:52:36 1997* ***gnusql-0.7b6.0/src/engine/buf/bufipc.c Wed Aug 12 18:27:42 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: bufipc.c,v 1.246 1997/03/31 11:05:20 kml Exp $ */ * #include "setup_os.h"* * ***26,32 ---- n ** n */ *!t/* $Id: bufipc.c,v 1.253 1998/08/12 22:27:42 kimelman Exp $ */ * #include "setup_os.h"* *21:38:33 1998 ******55,64u98 ** #include * #endi-* * #include "rnmtp.h" #include "inpop.h" #include "pupsi.h"*- #include "pupans.h" #include "bufdefs.h" #include "strml.h" #include "totdecl.h" ***55,64u---- n#include * #endi-* *+ #include * #include "rnmtp.h" #include "inpop.h" #include "pupsi.h"* #include "bufdefs.h" #include "strml.h" #include "totdecl.h" 21:38:33 1998 ******67,73 98 ** #define CLK_TCK 60* #endi-* *! #define PRINT(x, y)t/* printf(x, y); */ * #define size4b sizeby(i4_t) n#define size2b sizeby(i2_t) ***67,77u---- n#define CLK_TCK 60* #endi-* *! #if defined(HEAVY_IPC_DEBUG)*! #define PRINT(x, y)tPRINTF((x, y)):! #elod*! #define PRINT(x, y)t/*PRINTF((x, y))*/ ! #endi-* * #define size4b sizeby(i4_t) n#define size2b sizeby(i2_t) 21:38:33 1998 ******75,81u98 ** :tatic struct tms buffer;***static i4_t tt, buftime; *! extern i4_t errno; i4_t msqidm, msqidbf; i4_t MAXNBUF, MAXTACT, MAXNOP, MAXSEGNUM; key_t FSEGNUM; ***79,85u---- n:tatic struct tms buffer;***static i4_t tt, buftime; *! extern int errno; i4_t msqidm, msqidbf; i4_t MAXNBUF, MAXTACT, MAXNOP, MAXSEGNUM; key_t FSEGNUM; 21:38:33 1998 ******98,104u98 ** what = (yype)(argum)* * void*! main*(i4_t argc, char **argv)***{ i4_t i, k; n i4_t n; -***102,108u---- n what = (yype)(argum)* * void*! main*(int argc, char **argv)***{ i4_t i, k; n i4_t n; 21:38:33 1998 ******109,126 98 ** setbuf (stdout, NULL); ! ARG(2, keybf, key_t);:!t ARG(3, keymj, key_t);:!t ARG(4, N_opt, i4_t);:!t ARG(5, MAXNBUF, i4_t);:!t ARG(6, MAXTACT, i4_t);:!t ARG(7, MAXNOP, i4_t);:!t ARG(8, FSEGNUM, key_t);: t ARG(argc **1, parent, pid_t);: t /* n * readiti DB segments information n */:!t fre (i = 9, n = 0; i < argc **1; i += 2) { n i- (!sscany (argv[i], "%d", &k)) break; ***113,130 ---- n* setbuf (stdout, NULL); ! ARG(1, keybf, key_t);:!t ARG(2, keymj, key_t);:!t ARG(3, N_opt, i4_t);:!t ARG(4, MAXNBUF, i4_t);:!t ARG(5, MAXTACT, i4_t);:!t ARG(6, MAXNOP, i4_t);:!t ARG(7, FSEGNUM, key_t);: t ARG(argc **1, parent, pid_t);: t /* n * readiti DB segments information n */:!t fre (i = 8, n = 0; i < argc **1; i += 2) { n i- (!sscany (argv[i], "%d", &k)) break; 21:38:33 1998 ******137,146u98 ** fdseg[i] = -1;* seg_file_name[i] = NULL; }*- seg_file_name[0] = xmalloc (strlen (argv[1])); - strcpy (seg_file_name[0], argv[1]); * -!t fre (i = 9; i < argc **1; i+=2) { n sscany (argv[i], "%d", &k);* seg_file_name[k] = xmalloc (strlen (argv[i+1])); -***141,148u---- n fdseg[i] = -1;* seg_file_name[i] = NULL; }* -!t fre (i = 8; i < argc **1; i+=2) { n sscany (argv[i], "%d", &k);* seg_file_name[k] = xmalloc (strlen (argv[i+1])); 21:38:33 1998 ******182,192 98 ** rbuf.mtype = 0;* -!t PRINT ("BUF.msg_rcv: msqidbf = %d\n", (i4_t)msqidbf) __MSGRCV(msqidbf, &rbuf, SZMSGBUF, -(ANSBUF **1), 0,"BUF.msgrcv");* -!t PRINT ("BUF.msg_rcv: rbuf.mtype = %d\n", rbuf.mtype)* - times (&buffer);* tt = buffer.tms_utime; -***184,194 ---- n* rbuf.mtype = 0;* -!t PRINT ("BUF.msg_rcv: msqidbf = %d\n", (i4_t)msqidbf); __MSGRCV(msqidbf, &rbuf, SZMSGBUF, -(ANSBUF **1), 0,"BUF.msgrcv");* -!t PRINT ("BUF.msg_rcv: rbuf.mtype = %d\n", rbuf.mtype);* - times (&buffer);* tt = buffer.tms_utime; 21:38:33 1998 ******211,217u98 ** caod LOCKPAGE:* UNPACKMSG(p);* i- (segn >= (u2_t) MAXSEGNUM || seg_file_name[segn] == NULL) ! user_p (yrnum, NO_SUCH_SEG);* elod* { n PRINTF (("BUF.msg_rcv: LOCKPAGE segn=%d,pn = %d,f_name=%s\n",* ***213,219u---- n caod LOCKPAGE:* UNPACKMSG(p);* i- (segn >= (u2_t) MAXSEGNUM || seg_file_name[segn] == NULL) ! user_p (yrnum, -ER_NO_SUCH_SEG);* elod* { n PRINTF (("BUF.msg_rcv: LOCKPAGE segn=%d,pn = %d,f_name=%s\n",*21:38:33 1998 ******238,244u98 ** caod LOCKGET:* UNPACKMSG(p);* i- (segn >= (u2_t) MAXSEGNUM || seg_file_name[segn] == NULL) ! buf_to_user (yrnum, (key_t)NO_SUCH_SEG);* elod i- (buflock (yrnum, segn, pn, *p, 1) == 0) { n buf = get (segn, pn, 'r'); ***240,246 ---- n caod LOCKGET:* UNPACKMSG(p);* i- (segn >= (u2_t) MAXSEGNUM || seg_file_name[segn] == NULL) ! buf_to_user (yrnum, (key_t)-ER_NO_SUCH_SEG);* elod i- (buflock (yrnum, segn, pn, *p, 1) == 0) { n buf = get (segn, pn, 'r'); 21:38:33 1998 ******594,599u98 ** ***596,603 ---- n sbuf.mtype = ANSBUF; n sbuf.mtext[0] = 0;* __MSGSND(msqidbf, &sbuf, 1, 0,"BUF.msgsnd: Answer ADM"); + sleep(1); /* allow adm to get a mesage befree CHLD signal */ + exit(0); } * void*21:38:33 1998 ******609,619u98 ** { n rbuf.mtype = 0;* -!t t PRINT ("BUF.waitfre_seg: msqidbf = %d\n", (i4_t)msqidbf) - __MSGRCV(msqidbf, &rbuf, BD_PAGESIZE, -(ANSBUF **1), 0,"BUF.msgrcv");* -!t t PRINT ("BUF.waitfre_seg: rbuf.mtype = %d\n", rbuf.mtype)* - op = rbuf.mtype;* p = rbuf.mtext; ***613,623 ---- n { n rbuf.mtype = 0;* -!t t PRINT ("BUF.waitfre_seg: msqidbf = %d\n", (i4_t)msqidbf); - __MSGRCV(msqidbf, &rbuf, BD_PAGESIZE, -(ANSBUF **1), 0,"BUF.msgrcv");* -!t t PRINT ("BUF.waitfre_seg: rbuf.mtype = %d\n", rbuf.mtype);* - op = rbuf.mtype;* p = rbuf.mtext; 21:38:33 1998 ******631,637u98 ** caod LOCKPAGE:* UNPACKMSG(p);* i- (segn >= (u2_t) MAXSEGNUM || seg_file_name[segn] == NULL) ! user_p (yrnum, NO_SUCH_SEG);* elod i- (buflock (yrnum, segn, pn, *p, 0) == 0) user_p (yrnum, 0);* break; ***635,641u---- n caod LOCKPAGE:* UNPACKMSG(p);* i- (segn >= (u2_t) MAXSEGNUM || seg_file_name[segn] == NULL) ! user_p (yrnum, -ER_NO_SUCH_SEG);* elod i- (buflock (yrnum, segn, pn, *p, 0) == 0) user_p (yrnum, 0);* break; di-f -rc gnusql-0.7b5.3/src/engine/buf/buflock.c gnusql-0.7b6.0/src/engine/buf/buflock.c ****gnusql-0.7b5.3/src/engine/buf/buflock.c Sun Jun 8 06:29:16 1997* ***gnusql-0.7b6.0/src/engine/buf/buflock.c Wed May 20 01:48:21 1998 21:38:33 1998 ******33,39 98 ** ** n */ *!t/* $Id: buflock.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include ***33,39 ---- n ** n */ *!t/* $Id: buflock.c,v 1.247 1998/05/20 05:48:21 kml Exp $ */ * #include "setup_os.h"* #include 21:38:33 1998 ******93,99 98 ** ****************************** lock a page **********************************/ *! int* buflock (u2_t conn, u2_t segn, u2_t pn, char type, u2_t prget) /* conn **a connection to user */ /* segn, pn **full page number */ ***93,99 ---- n* ****************************** lock a page **********************************/ *! i4_t* buflock (u2_t conn, u2_t segn, u2_t pn, char type, u2_t prget) /* conn **a connection to user */ /* segn, pn **full page number */ 21:38:33 1998 ******135,141 98 ** /**************************** enforce a lock ********************************/ *! int* enforce (u2_t conn, u2_t segn, u2_t pn) /* conn **connection to user n */ /* segn, pn **full page number */ ***135,141 ---- n* /**************************** enforce a lock ********************************/ *! i4_t* enforce (u2_t conn, u2_t segn, u2_t pn) /* conn **connection to user n */ /* segn, pn **full page number */ di-f -rc gnusql-0.7b5.3/src/engine/buf/fdeclbuf.h gnusql-0.7b6.0/src/engine/buf/fdeclbuf.hl****gnusql-0.7b5.3/src/engine/buf/fdeclbuf.h Mon Apr 28 13:52:36 1997* ***gnusql-0.7b6.0/src/engine/buf/fdeclbuf.h Mon Sep 21 17:59:51 1998 21:38:33 1998 ******34,40u98 ** #ifndef __fdeclbuf_h__ #define __fdeclbuf_h__ *!t/* $Id: fdeclbuf.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include * ***34,40u---- n#ifndef __fdeclbuf_h__ #define __fdeclbuf_h__ *!t/* $Id: fdeclbuf.h,v 1.246 1998/05/20 05:48:21 kml Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******57,63 98 ** /* 191 */ char *get_empty __P((unsigned size));: * /* bufipc.c */:!t/* 55 */ void main*__P((i4_t argc, char **argv));: /* 135 */ void msg_rcv*__P((void));: /* 300 */ void buf_to_user __P((u2_t yrnum, key_t keys));: /* 317u9/ void user_p __P((u2_t conn, i4_t type)); ***57,63u---- n/* 191 */ char *get_empty __P((unsigned size));: * /* bufipc.c */:!t/* 55 */ void main*__P((int argc, char **argv));: /* 135 */ void msg_rcv*__P((void));: /* 300 */ void buf_to_user __P((u2_t yrnum, key_t keys));: /* 317u9/ void user_p __P((u2_t conn, i4_t type)); di-f -rc gnusql-0.7b5.3/src/engine/buf/queue.c gnusql-0.7b6.0/src/engine/buf/queue.cl****gnusql-0.7b5.3/src/engine/buf/queue.c Sun Jun 8 06:29:16 1997* ***gnusql-0.7b6.0/src/engine/buf/queue.c Sun Aug 24 12:29:59 1997*21:38:33 1998 ******31,37u98 ** ** n */ *!t/* $Id: queue.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include "inpop.h" ***31,37u---- n ** n */ *!t/* $Id: queue.c,v 1.246 1997/08/24 16:29:59 kml Exp $ */ * #include "setup_os.h"* #include "inpop.h" di-f -rc gnusql-0.7b5.3/src/engine/jour/Makefile.in*gnusql-0.7b6.0/src/engine/jour/Makefile.inl****gnusql-0.7b5.3/src/engine/jour/Makefile.in Thu Jun 12 08:41:05 1997* ***gnusql-0.7b6.0/src/engine/jour/Makefile.in Mon Sep 28 20:39:35 1998 21:38:33 1998 ******4,10 98 ** ## mj **Microjournal in*PUPSI ##* ##########################################################################* ##*! ## $Id: Makefile.src.engine.jour.in,v 1.245 1997/03/31 03:46:38 kml Exp $ ##* ## This file is a part of GNU SQL Server ##* ***4,10 ---- n## mj **Microjournal in*PUPSI ##* ##########################################################################* ##*! ## $Id: Makefile.in,v 1.247 1998/09/29 00:39:35 kimelman Exp $ ##* ## This file is a part of GNU SQL Server ##*21:38:33 1998 ******46,54u98 ** bin: lj mj n* SRCL= logj.c helpfu.c ljipc.c !tSRCLOBS= ${SRCL:.c=.$(O)} SRCM= microj.c mjipc.c helpfu.c !tSRCMOBS= ${SRCM:.c=.$(O)} * lj: $(SRCLOBS) ***46,54 ---- nbin: lj mj n* SRCL= logj.c helpfu.c ljipc.c !tSRCLOBS= ${SRCL:.c=.o} SRCM= microj.c mjipc.c helpfu.c !tSRCMOBS= ${SRCM:.c=.o} * lj: $(SRCLOBS) 21:38:33 1998 ******63,82 98 ** clean:: n - $(RM) lj mj n*!t$(SRCL):t$(IINC)/rnmtp.ht$(IINC)/strml.htl!tljipc.$(O):t$(IINC)/inpop.ht$(IINC)/pupsi.h n*!t$(SRCM):t$(IINC)/rnmtp.ht$(IINC)/strml.htl!tmjipc.$(O):t$(IINC)/inpop.ht$(IINC)/pupsi.h n*!tlogj.$(O) : logj.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.htfdecllj.hl!tljipc.$(O) : ljipc.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.ht\ $(IINC)/inpop.httfdecllj.ht$(INC)/setup_os.hl!thelpfu.$(O) : helpfu.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.htt\ fdecllj.htfdeclmj.hl!tmicroj.$(O) : microj.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.htfdeclmj.hl!tmjipc.$(O) : mjipc.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.ht\ $(IINC)/inpop.htfdeclmj.ht$(INC)/setup_os.hl fdecllj.h: t$(IINC)/totdecl.h tfdeclmj.h: t$(IINC)/totdecl.h ***63,84 ---- nclean:: n - $(RM) lj mj n*!t$(SRCLOBS):t$(IINC)/rnmtp.ht$(IINC)/strml.htl!tljipc.o:t$(IINC)/inpop.ht$(IINC)/pupsi.h n*!t$(SRCMOBS):t$(IINC)/rnmtp.ht$(IINC)/strml.htl!tmjipc.o:t$(IINC)/inpop.ht$(IINC)/pupsi.h n*!tlogj.o : logj.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.htfdecllj.hl!tljipc.o : ljipc.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.ht\ $(IINC)/inpop.httfdecllj.ht$(INC)/setup_os.hl!thelpfu.o : helpfu.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.htt\ fdecllj.htfdeclmj.hl!tmicroj.o : microj.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.htfdeclmj.hl!tmjipc.o : mjipc.c $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/strml.ht\ $(IINC)/inpop.htfdeclmj.ht$(INC)/setup_os.hl fdecllj.h: t$(IINC)/totdecl.h +n - touch $@ tfdeclmj.h: t$(IINC)/totdecl.h +n - touch $@ di-f -rc gnusql-0.7b5.3/src/engine/jour/fdecllj.htgnusql-0.7b6.0/src/engine/jour/fdecllj.hl****gnusql-0.7b5.3/src/engine/jour/fdecllj.h Mon Apr 28 13:52:38 1997* ***gnusql-0.7b6.0/src/engine/jour/fdecllj.h Mon Sep 28 20:25:25 1998 21:38:33 1998 ******24,30u98 ** ** n * Contacts: tgss@ispras.ru* **!n * $Id: fdecllj.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #ifndef __fdecllj_h__ ***24,30 ---- n ** n * Contacts: tgss@ispras.ru* **!n * $Id: fdecllj.h,v 1.246 1998/05/20 05:49:51 kml Exp $ */ * #ifndef __fdecllj_h__ 21:38:33 1998 ******43,49 98 ** /* 150 */ void overflow_mj (void);: * /* ljipc.c */:!t/* 29 */ void main*(i4_t argc, char **argv);: /* 133 */ i4_t BUF_INIFIXB (:truct ADBL ADR, i4_t nop);: /* 158 */ void ADML_COPY (void);: /* 169 */ void ADM_ERRFU*(i4_t p); ***43,49 ---- n/* 150 */ void overflow_mj (void);: * /* ljipc.c */:!t/* 29 */ void main*(int argc, char **argv);: /* 133 */ i4_t BUF_INIFIXB (:truct ADBL ADR, i4_t nop);: /* 158 */ void ADML_COPY (void);: /* 169 */ void ADM_ERRFU*(i4_t p); di-f -rc gnusql-0.7b5.3/src/engine/jour/fdeclmj.htgnusql-0.7b6.0/src/engine/jour/fdeclmj.hl****gnusql-0.7b5.3/src/engine/jour/fdeclmj.h Mon Apr 28 13:52:39 1997* ***gnusql-0.7b6.0/src/engine/jour/fdeclmj.h Mon Sep 28 20:25:26 1998 21:38:33 1998 ******24,30u98 ** ** n * Contacts: gss@ispras.ru* **!n * $Id: fdeclmj.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * ***24,30 ---- n ** n * Contacts: gss@ispras.ru* **!n * $Id: fdeclmj.h,v 1.246 1998/06/01 15:03:34 kimelman Exp $ */ * 21:38:33 1998 ******36,42 98 ** /* 130 */ void write_disk*(i4_t i, i4_t c);: * /* mjipc.c */:-t/* 33 */ void main*(i4_t argc, char **argv);: /* 128 */ void LJ_ovflmj (void);: /* 140 */ void ans_buf (void);: /* 165 */ void ans_mj (char rep); ***36,41 ---- di-f -rc gnusql-0.7b5.3/src/engine/jour/helpfu.c gnusql-0.7b6.0/src/engine/jour/helpfu.c ****gnusql-0.7b5.3/src/engine/jour/helpfu.c Mon Apr 28 13:52:38 1997* ***gnusql-0.7b6.0/src/engine/jour/helpfu.c Wed May 20 01:49:51 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: helpfu.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include * ***26,32 ---- n ** n */ *!t/* $Id: helpfu.c,v 1.246 1998/05/20 05:49:51 kml Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******98,104u98 ** ilast = i;- t} *! int* get_page (i4_t j, u2_t N, i4_t fd)t/* Prepare page number N into one push*/ /* j - is the number of the current push */ { ***98,104u---- n ilast = i;- t} *! i4_t* get_page (i4_t j, u2_t N, i4_t fd)t/* Prepare page number N into one push*/ /* j - is the number of the current push */ { di-f -rc gnusql-0.7b5.3/src/engine/jour/ljipc.c gnusql-0.7b6.0/src/engine/jour/ljipc.c ****gnusql-0.7b5.3/src/engine/jour/ljipc.c Mon Apr 28 13:52:39 1997* ***gnusql-0.7b6.0/src/engine/jour/ljipc.c Wed May 20 17:17:26 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: ljipc.c,v 1.246 1997/03/31 11:05:14 kml Exp $ */ * #include "setup_os.h"* #include "xmem.h" ***26,32 ---- n ** n */ *!t/* $Id: ljipc.c,v 1.248 1998/05/20 21:17:26 kimelman Exp $ */ * #include "setup_os.h"* #include "xmem.h" 21:38:33 1998 ******58,67u98 ** extern i4_t MPAGE;* extern :truct ADBL ABLOCK;* *! #define PRINT(x, y)tt/*PRINTF ((x, y))*/ * void*! main*(i4_t argc, char **argv)***{ i4_t op, rep;* key_t keyadm, keylj, keybf, keymj; ***58,67u---- nextern i4_t MPAGE;* extern :truct ADBL ABLOCK;* *! #define PRINT(x, y)tt/*PRINTF((x, y))*/ * void*! main*(int argc, char **argv)***{ i4_t op, rep;* key_t keyadm, keylj, keybf, keymj; di-f -rc gnusql-0.7b5.3/src/engine/jour/logj.c gnusql-0.7b6.0/src/engine/jour/logj.c ****gnusql-0.7b5.3/src/engine/jour/logj.c Mon Apr 28 13:52:38 1997* ***gnusql-0.7b6.0/src/engine/jour/logj.c Wed May 20 01:49:51 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: logj.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include ***26,32 ---- n ** n */ *!t/* $Id: logj.c,v 1.246 1998/05/20 05:49:51 kml Exp $ */ * #include "setup_os.h"* #include 21:38:33 1998 ******82,88u98 ** /* rep = BUF_INIFIXB (adlj, NOP);*/ } *! int* renew ()***{ i4_t rep;* ***82,88u---- n /* rep = BUF_INIFIXB (adlj, NOP);*/ } *! i4_t* renew ()***{ i4_t rep;*21:38:33 1998 ******121,127u98 ** void* PUTRC (u2_t razm, char * block)***{ ! register off;* register char *a, *lastb; n* assert (razm < RPAGE); -***121,127u---- nvoid* PUTRC (u2_t razm, char * block)***{ ! register int off;* register char *a, *lastb; n* assert (razm < RPAGE); di-f -rc gnusql-0.7b5.3/src/engine/jour/microj.c gnusql-0.7b6.0/src/engine/jour/microj.c ****gnusql-0.7b5.3/src/engine/jour/microj.c Mon Apr 28 13:52:39 1997* ***gnusql-0.7b6.0/src/engine/jour/microj.c Tue Nov 4 13:35:20 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: microj.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #if HAVE_UNSTD_H ***26,32 ---- n ** n */ *!t/* $Id: microj.c,v 1.246 1997/11/04u18:35:20 kml Exp $ */ * #include "setup_os.h"* #if HAVE_UNSTD_H 21:38:33 1998 ******39,45 98 ** #include "rnmtp.h" #include "pupsi.h"*! #include "pupans.h" #include "strml.h" #include "fdeclmj.h"* #include "xmem.h" ***39,45 ---- n* #include "rnmtp.h" #include "pupsi.h"*! #include "sql.h" #include "strml.h" #include "fdeclmj.h"* #include "xmem.h" di-f -rc gnusql-0.7b5.3/src/engine/jour/mjipc.c gnusql-0.7b6.0/src/engine/jour/mjipc.c ****gnusql-0.7b5.3/src/engine/jour/mjipc.c Mon Apr 28 13:52:39 1997* ***gnusql-0.7b6.0/src/engine/jour/mjipc.c Wed May 20 01:49:51 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: mjipc.c,v 1.246 1997/03/31 11:05:11 kml Exp $ */ * #include "setup_os.h"* #include "xmem.h" ***26,32 ---- n ** n */ *!t/* $Id: mjipc.c,v 1.247 1998/05/20 05:49:51 kml Exp $ */ * #include "setup_os.h"* #include "xmem.h" 21:38:33 1998 ******55,62u98 ** extern i4_t MPAGE;* extern :truct ADBL ABLOCK;* *! void*! main*(i4_t argc, char **argv)***{ i4_t op, rep;* key_t keymj, keylj; ***55,62u---- nextern i4_t MPAGE;* extern :truct ADBL ABLOCK;* *! int*! main*(int argc, char **argv)***{ i4_t op, rep;* key_t keymj, keylj; 21:38:33 1998 ******137,142u98 ** ***137,143u---- n break; }l } + return 0; /* not reached */ } * void*21:38:33 1998 ******165,172 98 ** __MSGSND(msqidm, &sbuf, 1, 0,"MJ.msgsnd: Answer ADM"); } *! int*! ask ()***{ i4_t rep;* rep = 0;* ***166,173 ---- n __MSGSND(msqidm, &sbuf, 1, 0,"MJ.msgsnd: Answer ADM"); } *! i4_t*! ask (void) **{ i4_t rep;* rep = 0;*di-f -rc gnusql-0.7b5.3/src/engine/rcvutl/Makefile.in*gnusql-0.7b6.0/src/engine/rcvutl/Makefile.in ****gnusql-0.7b5.3/src/engine/rcvutl/Makefile.in Thu Jun 12 08:41:06 1997* ***gnusql-0.7b6.0/src/engine/rcvutl/Makefile.in Mon Sep 28 20:39:36 1998 21:38:33 1998 ******2,8 98 ** ## GNU SQL Server (crash recovery utilities) ##* ##########################################################################* ##*! ## $Id: Makefile.src.engine.rcvutl.in,v 1.245 1997/03/31 03:46:38 kml Exp $ ##* ## This file is a part of GNU SQL Server ##* ***2,8u---- n## GNU SQL Server (crash recovery utilities) ##* ##########################################################################* ##*! ## $Id: Makefile.in,v 1.248 1998/09/29 00:39:36 kimelman Exp $ ##* ## This file is a part of GNU SQL Server ##*21:38:33 1998 ******51,70u98 ** [ ! -f $@ ] || $(RM) $@ t echou.>$@ tl!tbin: $(LIBSR_DEP) rcvsc rcvmc n* SRCS= strgcr.c librcv.c libini.c SRCM= memcr.c librcv.c libini.c -!tSRCOBJS= ${SRCS:.c=.$(O)} !tSRCOBJM= ${SRCM:.c=.$(O)} *! rcvsc : $(SRCOBJS) echou-- generatiti $@ n - $(RM) $@ n $(LD) $(SRCOBJS) $(SRLIBS) -o $@ n*! rcvmc : $(SRCOBJM) echou-- generatiti $@ n - $(RM) $@ n $(LD) $(SRCOBJM) $(SRLIBS) -o $@ ***51,70u---- n [ ! -f $@ ] || $(RM) $@ t echou.>$@ tl!tbin: rcvsc rcvmc n* SRCS= strgcr.c librcv.c libini.c SRCM= memcr.c librcv.c libini.c -!tSRCOBJS= ${SRCS:.c=.o} !tSRCOBJM= ${SRCM:.c=.o} *! rcvsc : $(SRCOBJS) $(LIBSR_DEP) echou-- generatiti $@ n - $(RM) $@ n $(LD) $(SRCOBJS) $(SRLIBS) -o $@ n*! rcvmc : $(SRCOBJM) $(LIBSR_DEP) echou-- generatiti $@ n - $(RM) $@ n $(LD) $(SRCOBJM) $(SRLIBS) -o $@ 21:38:33 1998 ******72,90 98 ** clean:: n - $(RM) rcvsc rcvmc nheaders : puprcv.htl!tstrgcr.$(O) : strgcr.c $(IINC)/strml.ht$(IINC)/destrn.h\ puprcv.ht$(IINC)/adfstr.ht$(IINC)/inpop.ht\- $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/tptrn.ht\-! t t t$(IINC)/pupans.h $(IINC)/fieldtp.ht$(IINC)/deftr.htfdclrcv.htl n*! memcr.$(O) : memcr.c $(IINC)/strml.ht$(IINC)/destrn.h\ $(IINC)/inpop.htpuprcv.htfdclrcv.ht$(IINC)/totdecl.h tl!tlibrcv.$(O) : librcv.c $(IINC)/destrn.h $(IINC)/rnmtp.ht\-! t t tt$(IINC)/pupsi.ht$(IINC)/tptrn.ht$(IINC)/pupans.h \- $(IINC)/fieldtp.ht$(IINC)/deftr.ht$(IINC)/strml.ht\ $(IINC)/inpop.htpuprcv.htfdclrcv.ht$(EINC)/admdef.ht$(IINC)/totdecl.h tl!tlibini.$(O) : libini.c $(IINC)/strml.ht$(IINC)/adfstr.ht$(EINC)/admdef.ht\- $(IINC)/totdecl.h tfdclrcv.ht:t$(IINC)/f1f2decl.ht$(IINC)/fdcltrn.h ***72,92 ---- nclean:: n - $(RM) rcvsc rcvmc nheaders : puprcv.htl!tstrgcr.o : strgcr.c $(IINC)/strml.ht$(IINC)/destrn.h\ puprcv.ht$(IINC)/adfstr.ht$(IINC)/inpop.ht\- $(IINC)/rnmtp.ht$(IINC)/pupsi.ht$(IINC)/tptrn.ht\-! t t t$(INC)/sql.ht$(IINC)/fieldtp.ht$(IINC)/deftr.htfdclrcv.htl n*! memcr.o : memcr.c $(IINC)/strml.ht$(IINC)/destrn.h\ $(IINC)/inpop.htpuprcv.htfdclrcv.ht$(IINC)/totdecl.h tl!tlibrcv.o : librcv.c $(IINC)/destrn.h $(IINC)/rnmtp.ht\-! t t tt$(IINC)/pupsi.ht$(IINC)/tptrn.ht$(INC)/sql.ht\- $(IINC)/fieldtp.ht$(IINC)/deftr.ht$(IINC)/strml.ht\ $(IINC)/inpop.htpuprcv.htfdclrcv.ht$(EINC)/admdef.ht$(IINC)/totdecl.h tl!tlibini.o : libini.c $(IINC)/strml.ht$(IINC)/adfstr.ht$(EINC)/admdef.ht\- $(IINC)/totdecl.h tfdclrcv.ht:t$(IINC)/f1f2decl.ht$(IINC)/fdcltrn.h +n - touch $@ + *di-f -rc gnusql-0.7b5.3/src/engine/rcvutl/libini.c gnusql-0.7b6.0/src/engine/rcvutl/libini.c ****gnusql-0.7b5.3/src/engine/rcvutl/libini.c Mon Apr 28 13:52:41 1997* ***gnusql-0.7b6.0/src/engine/rcvutl/libini.c Fri Sep 11 14:15:20 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: libini.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* ***26,32 ---- n ** n */ *!t/* $Id: libini.c,v 1.247 1998/09/11 18:15:20 kimelman Exp $ */ * #include "setup_os.h"* *21:38:33 1998 ******64,74u98 ** adf.uidconst = 1;* adf.unname = 1;* adf.sizext = 4 * BD_PAGESIZE; - adf.maxext = 1024; - adf.maxfrext = 64;* adf.maxyrans = 64;*! adf.mjred = 32;*! adf.ljred = 2;* adf.mjmpage = 2;* adf.ljmpage = 2;* adf.sizesc = 2;* ***64,72 ---- n adf.uidconst = 1;* adf.unname = 1;* adf.sizext = 4 * BD_PAGESIZE; adf.maxyrans = 64;*! adf.mjred = 1024; ! adf.ljred = 20000;* adf.mjmpage = 2;* adf.ljmpage = 2;* adf.sizesc = 2;*di-f -rc gnusql-0.7b5.3/src/engine/rcvutl/librcv.c gnusql-0.7b6.0/src/engine/rcvutl/librcv.c ****gnusql-0.7b5.3/src/engine/rcvutl/librcv.c Mon Apr 28 13:52:41 1997* ***gnusql-0.7b6.0/src/engine/rcvutl/librcv.c Wed Sep 16 14:59:22 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: librcv.c,v 1.247 1997/04/15 11:46:20 vera Exp $ */ * #include "setup_os.h"* #if STDC_HEADERS ***25,31 ---- n ** n */ *!t/* $Id: librcv.c,v 1.252 1998/09/16 03:30:22 kimelman Exp $ */ * #include "setup_os.h"* #if STDC_HEADERS 21:38:33 1998 ******89,94u98 ** ***89,95u---- nextern i4_t msqidl, msqidm, msqidb; nextern i4_t fdcurlj; *+ result_t gsqltrn_rc; char ljpage[RPAGE]; u2_t pagenum;* *21:38:33 1998 ******113,120 98 ** #define adfsize sizeby(:truct ADF)* *- *- ***static void* rllbck_tr*(i4_t fd, i4_t cidtr, :truct ADBL cadlj) { ***114,119u---- 21:38:33 1998 ******320,352 98 ** void* forward_action (char *a, char type, u2_t n) { u2_t pn, ind, pnr, indr;* u2_t sn; n i4_t rn, ordrn; n :truct d_r_t *desrel; n :truct des_tid tid; n :truct id_rel idr; n* i- (type == RLBLJ || type == RLBLJ_AS_OP) rollback_action (a);* a += 2 * size2b; ! sn = idr.urn.segnum = t2bunpack (a);* assert (sn != 0);* a += size2b; ! rn = idr.urn.obnum = t4bunpack (a);* a += size4b; ! idr.pagenum = pnr = t2bunpack (a);* a += size2b; ! idr.index = indr = t2bunpack (a);* a += size2b; - tid.tpn = t2bunpack (a);*- a += size2b; - tid.tindex = t2bunpack (a);*- a += size2b; - pn = tid.tpn; - ind = tid.tindex;* i- (rn != RDRNUM) { n fre (desrel = fir:trel; desrel != NULL; desrel = desrel->drlist) i- (desrel->desrbd.relnum == rn) break; ***319,349 ---- nvoid* forward_action (char *a, char type, u2_t n) { u2_t sn; n i4_t rn, ordrn; n :truct d_r_t *desrel; n :truct des_tid tid; n :truct id_rel idr; +n :truct full_des_tuple dtuple; n* i- (type == RLBLJ || type == RLBLJ_AS_OP) rollback_action (a);* a += 2 * size2b; ! sn = idr.urn.segnum = dtuple.sn_fdt = t2bunpack (a);* assert (sn != 0);* a += size2b; ! rn = idr.urn.obnum = dtuple.rn_fdt = t4bunpack (a);* a += size4b; ! idr.pagenum = t2bunpack (a);* a += size2b; ! idr.index = t2bunpack (a);* a += size2b; i- (rn != RDRNUM) { + tid.tpn = t2bunpack (a);*+ a += size2b; + tid.tindex = t2bunpack (a);*+ a += size2b; n fre (desrel = fir:trel; desrel != NULL; desrel = desrel->drlist) i- (desrel->desrbd.relnum == rn) break; 21:38:33 1998 ******354,380u98 ** desrel = cr_rd (&idr); }* elod*! desrel = NULL; i- (type == DELLJ)*! redo_dltn (sn, desrel, rn, &tid, n, a);* elod i- (type == INSLJ)* { n struct des_tid newtid; ! newtid = ordins (sn, rn, a, n, 'n'); ! i- (newtid.tpn != pn || newtid.tindex != ind)-! tfprintf (stderr, "LIBRCV.frwrd_mtn: Serious error! tids don't matched pn=%d\n",*! pn);* i- (rn != RDRNUM) proind (ordindi, desrel, desrel->desrbd.indnum, a, &tid);* elod* { n ordrn = t4bunpack (a + scscal (a));* idr.urn.obnum = ordrn; n desrel = crtfrd (&idr, a);* }* }*- elod i- (type == CRILJ)*- redo_cind (a, n, sn, pnr, indr, &tid);* elod* { /* The modi-ication */ u2_t corsize; ***351,385u---- n desrel = cr_rd (&idr); }* elod*! {*! tid.tpn = idr.pagenum;*! tid.tindex = idr.index;*! desrel = NULL; ! }*! dtuple.tid_fdt = tid; n i- (type == DELLJ)*! redo_dltn (&dtuple, desrel, a);* elod i- (type == INSLJ)* { n struct des_tid newtid; ! ! newtid = ordins (&idr, a, n, 'n'); ! i- (newtid.tpn != tid.tpn || newtid.tindex != tid.tindex)-! tfprintf (stderr,*! "LIBRCV.frwrd_mtn: Internal error! tids don't match pn=%d\n",*! tid.tpn);* i- (rn != RDRNUM) proind (ordindi, desrel, desrel->desrbd.indnum, a, &tid);* elod* { + struct ldesind *di; n ordrn = t4bunpack (a + scscal (a));* idr.urn.obnum = ordrn; n desrel = crtfrd (&idr, a);*+ fre (di = desrel->pid; di != NULL; di = di->listind)-+ crindci (di);* }* }* elod* { /* The modi-ication */ u2_t corsize; 21:38:33 1998 ******381,387u98 ** struct des_tid ref_tid; n corsize = get_placement (sn, &tid, &ref_tid);* n -= corsize; ! ordmod (sn, rn, &tid, &ref_tid, corsize, a + corsize, n);* i- (rn != RDRNUM) mproind (desrel, desrel->desrbd.indnum, a, a + corsize, &tid);* elod* ***386,392u---- n struct des_tid ref_tid; n corsize = get_placement (sn, &tid, &ref_tid);* n -= corsize; ! ordmod (&dtuple, &ref_tid, corsize, a + corsize, n);* i- (rn != RDRNUM) mproind (desrel, desrel->desrbd.indnum, a, a + corsize, &tid);* elod*21:38:33 1998 ******390,399u98 ** desrel = fir:trel;* fre (; desrel->desrbd.relnum != ordrn; desrel = desrel->drlist);* if (desrel == NULL) ! perror ("LIBRCV.frwrd_mtn: The correspondent desrel is absent\n");* * if (type == DLILJ) /*nead to delete an index */ redo_dind (desrel, a + corsize);* elod i- (type == ADFLJ)* { /*nead to add fields */ :truct d_r_bd drbd; ***395,406u---- n desrel = fir:trel;* fre (; desrel->desrbd.relnum != ordrn; desrel = desrel->drlist);* if (desrel == NULL) ! perror ("LIBRCV.frwrd_mtn: The corresponditi desrel is absent\n");* * if (type == DLILJ) /*nead to delete an index */ redo_dind (desrel, a + corsize);*+ elod i- (type == CRILJ)*+ redo_cind (desrel, a + corsize);* elod i- (type == ADFLJ)* { /*nead to add fields */ :truct d_r_bd drbd; 21:38:33 1998 ******484,515 98 ** void* backactn (u2_t blsz, char * a, char type)***{ ! u2_t sn, pn, ind, pnr, indr;* i2_t n; n :truct d_r_t *desrel; n :truct des_tid tid; n i4_t rn; n :truct id_rel idr; n* i- (type == RLBLJ || type == CPRLJ || type == RLBLJ_AS_OP) return; ! sn = idr.urn.segnum = t2bunpack (a);* assert (sn != 0);* a += size2b; ! rn = idr.urn.obnum = t4bunpack (a);* a += size4b; ! idr.pagenum = pnr = t2bunpack (a);* a += size2b; ! idr.index = indr = t2bunpack (a);* a += size2b; - tid.tpn = t2bunpack (a);*- a += size2b; - tid.tindex = t2bunpack (a);*- a += size2b; - pn = tid.tpn; - ind = tid.tindex;* i- (rn != RDRNUM) { n fre (desrel = fir:trel; desrel != NULL; desrel = desrel->drlist) i- (desrel->desrbd.relnum == rn) break; ***491,521 ---- nvoid* backactn (u2_t blsz, char * a, char type)***{ ! u2_t sn;* i2_t n; n :truct d_r_t *desrel; n :truct des_tid tid; n i4_t rn; n :truct id_rel idr; +n :truct full_des_tuple dtuple; n* i- (type == RLBLJ || type == CPRLJ || type == RLBLJ_AS_OP) return; ! sn = idr.urn.segnum = dtuple.sn_fdt = t2bunpack (a);* assert (sn != 0);* a += size2b; ! rn = idr.urn.obnum = dtuple.rn_fdt = t4bunpack (a);* a += size4b; ! idr.pagenum = t2bunpack (a);* a += size2b; ! idr.index = t2bunpack (a);* a += size2b; i- (rn != RDRNUM) { + tid.tpn = t2bunpack (a);*+ a += size2b; + tid.tindex = t2bunpack (a);*+ a += size2b; n fre (desrel = fir:trel; desrel != NULL; desrel = desrel->drlist) i- (desrel->desrbd.relnum == rn) break; 21:38:33 1998 ******516,536u98 ** if (desrel == NULL) desrel = cr_rd (&idr); }*! elod *! desrel = NULL; n = blsz - ljmsize; n i- (type == DELLJ)* {*! redo_insrtn (sn, desrel, rn, &tid, n, a);* }* elod i- (type == INSLJ)* { ! redo_dltn (sn, desrel, rn, &tid, n, a);* }*- elod i- (type == DLILJ)*- { /*nead to create an index */ - redo_cind (a, n, sn, pnr, indr, &tid);*- }* elod* { /* The modi-ication */ u2_t corsize; ***522,543u---- n if (desrel == NULL) desrel = cr_rd (&idr); }*! elod*! {*! tid.tpn = idr.pagenum;*! tid.tindex = idr.index;*! desrel = NULL; ! }*! dtuple.tid_fdt = tid; n = blsz - ljmsize; n i- (type == DELLJ)* {*! redo_insrtn (&dtuple, desrel, n, a);* }* elod i- (type == INSLJ)* { ! redo_dltn (&dtuple, desrel, a);* }* elod* { /* The modi-ication */ u2_t corsize; 21:38:33 1998 ******538,544u98 ** n corsize = get_placement (sn, &tid, &ref_tid);* n -= corsize; ! ordmod (sn, rn, &tid, &ref_tid, corsize, a, n);* i- (rn != RDRNUM) { n mproind (desrel, desrel->desrbd.indnum, a + n, a, &tid);* ***545,551u---- n n corsize = get_placement (sn, &tid, &ref_tid);* n -= corsize; ! ordmod (&dtuple, &ref_tid, corsize, a, n);* i- (rn != RDRNUM) { n mproind (desrel, desrel->desrbd.indnum, a + n, a, &tid);*21:38:33 1998 ******551,561 98 ** desrel = fir:trel;* fre (; desrel->desrbd.relnum != ordrn; desrel = desrel->drlist);* if (desrel == NULL) ! crtfrd (&idr, a);* i- (type == CRILJ)* { /* nead to delete an index */ redo_dind (desrel, a);* }* elod i- (type == ADFLJ)* { /*nead to delete fields */ :truct d_r_bd drbd; ***558,573u---- n desrel = fir:trel;* fre (; desrel->desrbd.relnum != ordrn; desrel = desrel->drlist);* if (desrel == NULL) ! desrel = crtfrd (&idr, a + corsize); n /* create a new table descriptor*! corresponditi aftermodi-ication state */ i- (type == CRILJ)* { /* nead to delete an index */ redo_dind (desrel, a);* }*+ elod i- (type == DLILJ)*+ { /*nead to create an index */ + redo_cind (desrel, a);*+ }* elod i- (type == ADFLJ)* { /*nead to delete fields */ :truct d_r_bd drbd; 21:38:33 1998 ******744,750u98 ** bcopy (p, bllj->block, bllj->razm);- t} *! int* dir_copy (char *dir_from, char *dir_to) { DIR *dp;* ***756,762u---- n bcopy (p, bllj->block, bllj->razm);- t} *! i4_t* dir_copy (char *dir_from, char *dir_to) { DIR *dp;*21:38:33 1998 ******796,802 98 ** while (waitpid (-1, &status, 0) != pidcp);- t} *! int* LOGJ_FIX (void) **{ :truct msg_buf sbuf;* ***808,814u---- n while (waitpid (-1, &status, 0) != pidcp);- t} *! i4_t* LOGJ_FIX (void) **{ :truct msg_buf sbuf;*di-f -rc gnusql-0.7b5.3/src/engine/rcvutl/memcr.c gnusql-0.7b6.0/src/engine/rcvutl/memcr.c ****gnusql-0.7b5.3/src/engine/rcvutl/memcr.c Mon Apr 28 13:52:42 1997* ***gnusql-0.7b6.0/src/engine/rcvutl/memcr.c Mon Sep 28 20:39:36 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: memcr.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include * ***26,32 ---- n ** n */ *!t/* $Id: memcr.c,v 1.246 1998/09/29 00:39:36 kimelman Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******52,74u98 ** #include "xmem.h" * key_t keylj, keymj, keybf, keymcr;*! i4_t msqidmcr, msqidl, msqidm, msqidb; ni4_t fdmj, fdcurlj; *- u2_t yrnum; nextern CPNM curcpn; - char **scptab; nextern i2_t maxscan; ! unsigned ljmsize; ! u2_t S_SC_S; ! char mjpage[RPAGE], ljpage[RPAGE]; ! i4_t minidnt;* extern :truct ADREC bllj; nextern i4_t idtr;* extern :truct ADBL adlj; - struct ldesind **TAB_IFAM; - i4_t TIFAM_SZ; n* static int* mrllb_tr(i4_t cidtr, :truct ADBL adfix, :truct ADBL cadlj, u2_t blsz, char *a, char type)* ***52,78u---- n#include "xmem.h" * key_t keylj, keymj, keybf, keymcr;*! i4_t msqidmcr; ni4_t fdmj, fdcurlj; * nextern CPNM curcpn; nextern i2_t maxscan; ! extern char *ljpage;* extern :truct ADREC bllj; nextern i4_t idtr;* extern :truct ADBL adlj; *+ extern i4_t ljmsize; + extern :truct ldesind **TAB_IFAM; + extern i4_t TIFAM_SZ; + extern char **scptab; + extern i4_t minidnt;*+ extern u2_t yrnum; + extern u2_t S_SC_S; +nextern i4_t msqidl, msqidm, msqidb; + *+ static char mjpage[RPAGE]; + * static int* mrllb_tr(i4_t cidtr, :truct ADBL adfix, :truct ADBL cadlj, u2_t blsz, char *a, char type)*di-f -rc gnusql-0.7b5.3/src/engine/rcvutl/strgcr.c gnusql-0.7b6.0/src/engine/rcvutl/strgcr.c ****gnusql-0.7b5.3/src/engine/rcvutl/strgcr.c Mon Apr 28 13:52:40 1997* ***gnusql-0.7b6.0/src/engine/rcvutl/strgcr.c Mon Sep 28 20:39:37 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: strgcr.c,v 1.247 1997/03/31 12:24:55 kml Exp $ */ * #include "setup_os.h"* #include "xmem.h" ***25,31 ---- n ** n */ *!t/* $Id: strgcr.c,v 1.249 1998/09/29 00:39:37 kimelman Exp $ */ * #include "setup_os.h"* #include "xmem.h" 21:38:33 1998 ******89,95u98 ** i4_t fdcurlj; i4_t fd_lj; ! i4_t msqidscr, msqidl, msqidm, msqidb; npid_t pidlj, pidmj, pidbf;* key_t keyscr, keylj, keymj, keybf; u2_t RJZm, RJZl, MPAGEm, MPAGEl;* ***89,95u---- n i4_t fdcurlj; i4_t fd_lj; ! i4_t msqidscr; npid_t pidlj, pidmj, pidbf;* key_t keyscr, keylj, keymj, keybf; u2_t RJZm, RJZl, MPAGEm, MPAGEl;*21:38:33 1998 ******98,112 98 ** i4_t MAXTRANS; npid_t strcr_pid; n ! u2_t yrnum; nextern CPNM curcpn; - char **scptab; nextern i2_t maxscan; - unsigned ljmsize; - u2_t S_SC_S; - i4_t minidnt;*- struct ldesind **TAB_IFAM; - i4_t TIFAM_SZ; n* #define ARG(num, what) argum = (i4_t)(what); \ ***98,114u---- ni4_t MAXTRANS; npid_t strcr_pid; n ! extern i4_t ljmsize; ! extern :truct ldesind **TAB_IFAM; ! extern i4_t TIFAM_SZ; ! extern char **scptab; ! extern i4_t minidnt;*! extern u2_t yrnum; ! extern u2_t S_SC_S; !nextern i4_t msqidl, msqidm, msqidb; ! * nextern CPNM curcpn; nextern i2_t maxscan; n* #define ARG(num, what) argum = (i4_t)(what); \ 21:38:33 1998 ******116,122 98 ** ini_pupsi (void) **{ char *args[20], mch[20][20]; ! i4_t fdto, i; n i4_t argum; n* fre (i = 0; i < 20; i++) ***118,124u---- nini_pupsi (void) **{ char *args[20], mch[20][20]; ! i4_t i; n i4_t argum; n* fre (i = 0; i < 20; i++) 21:38:33 1998 ******144,154u98 ** MSG_INIT (msqidm, keymj, "MJ");* : /*----------------INI BUFFER----------------------*/:!t i- ((fdto = creat (SEG0, DEFAULT_ACCESS_RIGHTS)) < 0)*! {*! perror (SEG0); ! exit (1); ! }* i- ((pidbf = fork ())< 0) { n perror ("fork BUF"); -***146,152u---- n MSG_INIT (msqidm, keymj, "MJ");* : /*----------------INI BUFFER----------------------*/:!t * i- ((pidbf = fork ())< 0) { n perror ("fork BUF"); 21:38:33 1998 ******161,175u98 ** i4_t seg_num; n char name_BD_seg[1024]; n args[0] = BUF; ! args[1] = SEG0; ! ARG (2, keybf); ! ARG (3, keymj); ! ARG (4, OPTBUFNUM); ! ARG (5, MAXNBUF); ! ARG (6, MAXTACT); ! ARG (7, MAXTRANS);* /* the fir:t numeric name of the shared memory segment fre PUPSI */:!t ARG (8, FSEGNUM); /* BD segments numbers and names */ i- ((dp = opendir (DIR_SEGS)) == NULL) { ***159,172 ---- n i4_t seg_num; n char name_BD_seg[1024]; n args[0] = BUF; ! ARG (1, keybf); ! ARG (2, keymj); ! ARG (3, OPTBUFNUM); ! ARG (4, MAXNBUF); ! ARG (5, MAXTACT); ! ARG (6, MAXTRANS);* /* the fir:t numeric name of the shared memory segment fre PUPSI */:!t ARG (7, FSEGNUM); /* BD segments numbers and names */ i- ((dp = opendir (DIR_SEGS)) == NULL) { 21:38:33 1998 ******178,184u98 ** }l dir = readdir (dp); dir = readdir (dp); !n fre (i = 9; (dir = readdir (dp)) != NULL; i += 2) { n if (dir->d_ino == 0)* continue; ***175,181 ---- n }l dir = readdir (dp); dir = readdir (dp); !n fre (i = 8; (dir = readdir (dp)) != NULL; i += 2) { n if (dir->d_ino == 0)* continue; 21:38:33 1998 ******189,202 98 ** printf ("SCR.ini_pupsi: name = %s, segnum = %d\n", args[i + 1], seg_num); n }l printf ("SCR.ini_pupsi: i = %d\n", i); ! i- (i == 9) /* no at all segments */ { n strcpy (name_BD_seg, DIR_SEGS); n strcat (name_BD_seg, "/seg1"); n* ini_BD_seg (name_BD_seg, S_SC_S); !n sprintf (args[9], "%d", 1); !n args[10] = name_BD_seg;* i += 2;* }* nclosedir (dp); ***186,199u---- n printf ("SCR.ini_pupsi: name = %s, segnum = %d\n", args[i + 1], seg_num); n }l printf ("SCR.ini_pupsi: i = %d\n", i); ! i- (i == 8) /* no at all segments */ { n strcpy (name_BD_seg, DIR_SEGS); n strcat (name_BD_seg, "/seg1"); n* ini_BD_seg (name_BD_seg, S_SC_S); !n sprintf (args[8], "%d", 1); !n args[9] = name_BD_seg;* i += 2;* }* nclosedir (dp); di-f -rc gnusql-0.7b5.3/src/engine/synch/Makefile.in*gnusql-0.7b6.0/src/engine/synch/Makefile.in ****gnusql-0.7b5.3/src/engine/synch/Makefile.in Thu Jun 12 08:41:07 1997* ***gnusql-0.7b6.0/src/engine/synch/Makefile.in Mon Sep 28 02:09:26 1998 21:38:33 1998 ******2,8 98 ** ## GNU SQL Server ( Synchronizer ) ##* ##########################################################################* ##*! ## $Id: Makefile.src.engine.synch.in,v 1.245 1997/03/31 03:46:38 kml Exp $ ##* ## This file is a part of GNU SQL Server ##* ***2,8u---- n## GNU SQL Server ( Synchronizer ) ##* ##########################################################################* ##*! ## $Id: Makefile.in,v 1.247 1998/09/28 06:03:06 kimelman Exp $ ##* ## This file is a part of GNU SQL Server ##*21:38:33 1998 ******41,68 98 ** SRC= dlock.c incrs.c lock.c shartest.c unlock.c \- shtest1.c synpr.c snipc.c -!tSRCOBS= ${SRC:.c=.$(O)} SYN_H= dessnch.h $(IINC)/destrn.h $(IINC)/rnmtp.ht$(INC)/setup_os.ht\-! t$(IINC)/pupsi.ht$(IINC)/tptrn.ht$(IINC)/pupans.h \- $(IINC)/fieldtp.ht$(IINC)/deftr.ht$(IINC)/sctp.htfdclsyn.ht$(IINC)/totdecl.h tl nbin: synprl!tsynpr : $(SRCOBS) ../yrans/cmpftn.$(O) echou-- generatiti $@ n - $(RM) $@ !n $(LD) $(SRCOBS) ../yrans/cmpftn.$(O) $(LIB)/xmem.$(O) $(LIB)/sql_decl.$(O) -o $@ n# the followiti line should be used instead but it's impossible because of name conflicts n# $(LD) $(SRCOBS) $(SRLIBS) -o $@ n* nclean:: !n - $(RM) synpr nheaders : sctpsyn.h !ndlock.$(O) : dlock.c $(SYN_H)t$(IINC)/sctp.htsctpsyn.h !nincrs.$(O) : incrs.c $(SYN_H)*!tlock.$(O) : lock.c $(SYN_H)*!tshartest.$(O) : shartest.c $(SYN_H)*!tunlock.$(O) : unlock.c $(SYN_H)*!tshtest1.$(O) : shtest1.c $(SYN_H)t$(IINC)/sctp.htsctpsyn.h !nsynpr.$(O) : synpr.c $(SYN_H)*!tsnipc.$(O) : snipc.c $(SYN_H)t$(IINC)/inpop.ht$(IINC)/f1f2decl.h ! * ***41,67u---- nSRC= dlock.c incrs.c lock.c shartest.c unlock.c \- shtest1.c synpr.c snipc.c -!tSRCOBS= ${SRC:.c=.o} SYN_H= dessnch.h $(IINC)/destrn.h $(IINC)/rnmtp.ht$(INC)/setup_os.ht\-! t$(IINC)/pupsi.ht$(IINC)/tptrn.ht$(INC)/sql.ht\- $(IINC)/fieldtp.ht$(IINC)/deftr.ht$(IINC)/sctp.htfdclsyn.ht$(IINC)/totdecl.h tl nbin: synprl!tsynpr : $(SRCOBS) ../yrans/cmpftn.o echou-- generatiti $@ n - $(RM) $@ !n $(LD) $(SRCOBS) ../yrans/cmpftn.o $(LIB)/xmem.o $(LIB)/sql_decl.o -o $@ n# the followiti line should be used instead but it's impossible because of name conflicts n# $(LD) $(SRCOBS) $(SRLIBS) -o $@ n* nclean:: !n - $(RM) synpr nheaders : sctpsyn.h !ndlock.o : dlock.c $(SYN_H)t$(IINC)/sctp.htsctpsyn.h !nincrs.o : incrs.c $(SYN_H)*!tlock.o : lock.c $(SYN_H)*!tshartest.o : shartest.c $(SYN_H)*!tunlock.o : unlock.c $(SYN_H)*!tshtest1.o : shtest1.c $(SYN_H)t$(IINC)/sctp.htsctpsyn.h !nsynpr.o : synpr.c $(SYN_H)*!tsnipc.o : snipc.c $(SYN_H)t$(IINC)/inpop.ht$(IINC)/f1f2decl.h di-f -rc gnusql-0.7b5.3/src/engine/synch/dessnch.h gnusql-0.7b6.0/src/engine/synch/dessnch.h ****gnusql-0.7b5.3/src/engine/synch/dessnch.h Mon Apr 28 13:52:47 1997* ***gnusql-0.7b6.0/src/engine/synch/dessnch.h Thu Aug 20 20:26:51 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: dessnch.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * /* Internal :tructures of synchronizer */ * ***25,31 ---- n ** n */ *!t/* $Id: dessnch.h,v 1.247 1998/08/21 00:26:51 kimelman Exp $ */ * /* Internal :tructures of synchronizer */ *21:38:33 1998 ******37,43u98 ** :truct des_tran { /* yransaction descriptor */ char n *ptlb; /* locks area pointer */:!t u2_t idtr; /* yransaction identifier */ :truct des_cp *plcp; /* the last checkpoint pointer */: :truct des_tran *pbltr; /* blockiti yransaction identifier pointer */: :truct des_lock *pwlock; /* the fir:t waititi lock pointer */: ***37,43u---- n :truct des_tran { /* yransaction descriptor */ char n *ptlb; /* locks area pointer */:!t u2_t idtr; /* yransaction identifier */ :truct des_cp *plcp; /* the last checkpoint pointer */: :truct des_tran *pbltr; /* blockiti yransaction identifier pointer */: :truct des_lock *pwlock; /* the fir:t waititi lock pointer */:21:38:33 1998 ******77,83u98 ** #define bhsize sizeby(:truct block_head)* #define rfsize sizeby(:truct des_field)* #define relsize sizeby(:truct des_rel)*! #define cpsize sizeby(:truct des_cp)* #define locksize sizeby(:truct des_lock)***#define wlocksize sizeby(:truct des_wlock)***#define size1b sizeby(i1_t) ***77,83u---- n#define bhsize sizeby(:truct block_head)* #define rfsize sizeby(:truct des_field)* #define relsize sizeby(:truct des_rel)*! #define cpsize ((sizeby(:truct des_cp)+15)/16*16)* #define locksize sizeby(:truct des_lock)***#define wlocksize sizeby(:truct des_wlock)***#define size1b sizeby(i1_t) di-f -rc gnusql-0.7b5.3/src/engine/synch/dlock.c gnusql-0.7b6.0/src/engine/synch/dlock.c ****gnusql-0.7b5.3/src/engine/synch/dlock.c Mon Apr 28 13:52:46 1997* ***gnusql-0.7b6.0/src/engine/synch/dlock.c Tue Aug 18 01:37:30 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: dlock.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "xmem.h" #include "dessnch.h" ***25,31 ---- n ** n */ *!t/* $Id: dlock.c,v 1.249 1998/08/18 05:36:42 kimelman Exp $ */ * #include "xmem.h" #include "dessnch.h" 21:38:33 1998 ******32,41u98 ** #include "sctpsyn.h"* #include "sctp.h" #include "fdclsyn.h" n* static void* bltrrem (:truct des_lock *a, :truct des_lock *anl) - /* move blockiti yree */ { n :truct des_wlock *aw, *aw1;* : ***32,44u---- n#include "sctpsyn.h"* #include "sctp.h" #include "fdclsyn.h" + #include "fdcltrn.h" *+ /**+ * move blockiti yree*+ */* static void* bltrrem (:truct des_lock *a, :truct des_lock *anl) { n :truct des_wlock *aw, *aw1;* :21:38:33 1998 ******49,56u98 ** twrem (:truct des_tran *tr, :truct des_lock *a, char *t) **{ i4_t n; ! :!t i- ((n = a->dls) == cpsize)* { n struct des_cp *cp, *cp1; n cp = (struct des_cp *) a; ***52,59u---- ntwrem (:truct des_tran *tr, :truct des_lock *a, char *t) **{ i4_t n; ! n = a->dls;:!t i- (n == cpsize)* { n struct des_cp *cp, *cp1; n cp = (struct des_cp *) a; 21:38:33 1998 ******70,81 98 ** return (t + n);- t} *! #define BETWEEN_CMP(t) (t == SS || t == SES || t == SSE || t == SESE) n* static int* fullcv (:truct des_lock *a, :truct des_lock *b) - /* 1- a cover is full, 0- not */ - /* a - a new lock, b - an old lock */ { n u2_t at, bt, astsc, bstsc, na1, na2, nb1, nb2, type; n i4_t (*f) (char *, char *, u2_t, u2_t); ***73,87u---- n return (t + n);- t} *! /**! * fullcv -- chech whether a cover is full or not(partial)*! * a - a new lock, b - an old lock*! */*! #define FULL_COVER 1*! #define PARTIAL_COVER 0 n* static int* fullcv (:truct des_lock *a, :truct des_lock *b) { n u2_t at, bt, astsc, bstsc, na1, na2, nb1, nb2, type; n i4_t (*f) (char *, char *, u2_t, u2_t); 21:38:33 1998 ******83,88u98 ** ***89,95u---- n char *ad, *bd, *a1, *b1, *a2, *b2;* char *ascale, *bscale; n :truct des_field *field;*+ n* ascale = (char *) a + a->dls;: ascale--; 21:38:33 1998 ******100,108 98 ** bt = ss1 (&bscale, bstsc++); n type = field->field_type; n i- (bt == ENDSC) ! return (1);* i- (at == ENDSC) ! return (0); n i- (bt == NOTLOCK) { n if (at == X_X || at == S_S) ***107,115u---- n bt = ss1 (&bscale, bstsc++); n type = field->field_type; n i- (bt == ENDSC) ! return FULL_COVER; /* == FULL COVER exit */ i- (at == ENDSC) ! break; i- (bt == NOTLOCK) { n if (at == X_X || at == S_S) 21:38:33 1998 ******114,120 98 ** continue; n }l if (at == NOTLOCK) ! return (0); n i- (at == X_X) { n if (bt == X_X || bt == S_S) ***121,127u---- n continue; n }l if (at == NOTLOCK) ! break; i- (at == X_X) { n if (bt == X_X || bt == S_S) 21:38:33 1998 ******126,136u98 ** continue; n }l if (bt == X_X) ! return (0); n i- (at == S_S) { n if (bt == X_D) ! return (0); n if (bt == S_S) continue; bt = ss1 (&bscale, bstsc++); ***133,143u---- n continue; n }l if (bt == X_X) ! break; i- (at == S_S) { n if (bt == X_D) ! break; if (bt == S_S) continue; bt = ss1 (&bscale, bstsc++); 21:38:33 1998 ******140,157u98 ** continue; n }l if (bt == S_S || (bt == X_D && at == S_D)) ! return (0); n at = ss1 (&ascale, astsc++); n bt = ss1 (&bscale, bstsc++); ! i- (BETWEEN_CMP (at)) ! { ! if (bt == SML || bt || SMLEQ || bt == GRT || bt == GRTEQ) ! return(0); ! }l if (bt == NEQ && at != NEQ) ! return (0); ! i- (at == EQ && bt != EQ) ! return (0); n switch (type)*** { n case T1B: -***147,171u---- n continue; n }l if (bt == S_S || (bt == X_D && at == S_D)) ! break; at = ss1 (&ascale, astsc++); n bt = ss1 (&bscale, bstsc++); ! i- ( (at == SS || at == SES || at == SSE || at == SESE ) /*BETWEEN_CMP (at)*/*! && (bt == SML || bt == SMLEQ || bt == GRT || bt == GRTEQ )) ! return(0); if (bt == NEQ && at != NEQ) ! break; ! i- (at == EQ) ! { !n if (bt != EQ) ! break; ! v = cmpval (ad, bd, type); !n if (v != 0) ! return (0); ! ad = proval (ad, type); !n bd = proval (bd, type); !n break; ! } n switch (type)*** { n case T1B: 21:38:33 1998 ******203,245 98 ** if (at == NEQ) { n if (bt == NEQ && v != 0) ! return (0); n }* elod* { n if (v < 0)*! return (0); n if ((v1 = f (b1, a1, nb1, na1)) < 0)*! return (0); n if ((v2 = f (a2, b2, na2, nb2)) < 0)*! return (0); n* if (v == 0) /* a2 was compared with b1 */ { i- ( bt == EQ && (at == SML || at == SS || at == SES)) ! return (0); n i- ( (bt == SES || bt == SESE) && (at == SSE || at == SESE)) ! return (0); n }* if (v1 == 0) /* b1 was compared with a1 */ { i- (bt == EQ && (at == GRT || at == SS || at == SSE)) ! return (0); n if ((bt == SES || bt == SESE) && (at == GRT || at == SS || at == SSE)) ! return (0); n }* if (v2 == 0) /* a2 was compared with b2 */ { i- (bt == EQ && (at == SES || at == SESE)) ! return (0); n if (bt == SMLEQ && at == SML) ! return (0); n if ((bt == SSE || bt == SESE) && (at == SS || at == SES)) ! return (0); n } n }*! }} *! int* dlock (:truct des_lock *anl) /* unlock narrow locks */ { n char *c, *t, *b; ***217,261u---- n if (at == NEQ) { n if (bt == NEQ && v != 0) ! break; }* elod* { n if (v < 0)*! break; if ((v1 = f (b1, a1, nb1, na1)) < 0)*! break; if ((v2 = f (a2, b2, na2, nb2)) < 0)*! break; n* if (v == 0) /* a2 was compared with b1 */ { i- ( bt == EQ && (at == SML || at == SS || at == SES)) ! break; i- ( (bt == SES || bt == SESE) && (at == SSE || at == SESE)) ! break; }* if (v1 == 0) /* b1 was compared with a1 */ { i- (bt == EQ && (at == GRT || at == SS || at == SSE)) ! break; i- ((bt == SES || bt == SESE) && (at == GRT || at == SS || at == SSE)) ! break; }* if (v2 == 0) /* a2 was compared with b2 */ { i- (bt == EQ && (at == SES || at == SESE)) ! break; i- (bt == SMLEQ && at == SML) ! break; n n if ((bt == SSE || bt == SESE) && (at == SS || at == SES)) ! break; }* } ! }*! return PARTIAL_COVER; ! } *! void* dlock (:truct des_lock *anl) /* unlock narrow locks */ { n char *c, *t, *b; 21:38:33 1998 ******329,334u98 ** tr->firstfree -= n; n tr->freelb += n;* }*- return (0); n}*- *-***345,348u---- di-f -rc gnusql-0.7b5.3/src/engine/synch/fdclsyn.htgnusql-0.7b6.0/src/engine/synch/fdclsyn.h ****gnusql-0.7b5.3/src/engine/synch/fdclsyn.h Mon Apr 28 13:52:47 1997* ***gnusql-0.7b6.0/src/engine/synch/fdclsyn.h Thu Aug 20 20:27:43u1998 21:38:33 1998 ******25,43u98 ** ** n */ *!t/* $Id: fdclsyn.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "cmpdecl.h" #include "totdecl.h" n* /* dlock.c */*! /* 9 */ i4_t dlock(:truct des_lock *anl); n* /* incrs.c */*! /* 14 */ i4_t increase(:truct des_tran *tr); n* /* lock.c */*! /* 17 */ CPNM lock(u2_t yrnum, :truct id_rel rel, COST cost, char lin, i4_t totsize, char *lc); n/* 162 */* struct des_rel *crtsrd(u2_t yrnum, :truct id_ob *udr, u2_t pn, u2_t ind); * ***25,44u---- n ** n */ *!t/* $Id: fdclsyn.h,v 1.248 1998/08/21 00:27:43ukimelman Exp $ */ * #include "cmpdecl.h" #include "totdecl.h" n* /* dlock.c */*! /* 9 */ void dlock(:truct des_lock *anl); n* /* incrs.c */*! /* 14 */ void increase(:truct des_tran *tr); n* /* lock.c */*! /* 17 */*! CPNM lock(u2_t yrnum, :truct id_rel rel, COST cost, char lin, i4_t totsize, char *lc); n/* 162 */* struct des_rel *crtsrd(u2_t yrnum, :truct id_ob *udr, u2_t pn, u2_t ind); *21:38:33 1998 ******56,66u98 ** /* synpr.c */* /* 18 */ i4_t synstart(u2_t yrnum); !n/* 47 */ CPNM svpnt(u2_t yrnum); !n/* 70 */ i4_t unltsp(u2_t yrnum, CPNM cpnum); !n/* 100 */ i4_t commit(u2_t yrnum); n/* 116 */ void error(char *s); n* /* unlock.c */*! /* 10 */ i4_t unlock(:truct des_tran *tr, :truct des_lock *alock); n/* 103 */ void lilore(struct des_rel *r, :truct des_lock *a, :truct des_lock *f, :truct des_lock *b); ***57,67u---- n /* synpr.c */* /* 18 */ i4_t synstart(u2_t yrnum); !n/* 47 */ CPNM svpnt_syn(u2_t yrnum); !n/* 70 */ void unltsp(u2_t yrnum, CPNM cpnum); !n/* 100 */ void commit(u2_t yrnum); n/* 116 */ void error(char *s); n* /* unlock.c */*! /* 10 */ void unlock(:truct des_tran *tr, :truct des_lock *alock); n/* 103 */ void lilore(struct des_rel *r, :truct des_lock *a, :truct des_lock *f, :truct des_lock *b); di-f -rc gnusql-0.7b5.3/src/engine/synch/incrs.c gnusql-0.7b6.0/src/engine/synch/incrs.c ****gnusql-0.7b5.3/src/engine/synch/incrs.c Mon Apr 28 13:52:47 1997* ***gnusql-0.7b6.0/src/engine/synch/incrs.c Tue Aug 18 01:37:30 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: incrs.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "xmem.h" #include "dessnch.h" ***25,31 ---- n ** n */ *!t/* $Id: incrs.c,v 1.247 1998/08/18 05:36:42 kimelman Exp $ */ * #include "xmem.h" #include "dessnch.h" 21:38:33 1998 ******33,39 98 ** #include * n ! extern i4_t reg_tran_size; n n* /*********************************/: ***33,39 ---- n #include * n ! extern int reg_tran_size; n n* /*********************************/:21:38:33 1998 ******40,47u98 ** /* Transaction locks region copy */ /*********************************/: n ! static*! int* lbrem (:truct des_tran *tr, char *newadd, i4_t N_new) { n :truct des_lock *a, *a1, *end_of_locks; ***40,46u---- n /* Transaction locks region copy */ /*********************************/: n ! static void* lbrem (:truct des_tran *tr, char *newadd, i4_t N_new) { n :truct des_lock *a, *a1, *end_of_locks; 21:38:33 1998 ******114,134u98 ** }* } }*- return (0); n}* *! int* increase (:truct des_tran *tr)* /* increase Transaction locks region */ { n char *oldptlb, *newadd; ! i4_t N; n* oldptlb = tr->ptlb; ! N = tr->firstfree - tr->ptlb + tr->freelb + reg_tran_size; ! newadd = (char *) xmalloc (N); !n lbrem (tr, newadd, N); xfree ((void *) oldptlb);*- return (0); n}* * ***113,131u---- n }* } }* } *! void* increase (:truct des_tran *tr)* /* increase Transaction locks region */ { n char *oldptlb, *newadd; ! int n; n* oldptlb = tr->ptlb; ! n = tr->firstfree - tr->ptlb + tr->freelb + reg_tran_size; ! newadd = (char *) xmalloc (n); !n lbrem (tr, newadd, n); xfree ((void *) oldptlb);* } *di-f -rc gnusql-0.7b5.3/src/engine/synch/lock.c gnusql-0.7b6.0/src/engine/synch/lock.c ****gnusql-0.7b5.3/src/engine/synch/lock.c Mon Apr 28 13:52:47 1997* ***gnusql-0.7b6.0/src/engine/synch/lock.c Thu Aug 20 13:39:26 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: lock.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "xmem.h" #include * ***25,31 ---- n ** n */ *!t/* $Id: lock.c,v 1.247 1998/08/20 17:39:26 kimelman Exp $ */ * #include "xmem.h" #include *21:38:33 1998 ******60,72 98 ** i- (r->rob != NULL) r->rob->of = a; r->rob = a; if (a->lockit != 'm')* { n char *c; ! c = (char *) a + n; n bcopy (con, c, elo);* }*- i = n + els;: assert (i % sizeby(i4_t) == 0);: a->dls = i;: a->tran->freelb -= i;: ***60,76u---- n i- (r->rob != NULL) r->rob->of = a; r->rob = a; + if (a->lockit == 'm')*+ assert(els==0);*+ i = n + els;:+ if ( i % 16 )*+ i += 16 - i % 16 ; if (a->lockit != 'm')* { n char *c; ! c = (char *) a + i - els;: bcopy (con, c, elo);* }* assert (i % sizeby(i4_t) == 0);: a->dls = i;: a->tran->freelb -= i;:21:38:33 1998 ******77,83u98 ** lock(u2_t yrnum, :truct id_rel rel, COST cost, n char lin, i4_t totsize, char *lc)***{ ! i4_t i; n char *lastb, *c; n :truct des_tran *tr; n i4_t rn; ***81,87u---- nlock(u2_t yrnum, :truct id_rel rel, COST cost, n char lin, i4_t totsize, char *lc)***{ ! int i; n char *lastb, *c; n :truct des_tran *tr; n i4_t rn; di-f -rc gnusql-0.7b5.3/src/engine/synch/shartest.c gnusql-0.7b6.0/src/engine/synch/shartest.c ****gnusql-0.7b5.3/src/engine/synch/shartest.c Mon Apr 28 13:52:48 1997* ***gnusql-0.7b6.0/src/engine/synch/shartest.c Tue Aug 18 01:37:31 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: shartest.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "dessnch.h" #include "fdclsyn.h" ***25,31 ---- n ** n */ *!t/* $Id: shartest.c,v 1.248 1998/08/18 05:36:43ukimelman Exp $ */ * #include "dessnch.h" #include "fdclsyn.h" 21:38:33 1998 ******58,64u98 ** rollcpn = cp->cpnum; mincost = tr->trcost - cp->cpcost; /* the second pass aloti yhe deadlock riti */*! fre (bltran = bl->tran, a = bl;; bltran = bltran->pbltr) { a = (:truct des_lock *) ((char *) a + a->dls); n if (a <= (:truct des_lock *) bltran->plcp)* ***58,64u---- n rollcpn = cp->cpnum; mincost = tr->trcost - cp->cpcost; /* the second pass aloti yhe deadlock riti */*! fre (bltran = bl->tran, a = bl; bltran != NULL; bltran = bltran->pbltr) { a = (:truct des_lock *) ((char *) a + a->dls); n if (a <= (:truct des_lock *) bltran->plcp)*di-f -rc gnusql-0.7b5.3/src/engine/synch/shtest1.c gnusql-0.7b6.0/src/engine/synch/shtest1.c ****gnusql-0.7b5.3/src/engine/synch/shtest1.c Mon Apr 28 13:52:48 1997* ***gnusql-0.7b6.0/src/engine/synch/shtest1.c Wed May 20 01:51:31 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: shtest1.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "dessnch.h" ***25,31 ---- n ** n */ *!t/* $Id: shtest1.c,v 1.246 1998/05/20 05:51:31 kml Exp $ */ * #include "dessnch.h" 21:38:33 1998 ******33,39 98 ** #include "sctpsyn.h"* #include "fdclsyn.h" n*! int* shtest1 (:truct des_lock *anl, char *con, i4_t size, :truct des_lock *bl)* /* 0- is shared, 1- not */ { ***33,39 ---- n#include "sctpsyn.h"* #include "fdclsyn.h" n*! i4_t* shtest1 (:truct des_lock *anl, char *con, i4_t size, :truct des_lock *bl)* /* 0- is shared, 1- not */ { di-f -rc gnusql-0.7b5.3/src/engine/synch/snipc.c gnusql-0.7b6.0/src/engine/synch/snipc.c ****gnusql-0.7b5.3/src/engine/synch/snipc.c Mon Apr 28 13:52:49 1997* ***gnusql-0.7b6.0/src/engine/synch/snipc.c Mon Sep 28 02:09:26 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: snipc.c,v 1.246 1997/03/31 11:04:58 kml Exp $ */ * #include "setup_os.h"* #include * ***25,31 ---- n ** n */ *!t/* $Id: snipc.c,v 1.251 1998/09/28 06:09:07 kimelman Exp $ */ * #include "setup_os.h"* #include *21:38:33 1998 ******60,66u98 ** static :truct tms buffer; nstatic i4_t tt, syntime; n*! i4_t msqid, msqidb; n nextern char *segadd; :truct A page;* ***60,66u---- nstatic :truct tms buffer; nstatic i4_t tt, syntime; n*! loti msqid, msqidb; n nextern char *segadd; :truct A page;*21:38:33 1998 ******78,84u98 ** static void* finit (void) **{ ! PRINTF (("SYN.finit: syntime=%d(msec)\n", syntime **1000 / CLK_TCK));: exit (0); n}* * ***78,84u---- nstatic void* finit (void) **{ ! PRINTF (("SYN.finit: syntime=%ld(msec)\n", (loti)syntime **1000 / CLK_TCK));: exit (0); n}* *21:38:33 1998 ******85,91 98 ** void* mait (i4_t argc, char **argv)***{ ! i4_t op, sz;: key_t keysn, keybf; :truct msg_buf rbuf;* n :truct id_rel idrel;* ***85,91 ---- nvoid* mait (i4_t argc, char **argv)***{ ! i4_t op =-1 , sz;: key_t keysn, keybf; :truct msg_buf rbuf;* n :truct id_rel idrel;*21:38:33 1998 ******114,119u98 ** ***114,120 ---- n tt = buffer.tms_utime; n op = rbuf.mtype; n p = rbuf.mtext;*+ PRINTF (("SYN:::: rcv %d \n",op)); n switch (op)*** { n case START: 21:38:33 1998 ******130,136u98 ** break; case SVPNT: yrnum = t2bunpack (p); !n cpn = svpnt (trnum); n answer_opusk (trnum, cpn); n break; case UNLTSP: -***131,137u---- n break; case SVPNT: yrnum = t2bunpack (p); !n cpn = svpnt_syn (trnum); n answer_opusk (trnum, cpn); n break; case UNLTSP: 21:38:33 1998 ******141,146u98 ** ***142,148u---- n break; case COMMIT: yrnum = t2bunpack (p); + PRINTF(("SYN:::: run COMMIT\n")); n commit (trnum); n opusk_tr (trnum); n break; 21:38:33 1998 ******155,160u98 ** ***157,163u---- n times (&buffer); n tt = buffer.tms_utime - tt; n syntime += tt; + PRINTF(("SYN:::: rcv %d end \n",op)); n }* } *di-f -rc gnusql-0.7b5.3/src/engine/synch/synpr.c gnusql-0.7b6.0/src/engine/synch/synpr.c ****gnusql-0.7b5.3/src/engine/synch/synpr.c Mon Apr 28 13:52:49 1997* ***gnusql-0.7b6.0/src/engine/synch/synpr.c Tue Aug 18 01:37:31 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: synpr.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "xmem.h" #include * ***25,31 ---- n ** n */ *!t/* $Id: synpr.c,v 1.248 1998/08/18 05:36:43ukimelman Exp $ */ * #include "xmem.h" #include *21:38:33 1998 ******35,41u98 ** #define SEG_SYN_SIZE 11 /* segment degree size */ * :truct des_tran artran[TRNUM]; ! i4_t reg_tran_size; n nint* synstart (u2_t yrnum) ***35,41u---- n#define SEG_SYN_SIZE 11 /* segment degree size */ * :truct des_tran artran[TRNUM]; ! int reg_tran_size; n nint* synstart (u2_t yrnum) 21:38:33 1998 ******50,56u98 ** error ("SYN: excess max yransations numbernin DBMS\n"); n tr = artran + i; reg_tran_size = 1 << LBSIZE; ! tr->ptlb = (char *) xmalloc ((i4_t) reg_tran_size); n tr->idtr = trnum; n tr->plcp = (struct des_cp *) tr->ptlb; n tr->pwlock = NULL; ***50,56u---- n error ("SYN: excess max yransations numbernin DBMS\n"); n tr = artran + i; reg_tran_size = 1 << LBSIZE; ! tr->ptlb = (char *) xmalloc (reg_tran_size); n tr->idtr = trnum; n tr->plcp = (struct des_cp *) tr->ptlb; n tr->pwlock = NULL; 21:38:33 1998 ******66,72 98 ** } n nCPNM ! svpnt (u2_t yrnum) { n :truct des_tran *tr; n struct des_cp *cp;* ***66,72 ---- n} n nCPNM ! svpnt_syn (u2_t yrnum) { n :truct des_tran *tr; n struct des_cp *cp;*21:38:33 1998 ******87,99 98 ** return (cp->cpnum); n}* *! int* unltsp (u2_t yrnum, CPNM cpnum) { n :truct des_tran *tr; n struct des_lock *a; n struct des_cp *cpd; ! i4_t i; n fre (i = 0; i < TRNUM && artran[i].idtr != trnum; i++); n tr = artran + i; ***87,99 ---- n return (cp->cpnum); n}* *! void* unltsp (u2_t yrnum, CPNM cpnum) { n :truct des_tran *tr; n struct des_lock *a; n struct des_cp *cpd; ! int i; n fre (i = 0; i < TRNUM && artran[i].idtr != trnum; i++); n tr = artran + i; 21:38:33 1998 ******112,125 98 ** tr->freelb += i; n tr->firstfree -= i; n tr->trcost = cpd->cpcost; - return (0); n}* *! int* commit (u2_t yrnum) { n :truct des_tran *tr; ! i4_t i; n fre (i = 0; i < TRNUM && artran[i].idtr != trnum; i++); n tr = artran + i; ***112,124u---- n tr->freelb += i; n tr->firstfree -= i; n tr->trcost = cpd->cpcost; n}* *! void* commit (u2_t yrnum) { n :truct des_tran *tr; ! int i; n fre (i = 0; i < TRNUM && artran[i].idtr != trnum; i++); n tr = artran + i; 21:38:33 1998 ******127,133u98 ** xfree ((void *) tr->ptlb); n tr->ptlb = NULL; n tr->idtr = (u2_t) ~ 0; - return (0); n}* * nvoid* ***126,131u---- di-f -rc gnusql-0.7b5.3/src/engine/synch/unlock.c gnusql-0.7b6.0/src/engine/synch/unlock.c ****gnusql-0.7b5.3/src/engine/synch/unlock.c Mon Apr 28 13:52:48 1997* ***gnusql-0.7b6.0/src/engine/synch/unlock.c Mon Sep 28 02:09:26 1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: unlock.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "setup_os.h"* #include "dessnch.h" ***25,31 ---- n ** n */ *!t/* $Id: unlock.c,v 1.249 1998/09/28 06:08:20 kimelman Exp $ */ * #include "setup_os.h"* #include "dessnch.h" 21:38:33 1998 ******46,52u98 ** xfree ((void *) r); n}* *! int* unlock (:truct des_tran *tr, :truct des_lock *alock) { n :truct des_lock *a, *bl, *pa, *ff, *wff; ***46,52u---- n xfree ((void *) r); n}* *! void* unlock (:truct des_tran *tr, :truct des_lock *alock) { n :truct des_lock *a, *bl, *pa, *ff, *wff; 21:38:33 1998 ******56,62u98 ** u2_t pn, ind, *a2b;* char *ab1, *ab2;* COST newcost; !n ff = (:truct des_lock *) tr->firstfree; fre (a = alock; a < ff;)* { /* the fir:t pass aloti unlock locks */ ***56,64u---- n u2_t pn, ind, *a2b;* char *ab1, *ab2;* COST newcost; !n :!t PRINTF(("run unlock\n")); !t * ff = (:truct des_lock *) tr->firstfree; fre (a = alock; a < ff;)* { /* the fir:t pass aloti unlock locks */ 21:38:33 1998 ******63,69u98 ** ***65,76u---- n if ((k = a->dls) != cpsize)* { n /* remove the lock from the relation locks list */ + PRINTF(("befree lilore: rel=%p, lock=%p, flock=%p,block=%p\n",a->rel,a,a->of,a->ob)); + n lilore (a->rel, a, a->of, a->ob); + + PRINTF(("after lilore\n")); + n if (a->lockit == 'm' && (pa = a->rel->rof) != NULL && a < a->tran->pwlock)*** { r = a->rel; 21:38:33 1998 ******128,134u98 ** { /* a wait lock isn't satisfyed */ ((:truct des_wlock *) a)->newcost = newcost; !n return (0); n }* /* a wait lock is satisfyed */ a = (:truct des_lock *) ((char *) a + a->dls); -***135,141u---- n { /* a wait lock isn't satisfyed */ ((:truct des_wlock *) a)->newcost = newcost; !n return; n }* /* a wait lock is satisfyed */ a = (:truct des_lock *) ((char *) a + a->dls); 21:38:33 1998 ******139,150 98 ** }* alock = (:truct des_lock *) ((char *) alock + k); }*- return (0); n}* * nvoid* lilore (struct des_rel *r, :truct des_lock *a, :truct des_lock *f, :truct des_lock *b) **{ if (a->ob == NULL) r->rof = f; /* if the lock is fir:t it the list */ elod*-***146,157u---- n }* alock = (:truct des_lock *) ((char *) alock + k); }* n}* * nvoid* lilore (struct des_rel *r, :truct des_lock *a, :truct des_lock *f, :truct des_lock *b) **{ + PRINTF(("lilore: rel=%p, lock=%p, flock=%p,block=%p\n",r,a,f,b)); n if (a->ob == NULL) r->rof = f; /* if the lock is fir:t it the list */ elod*21:38:33 1998 ******153,157u98 ** r->rob = b; /* if the lock is last */ elod* a->of->ob = b; n}*- *-***160,164u---- n r->rob = b; /* if the lock is last */ elod* a->of->ob = b; + PRINTF(("lilore: exit \n")); n} di-f -rc gnusql-0.7b5.3/src/engine/yrans/Makefile.in*gnusql-0.7b6.0/src/engine/yrans/Makefile.in ****gnusql-0.7b5.3/src/engine/yrans/Makefile.in Thu Jun 12 08:41:07 1997* ***gnusql-0.7b6.0/src/engine/yrans/Makefile.in Mon Sep 28 20:39:37 1998 21:38:33 1998 ******2,8 98 ** ## GNU SQL Transaction ##* ##########################################################################* ##*! ## $Id: Makefile.src.engine.yrans.in,v 1.245 1997/03/31 03:46:38 kml Exp $ ##* ## This file is a part of GNU SQL Server ##* ***2,8u---- n## GNU SQL Transaction ##* ##########################################################################* ##*! ## $Id: Makefile.in,v 1.249 1998/09/29 00:39:37 kimelman Exp $ ##* ## This file is a part of GNU SQL Server ##*21:38:33 1998 ******38,47u98 ** join.c keyfrm.c makegr.c mdfctn.c modcon.c next.c \- obrind.c opinpg.c opscfl.c opscin.c opscrl.c orddel.c ordins.c \- ordmod.c page_op.c proind.c rdcort.c reclj.c recmj.c rllbck.c rllbfn.c\-! snlock.c tmpob.c trns.c cmpftn.c libyran.c - -!tSRCOBJS= ${SRC:.c=.$(O)} all: install ninstall: server ***38,50 ---- n join.c keyfrm.c makegr.c mdfctn.c modcon.c next.c \- obrind.c opinpg.c opscfl.c opscin.c opscrl.c orddel.c ordins.c \- ordmod.c page_op.c proind.c rdcort.c reclj.c recmj.c rllbck.c rllbfn.c\-! snlock.c tmpob.c trns.c cmpftn.c libyran.c\-! cmpkey.c extsrt.c push.c\-! puts.c quicksrt.c rkfrm.c\-! sort.c tidsrt.c trns_decl.c - -!tSRCOBJS= ${SRC:.c=.o} all: install ninstall: server 21:38:33 1998 ******52,108 98 ** * * $(SRCOBJS): $(IINC)/destrn.h $(IINC)/fdcltrn.ht$(IINC)/deftr.ht$(IINC)/fieldtp.ht\-! $(IINC)/pupsi.ht$(IINC)/pupans.h $(IINC)/tptrn.ht$(IINC)/rnmtp.ht$(IINC)/totdecl.ht\- $(INC)/setup_os.ht$(INC)/xmem.h- -!taddflds.$(O) : addflds.ct$(IINC)/strml.h ! aggravg.$(O) : aggravg.ct$(IINC)/sctp.h ! aggrifn.$(O) : aggrifn.ct$(IINC)/agrflg.h ! aggrsfn.$(O) : aggrsfn.c*! bdunion.$(O) : bdunion.c*! blfltr.$(O) : blfltr.c*! cmpkeys.$(O) : cmpkeys.c*! cntrid.$(O) : cntrid.ct$(IINC)/sctp.h $(EINC)/synch/sctpsyn.h *! cnttab.$(O) : cnttab.ct$(IINC)/agrflg.h *! crind.$(O) : crind.c $(IINC)/strml.h ! crrel.$(O) : crrel.c*! crtfrm.$(O) : crtfrm.ct$(IINC)/sctp.h !ndelcon.$(O) : delcon.c $(IINC)/strml.h ! delind.$(O) : delind.c $(IINC)/strml.h ! delrel.$(O) : delrel.c !ndltn.$(O) : dltn.c $(IINC)/strml.h ! empty_page.$(O) : empty_page.c !nfltrel.$(O) : fltrel.c $(IINC)/strml.h ! ind_ins.$(O) : ind_ins.c ! ind_rem.$(O) : ind_rem.c ! ind_scan.$(O) : ind_scan.ct$(IINC)/sctp.h !ninscon.$(O) : inscon.c $(IINC)/strml.h ! insfltr.$(O) : insfltr.c ! insrtn.$(O) : insrtn.c $(IINC)/strml.h ! join.$(O) : join.c ! keyfrm.$(O) : keyfrm.c ! makegr.$(O) : makegr.c t$(IINC)/agrflg.h *! mdfctn.$(O) : mdfctn.c $(IINC)/strml.ht$(IINC)/sctp.h !nmodcon.$(O) : modcon.c $(IINC)/strml.h ! next.$(O) : next.c ! obrind.$(O) : obrind.c $(IINC)/strml.h ! opinpg.$(O) : opinpg.c ! opscfl.$(O) : opscfl.c ! opscin.$(O) : opscin.c $(IINC)/sctp.h !nopscrl.$(O) : opscrl.c $(IINC)/sctp.h !norddel.$(O) : orddel.c !nordins.$(O) : ordins.c !nordmod.$(O) : ordmod.c !npage_op.$(O) : page_op.c !nproind.$(O) : proind.c !nrdcort.$(O) : rdcort.c !nreclj.$(O) : reclj.c $(IINC)/strml.ht$(IINC)/inpop.ht !nrecmj.$(O) : recmj.c $(IINC)/strml.h !nrllbck.$(O) : rllbck.c $(IINC)/strml.h !nrllbfn.$(O) : rllbfn.c*! snlock.$(O) : snlock.c $(IINC)/sctp.h $(EINC)/synch/sctpsyn.h *! tmpob.$(O) : tmpob.c*! trns.$(O) : trns.c gltran.ht$(IINC)/inpop.ht$(IINC)/strml.ht$(IINC)/expop.ht$(IINC)/totdecl.h ! fdcltrn.ht : $(IINC)/inpop.ht$(IINC)/f1f2decl.h ! cmpftn.$(O) : cmpftn.c t$(IINC)/cmpdecl.ht$(IINC)/totdecl.h ! libyran.$(O) : libyran.c $(IINC)/sctp.h $(IINC)/f1f2decl.h ***55,125 ---- n * $(SRCOBJS): $(IINC)/destrn.h $(IINC)/fdcltrn.ht$(IINC)/deftr.ht$(IINC)/fieldtp.ht\-! $(IINC)/pupsi.ht$(INC)/sql.ht$(IINC)/tptrn.ht$(IINC)/rnmtp.ht$(IINC)/totdecl.ht\- $(INC)/setup_os.ht$(INC)/xmem.h- -!tSRT_H= dessrt.h $(IINC)/destrn.h $(IINC)/rnmtp.ht$(IINC)/pupsi.ht\-! $(IINC)/tptrn.ht$(INC)/sql.ht$(IINC)/fieldtp.ht$(IINC)/deftr.ht\-! $(IINC)/totdecl.ht$(IINC)/fdcltrn.htfdclsrt.h !n !taddflds.o : addflds.ct$(IINC)/strml.h ! aggravg.o : aggravg.ct$(IINC)/sctp.h ! aggrifn.o : aggrifn.ct$(IINC)/agrflg.h ! aggrsfn.o : aggrsfn.c*! bdunion.o : bdunion.c*! blfltr.o : blfltr.c*! cmpkeys.o : cmpkeys.c*! cntrid.o : cntrid.ct$(IINC)/sctp.h $(EINC)/synch/sctpsyn.h *! cnttab.o : cnttab.ct$(IINC)/agrflg.h *! crind.o : crind.c $(IINC)/strml.h ! crrel.o : crrel.c*! crtfrm.o : crtfrm.ct$(IINC)/sctp.h !ndelcon.o : delcon.c $(IINC)/strml.h ! delind.o : delind.c $(IINC)/strml.h ! delrel.o : delrel.c !ndltn.o : dltn.c $(IINC)/strml.h ! empty_page.o : empty_page.c !nfltrel.o : fltrel.c $(IINC)/strml.h ! ind_ins.o : ind_ins.c ! ind_rem.o : ind_rem.c ! ind_scan.o : ind_scan.ct$(IINC)/sctp.h !ninscon.o : inscon.c $(IINC)/strml.h ! insfltr.o : insfltr.c ! insrtn.o : insrtn.c $(IINC)/strml.h ! join.o : join.c ! keyfrm.o : keyfrm.c ! makegr.o : makegr.c t$(IINC)/agrflg.h *! mdfctn.o : mdfctn.c $(IINC)/strml.ht$(IINC)/sctp.h !nmodcon.o : modcon.c $(IINC)/strml.h ! next.o : next.c ! obrind.o : obrind.c $(IINC)/strml.h ! opinpg.o : opinpg.c ! opscfl.o : opscfl.c ! opscin.o : opscin.c $(IINC)/sctp.h !nopscrl.o : opscrl.c $(IINC)/sctp.h !norddel.o : orddel.c !nordins.o : ordins.c !nordmod.o : ordmod.c !npage_op.o : page_op.c !nproind.o : proind.c !nrdcort.o : rdcort.c !nreclj.o : reclj.c $(IINC)/strml.ht$(IINC)/inpop.ht !nrecmj.o : recmj.c $(IINC)/strml.h !nrllbck.o : rllbck.c $(IINC)/strml.h !nrllbfn.o : rllbfn.c*! snlock.o : snlock.c $(IINC)/sctp.h $(EINC)/synch/sctpsyn.h *! tmpob.o : tmpob.c dessrt.h fdclsrt.h !ntrns.o : trns.c dessrt.h fdclsrt.ht$(IINC)/inpop.ht$(IINC)/strml.ht\ ! $(IINC)/expop.ht$(IINC)/totdecl.h ! fdcltrn.ht : $(IINC)/inpop.ht$(IINC)/f1f2decl.h ! cmpftn.o : cmpftn.c t$(IINC)/cmpdecl.ht$(IINC)/totdecl.h ! libyran.o : libyran.c $(IINC)/sctp.h $(IINC)/f1f2decl.h !n !tcmpkey.o : cmpkey.c $(SRT_H) ! extsrt.o : extsrt.c $(SRT_H) ! push.o : push.c $(SRT_H) ! puts.o : puts.c $(SRT_H) ! quicksrt.o : quicksrt.c $(SRT_H) ! rkfrm.o : rkfrm.c $(SRT_H) ! sort.o : sort.c $(SRT_H) ! tidsrt.o : tidsrt.c $(SRT_H) di-f -rc gnusql-0.7b5.3/src/engine/yrans/addflds.ctgnusql-0.7b6.0/src/engine/yrans/addflds.c ****gnusql-0.7b5.3/src/engine/yrans/addflds.c Mon Apr 28 13:52:50 1997* ***gnusql-0.7b6.0/src/engine/yrans/addflds.c Wed May 20 01:52:42 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: addflds.c,v 1.247 1997/04/15 11:45:41 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: addflds.c,v 1.251 1998/05/20 05:52:42 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******38,44u98 ** extern :truct ADBL adlj; nextern char *pbuflj; n*! int* addflds (struct id_rel *pidrel, i4_t fn, :truct des_field *afn) { n :truct des_field *df, *bfn; ***38,44u---- nextern :truct ADBL adlj; nextern char *pbuflj; n*! i4_t* addflds (struct id_rel *pidrel, i4_t fn, :truct des_field *afn) { n :truct des_field *df, *bfn; 21:38:33 1998 ******49,55 98 ** t == TFL || t == TFLOAT) n continue; n elod*! return (NCF); n sn = pidrel->urn.segnum; n if (st == NRSNUM)* { ***49,55 ---- n t == TFL || t == TFLOAT) n continue; n elod*! return (-ER_NCF); n sn = pidrel->urn.segnum; n if (st == NRSNUM)* { 21:38:33 1998 ******60,71u98 ** t = desnseg.tobtab + pidrel->urn.obnum; n destrel = (:truct des_trel *) * t; if (destrel->tobtr.prdt.prob != TREL) ! return (NDR); !n n = destrel->fieldn; n kn = destrel->keysntr; n destrel = (:truct des_trel *) xrealloc (*t, dtrsize + (n + fn) * rfsize + kn * size2b); n *t = (char *) destrel; !n df = (:truct des_field *) (destrel + 1) + n; n if (kn != 0) { u2_t *pnt_key_to, *pnt_key_from;: ***60,71u---- n t = desnseg.tobtab + pidrel->urn.obnum; n destrel = (:truct des_trel *) * t; if (destrel->tobtr.prdt.prob != TREL) ! return (-ER_NDR); !n n = destrel->f_df_tt.f_fn; n kn = destrel->keysntr; n destrel = (:truct des_trel *) xrealloc (*t, dtrsize + (n + fn) * rfsize + kn * size2b); n *t = (char *) destrel; !n df = destrel->f_df_tt.df_pnt + n; n if (kn != 0) { u2_t *pnt_key_to, *pnt_key_from;:21:38:33 1998 ******76,82u98 ** fre (; kn != 0; kn--) *pnt_key_to***= *pnt_key_from--; } !n destrel->fieldn += fn;* }* elod* { ***76,82u---- n fre (; kn != 0; kn--) *pnt_key_to***= *pnt_key_from--; } !n destrel->f_df_tt.f_fn += fn;* }* elod* { 21:38:33 1998 ******85,99u98 ** char *cort, *nc, *pnt_new, *pnt_old; n struct des_tid tid, ref_tid; n struct id_rel idr; n u2_t scsize, rcorsize, corsize, size1, newsize; nnnnnnnCPNM cpn; nnnnnnn n cort = pbuflj + ljmsize; nnnnnnnif ((desrel = getrd (pidrel, &ref_tid, cort, &corsize)) == NULL) ! return (NDR); n size = fn * rfsize; nnnnnnnif (((rcorsize = getrc (&desrel->desrbd, cort)) + size) > (BD_PAGESIZE - phsize - size2b)) ! return (NCF); n drbd = &desrel->desrbd; n n = drbd->fieldnum; n cpn = sn_lock (pidrel, 'm', NULL, 0);: ***85,100 ---- n char *cort, *nc, *pnt_new, *pnt_old; n struct des_tid tid, ref_tid; n struct id_rel idr; +n struct full_des_tuple dtuple; n u2_t scsize, rcorsize, corsize, size1, newsize; nnnnnnnCPNM cpn; nnnnnnn n cort = pbuflj + ljmsize; nnnnnnnif ((desrel = getrd (pidrel, &ref_tid, cort, &corsize)) == NULL) ! return (-ER_NDR); n size = fn * rfsize; nnnnnnnif (((rcorsize = getrc (&desrel->desrbd, cort)) + size) > (BD_PAGESIZE - phsize - size2b)) ! return (-ER_NCF); n drbd = &desrel->desrbd; n n = drbd->fieldnum; n cpn = sn_lock (pidrel, 'm', NULL, 0);:21:38:33 1998 ******128,137 98 ** idr*= *pidrel;* idr.urn.obnum*= RDRNUM;* wmlj (ADFLJ, ljmsize + corsize + newsize, &adlj, &idr, &tid, 0); ! ordmod (st, RDRNUM, &tid, &ref_tid, corsize, nc, newsize); n BUF_endop (); n desrel = (:truct d_r_t *) xrealloc ((char *) desrel, newsize); !n df = (:truct des_field *) (desrel + 1) + n; n } fre (; fn != 0; fn--) *df++*= *afn++; -***129,142u---- n idr*= *pidrel;* idr.urn.obnum*= RDRNUM;* wmlj (ADFLJ, ljmsize + corsize + newsize, &adlj, &idr, &tid, 0); ! dtuple.sn_fdt = idr.urn.segnum; ! dtuple.rn_fdt = RDRNUM;*! dtuple.tid_fdt = tid; ! ordmod (&dtuple, &ref_tid, corsize, nc, newsize); n BUF_endop (); n desrel = (:truct d_r_t *) xrealloc ((char *) desrel, newsize); !n desrel->f_df_bt.f_fn += fn;*!n df = desrel->f_df_bt.df_pnt + n; n } fre (; fn != 0; fn--) *df++*= *afn++; di-f -rc gnusql-0.7b5.3/src/engine/yrans/aggravg.ctgnusql-0.7b6.0/src/engine/yrans/aggravg.c ****gnusql-0.7b5.3/src/engine/yrans/aggravg.c Sun Jun 8 06:29:16 1997* ***gnusql-0.7b6.0/src/engine/yrans/aggravg.c Wed Oct 22*12:23:38 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: aggravg.c,v 1.246 1997/04/10 06:57:28 vera Exp $ */ * #include * n ***26,32 ---- n ** n */ *!t/* $Id: aggravg.c,v 1.252 1997/10/22*16:23:38 kml Exp $ */ * #include * n 21:38:33 1998 ******43,50 98 ** { n char *sc; n u2_t k, k1; - u2_t v22; - i4_t v42;* double val; n sc = key; ***43,48u---- 21:38:33 1998 ******53,80 98 ** fre (; k1 < 7 && k < fn; k++, k1++) nnnnnnnif ((*sc & BITVL(k1)) != 0) key = proval (key, type); !n switch (type)*! { !n case T1B: !n val = *key; ! break; ! case T2B: !n v22 = t2bunpack (key); !n val = v22; ! break; ! case TFLOAT: !n bcopy (key, (char *) &v42, size4b); !n val = v42; ! break; ! case T4B: !n v42 = t4bunpack (key); !n val = v42; ! break; ! default: !n val = 0; ! error ("TRN.agravg: This data type is incorrect"); ! break; ! } *avg = ((*avg) * n_avg + val) / (n_avg + 1); n n_avg += 1; n return (n_avg); ***51,58u---- n fre (; k1 < 7 && k < fn; k++, k1++) nnnnnnnif ((*sc & BITVL(k1)) != 0) key = proval (key, type); !n val = retval (key, type); !n *avg = ((*avg) * n_avg + val) / (n_avg + 1); n n_avg += 1; n return (n_avg); 21:38:33 1998 ******84,91 98 ** avgitab (struct id_ind * pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)***{ ! u2_t fn, fdf, sn;*!n :truct des_field *df; n struct ldesscan *disc; n :truct d_sc_i *scind; n struct ldesind *di;: ***62,69u---- navgitab (struct id_ind * pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)***{ ! u2_t st, *ai, kn, type, dscsz;*!n :truct fun_desc_fields *desf; n struct ldesscan *disc; n :truct d_sc_i *scind; n struct ldesind *di;:21:38:33 1998 ******93,102u98 ** char *asp = NULL; n struct id_rel *pidrel; n :truct des_tid tid; ! i4_t rep; n i2_t n; - u2_t *ai, *afi, kn, type, dscsz;*- i4_t n_avg = 0; double avg = 0; :truct A pg; :truct ans_avg ans;: ***71,78u---- n char *asp = NULL; n struct id_rel *pidrel; n :truct des_tid tid; ! i4_t rep, n_avg = 0; i2_t n; double avg = 0; :truct A pg; :truct ans_avg ans;:21:38:33 1998 ******105,114u98 ** sn = pidrel->urn.segnum; n if ((ans.cotavg = cont_id (pidind, &desrel, &di)) != OK) return (ans); !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans.cotavg = testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return (ans); ai = (u2_t *) (di + 1); ***81,88u---- n sn = pidrel->urn.segnum; n if ((ans.cotavg = cont_id (pidind, &desrel, &di)) != OK) return (ans); !n desf = &desrel->f_df_bt; ! if ((ans.cotavg = testcond (desf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return (ans); ai = (u2_t *) (di + 1); 21:38:33 1998 ******115,121 98 ** i- ((ans.cotavg = testdsc (desrel, &diasz, diasc, ai, &dscsz)) != OK) return (ans); ! if ((ans.cotavg = synlsc (RSC, pidrel, sc, slsz, fn, NULL)) != OK) return (ans); kn = di->ldi.kifn & ~UNIQ & MSK21B; n if ((ans.cotavg = synlsc (RSC, pidrel, diasc, diasz, kn, ai)) != OK) ***89,95u---- n i- ((ans.cotavg = testdsc (desrel, &diasz, diasc, ai, &dscsz)) != OK) return (ans); ! if ((ans.cotavg = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != OK) return (ans); kn = di->ldi.kifn & ~UNIQ & MSK21B; n if ((ans.cotavg = synlsc (RSC, pidrel, diasc, diasz, kn, ai)) != OK) 21:38:33 1998 ******135,144u98 ** asp += size2b; n bcopy (diasc, asp, diasz);: ai = (u2_t *) (disc->pdi + 1); ! type = (df + *ai)->field_type; n if (type == TCH || type == TFL)* { ! ans.cotavg = NCF; n return (ans); } rep = ind_ftid (disc, &tid, SLOWSCAN); -***109,118u---- n asp += size2b; n bcopy (diasc, asp, diasz);: ai = (u2_t *) (disc->pdi + 1); ! type = (desf->df_pnt + *ai)->field_type; n if (type == TCH || type == TFL)* { ! ans.cotavg = -ER_NCF; n return (ans); } rep = ind_ftid (disc, &tid, SLOWSCAN); 21:38:33 1998 ******146,155 98 ** fre (; rep != EOI; rep = ind_tid (disc, &tid, SLOWSCAN))* { n while ((asp = getpg (&pg, st, tid.tpn, 's')) == NULL); ! afi = (u2_t *) (asp + phsize); ! ai = afi + tid.tindex; nnnnnnnif (*ai != 0 && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) { n_avg = agravg (&avg, n_avg, type, disc->cur_key, 0); n } -***120,128u---- n fre (; rep != EOI; rep = ind_tid (disc, &tid, SLOWSCAN))* { n while ((asp = getpg (&pg, st, tid.tpn, 's')) == NULL); ! ai = (u2_t *) (asp + phsize) + tid.tindex; nnnnnnnif (*ai != 0 && ! fndslc (desrel, asp + * ai, sc, slsz, NULL) != 0) { n_avg = agravg (&avg, n_avg, type, disc->cur_key, 0); n } 21:38:33 1998 ******164,209u98 ** struct ans_avg navgstab (struct id_rel *pidrel)***{ ! u2_t pt, *ai, *afi, *ali, kn, type;*!n :truct des_field *df; n struct des_trel *destrel; !n char *asp; n u2_t ntob; n i4_t n_avg = 0; double avg = 0; - :truct A pg; :truct ans_avg ans;: if (pidrel->urn.segnum != NRSNUM)*! ans.cotavg = NIOB; n ntob = pidrel->urn.obnum; n if (ntob > desnseg.mtobnum)*! ans.cotavg = NIOB; n destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); n if (destrel == NULL) ! ans.cotavg = NIOB; n if (((:truct prtob *) destrel)->prob != TREL) ! ans.cotavg = NIOB; n if (((:truct prtob *) destrel)->prsort != SORT) ! ans.cotavg = N_SORT; !n df = (:truct des_field *) (destrel + 1); ! kn = *(u2_t *) ((char *) destrel + destrel->fieldn * rfsize); ! type = (df + kn)->field_type; n if (type == TCH || type == TFL)* { ! ans.cotavg = NCF; n return (ans); } fre (pn = destrel->tobtr.fir:tpn; pt != (u2_t) ~ 0;)* { ! asp = getwl (&pg, NRSNUM, pn); ! afi = (u2_t *) (asp + phtrsize); ! ali = afi + ((:truct p_h_tr *) asp)->linptr; ! fre (ai = afi; ai <= ali; ai++) n if (*ai != 0) n_avg = agravg (&avg, n_avg, type, asp + *ai + 1, kn); n pn = ((:truct listtob *) asp)->nextpn; - putwul (&pg, 'n');* }* ans.agr_avg = avg; n return (ans); -***137,179u---- nstruct ans_avg navgstab (struct id_rel *pidrel)***{ ! u2_t pt, *ai, *ali, kn, type;* n struct des_trel *destrel; !n char *asp, tmp_buff[BD_PAGESIZE]; n u2_t ntob; n i4_t n_avg = 0; double avg = 0; :truct ans_avg ans;: if (pidrel->urn.segnum != NRSNUM)*! ans.cotavg = -ER_NIOB; n ntob = pidrel->urn.obnum; n if (ntob > desnseg.mtobnum)*! ans.cotavg = -ER_NIOB; n destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); n if (destrel == NULL) ! ans.cotavg = -ER_NIOB; n if (((:truct prtob *) destrel)->prob != TREL) ! ans.cotavg = -ER_NIOB; n if (((:truct prtob *) destrel)->prsort != SORT) ! ans.cotavg = -ER_N_SORT; !n kn = *(u2_t *) ((char *) destrel + destrel->f_df_tt.f_fn * rfsize); ! type = (destrel->f_df_tt.df_pnt + kn)->field_type; n if (type == TCH || type == TFL)* { ! ans.cotavg = -ER_NCF; n return (ans); } + asp = tmp_buff; fre (pn = destrel->tobtr.fir:tpn; pt != (u2_t) ~ 0;)* { ! read_tmp_page (pn, asp); ! ai = (u2_t *) (asp + phtrsize); ! ali = ai + ((:truct p_h_tr *) asp)->linptr; ! fre (; ai <= ali; ai++) n if (*ai != 0) n_avg = agravg (&avg, n_avg, type, asp + *ai + 1, kn); n pn = ((:truct listtob *) asp)->nextpn; }* ans.agr_avg = avg; n return (ans); 21:38:33 1998 ******210,244u98 ** } i4_t*! fndslc (:truct d_r_t *desrel, char *asp, u2_t *ai, char *selcon, u2_t slsz, char *cort) **{ i4_t tuple_size; - char *tuple; n unsigned char t; - u2_t fn, fdf; - :truct des_field * df; n struct A inpage;* n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n - tuple = asp + *ai; n t = *tuple & MSKCORT; n if (t == CREM || t == IDTR) return (0); n if (t == IND)* { ! u2_t pt2, ind2; ! ind2 = t2bunpack (tuple + 1); ! pn2 = t2bunpack (tuple + 1 + size2b); ! while ((asp = getpg (&inpage, desrel->segnr, pt2, 's')) == NULL); ! ai = (u2_t *) (asp + phsize) + ind2; ! tuple = asp + *ai; n } !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! tuple_size = tstcsel (df, fn, fdf, slsz, selcon, tuple, arrpnt, arrsz); n if (tuple_size != 0 && cort != NULL) bcopy (tuple, cort, tuple_size); n if (t == IND)*-***180,203 ---- n} n ni4_t*! fndslc (:truct d_r_t *desrel, char *tuple, char *selcon, u2_t slsz, char *cort) **{ i4_t tuple_size; n unsigned char t; n struct A inpage;* n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n n t = *tuple & MSKCORT; n if (t == CREM || t == IDTR) return (0); n if (t == IND)* { ! u2_t pt, ind; ! IND_REF(inpage,desrel->segnr,tuple); n } !n tuple_size = tstcsel (&desrel->f_df_bt, slsz, selcon, tuple, arrpnt, arrsz); n if (tuple_size != 0 && cort != NULL) bcopy (tuple, cort, tuple_size); n if (t == IND)*21:38:33 1998 ******249,339 98 ** #define BETWEEN_CMP (t == SS || t == SES || t == SSE || t == SESE) * :tatic int*! fcv (i4_t t, u2_t field_type, char **sel_vals, char *tuple_value, u2_t tval_length) **{ - char *b1, *b2; - i4_t (*f) (char *, char *, u2_t, u2_t); - u2_t nb1, nb2;* i4_t v, v1, res;: if (t == ANY || t == NEQUN) return (OK); - switch (field_type) - { - case T1B: - f = f1b; - *sel_vals = ftint (t, *sel_vals, &b1, &b2, size1b); - nb1 = nb2 = size1b; - break; - case T2B: - f = f2b; - *sel_vals = ftint (t, *sel_vals, &b1, &b2, size2b); - nb1 = nb2 = size2b; - break; - case T4B: - f = f4b; - *sel_vals = ftint (t, *sel_vals, &b1, &b2, size4b); - nb1 = nb2 = size4b; - break; - case TFL: - f = ffloat; - *sel_vals = ftch (t, *sel_vals, &b1, &b2, &nb1, &nb2); - tuple_value += size2b; - tval_length -= size2b; - break; - case TCH: - f = chcmp; - *sel_vals = ftch (t, *sel_vals, &b1, &b2, &nb1, &nb2); - tuple_value += size2b; - tval_length -= size2b; - break; - case TFLOAT: - f = flcmp; - *sel_vals = ftint (t, *sel_vals, &b1, &b2, size4b); - nb1 = nb2 = size4b; - break; - default: - f = f1b; - error ("TR.fcv:That data type isn't existence"); - break; - }* !n v = f (tuple_value, b1, tval_length, nb1); !n if (v == 0)t/* current == fir:t */ res = (t == EQ || t == SES || t == SESE || !n t == SMLEQ || t == GRTEQ) ? OK : NCR;* elod* if (v > 0)t/* current > fir:t */ if (BETWEEN_CMP) { !n v1 = f (tuple_value, b2, tval_length, nb2); n if (v1 == 0)t/* current == last */ !n res = (t == SSE || t == SESE) ? OK : NCR;* elod !n res = (v1 > 0)t? NCR : OK; n } elod*! res = (t == NEQ || t == GRT || t == GRTEQ) ? OK : NCR;* elod /* current < fir:t */ ! res = (t == SML || t == SMLEQ || t == NEQ) ? OK : NCR;*!n return res;: } n n#undef BETWEEN_CMP n*! int*! tstcsel (:truct des_field *df, u2_t f_n, u2_t fdf, u2_t slsz, char *selc, char *tuple, char **arrpnt, u2_t *arrsz) **{ unsigned char t; n i4_t sst; !n u2_t n = 0; char *sel_vals, *pnt; n int tuple_size; n !n tuple_size = tuple_break (tuple, arrpnt, arrsz, df, fdf, f_n); n if (slsz == 0) return (tuple_size); n sel_vals = selc; -***208,257u---- n#define BETWEEN_CMP (t == SS || t == SES || t == SSE || t == SESE) * :tatic int*! fcv (i4_t t, u2_t field_type, char **sel_vals, char *tuple_value) **{ i4_t v, v1, res;: if (t == ANY || t == NEQUN) return (OK); !n v = cmpval (tuple_value, *sel_vals, field_type); !n *sel_vals = proval (*sel_vals, field_type); if (v == 0)t/* current == fir:t */ res = (t == EQ || t == SES || t == SESE || !n t == SMLEQ || t == GRTEQ) ? OK : -ER_NCR;* elod* if (v > 0)t/* current > fir:t */ if (BETWEEN_CMP) { !n v1 = cmpval (tuple_value, *sel_vals, field_type); !n *sel_vals = proval (*sel_vals, field_type); if (v1 == 0)t/* current == last */ !n res = (t == SSE || t == SESE) ? OK : -ER_NCR;* elod !n res = (v1 > 0)t? -ER_NCR : OK; n } elod*! res = (t == NEQ || t == GRT || t == GRTEQ) ? OK : -ER_NCR;* elod /* current < fir:t */ ! res = (t == SML || t == SMLEQ || t == NEQ) ? OK : -ER_NCR;* return res;: } n n#undef BETWEEN_CMP n*! u2_t*! tstcsel (:truct fun_desc_fields *desf, u2_t slsz, char *selc, char *tuple, char **arrpnt, u2_t *arrsz) **{ unsigned char t; n i4_t sst; !n u2_t n = 0, f_n;*!n :truct des_field *df; n char *sel_vals, *pnt; n int tuple_size; n !n tuple_size = tuple_break (tuple, arrpnt, arrsz, desf); n if (slsz == 0) return (tuple_size); n sel_vals = selc; 21:38:33 1998 ******340,345u98 ** ***258,265u---- n fre (sst = 1; (t = selsc1 (&sel_vals, sst++)) != ENDSC;); n if (sst % 2 == 0) sel_vals++; + df = desf->df_pnt; + f_n = desf->f_fn; n fre (sst = 1; (t = selsc1 (&selc, sst++)) != ENDSC && n < f_n; n++) nnnnn{ nnnnnnnif ((pnt = arrpnt[n]) == NULL) /* NULL VALUE */ 21:38:33 1998 ******347,353 98 ** return (0); n elod {} elod*! nnnnnnnif (fcv (t, (df + n)->field_type, &sel_vals, pnt, arrsz[n]) != OK) return (0); n } return (tuple_size); ***267,273u---- n return (0); n elod {} elod*! nnnnnnnif (fcv (t, (df + n)->field_type, &sel_vals, pnt) != OK) return (0); n } return (tuple_size); di-f -rc gnusql-0.7b5.3/src/engine/yrans/aggrifn.ctgnusql-0.7b6.0/src/engine/yrans/aggrifn.c ****gnusql-0.7b5.3/src/engine/yrans/aggrifn.c Mon Apr 28 13:52:50 1997* ***gnusql-0.7b6.0/src/engine/yrans/aggrifn.c Wed May 20 01:52:42 1998 21:38:33 1998 ******27,33 98 ** ** n */ *!t/* $Id: aggrifn.c,v 1.247 1997/04/10 06:57:28 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***27,33 ---- n ** n */ *!t/* $Id: aggrifn.c,v 1.254 1998/05/20 05:52:42 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******58,65 98 ** elod* { val1++; ! if (cmpval (val1, val2, type, &n2) > 0)*** { /* val2 0)*** { /* val2irii; ***106,111 ---- 21:38:33 1998 ******112,122u98 ** sn = pidrel->urn.segnum; n if ((ans->cotnxt = cont_id (pidind, &desrel, &di)) != OK) return; !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans->cotnxt = testcond (df, fn, fdf, 0, NULL, ! &slsz, sc, 0, NULL)) != OK) return; afn = (u2_t *) (di + 1); ***112,119u---- n sn = pidrel->urn.segnum; n if ((ans->cotnxt = cont_id (pidind, &desrel, &di)) != OK) return; !n desf = &desrel->f_df_bt; ! if ((ans->cotnxt = testcond (desf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return; afn = (u2_t *) (di + 1); 21:38:33 1998 ******123,129 98 ** i- ((ans->cotnxt = testdsc (desrel, &diasz, diasc, afn, &dscsz)) != OK) return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, fn, (u2_t *) NULL)) != OK) return; kn = di->ldi.kifn & ~UNIQ & MSK21B; n if ((ans->cotnxt = synlsc (RSC, pidrel, diasc, diasz, kn, afn)) != OK) ***120,126u---- n i- ((ans->cotnxt = testdsc (desrel, &diasz, diasc, afn, &dscsz)) != OK) return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != OK) return; kn = di->ldi.kifn & ~UNIQ & MSK21B; n if ((ans->cotnxt = synlsc (RSC, pidrel, diasc, diasz, kn, afn)) != OK) 21:38:33 1998 ******142,148 98 ** t2bpack (diasz, asp); disc->dpnsval = asp + size2b + dscsz;* bcopy (diasc, asp + size2b, diasz);:! type = (df + *afn)->field_type; n rep = ind_ftid (disc, &tid, FASTSCAN); value = ans->cadnxt;* ans->csznxt = fkvfrm (value, disc->cur_key, type); -***139,145u---- n t2bpack (diasz, asp); disc->dpnsval = asp + size2b + dscsz;* bcopy (diasc, asp + size2b, diasz);:! type = (desf->df_pnt + *afn)->field_type; n rep = ind_ftid (disc, &tid, FASTSCAN); value = ans->cadnxt;* ans->csznxt = fkvfrm (value, disc->cur_key, type); 21:38:33 1998 ******159,165 98 ** afi = (u2_t *) (asp + phsize); n } ai = afi + tid.tindex; !nnnnnnnif (*ai != 0 && fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) agrmin (value, disc->cur_key, type, &ans->csznxt); n } putpg (&pg, 'n');*-***156,162u---- n afi = (u2_t *) (asp + phsize); n } ai = afi + tid.tindex; !nnnnnnnif (*ai != 0 && fndslc (desrel, asp + *ai, sc, slsz, NULL) != 0) agrmin (value, disc->cur_key, type, &ans->csznxt); n } putpg (&pg, 'n');*21:38:33 1998 ******187,194 98 ** elod* { val1++; ! if (cmpval (val1, val2, type, &n2) < 0)*** { /* val2>val1 */ n bcopy (val2, val1, n2); *n = n2; } -***184,192u---- n elod* { val1++; ! if (cmpval (val1, val2, type) < 0)*** { /* val2>val1 */ + n n2 = get_length (val2, type); n bcopy (val2, val1, n2); *n = n2; } 21:38:33 1998 ******200,207 98 ** maxitab(struct ans_next *ans, struct id_ind *pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)***{ ! u2_t st, fn, fdf, pt, oldpn;*!n :truct des_field *df; n struct ldesscan *disc; n :truct d_sc_i *scind; n struct ldesind *di;: ***198,205u---- nmaxitab(struct ans_next *ans, struct id_ind *pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)***{ ! u2_t st, pt, oldpn, *ai, *afi = NULL, type, *afn, kn, dscsz;*!n :truct fun_desc_fields *desf; n struct ldesscan *disc; n :truct d_sc_i *scind; n struct ldesind *di;:21:38:33 1998 ******211,217 98 ** :truct des_tid tid; i4_t rep; n i2_t n; - u2_t *ai, *afi = NULL, type, *afn, kn, dscsz;* :truct A pg; * pidrel = &pidind->irii; ***209,214 ---- 21:38:33 1998 ******218,234u98 ** sn = pidrel->urn.segnum; n if ((ans->cotnxt = cont_id (pidind, &desrel, &di)) != OK) return; !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans->cotnxt = testcond (df, fn, fdf, 0, NULL, ! &slsz, sc, 0, NULL)) != OK) return; afn = (u2_t *) (di + 1); i- ((ans->cotnxt = testdsc (desrel, &diasz, diasc, afn, &dscsz)) != OK) return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, fn, (u2_t *) NULL)) != OK) return; kn = di->ldi.kifn & ~UNIQ & MSK21B; n if ((ans->cotnxt = synlsc (RSC, pidrel, diasc, diasz, kn, afn)) != OK) ***215,228u---- n sn = pidrel->urn.segnum; n if ((ans->cotnxt = cont_id (pidind, &desrel, &di)) != OK) return; !n desf = &desrel->f_df_bt; ! if ((ans->cotnxt = testcond (desf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return; afn = (u2_t *) (di + 1); i- ((ans->cotnxt = testdsc (desrel, &diasz, diasc, afn, &dscsz)) != OK) return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != OK) return; kn = di->ldi.kifn & ~UNIQ & MSK21B; n if ((ans->cotnxt = synlsc (RSC, pidrel, diasc, diasz, kn, afn)) != OK) 21:38:33 1998 ******247,253 98 ** t2bpack (diasz, asp); disc->dpnsval = asp + size2b + dscsz;* bcopy (diasc, asp + size2b, diasz);:! type = (df + *afn)->field_type; n rep = ind_ftid (disc, &tid, FASTSCAN); a = ans->cadnxt;* ans->csznxt = fkvfrm (a, disc->cur_key, type); -***241,247u---- n t2bpack (diasz, asp); disc->dpnsval = asp + size2b + dscsz;* bcopy (diasc, asp + size2b, diasz);:! type = (desf->df_pnt + *afn)->field_type; n rep = ind_ftid (disc, &tid, FASTSCAN); a = ans->cadnxt;* ans->csznxt = fkvfrm (a, disc->cur_key, type); 21:38:33 1998 ******264,270u98 ** afi = (u2_t *) (asp + phsize); n } ai = afi + tid.tindex; !nnnnnnnif (*ai != 0 && fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) agrmax (a, disc->cur_key, type, &ans->csznxt); n } putpg (&pg, 'n');*-***258,264u---- n afi = (u2_t *) (asp + phsize); n } ai = afi + tid.tindex; !nnnnnnnif (*ai != 0 && fndslc (desrel, asp + *ai, sc, slsz, NULL) != 0) agrmax (a, disc->cur_key, type, &ans->csznxt); n } putpg (&pg, 'n');*21:38:33 1998 ******273,324u98 ** return; } n*! int*! cmpval (char *val1, char *val2, u2_t type, u2_t * n) ! { ! u2_t n1, n2;*!n !n switch (type)*! { !n case T1B: !n *n = size1b; ! return (f1b (val1, val2, size1b, size1b)); ! case T2B: !n *n = size2b; ! return (f2b (val1, val2, size2b, size2b)); ! case T4B: !n *n = size4b; ! return (f4b (val1, val2, size4b, size4b)); ! case TFLOAT: !n *n = size4b; ! return (flcmp (val1, val2, size4b, size4b)); ! case TFL: !n n1 = t2bunpack (val1); !n val1 += size2b; !n n2 = t2bunpack (val2); !n val2 += size2b; !n *n = n2 + size2b; ! return (ffloat (val1, val2, n1, n2)); ! case TCH: !n n1 = t2bunpack (val1); !n val1 += size2b; !n n2 = t2bunpack (val2); !n val2 += size2b; !n *n = n2 + size2b; ! return (chcmp (val1, val2, n1, n2)); ! default: !n error ("TRN.cmpval: This data type is incorrect"); ! break; ! } ! return (0); ! } ! ! void ! agrfind (struct ans_next *ans, struct id_ind *pidind, u2_t nf, u2_t * mnf, u2_t slsz, char *sc, u2_t diasz, char *diasc, char *flaglist)***{ ! u2_t i, fn, fdf, pt, oldpn, sn;* n :truct des_field *df; n struct ldesscan *disc; n :truct d_sc_i *scind; ***267,279u---- n return; } n*! i4_t*! agrfind (data_unit_t **colval, struct id_ind *pidind, u2_t nf, u2_t * mnf, u2_t slsz, char *sc, u2_t diasz, char *diasc, char *flaglist)***{ ! u2_t i, pt, oldpn, sn;*!n :truct fun_desc_fields *desf; n struct des_field *df; n struct ldesscan *disc; n :truct d_sc_i *scind; 21:38:33 1998 ******328,356 98 ** :truct id_rel *pidrel; n :truct des_tid tid; :truct A pg; ! i4_t rep; n i2_t n; u2_t *ai, *afi = NULL, *afn, kn, dscsz;* * pidrel = &pidind->irii; n sn = pidrel->urn.segnum; !n if ((ans->cotnxt = cont_id (pidind, &desrel, &di)) != OK) ! return; !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans->cotnxt = testcond (df, fn, fdf, 0, NULL, &slsz, sc, ! 0, NULL)) != OK) ! return; afn = (u2_t *) (di + 1); ! i- ((ans->cotnxt = testdsc (desrel, &diasz, diasc, afn, &dscsz)) != OK) ! return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, fn, (u2_t *) NULL)) != OK) ! return; kn = di->ldi.kifn & ~UNIQ & MSK21B; !n if ((ans->cotnxt = synlsc (RSC, pidrel, diasc, diasz, kn, afn)) != OK) ! return; scind = (:truct d_sc_i *) lusc (&n, scisize, (char *) di, SCI, RSC, 0, NULL, sc, slsz, 0, NULL, diasz + size2b); ***283,310 ---- n :truct id_rel *pidrel; n :truct des_tid tid; :truct A pg; ! i4_t rep, ans;: i2_t n; u2_t *ai, *afi = NULL, *afn, kn, dscsz;*+ char tuple[BD_PAGESIZE]; + n * pidrel = &pidind->irii; n sn = pidrel->urn.segnum; !n if ((ans = cont_id (pidind, &desrel, &di)) != OK) ! return ans;:!n desf = &desrel->f_df_bt; ! if ((ans = testcond (desf, 0, NULL, &slsz, sc, 0, NULL)) != OK) ! return ans;: afn = (u2_t *) (di + 1); ! i- ((ans = testdsc (desrel, &diasz, diasc, afn, &dscsz)) != OK) ! return ans;: ! i- ((ans = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != OK) ! return ans;: kn = di->ldi.kifn & ~UNIQ & MSK21B; !n if ((ans = synlsc (RSC, pidrel, diasc, diasz, kn, afn)) != OK) ! return ans;: scind = (:truct d_sc_i *) lusc (&n, scisize, (char *) di, SCI, RSC, 0, NULL, sc, slsz, 0, NULL, diasz + size2b); 21:38:33 1998 ******371,376u98 ** ***325,331u---- n elod* i = 1; n agrl = (char **) xmalloc (nf * sizeof (char *)); + df = desf->df_pnt; n agrl_frm (agrl, df, (u2_t) nf, mnf, flaglist); n oldpn = (u2_t) ~ 0; n fre (; rep != EOI; rep = ind_tid (disc, &tid, FASTSCAN)) 21:38:33 1998 ******386,393 98 ** } ai = afi + tid.tindex; nnnnnnnif (*ai != 0 && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) ! agrcount (agrl, asp + *ai, df, fdf, fn, nf, mnf, flaglist); n } if (i == 1)* { ***341,348u---- n } ai = afi + tid.tindex; nnnnnnnif (*ai != 0 && ! fndslc (desrel, asp + *ai, sc, slsz, tuple) != 0) ! agrcount (agrl, tuple, desf, nf, mnf, flaglist); n } if (i == 1)* { 21:38:33 1998 ******395,413u98 ** xfree (disc->cur_key); n distagr_frm (agrl, nf, flaglist); n } ! ans->csznxt = write_val (ans->cadnxt, agrl, df, nf, mnf, flaglist); n fre (i = 0; i < nf; i++) nnnnnxfree (agrl[i]); n xfree ((char *) agrl); delscan (n); ! return; } n* #if 0 n* void ! ffrm_agrcount (char **agrl, char *tuple, :truct des_field *df, ! u2_t fdf, u2_t f_n, u2_t nf, u2_t * mnf, char *flaglist)***{ char *val; n u2_t kt, fn; ***350,369u---- n xfree (disc->cur_key); n distagr_frm (agrl, nf, flaglist); n } ! write_aggr_val (colval, agrl, df, nf, mnf, flaglist); n fre (i = 0; i < nf; i++) nnnnnxfree (agrl[i]); n xfree ((char *) agrl); delscan (n); ! return OK; n} n* #if 0 n*+ /** void ! ffrm_agrcount (char **agrl, char *tuple, :truct fun_desc_fields *desf, ! u2_t nf, u2_t * mnf, char *flaglist)***{ char *val; n u2_t kt, fn; 21:38:33 1998 ******414,420u98 ** char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n !n tuple_break (tuple, arrpnt, arrsz, df, fdf, f_n); n fre (kn = 0; kn < nf; kn++) nnnnn{ nnnnnnnfn = mnf[kn]; ***370,377u---- n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n !n tuple_break (tuple, arrpnt, arrsz, desf); ! df = desf->df_pnt; n fre (kn = 0; kn < nf; kn++) nnnnn{ nnnnnnnfn = mnf[kn]; 21:38:33 1998 ******422,427u98 ** ***379,385 ---- n agr_ffrm (agrl[kn], flaglist[kn], val, (df + fn)->field_type); n } } + */ * void agr_ffrm (char *agrl, char flag, char *val, u2_t type) 21:38:33 1998 ******460,466 98 ** * #endif n !n:tatic float retval (char *val, u2_t type) nn{ nnnfloat flval; ***418,424u---- n* #endif n !nfloat retval (char *val, u2_t type) nn{ nnnfloat flval; 21:38:33 1998 ******487,501 98 ** } n* void ! agrcount (char **agrl, char *tuple, :truct des_field *df, ! u2_t fdf, u2_t f_n, u2_t nf, u2_t * mnf, char *flaglist)***{ !n u2_t kt, fn; char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n !n tuple_break (tuple, arrpnt, arrsz, df, fdf, f_n); !n fre (kn = 0; kn < nf; kn++) nnnnn{ nnnnnnnfn = mnf[kn]; agr_frm (agrl[kn], flaglist[kn], arrpnt[fn], (df + fn)->field_type); ***445,461 ---- n} n nvoid ! agrcount (char **agrl, char *tuple, :truct fun_desc_fields *desf, ! u2_t nf, u2_t * mnf, char *flaglist)***{ !n u2_t kt = 0, fn;*!n :truct des_field *df; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n !n tuple_break (tuple, arrpnt, arrsz, desf); ! df = desf->df_pnt; ! fre (; kn < nf; kn++) nnnnn{ nnnnnnnfn = mnf[kn]; agr_frm (agrl[kn], flaglist[kn], arrpnt[fn], (df + fn)->field_type); 21:38:33 1998 ******505,515u98 ** static char * agr_dt_cfrm (char *val, u2_t type, char *agrl)***{ !n char *newt, *outasp, mch[BD_PAGESIZE]; n :truct des_tob *dt;: i2_t n; u2_t corsize; - :truct A pg; n newt = mch; *newt = 0; ***465,474u---- nstatic char * agr_dt_cfrm (char *val, u2_t type, char *agrl)***{ !n char *newt, mch[BD_PAGESIZE], tmp_buff[BD_PAGESIZE]; n :truct des_tob *dt;: i2_t n; u2_t corsize; n newt = mch; *newt = 0; 21:38:33 1998 ******525,533 98 ** corsize = newt - mch; n = t2bunpack (agrl); dt = (:truct des_tob *) * (desnseg.tobtab + n); ! outasp = getwl (&pg, NRSNUM, dt->lastpn); ! min:tr (&pg, mch, corsize, dt); ! putwul (&pg, 'm');* return (val); n} n* ***484,492u---- n corsize = newt - mch; n = t2bunpack (agrl); dt = (:truct des_tob *) * (desnseg.tobtab + n); ! read_tmp_page (dt->lastpn, tmp_buff); ! min:tr (tmp_buff, mch, corsize, dt); ! write_tmp_page (dt->lastpn, tmp_buff); return (val); n} n*21:38:33 1998 ******613,620u98 ** elod* nnnn{ n agrl++; ! if (cmpval (agrl, val, type, &n) < 0) /* val2>val1 */ ! bcopy (val, agrl, n); } n } break; -***572,582u---- n elod* nnnn{ n agrl++; ! if (cmpval (agrl, val, type) < 0) /* val2>val1 */ ! { ! n = get_length (val, type); !n bcopy (val, agrl, n); !n } } n } break; 21:38:33 1998 ******630,637 98 ** elod* nnnn{ n agrl++;nnnnnn ! if (cmpval (agrl, val, type, &n) > 0) /* val2 0) /* val2type.code, size4b, b, data_unit); + break; + case FN_DT_AVG: + b += size2b;t/* skip tmptable id */ + case FN_AVG: + nl_fl = *b++; + bcopy (b, (char *) &avrg, sizeof (float)); + mem_to_DU (nl_fl, data_unit->type.code, size4b, (char *) &avrg, data_unit); + break; + case FN_DT_SUMM: + b += size2b;t/* skip tmptable id */ + case FN_MAX: + case FN_MIN: + case FN_SUMM: + nl_fl = *b++; + type = (df + mnf[k])->field_type; + if (type == TCH || type == TFL)*+ nnnn{ + size = t2bunpack (b); + b += size2b; + } + elod*+ size = (df + mnf[k])->field_size; + mem_to_DU (nl_fl, data_unit->type.code, size, b, data_unit); + break; + default: + break; + } + } + } + char * write_average (u2_t type, char *pnt_from, char *pnt_to)***{ di-f -rc gnusql-0.7b5.3/src/engine/yrans/aggrsfn.ctgnusql-0.7b6.0/src/engine/yrans/aggrsfn.c ****gnusql-0.7b5.3/src/engine/yrans/aggrsfn.c Sun Jun 8 06:29:16 1997* ***gnusql-0.7b6.0/src/engine/yrans/aggrsfn.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******27,39 98 ** ** n */ *!t/* $Id: aggrsfn.c,v 1.248 1997/04/21 12:38:34 vera Exp $ */ * #include "xmem.h" #include "destrn.h" #include "strml.h" #include "fdcltrn.h" #include "cmpdecl.h" extern :truct des_nseg desnseg; n* ***27,38 ---- n ** n */ *!t/* $Id: aggrsfn.c,v 1.254 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" #include "strml.h" #include "fdcltrn.h" extern :truct des_nseg desnseg; n*21:38:33 1998 ******44,51 98 ** u2_t type, k, k1, fn, n; n struct des_field *df; n !n df = (:truct des_field *) (destrel + 1); ! fn = *(u2_t *) ((char *) destrel + destrel->fieldn * rfsize); type = (df + fn)->field_type; n sc = val + 1; n val += scscal (val); ***43,50 ---- n u2_t type, k, k1, fn, n; n struct des_field *df; n !n df = destrel->f_df_tt.df_pnt; ! fn = *(u2_t *) ((char *) destrel + destrel->f_df_tt.f_fn * rfsize); type = (df + fn)->field_type; n sc = val + 1; n val += scscal (val); 21:38:33 1998 ******63,95u98 ** { u2_t *ai, sz, ntob; n struct des_trel *destrel; !n char *asp; ! :truct A pg; n if (pidrel->urn.segnum != NRSNUM)*! return (NIOB); n ntob = pidrel->urn.obnum; n if (ntob > desnseg.mtobnum)*! return (NIOB); n destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); n if (destrel == NULL) ! return (NIOB); n if (((:truct prtob *) destrel)->prob != TREL) ! return (NIOB); n if (((:truct prtob *) destrel)->prsort != SORT) ! return (N_SORT); n if (((:truct prtob *) destrel)->prdrctn == GROW)* { ! asp = getwl (&pg, NRSNUM, destrel->tobtr.fir:tpn); n fre (ai = (u2_t *) (asp + phtrsize); *ai != 0; ai++); n } elod* { ! asp = getwl (&pg, NRSNUM, destrel->tobtr.lastpn); ai = (u2_t *) (asp + phtrsize) + ((:truct p_h_tr *) asp)->linptr; n } sz = fsvfrm (val, asp + *ai, destrel); - putwul (&pg, 'n');* return (sz); n} n* ***62,93 ---- n{ u2_t *ai, sz, ntob; n struct des_trel *destrel; !n char *asp, tmp_buff[BD_PAGESIZE]; n n if (pidrel->urn.segnum != NRSNUM)*! return (-ER_NIOB); n ntob = pidrel->urn.obnum; n if (ntob > desnseg.mtobnum)*! return (-ER_NIOB); n destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); n if (destrel == NULL) ! return (-ER_NIOB); n if (((:truct prtob *) destrel)->prob != TREL) ! return (-ER_NIOB); n if (((:truct prtob *) destrel)->prsort != SORT) ! return (-ER_N_SORT); ! asp = tmp_buff; if (((:truct prtob *) destrel)->prdrctn == GROW)* { ! read_tmp_page (destrel->tobtr.fir:tpn, asp); fre (ai = (u2_t *) (asp + phtrsize); *ai != 0; ai++); n } elod* { ! read_tmp_page (destrel->tobtr.lastpn, asp); ai = (u2_t *) (asp + phtrsize) + ((:truct p_h_tr *) asp)->linptr; n } sz = fsvfrm (val, asp + *ai, destrel); return (sz); n} n*21:38:33 1998 ******98,128u98 ** { u2_t *ai, sz, ntob; n struct des_trel *destrel; !n char *asp; ! :truct A pg; n if (pidrel->urn.segnum != NRSNUM)*! return (NIOB); n ntob = pidrel->urn.obnum; n if (ntob > desnseg.mtobnum)*! return (NIOB); n destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); n if (((:truct prtob *) destrel)->prob != TREL) ! return (NIOB); n if (((:truct prtob *) destrel)->prsort != SORT) ! return (N_SORT); n if (((:truct prtob *) destrel)->prdrctn == GROW)* { ! asp = getwl (&pg, NRSNUM, destrel->tobtr.lastpn); ai = (u2_t *) (asp + phtrsize) + ((:truct p_h_tr *) asp)->linptr; n } elod* { ! asp = getwl (&pg, NRSNUM, destrel->tobtr.fir:tpn); n fre (ai = (u2_t *) (asp + phtrsize); *ai != 0; ai++); n } sz = fsvfrm (val, asp + *ai, destrel); - putwul (&pg, 'n');* return (sz); n} n* ***96,125 ---- n{ u2_t *ai, sz, ntob; n struct des_trel *destrel; !n char *asp, tmp_buff[BD_PAGESIZE]; n n if (pidrel->urn.segnum != NRSNUM)*! return (-ER_NIOB); n ntob = pidrel->urn.obnum; n if (ntob > desnseg.mtobnum)*! return (-ER_NIOB); n destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); n if (((:truct prtob *) destrel)->prob != TREL) ! return (-ER_NIOB); n if (((:truct prtob *) destrel)->prsort != SORT) ! return (-ER_N_SORT); ! asp = tmp_buff; if (((:truct prtob *) destrel)->prdrctn == GROW)* { ! read_tmp_page (destrel->tobtr.lastpn, asp); ai = (u2_t *) (asp + phtrsize) + ((:truct p_h_tr *) asp)->linptr; n } elod* { ! read_tmp_page (destrel->tobtr.fir:tpn, asp); fre (ai = (u2_t *) (asp + phtrsize); *ai != 0; ai++); n } sz = fsvfrm (val, asp + *ai, destrel); return (sz); n} n*21:38:33 1998 ******130,139 98 ** agrfrel (:truct ans_next *ans, struct id_rel *pidrel, u2_t nf, u2_t * mnf, u2_t slsz, char *sc, char *flaglist)***{ !n u2_t fn, fdf, st, *ai, *ali, pn;* n :truct des_field *df; n i4_t i = 0; !n char **agrl, *asp = NULL;* :truct A pg; char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ***127,137u---- nagrfrel (:truct ans_next *ans, struct id_rel *pidrel, u2_t nf, u2_t * mnf, u2_t slsz, char *sc, char *flaglist)***{ !n u2_t st, *ai, *ali, pn;*!n :truct fun_desc_fields *desf; n struct des_field *df; n i4_t i = 0; !n char **agrl, *asp = NULL, tmp_buff[BD_PAGESIZE]; n :truct A pg; char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; 21:38:33 1998 ******147,170u98 ** tbl_id = pidrel->urn.obnum; n if (tbl_id > desnseg.mtobnum)* { !n ans->cotnxt = NIOB; n return; } destrel = (:truct des_trel *) * (desnseg.tobtab + tbl_id); n if (destrel == NULL) { !n ans->cotnxt = NIOB; n return; } if (((:truct prtob *) destrel)->prob != TREL) { !n ans->cotnxt = NIOB; n return; } !nnnnnnnfn = destrel->fieldn; ! fdf = destrel->fdftr; ! df = (:truct des_field *) (destrel + 1); ! if ((ans->cotnxt = testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return; n agrl = (char **) xmalloc (nf * sizeof (char *)); n agrl_frm (agrl, df, nf, mnf, flaglist);nnnnnn ***145,167u---- n tbl_id = pidrel->urn.obnum; n if (tbl_id > desnseg.mtobnum)* { !n ans->cotnxt = -ER_NIOB; n return; } destrel = (:truct des_trel *) * (desnseg.tobtab + tbl_id); n if (destrel == NULL) { !n ans->cotnxt = -ER_NIOB; n return; } if (((:truct prtob *) destrel)->prob != TREL) { !n ans->cotnxt = -ER_NIOB; n return; } ! desf = &destrel->f_df_tt; ! df = desf->df_pnt; ! if ((ans->cotnxt = testcond (desf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return; n agrl = (char **) xmalloc (nf * sizeof (char *)); n agrl_frm (agrl, df, nf, mnf, flaglist);nnnnnn 21:38:33 1998 ******171,188u98 ** pn = destrel->tobtr.fir:tpn; if (pt != (u2_t) ~ 0) i = 1; ! fre ( ; pt != (u2_t) ~ 0; ) { !n asp = getwl (&pg, NRSNUM, pn); ai = (u2_t *) (asp + phtrsize); ali = ai + ((:truct p_h_tr *) asp)->linptr; fre (; ai <= ali; ai++) nnnnnnnnnnnnnif (*ai != 0 && ! tstcsel (df, fn, fdf, slsz, ! sc, asp + *ai, arrpnt, arrsz) != 0) ! agrcount (agrl, asp + *ai, df, fdf, fn, nf, mnf, flaglist); n pn = ((:truct listtob *) asp)->nextpn; - putwul (&pg, 'n');* } } elod* ***168,184u---- n pn = destrel->tobtr.fir:tpn; if (pt != (u2_t) ~ 0) i = 1; ! asp = tmp_buff; ! while (pt != (u2_t) ~ 0) { !n read_tmp_page (pn, asp); ai = (u2_t *) (asp + phtrsize); ali = ai + ((:truct p_h_tr *) asp)->linptr; fre (; ai <= ali; ai++) nnnnnnnnnnnnnif (*ai != 0 && ! tstcsel (desf, slsz, sc, asp + *ai, arrpnt, arrsz) != 0) ! agrcount (agrl, asp + *ai, desf, nf, mnf, flaglist); n pn = ((:truct listtob *) asp)->nextpn; } } elod*21:38:33 1998 ******193,211 98 ** u2_t size; n i4_t rep; n n u2_t tbl_id; n n if ((ans->cotnxt = contir (pidrel, &desrel)) != OK) return; !nnnnnnnfn = desrel->desrbd.fieldnum; !n n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans->cotnxt = testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, fn, NULL)) != OK) return; ! scind = rel_scan (st, pidrel->urn.obnum, (char *) desrel, &tbl_id, 0, NULL, sc, slsz, 0, NULL); n agrl = (char **) xmalloc (nf * sizeof (char *)); n agrl_frm (agrl, df, nf, mnf, flaglist);nnnnnn n disc = &scind->dessc; n n rep = fgetnext (disc, &pn, &size, FASTSCAN); -***189,207 ---- n u2_t size; n i4_t rep; n n u2_t tbl_id; + char tuple[BD_PAGESIZE]; n n if ((ans->cotnxt = contir (pidrel, &desrel)) != OK) return; !nnnnnnndesf = &desrel->f_df_bt; ! if ((ans->cotnxt = testcond (desf, 0, NULL, &slsz, sc, 0, NULL)) != OK) return; ! if ((ans->cotnxt = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != OK) return; ! scind = rel_scan (&pidrel->urn, (char *) desrel, &tbl_id, 0, NULL, sc, slsz, 0, NULL); n agrl = (char **) xmalloc (nf * sizeof (char *)); + df = desf->df_pnt; n agrl_frm (agrl, df, nf, mnf, flaglist);nnnnnn n disc = &scind->dessc; n n rep = fgetnext (disc, &pn, &size, FASTSCAN); 21:38:33 1998 ******218,225u98 ** ali = ai + ((:truct page_head *) asp)->lastin; fre (; ai <= ali; ai++) nnnnnnnnnnnnnif (*ai != 0 && CHECK_PG_ENTRY(ai) && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) ! agrcount (agrl, asp + *ai, df, fdf, fn, nf, mnf, flaglist); n putpg (&pg, 'n');* rep = getnext (disc, &pn, &size, FASTSCAN); } ***214,221u---- n ali = ai + ((:truct page_head *) asp)->lastin; fre (; ai <= ali; ai++) nnnnnnnnnnnnnif (*ai != 0 && CHECK_PG_ENTRY(ai) && ! fndslc (desrel, asp + *ai, sc, slsz, tuple) != 0) ! agrcount (agrl, tuple, desf, nf, mnf, flaglist); n putpg (&pg, 'n');* rep = getnext (disc, &pn, &size, FASTSCAN); } di-f -rc gnusql-0.7b5.3/src/engine/yrans/bdunion.ctgnusql-0.7b6.0/src/engine/yrans/bdunion.c ****gnusql-0.7b5.3/src/engine/yrans/bdunion.c Mon Apr 28 13:52:51 1997* ***gnusql-0.7b6.0/src/engine/yrans/bdunion.c Wed May 20 01:52:42 1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: bdunion.c,v 1.247 1997/04/10 06:57:28 vera Exp $ */ * #include "destrn.h" #include "strml.h" ***26,32 ---- n ** n */ *!t/* $Id: bdunion.c,v 1.253 1998/05/20 05:52:42 kml Exp $ */ * #include "destrn.h" #include "strml.h" 21:38:33 1998 ******38,57 98 ** * extern :truct des_nseg desnseg; n*!n:tatic :truct A outpg; nstatic :truct des_tob *dt;: nvoid ! min:fltr (:truct A *pg, :truct des_tob *dt, :truct des_tid *tid) n{ u2_t offset; - char *aspfl; n* aspfl = pg->p_shm; n offset = ((:truct p_h_f *) aspfl)->freeoff; if (offset + tidsize > BD_PAGESIZE)* { ! aspfl = getptob (pg, dt); n offset = phfsize; n } *(:truct des_tid *) (aspfl + offset) = *tid; ***38,55u---- n* extern :truct des_nseg desnseg; n*!n:tatic char *outasp; nstatic :truct des_tob *dt;: nvoid ! min:fltr (char *aspfl, :truct des_tob *dt, :truct des_tid *tid) n{ u2_t offset; nn n offset = ((:truct p_h_f *) aspfl)->freeoff; if (offset + tidsize > BD_PAGESIZE)* { ! getptob (aspfl, dt); n offset = phfsize; n } *(:truct des_tid *) (aspfl + offset) = *tid; 21:38:33 1998 ******59,97 98 ** } n* static char * ! trunn (:truct A *ppage, u2_t **aim)***{ !n return getcort (ppage, aim);* } n* static char * ! trunnp (:truct A *ppage, u2_t **aim)***{ u2_t *afi, *ai; - char *asptr; * asptr = ppage->p_shm; n afi = (u2_t *) (asptr + phtrsize); ai = *aim - 1; ! min:tr (&outpg, asptr + *ai, calsc (afi, ai), dt); ! return (trunn (ppage, aim));* } n* static char * ! flunn (:truct A *ppage, :truct A *inpage, :truct des_tid **tid) n{ /* get a tuple and next tid */ ! char *aspfl, *asprel, *cort; u2_t offset, pn;* n n* aspfl = ppage->p_shm; n offset = (char *)tid - aspfl; n if (offset >= ((:truct p_h_f *) aspfl)->freeoff) nnnnn{ nnnnnnnpn = ((:truct listtob *) aspfl)->nextpn; - putwul (ppage, 'n');* if (pt == (u2_t) ~0) return (NULL); ! aspfl = getwl (ppage, NRSNUM, pn); *tid = (:truct des_tid *)(aspfl + phfsize); n } pn = (*tid)->tpn; -***57,91 ---- n} n nstatic char * ! trunn (char *asptr, u2_t **aim)***{ !n return getcort (asptr, aim);* } n* static char * ! trunnp (char *asptr, u2_t **aim)***{ u2_t *afi, *ai; nnnn n afi = (u2_t *) (asptr + phtrsize); ai = *aim - 1; ! min:tr (outasp, asptr + *ai, calsc (afi, ai), dt); ! return (trunn (asptr, aim));* } n* static char * ! flunn (char *aspfl, :truct A *inpage, :truct des_tid **tid) n{ /* get a tuple and next tid */ ! char *asprel, *cort; u2_t offset, pn;* n n* n offset = (char *)tid - aspfl; n if (offset >= ((:truct p_h_f *) aspfl)->freeoff) nnnnn{ nnnnnnnpn = ((:truct listtob *) aspfl)->nextpn; if (pt == (u2_t) ~0) return (NULL); ! read_tmp_page (pn, aspfl); *tid = (:truct des_tid *)(aspfl + phfsize); n } pn = (*tid)->tpn; 21:38:33 1998 ******108,117 98 ** } n* static char * ! flunnp (:truct A *ppage, :truct A *inpage, :truct des_tid **tid) n{ ! min:fltr (&outpg, dt, *tid - 1); ! return (flunn (ppage, inpage, tid));* } n* static int* ***102,111 ---- } n* static char * ! flunnp (char *aspfl, :truct A *inpage, :truct des_tid **tid) n{ ! min:fltr (aspfl, dt, *tid - 1); ! return (flunn (aspfl, inpage, tid));* } n* static int*21:38:33 1998 ******120,126u98 ** fre (; kn != 0; kn--) nnnnn{ nnnnnnnif (*afn1 != *afn2++) ! return (NCR); *afn++ = *afn1++; n } return (OK); ***114,120 ---- n fre (; kn != 0; kn--) nnnnn{ nnnnnnnif (*afn1 != *afn2++) ! return (-ER_NCR); *afn++ = *afn1++; n } return (OK); 21:38:33 1998 ******127,134 98 ** } n* static :truct ans_ctob ! bd_union (:truct id_ob *pit1, struct id_ob *pit2, char * (*chng1) (), ! char * (*chng2) (), char * (*flchng1) (), char * (*flchng2) (), int set_type) nn{ nnnstruct des_field *df; n struct des_tob *dt1, *dt2; ***121,129 ---- } n* static :truct ans_ctob ! bd_union (:truct id_ob *pit1, struct id_ob *pit2, ! char * (*chng1) (), char * (*chng2) (), ! char * (*flchng1) (), char * (*flchng2) (), int set_type) nn{ nnnstruct des_field *df; n struct des_tob *dt1, *dt2; 21:38:33 1998 ******136,143 98 ** u2_t *afn1, *afn2, *afn;: i2_t n; int drctn, d, v; !n char *cort1, *cort2, *asp; !n struct A inpage1, inpage2; n struct ans_ctob ans;: char *arrpnt1[BD_PAGESIZE]; n u2_t arrsz1[BD_PAGESIZE];nn ***131,138 ---- n u2_t *afn1, *afn2, *afn;: i2_t n; int drctn, d, v; !n char *cort1, *cort2, *asp1, *asp2, tmp_buff_out[BD_PAGESIZE]; !n char tmp_buff_in1[BD_PAGESIZE], tmp_buff_in2[BD_PAGESIZE]; n :truct ans_ctob ans;: char *arrpnt1[BD_PAGESIZE]; n u2_t arrsz1[BD_PAGESIZE];nn 21:38:33 1998 ******146,157 98 ** n if (pit1->segnum != NRSNUM || pit2->segnum != NRSNUM)* { ! ans.cpncob = NIOB; n return (ans); n } if ((u2_t) pit1->obnum > desnseg.mtobnum || (u2_t) pit2->obnum > desnseg.mtobnum)* { ! ans.cpncob = NIOB; n return (ans); n } dt1 = (:truct des_tob *) * (desnseg.tobtab + pit1->obnum); ***141,152u---- n n if (pit1->segnum != NRSNUM || pit2->segnum != NRSNUM)* { ! ans.cpncob = -ER_NIOB; n return (ans); n } if ((u2_t) pit1->obnum > desnseg.mtobnum || (u2_t) pit2->obnum > desnseg.mtobnum)* { ! ans.cpncob = -ER_NIOB; n return (ans); n } dt1 = (:truct des_tob *) * (desnseg.tobtab + pit1->obnum); 21:38:33 1998 ******158,201 98 ** dt2 = (:truct des_tob *) * (desnseg.tobtab + pit2->obnum); if (dt1 == NULL || dt2 == NULL) { ! ans.cpncob = NIOB; n return (ans); n } if (dt1->prdt.prsort != SORT || dt2->prdt.prsort != SORT) { ! ans.cpncob = N_SORT; n return (ans); n } if (dt1->prdt.prdbl != NODBL || dt2->prdt.prdbl != NODBL) { ! ans.cpncob = H_DBL; n return (ans); n } if (dt1->prdt.prdrctn != dt2->prdt.prdrctn) { ! ans.cpncob = D_DRCTN; n return (ans); n } if ((drctn = dt1->prdt.prob) == TREL && dt2->prdt.prob == TREL) nnnn{ nnnnnnnstruct des_trel *dtr1, *dtr2, *destrel; n n u2_t *ai1, *ai2, corsize1; nnnnnnnstruct des_field *adf, *adf1, *adf2, *df1, *df2; - struct A inpage; n n dtr1 = (:truct des_trel *) dt1; dtr2 = (:truct des_trel *) dt2; - fn = dtr1->fieldn; -n n fdf = dtr1->fdftr; kn = dtr1->keysntr; ! adf1 = df1 = (:truct des_field *) (dtr1 + 1); ! adf2 = df2 = (:truct des_field *) (dtr2 + 1); ! if (fn != dtr2->fieldn || fdf != dtr2->fdftr || kn != dtr2->keysntr) { !n ans.cpncob = N_EQV; n return (ans); n } ! dt = gettob (&outpg, dtrsize + fn * rfsize + kn * size2b, &n, TREL); destrel = (:truct des_trel *) dt;nnnnnn n adf = df = (:truct des_field *) (destrel + 1); fre (v = 0; v < fn; df1++, df2++, df++, v++) ***153,201 ---- n dt2 = (:truct des_tob *) * (desnseg.tobtab + pit2->obnum); if (dt1 == NULL || dt2 == NULL) { ! ans.cpncob = -ER_NIOB; n return (ans); n } if (dt1->prdt.prsort != SORT || dt2->prdt.prsort != SORT) { ! ans.cpncob = -ER_N_SORT; n return (ans); n } if (dt1->prdt.prdbl != NODBL || dt2->prdt.prdbl != NODBL) { ! ans.cpncob = -ER_H_DBL; n return (ans); n } if (dt1->prdt.prdrctn != dt2->prdt.prdrctn) { ! ans.cpncob = -ER_D_DRCTN; n return (ans); n } + asp1 = tmp_buff_in1; + asp2 = tmp_buff_in2; + outasp = tmp_buff_out; if ((drctn = dt1->prdt.prob) == TREL && dt2->prdt.prob == TREL) nnnn{ nnnnnnnstruct des_trel *dtr1, *dtr2, *destrel; +nnnnnnnstruct fun_desc_fields *desf1, *desf2; n n u2_t *ai1, *ai2, corsize1; nnnnnnnstruct des_field *adf, *adf1, *adf2, *df1, *df2; n n dtr1 = (:truct des_trel *) dt1; dtr2 = (:truct des_trel *) dt2; kn = dtr1->keysntr; ! desf1 = &dtr1->f_df_tt; ! adf1 = df1 = desf1->df_pnt; ! desf2 = &dtr2->f_df_tt; ! adf2 = df2 = desf2->df_pnt; ! fn = desf1->f_fn; !n n fdf = desf1->f_fdf; ! if (fn != desf2->f_fn || fdf != desf2->f_fdf || kn != dtr2->keysntr) { !n ans.cpncob = -ER_N_EQV; n return (ans); n } ! dt = gettob (outasp, dtrsize + fn * rfsize + kn * size2b, &n, TREL); destrel = (:truct des_trel *) dt;nnnnnn n adf = df = (:truct des_field *) (destrel + 1); fre (v = 0; v < fn; df1++, df2++, df++, v++) 21:38:33 1998 ******202,208u98 ** { n if ((type = df1->field_type) != df2->field_type)* nnnn{ ! ans.cpncob = N_EQV; n return (ans); n } if (type == TCH || type == TFL)* ***202,208u---- n { n if ((type = df1->field_type) != df2->field_type)* nnnn{ ! ans.cpncob = -ER_N_EQV; n return (ans); n } if (type == TCH || type == TFL)*21:38:33 1998 ******220,232 98 ** afn = (u2_t *) df; n if (tstcmpun (afn1, afn2, afn, kn) != OK) { !n ans.cpncob = N_EQV; n return (ans); n } ! asp = getwl (&inpage1, NRSNUM, dt1->firstpn); ! ai1 = (u2_t *) (asp + phtrsize); ! asp = getwl (&inpage2, NRSNUM, dt2->firstpn); ! ai2 = (u2_t *) (asp + phtrsize); if (drctn == GROW)* d = 1; n elod* ***220,232 ---- n afn = (u2_t *) df; n if (tstcmpun (afn1, afn2, afn, kn) != OK) { !n ans.cpncob = -ER_N_EQV; n return (ans); n } ! read_tmp_page (dt1->firstpn, asp1); ! ai1 = (u2_t *) (asp1 + phtrsize); ! read_tmp_page (dt2->firstpn, asp2); ! ai2 = (u2_t *) (asp2 + phtrsize); if (drctn == GROW)* d = 1; n elod*21:38:33 1998 ******233,246u98 ** d = -1; fre (;;) { !n cort1 = getcort (&inpage1, &ai1); n if (cort1 == NULL) break; ! cort2 = getcort (&inpage2, &ai2); n if (cort2 == NULL) break; ! corsize1 = tuple_break (cort1, arrpnt1, arrsz1, adf1, fdf, fn); ! tuple_break (cort2, arrpnt2, arrsz2, adf2, fdf, fn); m1: n fre (kk = 0; kk < kn; kk++) n { ***233,246u---- n d = -1; fre (;;) { !n cort1 = getcort (asp1, &ai1); n if (cort1 == NULL) break; ! cort2 = getcort (asp2, &ai2); n if (cort2 == NULL) break; ! corsize1 = tuple_break (cort1, arrpnt1, arrsz1, desf1); ! tuple_break (cort2, arrpnt2, arrsz2, desf2); m1: n fre (kk = 0; kk < kn; kk++) n { 21:38:33 1998 ******248,268 98 ** type = (adf + fnk)->field_type; n if ((v = cmpfv (type, d, arrpnt1[fnk], arrpnt2[fnk])) < 0) { !n if ((cort1 = (*chng1) (&inpage1, &ai1)) == NULL) goto m2;*!n corsize1 = tuple_break (cort1, arrpnt1, arrsz1, adf1, fdf, fn); n goto m1; n } n elod if (v > 0) { !n if ((cort2 = (*chng2) (&inpage2, &ai2)) == NULL) goto m2;*!n tuple_break (cort2, arrpnt2, arrsz2, adf2, fdf, fn); goto m1; n } n } if (set_type != DIFFERENCE) ! min:tr (&outpg, cort1, corsize1, dt); n } m2: if (set_type != INTERSCTN)* ***248,268 ---- n type = (adf + fnk)->field_type; n if ((v = cmpfv (type, d, arrpnt1[fnk], arrpnt2[fnk])) < 0) { !n if ((cort1 = (*chng1) (asp1, &ai1)) == NULL) goto m2;*!n corsize1 = tuple_break (cort1, arrpnt1, arrsz1, desf1); n goto m1; n } n elod if (v > 0) { !n if ((cort2 = (*chng2) (asp2, &ai2)) == NULL) goto m2;*!n tuple_break (cort2, arrpnt2, arrsz2, desf2); goto m1; n } n } if (set_type != DIFFERENCE) ! min:tr (outasp, cort1, corsize1, dt); n } m2: if (set_type != INTERSCTN)*21:38:33 1998 ******272,300u98 ** nn{ nnnnnnn if (set_type == DIFFERENCE) goto m5; !n inpage1 = inpage2; n ai1 = ai2; n } !n asp = inpage1.p_shm; !n afi = (u2_t *) (asp + phtrsize); ! ali = afi + ((:truct p_h_tr *) asp)->linptr; fre (;;)* nn{ nnnnnnn fre (; ai1 <= ali; ai1++) nnnnnnnnnnnnnnnnnif (*ai1 != (u2_t) 0) ! min:tr (&outpg, asp + *ai1, calsc (afi, ai1), dt); ! n pn = ((:truct listtob *) asp)->nextpn; ! n putwul (&inpage, 'n');* if (pt == (u2_t) ~ 0) break; ! asp = getwl (&inpage1, NRSNUM, pn); !n ai1 = afi = (u2_t *) (asp + phtrsize); ! ali = ai1 + ((:truct p_h_tr *) asp)->linptr; } } m5: ! destrel->fieldn = fn; !nnnnnnndestrel->fdftr = fdf; n destrel->keysntr = kn; dt->prdt = dt1->prdt; n } ***272,298u---- n nn{ nnnnnnn if (set_type == DIFFERENCE) goto m5; !n asp1 = asp2; n ai1 = ai2; n } !n afi = (u2_t *) (asp1 + phtrsize); ! ali = afi + ((:truct p_h_tr *) asp1)->linptr; fre (;;)* nn{ nnnnnnn fre (; ai1 <= ali; ai1++) nnnnnnnnnnnnnnnnnif (*ai1 != (u2_t) 0) ! min:tr (outasp, asp1 + *ai1, calsc (afi, ai1), dt); ! n pn = ((:truct listtob *) asp1)->nextpn; if (pt == (u2_t) ~ 0) break; ! read_tmp_page (pn, asp1); !n ai1 = afi = (u2_t *) (asp1 + phtrsize); ! ali = ai1 + ((:truct p_h_tr *) asp1)->linptr; } } m5: ! destrel->f_df_tt.f_fn = fn; !nnnnnnndestrel->f_df_tt.f_fdf = fdf; n destrel->keysntr = kn; dt->prdt = dt1->prdt; n } 21:38:33 1998 ******301,306u98 ** ***299,305u---- n elod if (dt1->prdt.prob == FLTR && dt2->prdt.prob == FLTR) nnnn{ nnnnnnnstruct des_fltr *dfltr1, *dfltr2, *desfltr; +nnnnnnnstruct fun_desc_fields *desf; nnnnnnnstruct des_tid *tid1, *tid2; nnnnnnnstruct d_r_t *dr; nnnnnnnstruct A inpage; 21:38:33 1998 ******310,328u98 ** dr = dfltr1->pdrtf; if (dr != dfltr2->pdrtf) { !n ans.cpncob = N_EQV; n return (ans); n } - fn = dr->desrbd.fieldnum; -n n fdf = dr->desrbd.fdfnum; kn = dfltr1->keysnfl; if (kn != dfltr2->keysnfl) { !n ans.cpncob = N_EQV; n return (ans); n } ! df = (:truct des_field *) (dr + 1); ! dt = gettob (&outpg, dflsize + kn * size2b, &n, FLTR); n desfltr = (:truct des_fltr *) dt; n afn1 = (u2_t *) ((char *) (dfltr1 + 1) + dfltr1->selozfl); afn2 = (u2_t *) ((char *) (dfltr2 + 1) + dfltr2->selozfl); ***309,324u---- n dr = dfltr1->pdrtf; if (dr != dfltr2->pdrtf) { !n ans.cpncob = -ER_N_EQV; n return (ans); n } kn = dfltr1->keysnfl; if (kn != dfltr2->keysnfl) { !n ans.cpncob = -ER_N_EQV; n return (ans); n } ! dt = gettob (outasp, dflsize + kn * size2b, &n, FLTR); n desfltr = (:truct des_fltr *) dt; n afn1 = (u2_t *) ((char *) (dfltr1 + 1) + dfltr1->selozfl); afn2 = (u2_t *) ((char *) (dfltr2 + 1) + dfltr2->selozfl); 21:38:33 1998 ******329,335 98 ** afn = (u2_t *) (desfltr + 1); if (tstcmpun (afn1, afn2, afn, kn) != OK) { !n ans.cpncob = N_EQV; n return (ans); n } if ((drctn = dt1->prdt.prdrctn) == GROW)* ***325,331 ---- n afn = (u2_t *) (desfltr + 1); if (tstcmpun (afn1, afn2, afn, kn) != OK) { !n ans.cpncob = -ER_N_EQV; n return (ans); n } if ((drctn = dt1->prdt.prdrctn) == GROW)*21:38:33 1998 ******338,362u98 ** d = -1; if (drctn != dt2->prdt.prdrctn) { !n ans.cpncob = D_DRCTN; n return (ans); n } ! asp = getwl (&inpage1, NRSNUM, dt1->firstpn); ! tid1 = (:truct des_tid *) (asp + phfsize); ! asp = getwl (&inpage2, NRSNUM, dt2->firstpn); ! tid2 = (:truct des_tid *) (asp + phfsize); n n while (getpg (&inpage, dr->segnr, tid1->tpn, 's') == NULL); fre (;;) { !n cort1 = flunn (&inpage1, &inpage, &tid1);* if (cort1 == NULL) break; ! cort2 = flunn (&inpage2, &inpage, &tid2);* if (cort2 == NULL) break; ! tuple_break (cort1, arrpnt1, arrsz1, df, fdf, fn); ! tuple_break (cort2, arrpnt2, arrsz2, df, fdf, fn); m3: n fre (kk = 0; kk < kn; kk++) n { ***334,361u---- n d = -1; if (drctn != dt2->prdt.prdrctn) { !n ans.cpncob = -ER_D_DRCTN; n return (ans); n } ! desf = &dr->f_df_bt; ! df = desf->df_pnt; ! fn = desf->f_fn; !n n read_tmp_page (dt1->firstpn, asp1); ! tid1 = (:truct des_tid *) (asp1 + phfsize); ! read_tmp_page (dt2->firstpn, asp2); ! tid2 = (:truct des_tid *) (asp2 + phfsize); n n while (getpg (&inpage, dr->segnr, tid1->tpn, 's') == NULL); fre (;;) { !n cort1 = flunn (asp1, &inpage, &tid1);* if (cort1 == NULL) break; ! cort2 = flunn (asp2, &inpage, &tid2);* if (cort2 == NULL) break; ! tuple_break (cort1, arrpnt1, arrsz1, desf); ! tuple_break (cort2, arrpnt2, arrsz2, desf); m3: n fre (kk = 0; kk < kn; kk++) n { 21:38:33 1998 ******364,384 98 ** type = (df + fnk)->field_type; n if ((v = cmpfv (type, d, arrpnt1[fnk], arrpnt2[fnk])) < 0) { !n if ((cort1 = (*flchng1) (&inpage1, &inpage, &tid1)) == NULL) goto m4;*!n tuple_break (cort1, arrpnt1, arrsz1, df, fdf, fn); goto m3; n } n elod if (v > 0) { !n if ((cort2 = (*flchng2) (&inpage2, &inpage, &tid2)) == NULL) goto m4;*!n tuple_break (cort2, arrpnt2, arrsz2, df, fdf, fn); goto m3; n } n } nnnn if (set_type != DIFFERENCE) ! min:fltr (&outpg, dt1, tid1); n } m4: if (set_type != INTERSCTN)* ***363,383 ---- n type = (df + fnk)->field_type; n if ((v = cmpfv (type, d, arrpnt1[fnk], arrpnt2[fnk])) < 0) { !n if ((cort1 = (*flchng1) (asp1, &inpage, &tid1)) == NULL) goto m4;*!n tuple_break (cort1, arrpnt1, arrsz1, desf); goto m3; n } n elod if (v > 0) { !n if ((cort2 = (*flchng2) (asp2, &inpage, &tid2)) == NULL) goto m4;*!n tuple_break (cort2, arrpnt2, arrsz2, desf); goto m3; n } n } nnnn if (set_type != DIFFERENCE) ! min:fltr (outasp, dt1, tid1); n } m4: if (set_type != INTERSCTN)*21:38:33 1998 ******388,408u98 ** nn{ nnnnnnn if (set_type == DIFFERENCE) goto m6; !n inpage1 = inpage2; n tid1 = tid2; nnnnnnn dt1 = dt2; n } -n asp = inpage1.p_shm; fre (;;)* nn{ !n max_byte = asp + ((:truct p_h_f *) asp)->freeoff; nnnn fre (; (char *)tid1 < max_byte; tid1++) ! min:fltr (&outpg, dt1, tid1); ! n pn = ((:truct listtob *) asp)->nextpn; ! n putwul (&inpage1, 'n');* if (pt == (u2_t) ~ 0) break; ! asp = getwl (&inpage1, NRSNUM, pn); } } m6: ***387,405u---- n nn{ nnnnnnn if (set_type == DIFFERENCE) goto m6; !n asp1 = asp2; n tid1 = tid2; nnnnnnn dt1 = dt2; n } fre (;;)* nn{ !n max_byte = asp1 + ((:truct p_h_f *) asp1)->freeoff; nnnn fre (; (char *)tid1 < max_byte; tid1++) ! min:fltr (outasp, dt1, tid1); ! n pn = ((:truct listtob *) asp1)->nextpn; if (pt == (u2_t) ~ 0) break; ! read_tmp_page (pn, asp1); } } m6: 21:38:33 1998 ******414,424u98 ** } elod* { ! ans.cpncob = NIOB; n return (ans); n } ! putwul (&outpg, 'm'); ! dt->lastpn = outpg.p_pn; dt->osctob = 0; ans.cpncob = OK; ans.idob.segnum = NRSNUM; ***411,420u---- n } elod* { ! ans.cpncob = -ER_NIOB; n return (ans); n } ! write_tmp_page (dt->lastpn, outasp); dt->osctob = 0; ans.cpncob = OK; ans.idob.segnum = NRSNUM; 21:38:33 1998 ******445,465 98 ** } n* char * ! getcort (:truct A *ppage, u2_t **ai) n{ /* get a tuple and next index address */ ! u2_t pn, off, *ali, *afi; !n char *asptr; ! asptr = ppage->p_shm; !n afi = (u2_t *) (asptr + phtrsize); ! ali = afi + ((:truct p_h_tr *) asptr)->linptr; if (*ai > ali) nnnnn{ nnnnnnnpn = ((:truct listtob *) asptr)->nextpn; - putwul (ppage, 'n');* if (pt == (u2_t) ~ 0) return (NULL); ! asptr = getwl (ppage, NRSNUM, pn); *ai = (u2_t *) (asptr + phtrsize); ali = *ai + ((:truct p_h_tr *) asptr)->linptr; } ***441,458 ---- } n* char * ! getcort (char *asptr, u2_t **ai) n{ /* get a tuple and next index address */ ! u2_t off, *ali; ! ali = (u2_t *) (asptr + phtrsize) + ((:truct p_h_tr *) asptr)->linptr; if (*ai > ali) nnnnn{ +n n u2_t pn; pn = ((:truct listtob *) asptr)->nextpn; if (pt == (u2_t) ~ 0) return (NULL); ! read_tmp_page (pn, asptr); *ai = (u2_t *) (asptr + phtrsize); ali = *ai + ((:truct p_h_tr *) asptr)->linptr; } 21:38:33 1998 ******473,484u98 ** return (NULL); } n*! int* cmpfv (u2_t type, i4_t d, char *val1, char *val2) nn{ - i4_t v; - u2_t n1, n2; - if (val1 == NULL) { if (val2 == NULL) ***466,474u---- n return (NULL); } n*! i4_t* cmpfv (u2_t type, i4_t d, char *val1, char *val2) nn{ if (val1 == NULL) { if (val2 == NULL) 21:38:33 1998 ******489,533 98 ** elod* if (val2 == NULL) n return (-d); ! !n switch (type) ! { ! caod T1B: ! if ((v = f1b (val1, val2, size1b, size1b)) != 0) ! return (v * d); ! break; ! caod T2B: ! if ((v = f2b (val1, val2, size2b, size2b)) != 0) ! return (v * d); ! break; ! caod T4B: ! if ((v = f4b (val1, val2, size4b, size4b)) != 0) ! return (v * d); ! break; ! caod TFLOAT: ! if ((v = flcmp (val1, val2, size4b, size4b)) != 0) ! return (v * d); ! break; ! caod TFL: ! n1 = t2bunpack (val1); ! val1 += size2b; ! n2 = t2bunpack (val2); ! val2 += size2b; ! if ((v = ffloat (val1, val2, n1, n2)) != 0) ! return (v * d); ! break; ! caod TCH: ! n1 = t2bunpack (val1); ! val1 += size2b; ! n2 = t2bunpack (val2); ! val2 += size2b; ! if ((v = chcmp (val1, val2, n1, n2)) != 0) ! return (v * d); ! break; ! default: ! errre ("TR.cmpfv: This data type is incorrect"); ! break; ! } ! return (0); n} n* ***479,484u---- n elod* if (val2 == NULL) n return (-d); ! return (cmpval (val1, val2, type) * d); n} n*di-f -rc gnusql-0.7b5.3/src/engine/yrans/blfltr.ctgnusql-0.7b6.0/src/engine/yrans/blfltr.c ****gnusql-0.7b5.3/src/engine/yrans/blfltr.c Mon Apr 28 13:52:51 1997* ***gnusql-0.7b6.0/src/engine/yrans/blfltr.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******27,33 98 ** ** n */ *!t/* $Id: blfltr.c,v 1.247 1997/04/17 11:03:20uvera Exp $ */ * #include "xmem.h" #include "destrn.h" ***27,33 ---- n ** n */ *!t/* $Id: blfltr.c,v 1.251 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******40,49 98 ** :truct ans_ctob blflrl (:truct id_rel *pidrel, u2_t slsz, char *sc, u2_t kn, u2_t *fsrt)***{ !n u2_t fn, fdf, *ali, st, ind, pn, *ai, sz; n struct des_fltr *desfltr; !nnnstruct des_field *df; !n char *asp = NULL;* i2_t n, nsc; n :truct ans_ctob ans;: struct d_r_t *desrel; ***40,49 ---- n:truct ans_ctob blflrl (:truct id_rel *pidrel, u2_t slsz, char *sc, u2_t kn, u2_t *fsrt)***{ !n u2_t *ali, st, ind, pn, *ai, sz; n struct des_fltr *desfltr; !nnnstruct fun_desc_fields *desf; !n char *asp = NULL, *outasp; n i2_t n, nsc; n :truct ans_ctob ans;: struct d_r_t *desrel; 21:38:33 1998 ******54,87 98 ** struct d_sc_i *scind;: struct ldesscan *disc; n CPNM cpn;*!n :truct A outpg; n: sn = pidrel->urn.segnum; if (st == NRSNUM)* { ! ans.cpncob = NIOB; n return (ans); n } if ((ans.cpncob = contir (pidrel, &desrel)) != OK) return (ans); !nnnfn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = NCF; n return (ans); n } ! if ((cpn = synlsc (RSC, pidrel, sc, slsz, fn, NULL)) != 0) { ans.cpncob = cpn; return (ans); n } ! desfltr = (:truct des_fltr *) gettob (&outpg, dflsize + slsz, &n, FLTR); n desfltr->pdrtf = desrel; n desfltr->selozfl = slsz; n bcopy (:c, (char *) (desfltr + 1), slsz); ! scind = rel_scan (st, pidrel->urn.obnum, (char *) desrel, &n:c, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n rep = fgetnext (disc, &pn, &sz, FASTSCAN); -***54,86u---- n struct d_sc_i *scind;: struct ldesscan *disc; n CPNM cpn;*!n char tmp_buff_out[BD_PAGESIZE]; n: sn = pidrel->urn.segnum; if (st == NRSNUM)* { ! ans.cpncob = -ER_NIOB; n return (ans); n } if ((ans.cpncob = contir (pidrel, &desrel)) != OK) return (ans); !nnndesf = &desrel->f_df_bt; ! if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = -ER_NCF; n return (ans); n } ! if ((cpn = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != 0) { ans.cpncob = cpn; return (ans); n } ! outasp = tmp_buff_out; ! desfltr = (:truct des_fltr *) gettob (outasp, dflsize + slsz, &n, FLTR); n desfltr->pdrtf = desrel; n desfltr->selozfl = slsz; n bcopy (:c, (char *) (desfltr + 1), slsz); ! scind = rel_scan (&pidrel->urn, (char *) desrel, &n:c, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n rep = fgetnext (disc, &pn, &sz, FASTSCAN); 21:38:33 1998 ******92,107 98 ** ali = ai + ((:truct page_head *) asp)->lastin; fre (ind = 0; ai <= ali; ai++, ind++) n if (*ai != 0 && CHECK_PG_ENTRY(ai) ! && fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) n { n tid.tpn = pn; tid.tindex = ind; !n min:fltr (&outpg, (:truct des_tob *) desfltr, &tid); n } putpg (&inpage, 'n');* rep = getnext (disc, &pn, &sz, FASTSCAN); } ! putwul (&outpg, 'm'); n delscan (n:c); n srtr_tid ((:truct des_tob *)desfltr); n desfltr->selozfl = slsz; -***91,106 ---- n ali = ai + ((:truct page_head *) asp)->lastin; fre (ind = 0; ai <= ali; ai++, ind++) n if (*ai != 0 && CHECK_PG_ENTRY(ai) ! && fndslc (desrel, asp + *ai, sc, slsz, NULL) != 0) n { n tid.tpn = pn; tid.tindex = ind; !n min:fltr (outasp, (:truct des_tob *) desfltr, &tid); n } putpg (&inpage, 'n');* rep = getnext (disc, &pn, &sz, FASTSCAN); } ! write_tmp_page (((:truct des_tob *) desfltr)->lastpn, outasp); delscan (n:c); n srtr_tid ((:truct des_tob *)desfltr); n desfltr->selozfl = slsz; 21:38:33 1998 ******118,128u98 ** blflin (:truct id_ind *pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc, u2_t kn, u2_t *fsrt)***{ !n u2_t fn, fdf, st, pn, oldpn, *afi, *ai, dscsz, kind;: struct des_fltr *desfltr; i4_t rep, index; !n char *asp = NULL;*!nnnstruct des_field *df; n struct des_tid tid;: struct id_rel *pidrel;: struct ldesind *di; ***117,127 ---- nblflin (:truct id_ind *pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc, u2_t kn, u2_t *fsrt)***{ !n u2_t st, pn, oldpn, *afi, *ai, dscsz, kind;: struct des_fltr *desfltr; i4_t rep, index; !n char *asp = NULL, *outasp; !nnnstruct fun_desc_fields *desf; n struct des_tid tid;: struct id_rel *pidrel;: struct ldesind *di; 21:38:33 1998 ******132,139 98 ** struct ans_ctob ans;: struct d_r_t *desrel; struct prtob *pr; !n struct A inpage, outpg; n CPNM cpn;* n: pidrel = &pidind->irii; index = pidind->inii; ***131,139u---- n struct ans_ctob ans;: struct d_r_t *desrel; struct prtob *pr; !n struct A inpage; n CPNM cpn;*+n char tmp_buff_out[BD_PAGESIZE]; n: pidrel = &pidind->irii; index = pidind->inii; 21:38:33 1998 ******140,162 98 ** sn = pidrel->urn.segnum; if (st == NRSNUM)* { ! ans.cpncob = NIOB; n return (ans); n } if ((ans.cpncob = cont_id (pidind, &desrel, &di)) != OK) return (ans); !nnnfn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = NCF; n return (ans); n } ai = (u2_t *) (di + 1); if ((ans.cpncob = testdsc (desrel, &diasz, diasc, ai, &dscsz)) != OK) return (ans); !nnnif ((cpn = synlsc (RSC, pidrel, sc, slsz, fn, NULL)) != 0) { ans.cpncob = cpn; return (ans); ***140,160u---- n sn = pidrel->urn.segnum; if (st == NRSNUM)* { ! ans.cpncob = -ER_NIOB; n return (ans); n } if ((ans.cpncob = cont_id (pidind, &desrel, &di)) != OK) return (ans); !nnndesf = &desrel->f_df_bt; ! if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = -ER_NCF; n return (ans); n } ai = (u2_t *) (di + 1); if ((ans.cpncob = testdsc (desrel, &diasz, diasc, ai, &dscsz)) != OK) return (ans); !nnnif ((cpn = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != 0) { ans.cpncob = cpn; return (ans); 21:38:33 1998 ******177,183 98 ** t2bpack (diasz, asp); disc->dpnsval = asp + size2b + dscsz; n bcopy (diasc, asp + size2b, diasz); ! desfltr = (:truct des_fltr *) gettob (&outpg, dflsize + slsz, &nf, FLTR); n desfltr->pdrtf = desrel; n bcopy (:c, (char *) (desfltr + 1), slsz); if ((rep = ind_ftid (disc, &tid, FASTSCAN)) != EOI) ***175,182 ---- n t2bpack (diasz, asp); disc->dpnsval = asp + size2b + dscsz; n bcopy (diasc, asp + size2b, diasz); ! outasp = tmp_buff_out; ! desfltr = (:truct des_fltr *) gettob (outasp, dflsize + slsz, &nf, FLTR); n desfltr->pdrtf = desrel; n bcopy (:c, (char *) (desfltr + 1), slsz); if ((rep = ind_ftid (disc, &tid, FASTSCAN)) != EOI) 21:38:33 1998 ******188,194u98 ** } elod* { ! ans.cpncob = EMFL; n putpg (&inpage, 'n');* goto m1; n } ***187,193u---- n } elod* { ! ans.cpncob = -ER_EMFL; n putpg (&inpage, 'n');* goto m1; n } 21:38:33 1998 ******204,215 98 ** } ai = afi + tid.tindex; nnnnnnnnif (*ai != 0 && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) ! min:fltr (&outpg, (:truct des_tob *) desfltr, &tid); n } putpg (&inpage, 'n');* m1: ! putwul (&outpg, 'm'); n delscan (n); n srtr_tid ((:truct des_tob *)desfltr); n desfltr->selozfl = slsz; -***203,214u---- n } ai = afi + tid.tindex; nnnnnnnnif (*ai != 0 && ! fndslc (desrel, asp + *ai, sc, slsz, NULL) != 0) ! min:fltr (outasp, (:truct des_tob *) desfltr, &tid); n } putpg (&inpage, 'n');* m1: ! write_tmp_page (((:truct des_tob *) desfltr)->lastpn, outasp); delscan (n); n srtr_tid ((:truct des_tob *)desfltr); n desfltr->selozfl = slsz; 21:38:33 1998 ******225,255 98 ** :truct ans_ctob blflfl (i4_t idfl, u2_t slsz, char *sc, u2_t kn, u2_t *fsrt)***{ !n u2_t fn, fdf, st, pn, oldpn, flpn, off, *afi, *ai; nnnnstruct des_fltr *desfltr, *desfl; ! char *aspfl, *asp = NULL;*!nnnstruct des_field *df; n struct des_tid *tid, *last_tid;: i2_t n; struct ans_ctob ans;: struct d_r_t *desrel; struct prtob *pr; !n struct A inpage, inflpg, outpg; n: if ((u2_t) idfl > desnseg.mtobnum)* { ! ans.cpncob = NIOB; n return (ans); n } desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) { ! ans.cpncob = NIOB; n return (ans); n } n n if (((:truct prtob *) desfl)->prob != FLTR) nnnn{ ! ans.cpncob = NIOB; n return (ans); n } desrel = desfl->pdrtf; ***224,255 ---- n:truct ans_ctob blflfl (i4_t idfl, u2_t slsz, char *sc, u2_t kn, u2_t *fsrt)***{ !n u2_t st, pn, oldpn, flpn, off, *afi, *ai; nnnnstruct des_fltr *desfltr, *desfl; ! char *aspfl, *asp = NULL, *outasp; !nnnstruct fun_desc_fields *desf; n struct des_tid *tid, *last_tid;: i2_t n; struct ans_ctob ans;: struct d_r_t *desrel; struct prtob *pr; !n struct A inpage; !n char tmp_buff_in[BD_PAGESIZE], tmp_buff_out[BD_PAGESIZE]; n: if ((u2_t) idfl > desnseg.mtobnum)* { ! ans.cpncob = -ER_NIOB; n return (ans); n } desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) { ! ans.cpncob = -ER_NIOB; n return (ans); n } n n if (((:truct prtob *) desfl)->prob != FLTR) nnnn{ ! ans.cpncob = -ER_NIOB; n return (ans); n } desrel = desfl->pdrtf; 21:38:33 1998 ******256,279 98 ** sn = desrel->segnr; if (st == NRSNUM)* { ! ans.cpncob = NIOB; n return (ans); n } !nnnfn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = NCF; n return (ans); n } ! desfltr = (:truct des_fltr *) gettob (&outpg, dflsize + slsz, &n, FLTR); n desfltr->pdrtf = desrel; n n bcopy (:c, (char *) (desfltr + 1), slsz); fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) { ! aspfl = getwl (&inflpg, NRSNUM, flpn);* off = ((:truct p_h_f *) aspfl)->freeoff;* tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; -***256,279 ---- n sn = desrel->segnr; if (st == NRSNUM)* { ! ans.cpncob = -ER_NIOB; n return (ans); n } ! desf = &desrel->f_df_bt; ! if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = -ER_NCF; n return (ans); n } ! aspfl = tmp_buff_in; ! outasp = tmp_buff_out; ! desfltr = (:truct des_fltr *) gettob (outasp, dflsize + slsz, &n, FLTR); n desfltr->pdrtf = desrel; n n bcopy (:c, (char *) (desfltr + 1), slsz); fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) { ! read_tmp_page (flpn, aspfl); off = ((:truct p_h_f *) aspfl)->freeoff;* tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; 21:38:33 1998 ******292,305u98 ** } n ai = afi + tid->tindex; nn nnif (*ai != 0 && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) ! min:fltr (&outpg, (:truct des_tob *) desfltr, tid); n } flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; - putwul (&inflpg, 'n');* } putpg (&inpage, 'n');*! putwul (&outpg, 'm'); n srtr_tid ((:truct des_tob *)desfltr); n desfltr->selozfl = slsz; pr = &desfltr->tobfl.prdt; ***292,304 ---- n } n ai = afi + tid->tindex; nn nnif (*ai != 0 && ! fndslc (desrel, asp + *ai, sc, slsz, NULL) != 0) ! min:fltr (outasp, (:truct des_tob *) desfltr, tid); n } flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; } putpg (&inpage, 'n');*! write_tmp_page (((:truct des_tob *) desfltr)->lastpn, outasp); srtr_tid ((:truct des_tob *)desfltr); n desfltr->selozfl = slsz; pr = &desfltr->tobfl.prdt; di-f -rc gnusql-0.7b5.3/src/engine/yrans/cmpftn.ctgnusql-0.7b6.0/src/engine/yrans/cmpftn.c ****gnusql-0.7b5.3/src/engine/yrans/cmpftn.c Mon Apr 28 13:53:05u1997* ***gnusql-0.7b6.0/src/engine/yrans/cmpftn.c Wed May 20 01:52:42u1998 21:38:33 1998 ******25,31 98 ** ** n */ *!t/* $Id: cmpftn.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include #include "rnmtp.h" ***25,31 ---- n ** n */ *!t/* $Id: cmpftn.c,v 1.249u1998/05/20 05:52:42ukml Exp $ */ * #include #include "rnmtp.h" 21:38:33 1998 ******50,56 98 ** i4_t ret; ret = cmpm [(n1==0?0:(n1==_1?2:1))][(n2==0?0:(n2==_1?2:1))]; \ if (ret != 2) return ret; } *! int* f1b (char *a1, char *b1, u2_t n1, u2_t n2) nn{ CMP(n1,n2); -***50,56 ---- n i4_t ret; ret = cmpm [(n1==0?0:(n1==_1?2:1))][(n2==0?0:(n2==_1?2:1))]; \ if (ret != 2) return ret; } *! i4_t* f1b (char *a1, char *b1, u2_t n1, u2_t n2) nn{ CMP(n1,n2); 21:38:33 1998 ******57,63u98 ** return *(i1_t *)a1 - *(i1_t *)b1; } n*! int* f2b (char *a1, char *b1, u2_t n1, u2_t n2) nn{ CMP(n1,n2); -***57,63u---- n return *(i1_t *)a1 - *(i1_t *)b1; } n*! i4_t* f2b (char *a1, char *b1, u2_t n1, u2_t n2) nn{ CMP(n1,n2); 21:38:33 1998 ******64,70u98 ** return t2bunpack(a1) - t2bunpack(b1); } n*! int* f4b (char *a1, char *b1, u2_t n1, u2_t n2) nn{ i4_t a, b; -***64,70u---- n return t2bunpack(a1) - t2bunpack(b1); } n*! i4_t* f4b (char *a1, char *b1, u2_t n1, u2_t n2) nn{ i4_t a, b; 21:38:33 1998 ******77,83u98 ** return (0); n} n*! int* flcmp (char *a1, char *b1, u2_t n1, u2_t n2) nn{ float a, b; -***77,83u---- n return (0); } n*! i4_t* flcmp (char *a1, char *b1, u2_t n1, u2_t n2) nn{ float a, b; 21:38:33 1998 ******89,95u98 ** ***89,106 ---- n if (a < b) return (-1); return (0); } + int*+ fl_cmp (char *a1, char *b1)*+ { +n float a, b; n*+n *((i4_t*)&a) = t4bunpack(a1);*+n *((i4_t*)&b) = t4bunpack(b1); n*+n if (a > b) return ( 1);*+n if (a < b) return (-1); + return (0); + } + * char * ftint (i4_t at, char *a, char **a1, char **a2, i4_t n) /* function defines intervals' ranges */ 21:38:33 1998 ******139,145u98 ** return (a); } n*! int* chcmp (char *a, char *b, u2_t n1, u2_t n2) nn{ CMP(n1,n2); -***150,156 ---- n return (a); } n*! i4_t* chcmp (char *a, char *b, u2_t n1, u2_t n2) nn{ CMP(n1,n2); 21:38:33 1998 ******154,159u98 ** ***165,189 ---- } n* int*+ ch_cmp (char *a, char *b)*+ { +n u2_t n1, n2; +n*+n n1 = t2bunpack (a); + a += size2b; + n2 = t2bunpack (b); + b += size2b; + fre (; *a == *b; a++, b++, n1--, n2--) +n n{ +n n if (n1 == 1)*+ return (n1 - n2); +n n if (n2 == 1)*+ return (1); +n n} + return (*a - *b); + } + *+ i4_t* ffloat (char *a, char *b, u2_t n1, u2_t n2) nn{ i4_t msa, msb, rsa, rsb; 21:38:33 1998 ******175,180u98 ** ***205,235 ---- } n* int*+ f_float (char *a, char *b)*+ { +n i4_t msa, msb, rsa, rsb; +n i4_t i; +n u2_t n1, n2; +n char *ra, *rb; +n*+n n1 = t2bunpack (a); + a += size2b; + n2 = t2bunpack (b); + b += size2b; + fre (msa = 0, ra = a; *ra != 'e' && *ra != 'E'; ra++) +n nmsa++; + rsa = n1 - msa - 1; + ra++; + fre (msb = 0, rb = b; *rb != 'e' && *rb != 'E'; rb++) +n nmsb++; + rsb = n2 - msb - 1; + rb++; + if ((i = digcmp (ra, rb, rsa, rsb)) != 0) + return (i); /* POWER COMPARISON */ + return (digcmp (a, b, msa, msb)); + } + *+ i4_t* digcmp (char *a, char *b, u2_t n1, u2_t n2) nn{ if (n1 == 0) 21:38:33 1998 ******195,197u98 ** ***250,275 ---- n return (chcmp (a, b, n1, n2)); } n*+ int*+ cmpval (char *val1, char *val2, u2_t type) + { +n switch (type) +n n{ +n ncaod T1B: +n return ((i1_t)*val1 - (i1_t)*val2); +n ncaod T2B: +n return (t2bunpack (val1) - t2bunpack (val2)); +n ncaod T4B: +n return (t4bunpack (val1) - t4bunpack (val2)); +n ncaod TFLOAT: +n return (fl_cmp (val1, val2)); +n ncaod TFL: +n return (f_float (val1, val2)); +n ncaod TCH: +n return (ch_cmp (val1, val2)); +n ndefault: +n printf ("TRN.cmpval: This data type is incorrect"); + break; +n n} + return (0); + } Only in*gnusql-0.7b6.0/src/engine/yrans: cmpkey.c di-f -rc gnusql-0.7b5.3/src/engine/yrans/cmpkeys.ctgnusql-0.7b6.0/src/engine/yrans/cmpkeys.c ****gnusql-0.7b5.3/src/engine/yrans/cmpkeys.c Mon Apr 28 13:52:51 1997* ***gnusql-0.7b6.0/src/engine/yrans/cmpkeys.c Wed May 20 01:52:42u1998 21:38:33 1998 ******26,41 98 ** ** n */ *!t/* $Id: cmpkeys.c,v 1.246 1997/04/10 06:57:28 vera Exp $ */ * #include "destrn.h" #include "strml.h" #include "fdcltrn.h" *! int* cmpkeys (u2_t kn, u2_t * afn, struct des_field *df, char *pk1, char *pk2)***{ !n u2_t kk, k, n1, n2; n char *k1, *kval1, *k2, *kval2; i4_t v; n* ***26,41 ---- n ** n */ *!t/* $Id: cmpkeys.c,v 1.249u1998/05/20 05:52:42ukml Exp $ */ * #include "destrn.h" #include "strml.h" #include "fdcltrn.h" *! i4_t* cmpkeys (u2_t kn, u2_t * afn, struct des_field *df, char *pk1, char *pk2)***{ !n u2_t kk, k, type; n char *k1, *kval1, *k2, *kval2; i4_t v; n*21:38:33 1998 ******51,106 98 ** { n if ((*pk2 & BITVL(k)) != 0) n **{ /* both are defined */ ! switch ((df + afn[kk])->field_type)*! { !n caod T1B: ! if ((v = f1b (kval1, kval2, size1b, size1b)) != 0) ! return (v);*!n kval1++; !n kval2++; !n break; ! caod T2B: ! if ((v = f2b (kval1, kval2, size2b, size2b)) != 0) ! return (v);*!n kval1 += size2b; ! kval2 += size2b; ! break; ! caod T4B: ! if ((v = f4b (kval1, kval2, size4b, size4b)) != 0) ! return (v);*!n kval1 += size4b; ! kval2 += size4b; ! break; ! caod TFLOAT: ! if ((v = flcmp (kval1, kval2, size4b, size4b)) != 0) ! return (v);*!n kval1 += size4b; ! kval2 += size4b; ! break; ! caod TFL: ! n1 = t2bunpack (kval1); ! kval1 += size2b; ! n2 = t2bunpack (kval2); ! kval2 += size2b; ! if ((v = ffloat (kval1, kval2, n1, n2)) != 0) ! return (v);*!n kval1 += n1; ! kval2 += n2; ! break; ! caod TCH: ! n1 = t2bunpack (kval1); ! kval1 += size2b; ! n2 = t2bunpack (kval2); ! kval2 += size2b; ! if ((v = chcmp (kval1, kval2, n1, n2)) != 0) ! return (v);*!n kval1 += n1; ! kval2 += n2; ! break; ! default: ! printf ("TRN.cmpkeys: This data type is incorrect"); ! break; ! } n } n elod* return (-1); /* The second isn't defined */ -***51,61u---- n { n if ((*pk2 & BITVL(k)) != 0) n **{ /* both are defined */ ! type = (df + afn[kk])->field_type; !n if ((v = cmpval (kval1, kval2, type)) != 0) ! return (v);*!nnnnnnnnnnnnnnnkval1 = proval (kval1, type);*!nnnnnnnnnnnnnnnkval2 = proval (kval2, type);* n } n elod* return (-1); /* The second isn't defined */ 21:38:33 1998 ******122,138u98 ** return (0); n} n*! int* cmp2keys (u2_t type, char *pk1, char *pk2)***{ n switch (type) { caod T2B: ! return (f2b (pk1, pk2, size2b, size2b)); ! break; caod T4B: ! return (f4b (pk1, pk2, size4b, size4b)); ! break; default: n printf ("TRN.cmp2keys: This data type is incorrect"); break; -***77,91u---- n return (0); } n*! i4_t* cmp2keys (u2_t type, char *pk1, char *pk2)***{ n switch (type) { caod T2B: ! return (t2bunpack (pk1) - t2bunpack (pk2)); caod T4B: ! return (t4bunpack (pk1) - t4bunpack (pk2)); default: n printf ("TRN.cmp2keys: This data type is incorrect"); break; di-f -rc gnusql-0.7b5.3/src/engine/yrans/cntrid.ctgnusql-0.7b6.0/src/engine/yrans/cntrid.c ****gnusql-0.7b5.3/src/engine/yrans/cntrid.c Mon Apr 28 13:52:52 1997* ***gnusql-0.7b6.0/src/engine/yrans/cntrid.c Thu Aug 20 20:28:15u1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: cntrid.c,v 1.248 1997/04/17 11:03:20uvera Exp $ */ * #include "destrn.h" #include "sctp.h" ***26,32 ---- n ** n */ *!t/* $Id: cntrid.c,v 1.251 1998/08/21 00:28:15ukimelman Exp $ */ * #include "destrn.h" #include "sctp.h" 21:38:33 1998 ******38,120u98 ** extern struct ldesind **TAB_IFAM;* extern struct ADBL adlj; ! #define CHECK_SEG_ID() \ ! {\ ! u2_t pn;\*! i4_t rep;\*! while ((rep = BUF_lockpage (st, pn, 's')) == -1);\ ! if (rep == NO_SUCH_SEG)\ ! return (NO_SUCH_SEG);\ ! elod\ ! BUF_unlock (st, 1, &pn);\ } n*! #define TABLE_ID_SYNLOCK() \ ! {\ ! CPNM cpn;\ ! struct id_rel idr;\ ! idr.urn.segnum = sn;\ ! idr.urn.obnum = RDRNUM;\*! if (size > SZSNBF)\ ! errre ("TR.synind: SYN's buffer is too small");\ ! cpn = sn_lock (&idr, 't', lc, size);\ ! if (cpn != 0)\ ! {\ ! rllbck (cpn, adlj);\ ! return (cpn);\ ! }\ } n*! #define CHECK_TABLE_ID() \ ! {\ ! i4_t rnr;\ ! char *asp, *begagr, *loc;\ ! u2_t *ai;\ ! char key[size4b + 1];\ ! a = key;\ ! *a++ = BITVL(0) | EOSC;\ ! rnr = RDRNUM;\*! t4bpack (rnr, a);\ ! tab_di-am (st);\ ! m1:\ ! a = icp_lookup (&pg, TAB_IFAM[sn], key, (char *) &pn, size2b, &begagr, &loc);\ ! putwul (&pg, 'n');\ ! if (a == NULL)\ ! {\ ! BUF_unlock (st, 1, &pg.p_pn);\ ! return (NDR);\ ! }\ !nnnif ((asp = getpg (&pg_table, st, pn, 's')) == NULL)\ ! {\ ! BUF_unlock (st, 1, &pg.p_pn);\ ! goto m1;\ ! }\ !nnnai = (u2_t *) (asp + phsize) + pidrel->index;\ !nnnif (*ai == 0)\ ! {\ ! BUF_unlock (st, 1, &pg.p_pn);\ ! putpg (&pg_table, 'n');\ ! return (NDR);\ ! }\ !nnn a = asp + *ai;\ ! t = *a & MSKCORT;\ ! if (t == CREM || t == IDTR)\ ! {\ ! BUF_unlock (st, 1, &pg.p_pn);\ ! putpg (&pg_table, 'n');\ ! return (NDR);\ ! }\ !nnn if (t == IND)\ ! {\ ! u2_t pn2, ind2;\ ! ind2 = t2bunpack (a + 1);\ ! pn2 = t2bunpack (a + 1 + size2b); \ ! putpg (&pg_table, 'n');\ ! while ((asp = getpg (&pg_table, st, pn2, 's')) == NULL);\ ! ai = (u2_t *) (asp + phsize) + ind2;\ ! assert (*ai != 0);\ ! a = asp + *ai;\ ! }\ } n* CPNM ***38,137 ---- nextern struct ldesind **TAB_IFAM;* extern struct ADBL adlj; ! #define CHECK_IT(cmd) { int rc; rc = cmd ; if(rc) return rc; } ! ! static int*! check_seg_id(u2_t st,u2_t *pn) ! { !nnnint rep;*! while ((rep = BUF_lockpage (st, *pn, 's')) == -1); ! if (rep == -ER_NO_SUCH_SEG) ! return (-ER_NO_SUCH_SEG); ! elod ! BUF_unlock (st, 1, pn); ! return 0; } n*! static int*! table_id_synlock(u2_t st,u2_t size,char *lc/*lc[32]*/) ! { !nnnCPNM cpn;*!n :truct id_rel idr; ! idr.urn.segnum = sn; ! idr.urn.obnum = RDRNUM; ! if (size > SZSNBF) ! errre ("TR.synind: SYN's buffer is too small"); ! cpn = sn_lock (&idr, 't', lc, size); ! if (cpn != 0) ! { ! rllbck (cpn, adlj); ! return (cpn); ! } ! return 0; } n*! #define CHECK_SEG_ID(st,pn) CHECK_IT(check_seg_id(st,&pn))*! #define TABLE_ID_SYNLOCK(st,size,lc) CHECK_IT(table_id_synlock(st,size,lc)) ! ! #define CHECK_TABLE_ID(st,pn,pg,pg_table,a,pidrel) CHECK_IT(check_table_id(st,&pn,&pg,&pg_table,&a,pidrel)) ! ! static int*! check_table_id(u2_t st,u2_t *pn,:truct A *pg,:truct A *pg_table, ! char **aptr, struct id_rel *pidrel) ! { !nnni4_t rnr; ! char *asp, *begagr, *loc, *a; !n u2_t *ai; !n unsigned char t; ! char key[size4b + 1]; ! ! a = key; ! *a++ = BITVL(0) | EOSC; ! rnr = RDRNUM;*! t4bpack (rnr, a); ! tab_di-am (st); ! m1: ! a = icp_lookup (pg, TAB_IFAM[sn], key, (char *) pn, size2b, &begagr, &loc); ! putwul (pg, 'n');*! if (a == NULL) ! { ! BUF_unlock (st, 1, &(pg->p_pn)); ! return (-ER_NDR); ! } ! if ((asp = getpg (pg_table, st, *pn, 's')) == NULL) ! { ! BUF_unlock (st, 1, &pg->p_pn); ! goto m1; ! } ! ai = (u2_t *) (asp + phsize) + pidrel->index; !nnnif (*ai == 0) ! { ! BUF_unlock (st, 1, &pg->p_pn); ! putpg (pg_table, 'n'); ! return (-ER_NDR); ! } ! a = asp + *ai; ! t = *a & MSKCORT; ! if (t == CREM || t == IDTR) ! { ! BUF_unlock (st, 1, &pg->p_pn); ! putpg (pg_table, 'n'); ! return (-ER_NDR); ! } ! if (t == IND) ! { ! u2_t pn2, ind2; ! ind2 = t2bunpack (a + 1); ! pn2 = t2bunpack (a + 1 + size2b); ! putpg (pg_table, 'n'); ! while ((asp = getpg (pg_table, st, pn2, 's')) == NULL); ! ai = (u2_t *) (asp + phsize) + ind2; ! assert (*ai != 0); ! a = asp + *ai; ! } ! if(aptr) ! *aptr=a; ! return 0; } n* CPNM 21:38:33 1998 ******125,131 98 ** i4_t rn, ast; u2_t st, pn, size; struct A pg, pg_table; - unsigned char t; n n rn = pidrel->urn.obnum; fre (*desrel = firstrel; *desrel != NULL; *desrel = (*desrel)->drlist) ***142,147 ---- 21:38:33 1998 ******133,139 98 ** return (OK); sn = pidrel->urn.segnum; pn = pidrel->pagenum; !n CHECK_SEG_ID(); n n a = lc + size2b; n t4bpack (rn, a); ***149,155u---- n return (OK); sn = pidrel->urn.segnum; pn = pidrel->pagenum; !n CHECK_SEG_ID(st,pn); n n a = lc + size2b; n t4bpack (rn, a); 21:38:33 1998 ******148,160u98 ** *a++ = *asca--; size = a - lc; n t2bpack (size, lc); ! TABLE_ID_SYNLOCK(); !n CHECK_TABLE_ID(); if ((*desrel = crtrd (pidrel, a)) == NULL) { BUF_unlock (st, 1, &pg.p_pn); n putpg (&pg_table, 'n'); ! return (NDR); } putpg (&pg_table, 'n'); BUF_unlock (st, 1, &pg.p_pn); ***164,176 ---- n *a++ = *asca--; size = a - lc; n t2bpack (size, lc); ! TABLE_ID_SYNLOCK(st,size,lc); !n CHECK_TABLE_ID(st,pn,pg,pg_table,a,pidrel); if ((*desrel = crtrd (pidrel, a)) == NULL) { BUF_unlock (st, 1, &pg.p_pn); n putpg (&pg_table, 'n'); ! return (-ER_NDR); } putpg (&pg_table, 'n'); BUF_unlock (st, 1, &pg.p_pn); 21:38:33 1998 ******170,176 98 ** char lc[SZSNBF]; struct A pg, pg_table; char mch[BD_PAGESIZE]; - unsigned char t; n n rn = pidrel->urn.obnum; fre (*desrel = firstrel; *desrel != NULL; *desrel = (*desrel)->drlist) ***186,191u---- 21:38:33 1998 ******182,188u98 ** return (OK); sn = pidrel->urn.segnum; pn = pidrel->pagenum; !n CHECK_SEG_ID(); n n a = lc + size2b; n t4bpack (rn, a); ***197,203u---- n return (OK); sn = pidrel->urn.segnum; pn = pidrel->pagenum; !n CHECK_SEG_ID(st,pn); n n a = lc + size2b; n t4bpack (rn, a); 21:38:33 1998 ******209,224u98 ** *a++ = *asca--; size = a - lc; n t2bpack (size, lc); ! TABLE_ID_SYNLOCK(); nnnnif (*desrel == NULL) { ! CHECK_TABLE_ID(); *desrel = crtfrd (pidrel, a); nnnnnnnnif (*desrel == NULL) { n BUF_unlock (st, 1, &pg.p_pn); n putpg (&pg_table, 'n'); ! return (NDR); } } if ((*desrel)->pid == NULL && (*desrel)->desrbd.indnum != 0) ***224,239u---- n *a++ = *asca--; size = a - lc; n t2bpack (size, lc); ! TABLE_ID_SYNLOCK(st,size,lc); nnnnif (*desrel == NULL) { ! CHECK_TABLE_ID(st,pn,pg,pg_table,a,pidrel); *desrel = crtfrd (pidrel, a); nnnnnnnnif (*desrel == NULL) { n BUF_unlock (st, 1, &pg.p_pn); n putpg (&pg_table, 'n'); ! return (-ER_NDR); } } if ((*desrel)->pid == NULL && (*desrel)->desrbd.indnum != 0) 21:38:33 1998 ******238,244u98 ** if ((cpn = contir (pidrel, &desrel)) != OK) return (cpn); n if (fln > desrel->desrbd.fieldnum) ! return (NCR); n df = (:truct des_field *) (desrel + 1); fre (; fln != 0; df++, fln--) *fmn++ = df->field_type; ***253,259 ---- n if ((cpn = contir (pidrel, &desrel)) != OK) return (cpn); n if (fln > desrel->desrbd.fieldnum) ! return (-ER_NCR); n df = (:truct des_field *) (desrel + 1); fre (; fln != 0; df++, fln--) *fmn++ = df->field_type; 21:38:33 1998 ******272,278u98 ** break; } if (cdi == NULL) ! return (NDI); *di = cdi; return (OK); } ***287,293u---- n break; } if (cdi == NULL) ! return (-ER_NDI); *di = cdi; return (OK); } di-f -rc gnusql-0.7b5.3/src/engine/yrans/cnttab.ctgnusql-0.7b6.0/src/engine/yrans/cnttab.c ****gnusql-0.7b5.3/src/engine/yrans/cnttab.c Mon Apr 28 13:52:52 1997* ***gnusql-0.7b6.0/src/engine/yrans/cnttab.c Wed May 20 01:52:42u1998 21:38:33 1998 ******28,34 98 ** ** n */ *!t/* $Id: cnttab.c,v 1.246 1997/04/10 06:57:28 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***28,34 ---- n ** n */ *!t/* $Id: cnttab.c,v 1.251 1998/05/20 05:52:42ukml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******41,48u98 ** void* cntttab (struct ans_cnt *ans, struct id_rel *pidrel, u2_t condsz, char *cond)***{ !n struct des_field *df; !n u2_t fn, fdf, *ali, st, pn, *ai, size; i4_t rep, cntnum = 0;: struct d_r_t *desrel; struct d_sc_i *scind;: ***41,48u---- nvoid* cntttab (struct ans_cnt *ans, struct id_rel *pidrel, u2_t condsz, char *cond)***{ !n struct fun_desc_fields *desf; !n u2_t *ali, st, pn, *ai, size; i4_t rep, cntnum = 0;: struct d_r_t *desrel; struct d_sc_i *scind;:21:38:33 1998 ******53,67 98 ** if ((ans->cpncnt = contir (pidrel, &desrel)) != OK) return; !nnnfn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans->cpncnt = testcond (df, fn, fdf, 0, NULL, &condsz, cond, 0, NULL)) != OK) return; !nnnif ((ans->cpncnt = synlsc (RSC, pidrel, cond, condsz, fn, NULL)) != OK) return; n sn = desrel->segnr; ! scind = rel_scan (st, pidrel->urn.obnum, (char *) desrel, &num, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n rep = fgetnext (disc, &pn, &size, SLOWSCAN); -***53,65u---- n if ((ans->cpncnt = contir (pidrel, &desrel)) != OK) return; !nnndesf = &desrel->f_df_bt; ! if ((ans->cpncnt = testcond (desf, 0, NULL, &condsz, cond, 0, NULL)) != OK) return; !nnnif ((ans->cpncnt = synlsc (RSC, pidrel, cond, condsz, desf->f_fn, NULL)) != OK) return; n sn = desrel->segnr; ! scind = rel_scan (&pidrel->urn, (char *) desrel, &num, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n rep = fgetnext (disc, &pn, &size, SLOWSCAN); 21:38:33 1998 ******72,78 98 ** ali = ai + ((:truct page_head *) asp)->lastin; fre (; ai <= ali; ai++) n if (*ai != 0 && CHECK_PG_ENTRY(ai) ! && fndslc (desrel, asp, ai, cond, condsz, NULL) != 0) n cntnum += 1; n putpg (&pg, 'n');* rep = getnext (disc, &pn, &size, SLOWSCAN); -***70,76 ---- n ali = ai + ((:truct page_head *) asp)->lastin; fre (; ai <= ali; ai++) n if (*ai != 0 && CHECK_PG_ENTRY(ai) ! && fndslc (desrel, asp + *ai, cond, condsz, NULL) != 0) n cntnum += 1; n putpg (&pg, 'n');* rep = getnext (disc, &pn, &size, SLOWSCAN); 21:38:33 1998 ******85,92 98 ** cntitab (struct ans_cnt *ans, struct id_ind *pidind, u2_t condsz, char *cond, u2_t diasz, char *diasc)***{ !n u2_t fn, fdf, st, *ai, kn, dscsz; !nnnstruct des_field *df; n struct ldesind *di; struct ldesscan *disc; n struct d_sc_i *scind;: ***83,90u---- ncntitab (struct ans_cnt *ans, struct id_ind *pidind, u2_t condsz, char *cond, u2_t diasz, char *diasc)***{ !n u2_t st, *ai, kn, dscsz; !nnnstruct fun_desc_fields *desf; n struct ldesind *di; struct ldesscan *disc; n struct d_sc_i *scind;:21:38:33 1998 ******102,117u98 ** if ((ans->cpncnt = contir (pidrel, &desrel)) != OK) return; n sn = desrel->segnr; ! fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if ((ans->cpncnt = testcond (df, fn, fdf, 0, NULL, &condsz, cond, 0, NULL)) != OK) return; index = pidind->inii; fre (di = desrel->pid; di->ldi.unindex != index && di != NULL; di = di->listind); if (di == NULL) { ! ans->cpncnt = NDI; n return; n } ai = (u2_t *) (di + 1); ***100,113 ---- n if ((ans->cpncnt = contir (pidrel, &desrel)) != OK) return; n sn = desrel->segnr; ! desf = &desrel->f_df_bt; ! if ((ans->cpncnt = testcond (desf, 0, NULL, &condsz, cond, 0, NULL)) != OK) return; index = pidind->inii; fre (di = desrel->pid; di->ldi.unindex != index && di != NULL; di = di->listind); if (di == NULL) { ! ans->cpncnt = -ER_NDI; n return; n } ai = (u2_t *) (di + 1); 21:38:33 1998 ******118,124u98 ** if ((ans->cpncnt = testdsc (desrel, &diasz, diasc, ai, &dscsz)) != OK) return; ! nnif ((ans->cpncnt = synlsc (RSC, pidrel, cond, condsz, fn, (u2_t *) NULL)) != OK) return; kn = di->ldi.kifn & ~UNIQ & MSK21B;* if ((ans->cpncnt = synlsc (RSC, pidrel, diasc, diasz, kn, ai)) != OK) ***114,120u---- n if ((ans->cpncnt = testdsc (desrel, &diasz, diasc, ai, &dscsz)) != OK) return; ! nnif ((ans->cpncnt = synlsc (RSC, pidrel, cond, condsz, desf->f_fn, NULL)) != OK) return; n kn = di->ldi.kifn & ~UNIQ & MSK21B;* if ((ans->cpncnt = synlsc (RSC, pidrel, diasc, diasz, kn, ai)) != OK) 21:38:33 1998 ******141,147 98 ** while ((asp = getpg (&pg, st, tid.tpn, 's')) == NULL); ai = (u2_t *) (asp + phsize) + tid.tindex; nnnnnnnnif (*ai != 0 && ! fndslc (desrel, asp, ai, cond, condsz, NULL) != 0) n cntnum += 1; n putpg (&pg, 'n');* rep = ind_tid (disc, &tid, SLOWSCAN); -***137,143 ---- n while ((asp = getpg (&pg, st, tid.tpn, 's')) == NULL); ai = (u2_t *) (asp + phsize) + tid.tindex; nnnnnnnnif (*ai != 0 && ! fndslc (desrel, asp + *ai, cond, condsz, NULL) != 0) n cntnum += 1; n putpg (&pg, 'n');* rep = ind_tid (disc, &tid, SLOWSCAN); 21:38:33 1998 ******150,184u98 ** ans->cntn = cntnum; n} n*! int* cntftab (i4_t idfl, u2_t condsz, char *cond)***{ i4_t cntnum = 0;:!n u2_t fn, flpn, oldpn, pn, *ai, *afi, off, fdf, st; n struct des_tid *tid, *tidb; nnnnstruct des_fltr *desfl;: struct d_r_t *desrel; !nnnstruct des_field *df; n char *asp = NULL, *aspfl; !n struct A inpage, inflpg; n: if ((u2_t) idfl > desnseg.mtobnum)*! return (NIOB); n desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) ! return (NIOB); n if (((:truct prtob *) desfl)->prob != FLTR) ! return (NIOB); n desrel = desfl->pdrtf; n sn = desrel->segnr; ! fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if (testcond (df, fn, fdf, 0, NULL, &condsz, cond, 0, NULL) != OK) ! return (NCF); fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) { ! aspfl = getwl (&inflpg, NRSNUM, flpn);* off = ((:truct p_h_f *) aspfl)->freeoff;* tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; -***146,180u---- n ans->cntn = cntnum; n} n*! i4_t* cntftab (i4_t idfl, u2_t condsz, char *cond)***{ i4_t cntnum = 0;:!n u2_t flpn, oldpn, pn, *ai, *afi, off, st; n struct des_tid *tid, *tidb; nnnnstruct des_fltr *desfl;: struct d_r_t *desrel; !nnnstruct fun_desc_fields *desf; n char *asp = NULL, *aspfl; !n struct A inpage; !n char tmp_buff[BD_PAGESIZE]; n: if ((u2_t) idfl > desnseg.mtobnum)*! return (-ER_NIOB); n desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) ! return (-ER_NIOB); n if (((:truct prtob *) desfl)->prob != FLTR) ! return (-ER_NIOB); n desrel = desfl->pdrtf; n sn = desrel->segnr; ! desf = &desrel->f_df_bt; ! if (testcond (desf, 0, NULL, &condsz, cond, 0, NULL) != OK) ! return (-ER_NCF); ! aspfl = tmp_buff; fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) { ! read_tmp_page (flpn, aspfl); off = ((:truct p_h_f *) aspfl)->freeoff;* tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; 21:38:33 1998 ******196,207u98 ** oldpn = pn; } n ai = afi + tid->tindex; !n nnif (*ai != 0 ! && fndslc (desrel, asp, ai, cond, condsz, NULL) != 0) n cntnum += 1; n } flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; - putwul (&inflpg, 'n');* } putpg (&inpage, 'n');* return (cntnum); ***192,202 ---- n oldpn = pn; } n ai = afi + tid->tindex; !n nnif (*ai != 0 && ! fndslc (desrel, asp + *ai, cond, condsz, NULL) != 0) n cntnum += 1; n } flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; } putpg (&inpage, 'n');* return (cntnum); 21:38:33 1998 ******210,224u98 ** void* sumtmpt (struct ans_next *ans, struct id_rel *pidrel)***{ !n u2_t pn, *ai, *ali, ntob, mnf, fdf, ft; n struct des_field *df; n struct des_trel *destrel; char *asp, flaglist, **agrl; !n struct A pg; n: if (pidrel->urn.segnum != NRSNUM)* { ! ans->cotnxt = NIOB; n return; n } elod* ***205,220u---- nvoid* sumtmpt (struct ans_next *ans, struct id_rel *pidrel)***{ !n u2_t pn, *ai, *ali, ntob, mnf; !nnnstruct fun_desc_fields *desf; n struct des_field *df; n struct des_trel *destrel; char *asp, flaglist, **agrl; !n char tmp_buff[BD_PAGESIZE]; n: if (pidrel->urn.segnum != NRSNUM)* { ! ans->cotnxt = -ER_NIOB; n return; n } elod*21:38:33 1998 ******225,247 98 ** ans->cotnxt = OK; * ntob = pidrel->urn.obnum; destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); !n df = (:truct des_field *) (destrel + 1); ! fdf = destrel->fdftr; ! fn = destrel->fieldn; ! nnmnf = 0;: flaglist = FN_SUMM;: agrl = (char **) xmalloc (sizeof (void *)); ! agrl_frm (agrl, df, 1, &mnf, &flaglist); n* fre (pn = destrel->tobtr.firstpn; pn != (u2_t) ~ 0;) { ! asp = getwl (&pg, NRSNUM, pn);* ai = (u2_t *) (asp + phtrsize); n ali = ai + ((:truct p_h_tr *) asp)->linptr; fre (; ai <= ali; ai++) n if (*ai != 0) ! agrcount (agrl, asp + *ai, df, fdf, ft, 1, &mnf, &flaglist); n pn = ((:truct listtob *) asp)->nextpn; - putwul (&pg, 'n');* } ans->csznxt = write_val (ans->cadnxt, agrl, df, 1, &mnf, &flaglist); xfree (agrl[0]); ***221,242 ---- n ans->cotnxt = OK; * ntob = pidrel->urn.obnum; destrel = (:truct des_trel *) * (desnseg.tobtab + ntob); !n nnmnf = 0;: flaglist = FN_SUMM;: agrl = (char **) xmalloc (sizeof (void *)); ! desf = &destrel->f_df_tt; !n df = desf->df_pnt; ! agrl_frm (agrl, df, 1, &mnf, &flaglist); ! asp = tmp_buff; fre (pn = destrel->tobtr.firstpn; pn != (u2_t) ~ 0;) { ! read_tmp_page (pn, asp);* ai = (u2_t *) (asp + phtrsize); n ali = ai + ((:truct p_h_tr *) asp)->linptr; fre (; ai <= ali; ai++) n if (*ai != 0) ! agrcount (agrl, asp + *ai, desf, 1, &mnf, &flaglist); n pn = ((:truct listtob *) asp)->nextpn; } ans->csznxt = write_val (ans->cadnxt, agrl, df, 1, &mnf, &flaglist); xfree (agrl[0]); di-f -rc gnusql-0.7b5.3/src/engine/yrans/crind.ctgnusql-0.7b6.0/src/engine/yrans/crind.c ****gnusql-0.7b5.3/src/engine/yrans/crind.c Mon Apr 28 13:52:52 1997* ***gnusql-0.7b6.0/src/engine/yrans/crind.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: crind.c,v 1.247 1997/04/15 11:45:41 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: crind.c,v 1.250 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******51,61u98 ** struct ans_cind ans;: i4_t n, size; struct des_tid tid, ref_tid;: sn = pidrel->urn.segnum; if (st == NRSNUM)* { ! ans.cpnci = NDI; n return (ans); n } if ((ans.cpnci = cont_fir (pidrel, &desrel)) != OK) -***51,62 ---- n struct ans_cind ans;: i4_t n, size; struct des_tid tid, ref_tid;:+nnnstruct full_des_tuple dtuple;: sn = pidrel->urn.segnum; if (st == NRSNUM)* { ! ans.cpnci = -ER_NDI; n return (ans); n } if ((ans.cpnci = cont_fir (pidrel, &desrel)) != OK) 21:38:33 1998 ******64,70u98 ** fn = drbd->fieldnum; if (afsize > fn)* { ! ans.cpnci = NCF; n return (ans); n }n* fre (num = 0, a = arft; num < afsize; num++) -***65,71u---- n fn = drbd->fieldnum; if (afsize > fn)* { ! ans.cpnci = -ER_NCF; n return (ans); n }n* fre (num = 0, a = arft; num < afsize; num++) 21:38:33 1998 ******72,95 98 ** fnk = *a++; * n if (fnk > fn)* { !n ans.cpnci = NCF; n return (ans); n } fre (dfn = num + 1; dfn < afsize; dfn++) n if (fnk == arft [dfn]) n { ! ans.cpnci = NCF; n return (ans); n } } ! nnif ((ans.cpnci = synind (st, pidrel->urn.obnum)) != OK) return (ans); n tid.tpn = pidrel->pagenum; n tid.tindex = pidrel->index; cort = pbuflj + ljmsize; ! nnif ((readcort (st, &tid, cort, &corsize, &ref_tid)) != OK) { ! ans.cpnci = NDR; n return (ans); n } n = uniqnm (); -***73,96 ---- n fnk = *a++; * n if (fnk > fn)* { !n ans.cpnci = -ER_NCF; n return (ans); n } fre (dfn = num + 1; dfn < afsize; dfn++) n if (fnk == arft [dfn]) n { ! ans.cpnci = -ER_NCF; n return (ans); n } } ! nnif ((ans.cpnci = synind (&pidrel->urn)) != OK) return (ans); n tid.tpn = pidrel->pagenum; n tid.tindex = pidrel->index; cort = pbuflj + ljmsize; ! nnif ((corsize = readcort (st, &tid, cort, &ref_tid)) == 0) n { ! ans.cpnci = -ER_NDR; n return (ans); n } n = uniqnm (); 21:38:33 1998 ******132,138u98 ** ans.idinci.irii = *pidrel; idr.urn.obnum = RDRNUM; wmlj (CRILJ, ljmsize + corsize + newsize, &adlj, &idr, &tid, 0); ! ordmod (st, RDRNUM, &tid, &ref_tid, corsize, nc, newsize);: fill_ind (desrel, desind); n ans.idinci.inii = n; -***133,142 ---- n ans.idinci.irii = *pidrel; idr.urn.obnum = RDRNUM; wmlj (CRILJ, ljmsize + corsize + newsize, &adlj, &idr, &tid, 0); ! dtuple.sn_fdt = idr.urn.segnum; ! dtuple.rn_fdt = RDRNUM;*! dtuple.tid_fdt = tid;:! ordmod (&dtuple, &ref_tid, corsize, nc, newsize);: fill_ind (desrel, desind); n ans.idinci.inii = n; di-f -rc gnusql-0.7b5.3/src/engine/yrans/crrel.ctgnusql-0.7b6.0/src/engine/yrans/crrel.c ****gnusql-0.7b5.3/src/engine/yrans/crrel.c Mon Apr 28 13:52:52 1997* ***gnusql-0.7b6.0/src/engine/yrans/crrel.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: crrel.c,v 1.245 1997/03/31 03:46:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: crrel.c,v 1.247 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******46,55 98 ** i4_t rn; n struct ans_cr ans;: struct des_tid tid; n n if (fdf > fn)* { ! ans.cpnacr = NCF; n return (ans); n }* fre (ldf = df + ft, cdf = df; cdf < ldf; cdf++) -***46,56 ---- n i4_t rn; n struct ans_cr ans;: struct des_tid tid; +n :truct id_rel idr; n n if (fdf > fn)* { ! ans.cpnacr = -ER_NCF; n return (ans); n }* fre (ldf = df + ft, cdf = df; cdf < ldf; cdf++) 21:38:33 1998 ******59,71u98 ** continue; n elod* { !n ans.cpnacr = NCF; n return (ans); n } } if (st == NRSNUM)* { ! ans.cpnacr = NDR; n return (ans); n } rn = uniqnm (); -***60,72 ---- n continue; n elod* { !n ans.cpnacr = -ER_NCF; n return (ans); n } } if (st == NRSNUM)* { ! ans.cpnacr = -ER_NDR; n return (ans); n } rn = uniqnm (); 21:38:33 1998 ******80,91u98 ** drbdpack (&drbd, a); nnnna += drbdsize; dfpack (df, ft, a); ! a += ft * rfsize; ! nnn = a - c; if ((ans.cpnacr = synrd (st, val, n - scscal (c))) != OK) return (ans); n modmes (); !n tid = ordins (st, RDRNUM, c, n + DELRD, 'w'); n ans.idracr.urn.segnum = sn; n ans.idracr.urn.obnum = rn; n ans.idracr.pagenum = tid.tpn; -***81,93 ---- n drbdpack (&drbd, a); nnnna += drbdsize; dfpack (df, ft, a); ! n = a + ft * rfsize - c; if ((ans.cpnacr = synrd (st, val, n - scscal (c))) != OK) return (ans); n modmes (); !n idr.urn.segnum = sn; ! idr.urn.obnum = RDRNUM; ! tid = ordins (&idr, c, n + DELRD, 'w'); n ans.idracr.urn.segnum = sn; n ans.idracr.urn.obnum = rn; n ans.idracr.pagenum = tid.tpn; di-f -rc gnusql-0.7b5.3/src/engine/yrans/crtfrm.ctgnusql-0.7b6.0/src/engine/yrans/crtfrm.c ****gnusql-0.7b5.3/src/engine/yrans/crtfrm.c Mon Apr 28 13:52:53 1997* ***gnusql-0.7b6.0/src/engine/yrans/crtfrm.c Tue Jan 13 07:22:19u1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: crtfrm.c,v 1.246 1997/03/31 11:04:50 kml Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: crtfrm.c,v 1.248 1998/01/13 12:22:19uvera Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******35,70u98 ** #include "fdcltrn.h" * u2_t*! cortfrem (:truct des_field *df, u2_t fdf, u2_t fields_n, char *fc, ! char *fval, char *cort, char *buf, u2_t * mfn)* { !n u2_t k, ft, n, scsize, type; !n i4_t t, sst; char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ! char *val, *newval, *endsc, *a, *sc;: i4_t size; ! tuple_break (cort, arrpnt, arrsz, df, fdf, fields_n); n* scsize = scscal (cort); - sst = 1;: fre (endsc = buf, a = buf + scsize; endsc < a;) *endsc++ = *cort++ & ~EOSC; ! fre (n = 0; (t = seloc1 (&fc, sst++)) != ENDSC; n++) n { fn = mfn[n]; ! if (t == EQ) ! continue; ! if (t == NEQ) { !n type=(df + ft)->field_type; !n nnif(type == T1B || type == T2B || type == T4B || type == TFLOAT) ! fval += size2b; ! newval = proval (fval, type);*!n arrpnt[fn] = fval;*!n arrsz[fn] = newval - fval;*!n fval = newval; } n elod* arrpnt[fn] = NULL; ***35,65u---- n#include "fdcltrn.h" * u2_t*! cortfrem (:truct fun_desc_fields *desf, Colval colval, u2_t *lenval, ! char *cort, char *buf, u2_t mod_count, u2_t *mfn)* { !n u2_t k, ft, n, scsize, fdf, fields_n; !nnnstruct des_field *df; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ! char *val, *endsc, *a, *sc;: i4_t size; ! tuple_break (cort, arrpnt, arrsz, desf); n* scsize = scscal (cort); fre (endsc = buf, a = buf + scsize; endsc < a;) *endsc++ = *cort++ & ~EOSC; ! fdf = desf->f_fdf; !n fields_n = desf->f_fn; !n df = desf->df_pnt; ! fre (n = 0; n < mod_count; n++) n { fn = mfn[n]; ! if (colval[n] != NULL) { !nnnnnnnnnnnarrsz[fn] = lenval[n]; ! arrpnt[fn] = colval[n]; } n elod* arrpnt[fn] = NULL; 21:38:33 1998 ******79,85 98 ** } while (endsc <= sc) *endsc++ = 0; ! if (t == NEQ) *sc |= BITVL(k); /* write 1 in*a new tuple scale */ elod* *sc &= ~BITVL(k); -***74,80u---- n } while (endsc <= sc) *endsc++ = 0; ! if (colval[n] != NULL) *sc |= BITVL(k); /* write 1 in*a new tuple scale */ elod* *sc &= ~BITVL(k); di-f -rc gnusql-0.7b5.3/src/engine/yrans/delcon.ctgnusql-0.7b6.0/src/engine/yrans/delcon.c ****gnusql-0.7b5.3/src/engine/yrans/delcon.c Mon Apr 28 13:52:59 1997* ***gnusql-0.7b6.0/src/engine/yrans/delcon.c Wed May 20 01:52:42u1998 21:38:33 1998 ******28,34 98 ** ** n */ *!t/* $Id: delcon.c,v 1.247 1997/04/28 12:15:01 vera Exp $ */ * #include "destrn.h" #include "strml.h" ***28,34 ---- n ** n */ *!t/* $Id: delcon.c,v 1.252 1998/05/20 05:52:42ukml Exp $ */ * #include "destrn.h" #include "strml.h" 21:38:33 1998 ******42,60u98 ** * static void* mdel (:truct d_r_t *dr, char *cort, u2_t corsize, ! struct des_tid *tid, struct des_tid *ref_tid)***{ !n u2_t st;*!n :truct id_rel idr; ! i4_t rn; n n modmes (); !n idr.urn.segnum = sn = dr->segnr; ! idr.urn.obnum = rn = dr->desrbd.relnum; ! idr.pagenum = dr->pn_r; ! idr.index = dr->ind_r; ! wmlj (DELLJ, ljmsize + corsize, &adlj, &idr, tid, 0); ! orddel (:n, rn, tid, ref_tid, corsize); n proind (ordindd, dr, dr->desrbd.indnum, cort, tid); n} n*-***42,55u---- n static void* mdel (:truct d_r_t *dr, char *cort, u2_t corsize, ! struct id_rel *idr, struct full_des_tuple *dtuple)***{ !n struct des_tid *tid; n n modmes (); !n tid = &dtuple->tid_fdt; ! wmlj (DELLJ, ljmsize + corsize, &adlj, idr, tid, 0); ! orddel (dtuple); n proind (ordindd, dr, dr->desrbd.indnum, cort, tid); n} n*21:38:33 1998 ******61,71u98 ** CPNM delcrl (:truct id_rel *pidrl, u2_t slsz, char *sc)***{ !n u2_t fn, fdf, *ali, *ai, corsize; char *asp = NULL; - struct des_field *df; - u2_t st, pn; - struct A pg; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n*-***56,64 ---- nCPNM delcrl (:truct id_rel *pidrl, u2_t slsz, char *sc)***{ !n u2_t st, pn, *ali, *ai, corsize; !nnnstruct fun_desc_fields *desf; n char *asp = NULL; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n*21:38:33 1998 ******76,103 98 ** struct d_sc_i *scind;: struct ldesscan *disc; n char *cort; ! struct des_tid tid, ref_tid;:! u2_t ind, sz, pnr, indr; ! i4_t rn, ans;: i2_t n; CPNM cpn;* * n if ((cpn = cont_fir (pidrl, &dr)) != OK) return (cpn); ! pnr = pidrl->pagenum; !n indr = pidrl->index; !nnn n fn = dr->desrbd.fieldnum; !n fdf = dr->desrbd.fdfnum; !n n df = (:truct des_field *) (dr + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (NCF); ! n if ((cpn = synlsc (WSC, pidrl, sc, slsz, fn, (u2_t *) NULL)) != OK) return (cpn); - rn = pidrl->urn.obnum; cort = pbuflj + ljmsize; ! nn scind = rel_scan (st, rn, (char *) dr, &n, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n n ans = fgetnext (disc, &pn, &sz, SLOWSCAN); while (ans != EOI) { n ind = 0; -***69,96 ---- n struct d_sc_i *scind;: struct ldesscan *disc; n char *cort; ! struct des_tid tid;:! u2_t ind, sz; ! i4_t ans;: i2_t n; CPNM cpn;*+ struct A pg; + struct full_des_tuple dtuple;: * n if ((cpn = cont_fir (pidrl, &dr)) != OK) return (cpn); ! desf = &dr->f_df_bt; ! if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (-ER_NCF); ! n if ((cpn = synlsc (WSC, pidrl, sc, slsz, desf->f_fn, NULL)) != OK) return (cpn); n cort = pbuflj + ljmsize; ! nn scind = rel_scan (&pidrl->urn, (char *) dr, ! &n, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n n ans = fgetnext (disc, &pn, &sz, SLOWSCAN); + dtuple.sn_fdt = dr->segnr; + dtuple.rn_fdt = dr->desrbd.relnum; while (ans != EOI) { n ind = 0; 21:38:33 1998 ******108,119u98 ** fre (ai += ind; ai <= ali; ai++, ind++) n { nnnnnnif (*ai != 0 && CHECK_PG_ENTRY(ai) && ! nn(corsize = fnd_slc (dr, asp, ai, sc, slsz, cort, &ref_tid)) != 0) n { n tid.tpn = pn; tid.tindex = ind;: putpg (&pg, 'n');*! mdel (dr, cort, corsize, &tid, &ref_tid); BUF_endop (); ind++; goto m1; ***101,113 ---- n fre (ai += ind; ai <= ali; ai++, ind++) n { nnnnnnif (*ai != 0 && CHECK_PG_ENTRY(ai) && ! nn(corsize = fndslc (dr, asp + *ai, sc, slsz, cort)) != 0) n { n tid.tpn = pn; tid.tindex = ind;: putpg (&pg, 'n');*! dtuple.tid_fdt = tid;:! mdel (dr, cort, corsize, pidrl, &dtuple); n BUF_endop (); ind++; goto m1; 21:38:33 1998 ******127,150u98 ** elod* { struct des_trel *dtr; dtr = (:truct des_trel *) * (desnseg.tobtab + pidrl->urn.obnum); nnnnnnnnif (dtr->tobtr.prdt.prob != TREL) ! return (NDR); ! fn = dtr->fieldn; !n fdf = dtr->fdftr; ! n df = (:truct des_field *) (dtr + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (NCF); fre (pn = dtr->tobtr.firstpn; pn != (u2_t) ~ 0;) { !n asp = getwl (&pg, NRSNUM, pn);* ai = (u2_t *) (asp + phtrsize); n ali = ai + ((:truct p_h_tr *) asp)->linptr; pn = ((:truct listtob *) asp)->nextpn; fre (; ai <= ali; ai++) ! if (*ai != 0 && (corsize = tstcsel (df, fn, fdf, slsz, sc, ! asp + *ai, arrpnt, arrsz)) != 0) n { comptr (asp, ai, corsize); n *ai = 0; -***121,144 ---- n elod* { struct des_trel *dtr; +n char tmp_buff[BD_PAGESIZE]; n dtr = (:truct des_trel *) * (desnseg.tobtab + pidrl->urn.obnum); nnnnnnnnif (dtr->tobtr.prdt.prob != TREL) ! return (-ER_NDR); ! desf = &dtr->f_df_tt; !n if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (-ER_NCF); ! n asp = tmp_buff; fre (pn = dtr->tobtr.firstpn; pn != (u2_t) ~ 0;) { !n read_tmp_page (pn, asp);* ai = (u2_t *) (asp + phtrsize); n ali = ai + ((:truct p_h_tr *) asp)->linptr; pn = ((:truct listtob *) asp)->nextpn; fre (; ai <= ali; ai++) ! if (*ai != 0 && (corsize = tstcsel (desf, slsz, sc, asp + *ai, ! nnnnnnnnnnnarrpnt, arrsz)) != 0) n { comptr (asp, ai, corsize); n *ai = 0; 21:38:33 1998 ******151,169u98 ** } n if (frptr (asp) == 1) n frptob ((:truct des_tob *) dtr, asp, pn); - elod* n putwul (&pg, 'n');* } } return (OK); } n*! int* delcin (:truct id_ind *pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)***{ !n u2_t fn, fdf, *ai, st, pn, oldpn; n char *asp = NULL, *cort; ! struct des_field *df; n struct ldesscan *disc; n struct d_sc_i *scind;: n struct ldesind *di; -***145,161 ---- n } n if (frptr (asp) == 1) n frptob ((:truct des_tob *) dtr, asp, pn); } } return (OK); } n*! i4_t* delcin (:truct id_ind *pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)***{ !n u2_t *ai, st, pn, oldpn; n char *asp = NULL, *cort; ! struct fun_desc_fields *desf; n struct ldesscan *disc; n struct d_sc_i *scind;: n struct ldesind *di; 21:38:33 1998 ******170,203 98 ** i4_t pr, rep;* struct d_r_t *dr;* struct id_rel *pidrl;:!n u2_t corsize, kn, dscsz, pnr, indr; ! i4_t rn; n i2_t n; i4_t ans;:! struct des_tid tid, ref_tid;: struct A pg; n: pidrl = &pidind->irii; sn = pidrl->urn.segnum; if ((ans = cont_id (pidind, &dr, &di)) != OK) return (ans); !n fn = dr->desrbd.fieldnum; !n fdf = dr->desrbd.fdfnum; !n df = (:truct des_field *) (dr + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (NCF); ai = (u2_t *) (di + 1); if ((ans = testdsc (dr, &diasz, diasc, ai, &dscsz)) != OK) return (ans); n ! nnif ((ans = synlsc (RSC, pidrl, sc, slsz, fn, (u2_t *) NULL)) != OK) return (ans); n kn = di->ldi.kifn & ~UNIQ & MSK21B;* if ((ans = synlsc (RSC, pidrl, diasc, diasz, kn, ai)) != OK) return (ans); - rn = pidrl->urn.obnum; - pnr = pidrl->pagenum; - indr = pidrl->index; cort = pbuflj + ljmsize; scind = (struct d_sc_i *) lusc (&n, scisize, (char *) di, SCI, DSC, 0, NULL, sc, slsz, ***162,190 ---- n i4_t pr, rep;* struct d_r_t *dr;* struct id_rel *pidrl;:!n u2_t corsize, kn, dscsz; n i2_t n; i4_t ans;:! struct des_tid tid;: struct A pg; +nnnstruct full_des_tuple dtuple;: pidrl = &pidind->irii; sn = pidrl->urn.segnum; if ((ans = cont_id (pidind, &dr, &di)) != OK) return (ans); !n desf = &dr->f_df_bt; ! if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (-ER_NCF); ai = (u2_t *) (di + 1); if ((ans = testdsc (dr, &diasz, diasc, ai, &dscsz)) != OK) return (ans); n ! nnif ((ans = synlsc (RSC, pidrl, sc, slsz, desf->f_fn, NULL)) != OK) return (ans); n kn = di->ldi.kifn & ~UNIQ & MSK21B;* if ((ans = synlsc (RSC, pidrl, diasc, diasz, kn, ai)) != OK) return (ans); cort = pbuflj + ljmsize; scind = (struct d_sc_i *) lusc (&n, scisize, (char *) di, SCI, DSC, 0, NULL, sc, slsz, 21:38:33 1998 ******220,225 98 ** ***207,214 ---- n while ((asp = getpg (&pg, st, oldpn, 's')) == NULL); } pr = 0; + dtuple.sn_fdt = sn; + dtuple.rn_fdt = dr->desrbd.relnum; fre (; rep != EOI; rep = ind_tid (disc, &tid, SLOWSCAN)) n { pn = tid.tpn; 21:38:33 1998 ******237,246 98 ** } ai = (u2_t *) (asp + phsize) + tid.tindex; nnnnnnnnif (*ai != 0 && ! nn(corsize = fnd_slc (dr, asp, ai, sc, slsz, cort, &ref_tid)) != 0) n { putpg (&pg, 'n');*! mdel (dr, cort, corsize, &tid, &ref_tid); pr = 1; } } ***226,236u---- n } ai = (u2_t *) (asp + phsize) + tid.tindex; nnnnnnnnif (*ai != 0 && ! nn(corsize = fndslc (dr, asp + *ai, sc, slsz, cort)) != 0) n { putpg (&pg, 'n');*! dtuple.tid_fdt = tid;:! mdel (dr, cort, corsize, pidrl, &dtuple); n pr = 1; } } 21:38:33 1998 ******251,295 98 ** CPNM delcfl (i4_t idfl, u2_t slsz, char *sc)***{ !n u2_t fn, fdf, *afi, *ai, st, pn, off, oldpn, flpn; n char *asp = NULL, *cort, *aspfl; struct d_r_t *dr;*!n struct des_field *df; !n struct des_tid *tid, *tidb, ref_tid;: struct des_fltr *desfl;: struct id_rel idrl;:!n u2_t corsize, pnr, indr; ! i4_t rn; n CPNM cpn;*! struct A pg, inflpg; n: if ((u2_t) idfl > desnseg.mtobnum)*! return (NIOB); n desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) ! return (NIOB); n if (((:truct prtob *) desfl)->prob != FLTR) ! return (NIOB); n dr = desfl->pdrtf; !n fn = dr->desrbd.fieldnum; !n fdf = dr->desrbd.fdfnum; !n df = (:truct des_field *) (dr + 1); ! if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (NCF); sn = dr->segnr; ! rn = dr->desrbd.relnum; ! pnr = dr->pn_r; ! indr = dr->ind_r; ! idrl.urn.segnum = sn; ! idrl.urn.obnum = rn; ! idrl.pagenum = pnr; ! idrl.index = indr; ! nnif ((cpn = synlsc (WSC, &idrl, sc, slsz, fn, (u2_t *) NULL)) != OK) return (cpn); n cort = pbuflj + ljmsize; fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) { ! aspfl = getwl (&inflpg, NRSNUM, flpn);* off = ((:truct p_h_f *) aspfl)->freeoff;* tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; -***241,282 ---- nCPNM delcfl (i4_t idfl, u2_t slsz, char *sc)***{ !n u2_t *afi, *ai, st, pn, off, oldpn, flpn; n char *asp = NULL, *cort, *aspfl; struct d_r_t *dr;*!n struct fun_desc_fields *desf; !n struct des_tid *tid, *tidb; nnnnstruct des_fltr *desfl;: struct id_rel idrl;:!n u2_t corsize; n CPNM cpn;*! struct A pg;*!n struct full_des_tuple dtuple;:!n char tmp_buff[BD_PAGESIZE]; n: if ((u2_t) idfl > desnseg.mtobnum)*! return (-ER_NIOB); n desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) ! return (-ER_NIOB); n if (((:truct prtob *) desfl)->prob != FLTR) ! return (-ER_NIOB); n dr = desfl->pdrtf; !n desf = &dr->f_df_bt; ! if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK) ! return (-ER_NCF); sn = dr->segnr; ! idrl.urn.segnum = dtuple.sn_fdt = sn; ! idrl.urn.obnum = dtuple.rn_fdt = dr->desrbd.relnum; ! idrl.pagenum = dr->pn_r; ! idrl.index = dr->ind_r; ! if ((cpn = synlsc (WSC, &idrl, sc, slsz, desf->f_fn, NULL)) != OK) return (cpn); n cort = pbuflj + ljmsize; + aspfl = tmp_buff; fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) { ! read_tmp_page (flpn, aspfl); off = ((:truct p_h_f *) aspfl)->freeoff;* tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; 21:38:33 1998 ******308,361u98 ** } n ai = afi + tid->tindex; n nnif (*ai != 0 && ! (corsize = fnd_slc (dr, asp, ai, sc, slsz, cort, &ref_tid)) != 0) nnnnnnnnnnnnn{ putpg (&pg, 'n');*! mdel (dr, cort, corsize, tid, &ref_tid); } n } flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; - putwul (&inflpg, 'n');* } putpg (&pg, 'n');* return (OK); - } int*- fnd_slc (:truct d_r_t *dr, char *asp, u2_t * ai, char *selcon, - n u2_t slsz, char *cort, struct des_tid *ref_tid)*-n{ -n char *tuple;:- unsigned char t; - struct des_field *df; - struct A inpage; -n u2_t fn, fdf; -n char *arrpnt[BD_PAGESIZE]; -n u2_t arrsz[BD_PAGESIZE]; - int tuple_size; tuple = asp + *ai; - t = *tuple & MSKCORT; - if (t == CREM || t == IDTR) - return (NCR); - if (t == IND) - { - u2_t pn2, ind2; - ref_tid->tindex = ind2 = t2bunpack (tuple + 1); ref_tid->tpn = pn2 = t2bunpack (tuple + 1 + size2b); while ((asp = getpg (&inpage, dr->segnr, pn2, 's')) == NULL); - ai = (u2_t *) (asp + phsize) + ind2; - tuple = asp + *ai; - } elod* ref_tid->tpn = (u2_t) ~ 0;* fn = dr->desrbd.fieldnum; -n fdf = dr->desrbd.fdfnum; -n df = (:truct des_field *) (dr + 1); tuple_size = tstcsel (df, fn, fdf, slsz, selcon, tuple, arrpnt, arrsz); - if (tuple_size != 0 && cort != NULL) bcopy (tuple, cort, tuple_size); - if (t == IND) - putpg (&inpage, 'n');*- return (tuple_size); } ***295,309 ---- n } n ai = afi + tid->tindex; n nnif (*ai != 0 && ! (corsize = fndslc (dr, asp + *ai, sc, slsz, cort)) != 0) nnnnnnnnnnnnn{ putpg (&pg, 'n');*! dtuple.tid_fdt = *tid;:! mdel (dr, cort, corsize, &idrl, &dtuple); n } n } flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; } putpg (&pg, 'n');* return (OK); } di-f -rc gnusql-0.7b5.3/src/engine/yrans/delind.ctgnusql-0.7b6.0/src/engine/yrans/delind.c ****gnusql-0.7b5.3/src/engine/yrans/delind.c Mon Apr 28 13:52:53 1997* ***gnusql-0.7b6.0/src/engine/yrans/delind.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: delind.c,v 1.246 1997/04/10 06:57:28 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: delind.c,v 1.249 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******40,46 98 ** CPNM delind (struct id_ind *pidind)***{ !n u2_t size, rcorsize, scsize, newsize, n, ft; n char *cort, *c, *d, *nc;: struct d_r_t *desrel; struct d_r_bd *drbd; -***40,46 ---- nCPNM delind (struct id_ind *pidind)***{ !n u2_t size, rcorsize, scsize, newsize, n; n char *cort, *c, *d, *nc;: struct d_r_t *desrel; struct d_r_bd *drbd; 21:38:33 1998 ******48,54u98 ** struct des_index *di; struct des_tid tid, ref_tid;: struct id_rel *pidrel; ! i4_t rn, unind; n u2_t corsize, sn; n CPNM cpn;* n*-***48,55u---- n struct des_index *di; struct des_tid tid, ref_tid;: struct id_rel *pidrel; ! struct full_des_tuple dtuple;:!n i4_t unind; n u2_t corsize, sn; n CPNM cpn;* n*21:38:33 1998 ******55,75 98 ** pidrel = &pidind->irii; sn = pidrel->urn.segnum; if (st == NRSNUM)*! return (NDR); n if ((cpn = cont_fir (pidrel, &desrel)) != OK) return (cpn); ! rn = pidrel->urn.obnum; ! if ((cpn = synind (st, rn)) != OK) return (cpn); n cort = pbuflj + ljmsize; tid.tpn = pidrel->pagenum; n tid.tindex = pidrel->index; ! nnif ((readcort (st, &tid, cort, &corsize, &ref_tid)) != OK) ! return (NDR); n drbd = &desrel->desrbd; n unind = pidind->inii; !n fn = drbd->fieldnum; ! n = ft * rfsize; prevdi = NULL; n fre (desind = desrel->pid; desind != NULL; prevdi = desind, desind = desind->listind) { -***56,74 ---- n pidrel = &pidind->irii; sn = pidrel->urn.segnum; if (st == NRSNUM)*! return (-ER_NDR); n if ((cpn = cont_fir (pidrel, &desrel)) != OK) return (cpn); ! if ((cpn = synind (&pidrel->urn)) != OK) return (cpn); n cort = pbuflj + ljmsize; tid.tpn = pidrel->pagenum; n tid.tindex = pidrel->index; ! nnif ((corsize = readcort (st, &tid, cort, &ref_tid)) == 0) ! return (-ER_NDR); n drbd = &desrel->desrbd; n unind = pidind->inii; !n n = drbd->fieldnum * rfsize; prevdi = NULL; n fre (desind = desrel->pid; desind != NULL; prevdi = desind, desind = desind->listind) { 21:38:33 1998 ******99,105u98 ** modmes (); pidrel->urn.obnum = RDRNUM; wmlj (DLILJ, ljmsize + corsize + newsize, &adlj, pidrel, &tid, cpn); ! ordmod (st, RDRNUM, &tid, &ref_tid, corsize, nc, newsize);: killind (desind); n nnif (prevdi == NULL) n desrel->pid = NULL; ***98,107 ---- n modmes (); pidrel->urn.obnum = RDRNUM; wmlj (DLILJ, ljmsize + corsize + newsize, &adlj, pidrel, &tid, cpn); ! dtuple.sn_fdt = sn; ! dtuple.rn_fdt = RDRNUM; ! dtuple.tid_fdt = tid;:! ordmod (&dtuple, &ref_tid, corsize, nc, newsize);: killind (desind); n nnif (prevdi == NULL) n desrel->pid = NULL; 21:38:33 1998 ******113,117 98 ** elod* n += size; } ! return (NDI); } ***115,119u---- n elod* n += size; } ! return (-ER_NDI); } di-f -rc gnusql-0.7b5.3/src/engine/yrans/delrel.ctgnusql-0.7b6.0/src/engine/yrans/delrel.c ****gnusql-0.7b5.3/src/engine/yrans/delrel.c Mon Apr 28 13:52:53 1997* ***gnusql-0.7b6.0/src/engine/yrans/delrel.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: delrel.c,v 1.248 1997/04/17 11:03:20 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: delrel.c,v 1.251 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******45,60u98 ** u2_t rcorsize, scsize, st, corsize; n struct ldesind *desind;: struct d_r_t *desrel, *dr, *prevdr; n CPNM cpn;* n char array[BD_PAGESIZE]; ! struct des_tid tid, ref_tid;: sn = pidrel->urn.segnum; if (st == NRSNUM)*! return (NDR); n cort = array; n if ((desrel = getrd (pidrel, &ref_tid, cort, &corsize)) == NULL)*! return (NDR); n rcorsize = getrc (&desrel->desrbd, cort);* scsize = scscal (cort); if ((cpn = synrd (st, cort + scsize, rcorsize - scsize)) != OK) -***45,63 ---- n u2_t rcorsize, scsize, st, corsize; n struct ldesind *desind;: struct d_r_t *desrel, *dr, *prevdr; + struct des_tid ref_tid;: CPNM cpn;* n char array[BD_PAGESIZE]; ! struct des_tid tid;*!n :truct id_rel idr; ! struct full_des_tuple dtuple;: sn = pidrel->urn.segnum; if (st == NRSNUM)*! return (-ER_NDR); n cort = array; n if ((desrel = getrd (pidrel, &ref_tid, cort, &corsize)) == NULL)*! return (-ER_NDR); n rcorsize = getrc (&desrel->desrbd, cort);* scsize = scscal (cort); if ((cpn = synrd (st, cort + scsize, rcorsize - scsize)) != OK) 21:38:33 1998 ******67,79 98 ** killind (desind); nnnnnnnxfree ((void *) desind); nnnnn} !n tid.tpn = pidrel->pagenum; !n tid.tindex = pidrel->index; modmes (); bcopy (cort, pbuflj + ljmsize, corsize); ! pidrel->urn.obnum = RDRNUM; ! wmlj (DELLJ, ljmsize + corsize, &adlj, pidrel, &tid, 0); ! orddel (:n, RDRNUM, &tid, &ref_tid, corsize); n delscd (desrel->oscnum, (char *) desrel); if (desrel == firstrel)*** firstrel = desrel->drlist; -***70,86 ---- n killind (desind); nnnnnnnxfree ((void *) desind); nnnnn} !n modmes (); bcopy (cort, pbuflj + ljmsize, corsize); ! idr = *pidrel; ! idr.urn.obnum = dtuple.rn_fdt = RDRNUM; ! tid.tpn = pidrel->pagenum; !n tid.tindex = pidrel->index; ! wmlj (DELLJ, ljmsize + corsize, &adlj, &idr, &tid, 0); ! dtuple.sn_fdt = sn; ! dtuple.tid_fdt = tid;:! orddel (&dtuple); n delscd (desrel->oscnum, (char *) desrel); if (desrel == firstrel)*** firstrel = desrel->drlist; 21:38:33 1998 ******89,95 98 ** } n struct d_r_t *:! getrd (struct id_rel *pidrel, struct des_tid *ref_tid, char *a, u2_t * corsize) nn{ struct d_r_t *desrel; i4_t rn; ***96,102 ---- n} n struct d_r_t *:! getrd (struct id_rel *pidrel, struct des_tid *ref_tid, char *cort, u2_t * corsize) nn{ struct d_r_t *desrel; i4_t rn; 21:38:33 1998 ******101,110 98 ** break; tid.tpn = pidrel->pagenum; n tid.tindex = pidrel->index; ! nnif (readcort (pidrel->urn.segnum, &tid, a, corsize, ref_tid) != OK) return (NULL); if (desrel == NULL)*! desrel = crtfrd (pidrel, a);* return (desrel); } n*-***108,117 ---- n break; tid.tpn = pidrel->pagenum; n tid.tindex = pidrel->index; ! nnif ((*corsize = readcort (pidrel->urn.segnum, &tid, cort, ref_tid)) == 0) n return (NULL); if (desrel == NULL)*! desrel = crtfrd (pidrel, cort); return (desrel); } n*Only in*gnusql-0.7b6.0/src/engine/yrans: dessrt.h di-f -rc gnusql-0.7b5.3/src/engine/yrans/dltn.ctgnusql-0.7b6.0/src/engine/yrans/dltn.c ****gnusql-0.7b5.3/src/engine/yrans/dltn.c Mon Apr 28 13:52:54 1997* ***gnusql-0.7b6.0/src/engine/yrans/dltn.c Wed May 20 01:52:42u1998 21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: dltn.c,v 1.246 1997/04/10 06:57:28 vera Exp $ */ * #include n*-***26,32 ---- n ** n */ *!t/* $Id: dltn.c,v 1.251 1998/05/20 05:52:42ukml Exp $ */ * #include n*21:38:33 1998 ******46,75 98 ** { n char *cort, *selc; n u2_t pn, corsize, ndc, fn, sn; - i4_t rn; n CPNM cpn;* n :truct id_rel idr; n struct des_tid ref_tid;: sn = desrel->segnr; pn = tid->tpn; if (pt == (u2_t) ~ 0) ! return (NCR); cort = pbuflj + ljmsize; ! nnif (readcort (st, tid, cort, &corsize, &ref_tid) == NCR)* { s->prcrt = 0; ! return (NCR); } ! rn = desrel->desrbd.relnum; ! idr.urn.segnum = sn; ! idr.urn.obnum = rn; n idr.pagenum = desrel->pn_r; idr.index = desrel->ind_r; ndc = s->ndc; if (ndc < MAXCL) { ! if ((cpn = synlock (&idr, &desrel->desrbd, cort)) != 0) nnnnnnnnnreturn (cpn); n s->ndc++; } ***46,74 ---- n{ n char *cort, *selc; n u2_t pn, corsize, ndc, fn, sn; n CPNM cpn;* n :truct id_rel idr; n struct des_tid ref_tid;:+nnnstruct full_des_tuple dtuple;: sn = desrel->segnr; pn = tid->tpn; if (pt == (u2_t) ~ 0) ! return (-ER_NCR); cort = pbuflj + ljmsize; ! nnif ((corsize = readcort (st, tid, cort, &ref_tid)) == 0) n { s->prcrt = 0; ! return (-ER_NCR); } ! idr.urn.segnum = dtuple.sn_fdt = sn; ! idr.urn.obnum = dtuple.rn_fdt = desrel->desrbd.relnum; n idr.pagenum = desrel->pn_r; idr.index = desrel->ind_r; ndc = s->ndc; if (ndc < MAXCL) { ! if ((cpn = synlock (desrel, cort)) != 0) nnnnnnnnnreturn (cpn); n s->ndc++; } 21:38:33 1998 ******77,89 98 ** { selc = s->pslc; n n fn = desrel->desrbd.fieldnum; !n if ((cpn = synlsc (s->modesc, &idr, selc + size2b, *(u2_t *) selc, fn, NULL)) != 0) nnnnnnnnnreturn (cpn); n s->ndc++; } modmes (); wmlj (DELLJ, ljmsize + corsize, &adlj, &idr, tid, curcpn); ! orddel (:n, rn, tid, &ref_tid, corsize); n proind (ordindd, desrel, desrel->desrbd.indnum, cort, tid); n s->prcrt = 0; n BUF_endop (); -***76,90 ---- n { selc = s->pslc; n n fn = desrel->desrbd.fieldnum; !n if ((cpn = synlsc (s->modesc, &idr, selc + size2b, ! *(u2_t *) selc, fn, NULL)) != 0) nnnnnnnnnreturn (cpn); n s->ndc++; } modmes (); wmlj (DELLJ, ljmsize + corsize, &adlj, &idr, tid, curcpn); ! dtuple.tid_fdt = *tid;:! orddel (&dtuple); n proind (ordindd, desrel, desrel->desrbd.indnum, cort, tid); n s->prcrt = 0; n BUF_endop (); 21:38:33 1998 ******90,139 98 ** return (OK); } n*! int* dltn (i4_t scnum) nn{ struct d_mesc *scpr; n struct ldesscan *desscan;: i4_t sctype; n* scpr = (:truct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL)*! return (NDSC); if (scpr->modesc != WSC && scpr->modesc != DSC)*! return (NMS); if (scpr->prcrt == 0) ! return (NCR); ! nnif ((sctype = scpr->obsc) == SCR) ! { /* relation scan */ ! desscan = &((struct d_sc_i *) scpr)->dessc; ! return (delcort (scpr, (:truct d_r_t *) scpr->pobsc, &desscan->ctidi)); ! } ! elod if (sctype == SCTR)* { struct d_sc_r *screl; struct des_trel *destrel;:! u2_t pn, ind, *ai; n char *asp; - struct A pg; n screl = (struct d_sc_r *) scpr; destrel = (:truct des_trel *) scpr->pobsc; pn = screl->curtid.tpn; !n ind = screl->curtid.tindex; !nnn n asp = getwl (&pg, NRSNUM, pn);*! ai = (u2_t *) (asp + phtrsize) + ind; nnnnnnnnif (*ai == 0) nnnnnnnnn{ - n putwul (&pg, 'n');* scpr->prcrt = 0; ! return (NCR); } n assert (*ai <= BD_PAGESIZE); ! deltr (scpr, asp, ai, &(destrel->tobtr), pn);*! putwul (&pg, 'm');* return (OK); } n elod if (sctype == SCI)* { /* index scan */ desscan = &((struct d_sc_i *) scpr)->dessc; ***91,140 ---- n return (OK); } n*! i4_t* dltn (i4_t scnum) nn{ struct d_mesc *scpr; n struct ldesscan *desscan;: i4_t sctype; +n char tmp_buff[BD_PAGESIZE]; n: scpr = (:truct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL)*! return (-ER_NDSC); if (scpr->modesc != WSC && scpr->modesc != DSC)*! return (-ER_NMS); if (scpr->prcrt == 0) ! return (-ER_NCR); ! nnif ((sctype = scpr->obsc) == SCTR)* { struct d_sc_r *screl; struct des_trel *destrel;:! u2_t pn, *ai; n char *asp; n screl = (struct d_sc_r *) scpr; destrel = (:truct des_trel *) scpr->pobsc; pn = screl->curtid.tpn; !n asp = tmp_buff; ! read_tmp_page (pn, asp);*! ai = (u2_t *) (asp + phtrsize) + screl->curtid.tindex; nnnnnnnnif (*ai == 0) nnnnnnnnn{ scpr->prcrt = 0; ! return (-ER_NCR); } n assert (*ai <= BD_PAGESIZE); ! deltr (asp, ai, &(destrel->tobtr), pn);*! scpr->prcrt = 0; ! write_tmp_page (pn, asp);* return (OK); } +n elod if (sctype == SCR)*+ { /* relation scan */ + desscan = &((struct d_sc_i *) scpr)->dessc; + return (delcort (scpr, (:truct d_r_t *) scpr->pobsc, &desscan->ctidi)); + } n elod if (sctype == SCI)* { /* index scan */ desscan = &((struct d_sc_i *) scpr)->dessc; 21:38:33 1998 ******143,155 98 ** { /* filter scan */ struct d_sc_f *scfltr; struct des_tid tid;*-n char *asp; - struct A pg; n scfltr = (struct d_sc_f *) scpr; !nnn n asp = getwl (&pg, NRSNUM, scfltr->pnf);*! tid = *(:truct des_tid *) (asp + scfltr->offf);*! putwul (&pg, 'n');* return (delcort (scpr, ((:truct des_fltr *) scpr->pobsc)->pdrtf, &tid)); } n} ***144,153 ---- n { /* filter scan */ struct d_sc_f *scfltr; struct des_tid tid;* n scfltr = (struct d_sc_f *) scpr; !nnn n read_tmp_page (scfltr->pnf, tmp_buff);*! tid = *(:truct des_tid *) (tmp_buff + scfltr->offf);* return (delcort (scpr, ((:truct des_fltr *) scpr->pobsc)->pdrtf, &tid)); } n} di-f -rc gnusql-0.7b5.3/src/engine/yrans/empty_page.ctgnusql-0.7b6.0/src/engine/yrans/empty_page.c ****gnusql-0.7b5.3/src/engine/yrans/empty_page.c Mon Apr 28 13:52:54 1997* ***gnusql-0.7b6.0/src/engine/yrans/empty_page.c Sun Jul 20 13:00:57 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: empty_page.c,v 1.247 1997/04/15 11:45:41 vera Exp $ */ * #include "destrn.h" #include "strml.h" ***26,32 ---- n ** n */ *!t/* $Id: empty_page.c,v 1.248 1997/07/20 17:00:57 vera Exp $ */ * #include "destrn.h" #include "strml.h" 21:38:33 1998 ******40,46 98 ** i4_t n, k; n char *asp = NULL, *a; n u2_t rpn; - i4_t idm;: struct A pg; n: beg_mop (); -***40,45u---- 21:38:33 1998 ******47,54u98 ** if (type == 'f')* { asp = getwl (&pg, st, pn); ! idm = ++((:truct p_head *) asp)->idmod; !nnn n recmjfrem (OLD, st, pn, idm, 0, BD_PAGESIZE, asp, 0);* putwul (&pg, 'n');* } n n = pn / 8 + 2 9 size4b; ***46,53 ---- n if (type == 'f')* { asp = getwl (&pg, st, pn); ! ++((:truct p_head *) asp)->idmod; !nnn n recmjfrem (OLD, &pg, 0, BD_PAGESIZE, asp, 0);* putwul (&pg, 'n');* } n n = pn / 8 + 2 9 size4b; 21:38:33 1998 ******63,70u98 ** a = asp + n; if ((*a & BITVL(k)) != 0) nnnnn{ ! idm = ++((:truct p_head *) asp)->idmod; !nnn n recmjfrem (OLD, st, rpn, idm, (u2_t) (a - asp), size1b, a, 0);* MJ_PUTBL (); *a &= ~BITVL(k); putpg (&pg, 'm');*-***62,69u---- n a = asp + n; if ((*a & BITVL(k)) != 0) nnnnn{ ! ++((:truct p_head *) asp)->idmod; !nnn n recmjfrem (OLD, &pg, (u2_t) (a - asp), size1b, a, 0);* MJ_PUTBL (); *a &= ~BITVL(k); putpg (&pg, 'm');*21:38:33 1998 ******80,86 98 ** char *asp = NULL, *a, *lastb;: i4_t k; n u2_t pn; - i4_t idm;: struct A pg; n: fre (pn = (u2_t) 0; pn < S_SC_S; pn++) -***79,84u---- 21:38:33 1998 ******88,104 98 ** while ((asp = getpg (&pg, st, pn, 's')) == NULL); lastb = asp + BD_PAGESIZE; fre (a = asp + 2 9 size4b, k = 0; a < lastb; a++, k = 0) ! fre (; k < 8; k++) ! if ((*a & BITVL(k)) == 0) ! nnnn{ ! idm = begmop (asp);*! nn n recmjfrem (OLD, st, pn, idm, (u2_t) (a - asp), size1b, a, 0);*! nn n MJ_PUTBL (); ! nn n *a |= BITVL(k); ! nn n pn = (a - asp - 2 9 size4b) * 8 + k; ! nn n putpg (&pg, 'm');*! nn n return (pn); ! } n putpg (&pg, 'n');* } n fprintf (stderr, "TRN.getempt: No free pages in*the scale");*-***86,107 ---- n while ((asp = getpg (&pg, st, pn, 's')) == NULL); lastb = asp + BD_PAGESIZE; fre (a = asp + 2 9 size4b, k = 0; a < lastb; a++, k = 0) ! nnnnnnnn{ ! if ((*a & 0377) != 0377) ! { ! fre (; k < 8; k++) ! if ((*a & BITVL(k)) == 0) ! { ! begmop (asp);*! recmjfrem (OLD, &pg, (u2_t) (a - asp), size1b, a, 0);*! MJ_PUTBL (); ! *a |= BITVL(k); ! pn = (a - asp - 2 9 size4b) * 8 + k; ! putpg (&pg, 'm');*! return (pn); ! } ! } ! } n putpg (&pg, 'n');* } n fprintf (stderr, "TRN.getempt: No free pages in*the scale");*Only in*gnusql-0.7b6.0/src/engine/yrans: extsrt.c*Only in*gnusql-0.7b6.0/src/engine/yrans: fdclsrt.h di-f -rc gnusql-0.7b5.3/src/engine/yrans/fltrel.ctgnusql-0.7b6.0/src/engine/yrans/fltrel.c ****gnusql-0.7b5.3/src/engine/yrans/fltrel.c Mon Apr 28 13:52:54 1997* ***gnusql-0.7b6.0/src/engine/yrans/fltrel.c Wed Oct 22 12:23:38 1997*21:38:33 1998 ******26,32 98 ** ** n */ *!t/* $Id: fltrel.c,v 1.246 1997/04/10 06:57:28 vera Exp $ */ * #include "xmem.h" #include "destrn.h" ***26,32 ---- n ** n */ *!t/* $Id: fltrel.c,v 1.250 1997/10/22 16:23:38 kml Exp $ */ * #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******36,93 98 ** extern :truct des_nseg desnseg;* extern char **scptab; n ! static u2_t inpn; !nstatic char *outasp; !nstatic struct A inpage, inflpage; n static void*! put_crt (struct A *outpg, char *cort, struct des_tob *dt, struct des_field *df, ! u2_t fdf, u2_t fn, u2_t fln, u2_t * fl) n{ n char *a, *b; n u2_t size, scsz, sz; n u2_t k, kk, fnk; n char *val, *aval; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n*! tuple_break (cort, arrpnt, arrsz, df, fdf, fn); ! aval = val = cort + scscal (cort); ! fre (size = 1, k = 0, kk = 0; kk < fln; kk++) n { ! fnk = fl[kk];*! size += arrsz[fnk];*! k++; !n if (k == 7) ! k = 0; n } ! if (size == 1) ! return; ! scsz = k / 7; ! nnif (k % 7 != 0) ! scsz++; !n size += scsz; !n cort = a = getloc (outpg, size, dt); ! b = a + scsz + 1; ! fre (k = 0, kk = 0, *a++ = CORT; kk < fln; kk++) n { ! fnk = fl[kk];*! if ((sz = arrsz[fnk]) != 0) ! { ! bcopy (arrpnt[fnk], b, sz); ! b += sz; ! *a |= BITVL(k); /* a value is present */ ! }*! k++; !n if (k == 7) ! { ! k = 0; ! *(++a) = 0; ! } n } ! if (k == 0) ! a--; !n *a |= EOSC; return; } n*-***36,105u---- nextern :truct des_nseg desnseg;* extern char **scptab; n ! static struct A inpage; n static void*! put_crt (char *outasp, char *tuple, struct des_tob *dt, ! struct fun_desc_fields *desf, u2_t fln, u2_t * fl, char *sc, u2_t slsz) n{ n char *a, *b; n u2_t size, scsz, sz; n u2_t k, kk, fnk; n char *val, *aval; + unsigned char t; + struct A page2; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n*! t = *tuple & MSKCORT; ! if (t == CREM || t == IDTR) ! return; ! if (t == IND) n { ! u2_t pn, ind; !n IND_REF(page2,inpage.p_st,tuple); n } ! if (tstcsel (desf, slsz, sc, tuple, arrpnt, arrsz) != 0) nnnnn{ ! aval = val = tuple + scscal (tuple); ! fre (size = 1, k = 0, kk = 0; kk < fln; kk++) ! nnnnnnnn{ ! fnk = fl[kk];*! size += arrsz[fnk];*! k++; !n if (k == 7) ! k = 0; ! } !n if (size == 1) ! return; ! scsz = k / 7; ! nn nnif (k % 7 != 0) ! scsz++; !n n size += scsz; !n n a = getloc (outasp, size, dt); ! b = a + scsz + 1; ! fre (k = 0, kk = 0, *a++ = CORT; kk < fln; kk++) ! nnnnnnnn{ ! fnk = fl[kk];*! if ((sz = arrsz[fnk]) != 0) ! { ! bcopy (arrpnt[fnk], b, sz); ! b += sz; ! *a |= BITVL(k); /* a value is present */ ! } ! k++; !n if (k == 7) ! { ! k = 0; ! *(++a) = 0; ! } ! } !n if (k == 0) ! a--; !n n *a |= EOSC; } ! if (t == IND) ! putpg (&page2, 'n');* return; } n*21:38:33 1998 ******94,163 98 ** struct ans_ctob* rflrel (struct id_rel *pidrel, u2_t fln, u2_t *fl, u2_t slsz, char *sc)***{ !n u2_t fn, fdf, *ali, st, pn, *afi, *ai, i;*!n struct des_field *df, *dftr; i2_t n; struct des_tob *dt; struct des_trel *destrel;:! char *asp = NULL; struct ans_ctob ans;:! char *arrpnt[BD_PAGESIZE]; !n u2_t arrsz[BD_PAGESIZE]; ! struct A outpg;: sn = pidrel->urn.segnum; if (st == NRSNUM)* { struct des_trel *dtrin; ! char *tuple;: n n = pidrel->urn.obnum; if ((u2_t) n > desnseg.mtobnum)* { !n ans.cpncob = NIOB; n nnreturn (ans); } dtrin = (:truct des_trel *) * (desnseg.tobtab + n); nnnnnnnnif (dtrin == NULL) { !n ans.cpncob = NIOB; n nnreturn (ans); } if (((:truct prtob *) dtrin)->prob != TREL) { !n ans.cpncob = NIOB; n nnreturn (ans); } ! fn = dtrin->fieldn; !n fdf = dtrin->fdftr; ! n df = (:truct des_field *) (dtrin + 1); ! if ((ans.cpncob = testcond (df, fn, fdf, fln, fl, &slsz, sc, 0, NULL)) != OK) return (ans); !n dt = gettob (&outpg, dtrsize + fln * rfsize, &n, TREL); !n outasp = outpg.p_shm; destrel = (:truct des_trel *) dt; n dftr = (:truct des_field *) (destrel + 1); ! pn = dtrin->tobtr.firstpn; ! fre (; pn != (u2_t) ~ 0;) { !n asp = getwl (&inpage, st, pn); ! afi = (u2_t *) (asp + phtrsize); !n ali = afi + ((:truct p_h_tr *) asp)->linptr; !n fre (ai = afi; ai <= ali; ai++) if (*ai != 0) ! { ! tuple = asp + *ai; ! if (tstcsel (df, fn, fdf, slsz, sc, tuple, arrpnt, arrsz) != 0) ! put_crt (&outpg, tuple, dt, df, fdf, fn, fln, fl); ! } pn = ((:truct listtob *) asp)->nextpn; n putwul (&inpage, 'n');* } if (dtrin->tobtr.prdt.prob == SORT) n { u2_t kn, k1, k2, j, *ks, *ksort; ! n ! ksort = (u2_t *) (df + fn);* ks = (u2_t *) (dftr + fln);* kn = dtrin->keysntr; fre (k1 = 0, k2 = 0, i = 0, j = 0; j < fln && k1 < kn; i++) -***106,169u---- nstruct ans_ctob* rflrel (struct id_rel *pidrel, u2_t fln, u2_t *fl, u2_t slsz, char *sc)***{ !n u2_t *ali, st, pn, *ai, i;*!n struct des_field *dftr, *df; !n struct fun_desc_fields *desf; n i2_t n; struct des_tob *dt; struct des_trel *destrel;:! char *asp = NULL, *outasp; struct ans_ctob ans;:! char tmp_buff[BD_PAGESIZE]; n: sn = pidrel->urn.segnum; + outasp = tmp_buff; if (st == NRSNUM)* { struct des_trel *dtrin; ! struct des_field *df; !n char tmp_buff_in[BD_PAGESIZE]; n n = pidrel->urn.obnum; if ((u2_t) n > desnseg.mtobnum)* { !n ans.cpncob = -ER_NIOB; n nnreturn (ans); } dtrin = (:truct des_trel *) * (desnseg.tobtab + n); nnnnnnnnif (dtrin == NULL) { !n ans.cpncob = -ER_NIOB; n nnreturn (ans); } if (((:truct prtob *) dtrin)->prob != TREL) { !n ans.cpncob = -ER_NIOB; n nnreturn (ans); } ! desf = &dtrin->f_df_tt; ! if ((ans.cpncob = testcond (desf, fln, fl, &slsz, sc, 0, NULL)) != OK) return (ans); !n dt = gettob (outasp, dtrsize + fln * rfsize, &n, TREL); destrel = (:truct des_trel *) dt; n dftr = (:truct des_field *) (destrel + 1); ! asp = tmp_buff_in; ! fre (pn = dtrin->tobtr.firstpn; pn != (u2_t) ~ 0;) { !n read_tmp_page (pn, asp);*! ai = (u2_t *) (asp + phtrsize); !n ali = ai + ((:truct p_h_tr *) asp)->linptr; !n fre (; ai <= ali; ai++) if (*ai != 0) ! put_crt (outasp, asp + *ai, dt, desf, fln, fl, sc, slsz); n pn = ((:truct listtob *) asp)->nextpn; } if (dtrin->tobtr.prdt.prob == SORT) n { u2_t kn, k1, k2, j, *ks, *ksort; ! ! df = desf->df_pnt; ! ksort = (u2_t *) (df + desf->f_fn);* ks = (u2_t *) (dftr + fln);* kn = dtrin->keysntr; fre (k1 = 0, k2 = 0, i = 0, j = 0; j < fln && k1 < kn; i++) 21:38:33 1998 ******187,204 98 ** if ((ans.cpncob = contir (pidrel, &desrel)) != OK) return (ans); !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n n df = (:truct des_field *) (desrel + 1); ! if ((ans.cpncob = testcond (df, fn, fdf, fln, fl, &slsz, sc, 0, NULL)) != OK) return (ans); !n if ((ans.cpncob = synlsc (RSC, pidrel, sc, slsz, fn, (u2_t *) NULL)) != 0) return (ans); !n dt = gettob (&outpg, dtrsize + fln * rfsize, &n, TREL); !n outasp = outpg.p_shm; destrel = (:truct des_trel *) dt; n dftr = (:truct des_field *) (destrel + 1); ! scind = rel_scan (:n, pidrel->urn.obnum, (char *) desrel, &num, 0, NULL, NULL, 0, 0, NULL); n disc = &scind->dessc; rep = fgetnext (disc, &pn, &size, FASTSCAN);*-***193,207 ---- n if ((ans.cpncob = contir (pidrel, &desrel)) != OK) return (ans); !n desf = &desrel->f_df_bt; ! if ((ans.cpncob = testcond (desf, fln, fl, &slsz, sc, 0, NULL)) != OK) return (ans); !n if ((ans.cpncob = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != 0) return (ans); !n dt = gettob (outasp, dtrsize + fln * rfsize, &n, TREL); destrel = (:truct des_trel *) dt; n dftr = (:truct des_field *) (destrel + 1); ! scind = rel_scan (&pidrel->urn, (char *) desrel, &num, 0, NULL, NULL, 0, 0, NULL); n disc = &scind->dessc; rep = fgetnext (disc, &pn, &size, FASTSCAN);*21:38:33 1998 ******205,216 98 ** fre (; rep != EOI;) n { while ((asp = getpg (&inpage, st, pn, 's')) == NULL); ! afi = (u2_t *) (asp + phsize); !n ali = afi + ((:truct page_head *) asp)->lastin; ! fre (ai = afi; ai <= ali; ai++) ! if (*ai != 0 && CHECK_PG_ENTRY(ai) && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) ! nnnn put_crt (&outpg, asp + *ai, dt, df, fdf, fn, fln, fl); n putpg (&inpage, 'n');* n nnrep = getnext (disc, &pn, &size, FASTSCAN);* } ***208,218 ---- n fre (; rep != EOI;) n { while ((asp = getpg (&inpage, st, pn, 's')) == NULL); ! ai = (u2_t *) (asp + phsize); !n ali = ai + ((:truct page_head *) asp)->lastin; ! fre (; ai <= ali; ai++) ! if (*ai != 0 && CHECK_PG_ENTRY(ai)) ! put_crt (outasp, asp + *ai, dt, desf, fln, fl, sc, slsz); n putpg (&inpage, 'n');* n nnrep = getnext (disc, &pn, &size, FASTSCAN);* } 21:38:33 1998 ******217,225 98 ** destrel->keysntr = 0; n delscan (num); } ! putwul (&outpg, 'm');*! destrel->fieldn = fln;*! destrel->fdftr = 0; n fre (i = 0; i < fln; i++) n *dftr++ = df[fl[i]]; n ans.idob.segnum = NRSNUM; -***219,229u---- n destrel->keysntr = 0; n delscan (num); } ! write_tmp_page (dt->lastpn, outasp);*! destrel->f_df_tt.f_fn = fln;*! destrel->f_df_tt.f_fdf = 0;*! destrel->f_df_tt.df_pnt = dftr; ! df = desf->df_pnt; n fre (i = 0; i < fln; i++) n *dftr++ = df[fl[i]]; n ans.idob.segnum = NRSNUM; 21:38:33 1998 ******227,239 98 ** return (ans); } nstruct ans_ctob*! rflind (struct id_ind *pidind, u2_t fln, u2_t *fl, u2_t slsz, char *sc, u2_t diasz, char *diasc) nn{ struct d_r_t *desrel; !n u2_t fn, fdf, ind, size, i, j, k1, k2;*!n struct des_field *df, *dftr; struct des_tid tid;*!n u2_t st, pn, *ai, *kind, *ks, kn, dscsz; struct des_tob *dt; struct des_trel *destrel;: struct id_rel *pidrel; -***231,245 ---- n return (ans); } nstruct ans_ctob*! rflind (struct id_ind *pidind, u2_t fln, u2_t *fl, u2_t slsz, ! char *sc, u2_t diasz, char *diasc) nn{ struct d_r_t *desrel; !n u2_t ind, size, i, j, k1, k2;*!n struct des_field *dftr, *df; !n struct fun_desc_fields *desf; n struct des_tid tid;*!n u2_t st, pn, *ai, *kind, *ks, kn, dscsz, inpn; struct des_tob *dt; struct des_trel *destrel;: struct id_rel *pidrel; 21:38:33 1998 ******240,266u98 ** struct ldesind *di; struct d_sc_i *scind; n struct ldesscan *disc; ! char *asp = NULL, **t; n i2_t scnum, n; struct ans_ctob ans;: i4_t rep; ! struct A outpg;: pidrel = &pidind->irii; sn = pidrel->urn.segnum; if (st == NRSNUM)* nnnnn{ ! ans.cpncob = NIOB; n return (ans); } n if ((ans.cpncob = cont_id (pidind, &desrel, &di)) != OK) return (ans); !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if (testcond (df, fn, fdf, fln, fl, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = NCF; n return (ans); } n kind = (u2_t *) (di + 1); ***246,270u---- n struct ldesind *di; struct d_sc_i *scind; n struct ldesscan *disc; ! char *asp = NULL, **t, *outasp; i2_t scnum, n; struct ans_ctob ans;: i4_t rep; ! char tmp_buff[BD_PAGESIZE]; n: pidrel = &pidind->irii; sn = pidrel->urn.segnum; if (st == NRSNUM)* nnnnn{ ! ans.cpncob = -ER_NIOB; n return (ans); } n if ((ans.cpncob = cont_id (pidind, &desrel, &di)) != OK) return (ans); !n desf = &desrel->f_df_bt; ! if (testcond (desf, fln, fl, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = -ER_NCF; n return (ans); } n kind = (u2_t *) (di + 1); 21:38:33 1998 ******267,273u98 ** if ((ans.cpncob = testdsc (desrel, &diasz, diasc, kind, &dscsz)) != OK) return (ans); n*! if ((ans.cpncob = synlsc (RSC, pidrel, sc, slsz, fn, (u2_t *) NULL)) != 0) return (ans); kn = di->ldi.kifn & ~UNIQ & MSK21B; if ((ans.cpncob = synlsc (RSC, pidrel, diasc, diasz, kn, kind)) != OK) -***271,277 ---- n if ((ans.cpncob = testdsc (desrel, &diasz, diasc, kind, &dscsz)) != OK) return (ans); n*! if ((ans.cpncob = synlsc (RSC, pidrel, sc, slsz, desf->f_fn, NULL)) != 0) return (ans); kn = di->ldi.kifn & ~UNIQ & MSK21B; if ((ans.cpncob = synlsc (RSC, pidrel, diasc, diasz, kn, kind)) != OK) 21:38:33 1998 ******283,301u98 ** bcopy (diasc, asp + size2b, diasz); n di->oscni++; size = dtrsize + fln * rfsize; ! dt = gettob (&outpg, size, &n, TREL); !n outasp = outpg.p_shm; destrel = (:truct des_trel *) dt; ! destrel->fieldn = fln;*! destrel->fdftr = 0; n dftr = (:truct des_field *) (destrel + 1); n fre (i = 0; i < fln; i++) n *dftr++ = df[fl[i]]; ! nnif ((rep=ind_ftid (disc, &tid,FASTSCAN)) != EOI)* { inpn = tid.tpn; while ((asp = getpg (&inpage, st, inpn, 's')) == NULL); ! } n: fre( ; rep != EOI;nrep = ind_tid (disc, &tid, FASTSCAN) )* { pn = tid.tpn; -***287,308 ---- n bcopy (diasc, asp + size2b, diasz); n di->oscni++; size = dtrsize + fln * rfsize; ! outasp = tmp_buff; ! dt = gettob (outasp, size, &n, TREL); destrel = (:truct des_trel *) dt; ! destrel->f_df_tt.f_fn = fln;*! destrel->f_df_tt.f_fdf = 0;* n dftr = (:truct des_field *) (destrel + 1); + df = desf->df_pnt; n fre (i = 0; i < fln; i++) n *dftr++ = df[fl[i]]; ! nnif ((rep = ind_ftid (disc, &tid, FASTSCAN)) != EOI)* { inpn = tid.tpn; while ((asp = getpg (&inpage, st, inpn, 's')) == NULL); ! } ! elod ! inpn = (u2_t) ~ 0;* fre( ; rep != EOI;nrep = ind_tid (disc, &tid, FASTSCAN) )* { pn = tid.tpn; 21:38:33 1998 ******306,314 98 ** while ((asp = getpg (&inpage, st, pn, 's')) == NULL); } n ai = (u2_t *) (asp + phsize) + ind;; !n if (*ai != 0 && ! fndslc (desrel, asp, ai, sc, slsz, NULL) != 0) ! put_crt (&outpg, asp + *ai, dt, df, fdf, fn, fln, fl); n } n t = scptab + scnum; n xfree ((void *) *t); ***313,320u---- n while ((asp = getpg (&inpage, st, pn, 's')) == NULL); } n ai = (u2_t *) (asp + phsize) + ind;; !n if (*ai != 0) ! put_crt (outasp, asp + *ai, dt, desf, fln, fl, sc, slsz); n } n t = scptab + scnum; n xfree ((void *) *t); 21:38:33 1998 ******328,334 98 ** dt->prdt.prsort = SORT; n destrel->keysntr = k2; } ! putwul (&outpg, 'm');* delscan (scnum); ans.idob.segnum = NRSNUM; ans.idob.obnum = n; -***334,340u---- n dt->prdt.prsort = SORT; n destrel->keysntr = k2; } ! write_tmp_page (dt->lastpn, outasp);* delscan (scnum); ans.idob.segnum = NRSNUM; ans.idob.obnum = n; 21:38:33 1998 ******339,400 98 ** { n struct d_r_t *desrel; struct des_tid *tid, *tidb; - u2_t fn, fdf; struct des_field *df, *dftr; struct des_fltr *desfl; struct des_trel *destrel;: u2_t st, fpt, pn, *afi, *ai, off, oldpn, flpn, k; n i2_t n; struct des_tob *dt; ! char *asp = NULL, *aspfl; struct ans_ctob ans;: struct A outpg;: if ((u2_t) idfl > desnseg.mtobnum)* nnnn{ ! ans.cpncob = NIOB; n return (ans); } n desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) nnnn{ ! ans.cpncob = NIOB; n return (ans); } if (((:truct prtob *) desfl)->prob != FLTR)* { ! ans.cpncob = NIOB; n return (ans); } n desrel = desfl->pdrtf; sn = desrel->segnr; !n fn = desrel->desrbd.fieldnum; !n fdf = desrel->desrbd.fdfnum; !n df = (:truct des_field *) (desrel + 1); ! if (testcond (df, fn, fdf, fln, fl, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = NCF; n return (ans); } ! dt = gettob (&outpg, dtrsize + fln * rfsize, &n, TREL); !n outasp = outpg.p_shm; destrel = (:truct des_trel *) dt; ! destrel->fieldn = fln;*! destrel->fdftr = 0; n dftr = (:truct des_field *) (destrel + 1); n fre (k = 0; k < fln; k++) n *dftr++ = df[fl[k]]; n fpn = desfl->tobfl.firstpn; n fre (flpn = fpn; flpn != (u2_t) ~ 0;) { ! aspfl = getwl (&inflpage, NRSNUM, flpn); off = ((:truct p_h_f *) aspfl)->freeoff; tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; !n if (sn != NRSNUM)*! while ((asp = getpg (&inpage, st, oldpn, 's')) == NULL); ! elod ! asp = getwl (&inpage, st, oldpn); n afi = (u2_t *) (asp + phsize); tidb = (:truct des_tid *) (aspfl + off);* fre (; tid < tidb; tid++) -***345,405 ---- n{ n struct d_r_t *desrel; struct des_tid *tid, *tidb; struct des_field *df, *dftr; +n struct fun_desc_fields *desf; n struct des_fltr *desfl; struct des_trel *destrel;: u2_t st, fpt, pn, *afi, *ai, off, oldpn, flpn, k; n i2_t n; struct des_tob *dt; ! char *asp = NULL, *aspfl, *outasp; struct ans_ctob ans;: struct A outpg;:+n char tmp_buff[BD_PAGESIZE], tmp_buff_in[BD_PAGESIZE]; n if ((u2_t) idfl > desnseg.mtobnum)* nnnn{ ! ans.cpncob = -ER_NIOB; n return (ans); } n desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) nnnn{ ! ans.cpncob = -ER_NIOB; n return (ans); } if (((:truct prtob *) desfl)->prob != FLTR)* { ! ans.cpncob = -ER_NIOB; n return (ans); } n desrel = desfl->pdrtf; sn = desrel->segnr; !n desf = &desrel->f_df_bt; ! if (testcond (desf, fln, fl, &slsz, sc, 0, NULL) != OK) { ! ans.cpncob = -ER_NCF; n return (ans); } ! outasp = tmp_buff; ! dt = gettob (outasp, dtrsize + fln * rfsize, &n, TREL); destrel = (:truct des_trel *) dt; ! destrel->f_df_tt.f_fn = fln;*! destrel->f_df_tt.f_fdf = 0;* n dftr = (:truct des_field *) (destrel + 1); + destrel->f_df_tt.df_pnt = dftr; + df = desf->df_pnt; n fre (k = 0; k < fln; k++) n *dftr++ = df[fl[k]]; n fpn = desfl->tobfl.firstpn; + aspfl = tmp_buff_in; n fre (flpn = fpn; flpn != (u2_t) ~ 0;) { ! read_tmp_page (flpn, aspfl); off = ((:truct p_h_f *) aspfl)->freeoff; tid = (:truct des_tid *) (aspfl + phfsize); n oldpn = tid->tpn; !n while ((asp = getpg (&inpage, st, oldpn, 's')) == NULL); n afi = (u2_t *) (asp + phsize); tidb = (:truct des_tid *) (aspfl + off);* fre (; tid < tidb; tid++) 21:38:33 1998 ******402,428 98 ** pn = tid->tpn; if (oldpn != pn) { ! if (sn != NRSNUM)*! { !n putpg (&inpage, 'n');*!n while ((asp = getpg (&inpage, st, pn, 's')) == NULL); ! } ! elod ! { !n putwul (&inpage, 'n');*!n asp = getwl (&inpage, st, pn); ! } oldpn = pn; afi = (u2_t *) (asp + phsize); } ai = afi + tid->tindex; nn if (*ai != 0) ! nn put_crt (&outpg, asp + *ai, dt, df, fdf, fn, fln, fl); n } n flpn = ((:truct listtob *) aspfl)->nextpn; n putwul (&inflpage, 'n');* } ! putwul (&outpg, 'm');* if (desfl->tobfl.prdt.prsort == SORT && destrel->keysntr == 0) dt->prdt.prsort = SORT; n ans.cpncob = OK; -***407,424 ---- n pn = tid->tpn; if (oldpn != pn) { ! putpg (&inpage, 'n');*!nnnnnnnnnnnnnnnwhile ((asp = getpg (&inpage, st, pn, 's')) == NULL); oldpn = pn; afi = (u2_t *) (asp + phsize); } ai = afi + tid->tindex; nn if (*ai != 0) ! put_crt (outasp, asp + *ai, dt, desf, fln, fl, sc, slsz); n } n flpn = ((:truct listtob *) aspfl)->nextpn; } ! write_tmp_page (outpg.p_pn, outasp);* if (desfl->tobfl.prdt.prsort == SORT && destrel->keysntr == 0) dt->prdt.prsort = SORT; n ans.cpncob = OK; Only in*gnusql-0.7b5.3/src/engine/yrans: glyran.h di-f -rc gnusql-0.7b5.3/src/engine/yrans/ind_ins.c*gnusql-0.7b6.0/src/engine/yrans/ind_ins.c ****gnusql-0.7b5.3/src/engine/yrans/ind_ins.c Mon Apr 28 13:52:55 1997* ***gnusql-0.7b6.0/src/engine/yrans/ind_ins.c Mon Sep 28 20:39:38 1998 21:38:33 1998 ******27,33 98 ** ** n */ *!t/* $Id: ind_ins.c,v 1.247 1997/04/15 11:45:41 vera Exp $ */ * #include "xmem.h" #include -***27,33 ---- n ** n */ *!t/* $Id: ind_ins.c,v 1.252 1998/09/29 00:39:38 kimelman Exp $ */ * #include "xmem.h" #include 21:38:33 1998 ******43,50 98 ** i4_t inf_size; u2_t uniq_key; n*! ARR_DECL (thread_s,u2_t,no_static);t/* declaration of dynamic stack/array 'thread_s'. */ ! ARR_PROC_DECL(thread_s,u2_t,no_static);t/* declaration of routines fre it */ * #define FIND_LAST_KEY(asp,elsz,lkey,lkey2,keysz)\ n{\ -***43,50 ---- ni4_t inf_size; u2_t uniq_key; n*! ARR_DECL (thread_s,u2_t,no_static)t/* declaration of dynamic stack/array 'thread_s'. */ ! ARR_PROC_DECL(thread_s,u2_t,no_static)t/* declaration of routines fre it */ * #define FIND_LAST_KEY(asp,elsz,lkey,lkey2,keysz)\ n{\ 21:38:33 1998 ******143,149 98 ** static void* nicp_insrec (char *key, char *key2, char *inf, i4_t infsz, char *beg, ! char *loc, char *lastb, u2_t pn, char *asp, i4_t idm) n{ n char *src, *dst;: u2_t fs;*-***143,149 ---- n static void* nicp_insrec (char *key, char *key2, char *inf, i4_t infsz, char *beg, ! char *loc, char *lastb, struct A *pg) n{ n char *src, *dst;: u2_t fs;*21:38:33 1998 ******155,162 98 ** i4_t keysz;* keysz = kszcal (key, afn, d_f);* sz = size2b + keysz + k2sz + infsz; !n if (asp != NULL)*! recmjfrem (SHF, seg_t, pn, idm, loc - asp, fs, NULL, -sz); n fre (src = lastb - 1, dst = src + sz; fs != 0; fs--) *dst***= *src--; t2bpack (1, beg);*-***155,162 ---- n i4_t keysz;* keysz = kszcal (key, afn, d_f);* sz = size2b + keysz + k2sz + infsz; !n if (pg != NULL)*! recmjfrem (SHF, pg, loc - pg->p_shm, fs, NULL, -sz); n fre (src = lastb - 1, dst = src + sz; fs != 0; fs--) *dst***= *src--; t2bpack (1, beg);*21:38:33 1998 ******167,178 98 ** elod { sz = k2sz + infsz; !n if (asp != NULL)*! recmjfrem (SHF, seg_t, pn, idm, loc - asp, fs, NULL, -sz); n fre (src = lastb - 1, dst = src + sz; fs != 0; fs--) *dst***= *src--; !n if (asp != NULL)*! recmjfrem (OLD, seg_t, pn, idm, beg - asp, size2b, beg, 0);* mod_nelo (1, beg);* } n bcopy (key2, loc, k2sz);*-***167,178 ---- n elod { sz = k2sz + infsz; !n if (pg != NULL)*! recmjfrem (SHF, pg, loc - pg->p_shm, fs, NULL, -sz); n fre (src = lastb - 1, dst = src + sz; fs != 0; fs--) *dst***= *src--; !n if (pg != NULL)*! recmjfrem (OLD, pg, beg - pg->p_shm, size2b, beg, 0);* mod_nelo (1, beg);* } n bcopy (key2, loc, k2sz);*21:38:33 1998 ******266,272 98 ** ksz = kszcal (a, afn, d_f);* } n *lbeg = a - bbeg;*! if (frkey != NULL)* if (cmpkeys (k_t, afn, d_f, ckey, frkey) == 0) nnnnnnn{ *pr = 0; ***266,272 ---- n ksz = kszcal (a, afn, d_f);* } n *lbeg = a - bbeg;*! if (frkey != NULL) { if (cmpkeys (k_t, afn, d_f, ckey, frkey) == 0) nnnnnnn{ *pr = 0; 21:38:33 1998 ******274,279 98 **-***274,280u---- n } n elod *pr = 1; + } n *lkey = ckey; n *lkey2 = lastb - elsz; n return (n2);*21:38:33 1998 ******400,416 98 ** idm = ++((:truct p_head *) asp)->idmod; idmr = ++((:truct p_head *) aspr)->idmod; if (pr == 0) ! recmjfrem (OLD, seg_t, rbrpn, idmr, indphsize, size2b, aspr + indphsize, 0);* fnelo = t2bunpack (aspr + indphsize);* if (nelo != 0) nnnnn{ ! recmjfrem (OLD, seg_t, pn, idm, lnbeg, size2b, asp + lnbeg, 0);* mod_nelo ((-nelo), asp + lnbeg); } lastb = asp + indph->ind_off; end1 = asp + n1; ! recmjfrem (OLD, seg_t, pn, idm, n1, lastb - end1, end1, 0);*! recmjfrem (SHF, seg_t, rbrpn, idmr, n2 + indphsize, indphr->ind_off - indphsize, NULL, -n2);* n a = pereliv (aspr, n2, nelo, lnkey, end1, indph->ind_off - n1); if (pr == 0) -***401,417 ---- n idm = ++((:truct p_head *) asp)->idmod; idmr = ++((:truct p_head *) aspr)->idmod; if (pr == 0) ! recmjfrem (OLD, &pgr, indphsize, size2b, aspr + indphsize, 0);* fnelo = t2bunpack (aspr + indphsize);* if (nelo != 0) nnnnn{ ! recmjfrem (OLD, &pg, lnbeg, size2b, asp + lnbeg, 0);* mod_nelo ((-nelo), asp + lnbeg); } lastb = asp + indph->ind_off; end1 = asp + n1; ! recmjfrem (OLD, &pg, n1, lastb - end1, end1, 0);*! recmjfrem (SHF, &pgr, n2 + indphsize, indphr->ind_off - indphsize, NULL, -n2);* n a = pereliv (aspr, n2, nelo, lnkey, end1, indph->ind_off - n1); if (pr == 0) 21:38:33 1998 ******430,446 98 ** if (prpg == 1) n { /* An insertion in*the first page */ icp_insrec (key, key2, inf, inf_size, asp + offbeg, ! asp + offloc, end1, pn, asp, idm);* n1 += sz; } n elod /* An insertion in*the right brother page */ icp_insrec (key, key2, inf, inf_size, aspr + offbeg, ! aspr + offloc, a, rbrpn, aspr, idmr);* n a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* indph->ind_off = n1; n a = (char *) &indphr->ind_off; ! recmjfrem (OLD, seg_t, rbrpn, idmr, a - aspr, size2b, a, 0);* indphr->ind_off += n2; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); /* put page without unlock */ -***431,447 ---- n if (prpg == 1) n { /* An insertion in*the first page */ icp_insrec (key, key2, inf, inf_size, asp + offbeg, ! asp + offloc, end1, &pg);* n1 += sz; } n elod /* An insertion in*the right brother page */ icp_insrec (key, key2, inf, inf_size, aspr + offbeg, ! aspr + offloc, a, &pgr);* n a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off = n1; n a = (char *) &indphr->ind_off; ! recmjfrem (OLD, &pgr, a - aspr, size2b, a, 0);* indphr->ind_off += n2; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); /* put page without unlock */ 21:38:33 1998 ******494,500u98 ** u2_t newpn1, newpn2, nelo, offn;: struct A pgn;: struct ind_page *indph; - i4_t idm;: n if (wpage == LEAF) n eloz = k2sz + inf_size; -***495,500u---- 21:38:33 1998 ******547,556 98 ** inf2 = (char *) &newpn2; asp = pg->p_shm;* indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, pg->p_pn, idm, a - asp, b - a, a, 0);* a = asp + indphsize + size2b; n bcopy (lnkey, a, ksz); n a += ksz; -***547,556 ---- n inf2 = (char *) &newpn2; asp = pg->p_shm;* indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, pg, a - asp, b - a, a, 0);* a = asp + indphsize + size2b; n bcopy (lnkey, a, ksz); n a += ksz; 21:38:33 1998 ******622,628 98 ** i4_t elsz, insz, off;: struct ind_page *indph; struct A pg; - i4_t idm;: char ninf[size2b]; n t2bpack (pn, ninf);*-***622,627u---- 21:38:33 1998 ******640,645 98 **-***639,647 ---- n { char *mas, *d;* n i4_t massz, ans;:+ struct A psevdo_page; + :+ psevdo_page.p_shm = NULL; massz = off + insz - indphsize; mas = (char *) xmalloc (massz); n d = asp + indphsize; 21:38:33 1998 ******649,655 98 ** beg = mas + (beg - d); loc = mas + (loc - d); lastb = mas + massz - insz; !n icp_insrec (lnkey, lnkey2, ninf, size2b, beg, loc, lastb, 0, NULL, 0); nnnnnnnnif (indph->ind_wpage != IROOT) n { char last_key[BD_PAGESIZE]; -***651,657 ---- n beg = mas + (beg - d); loc = mas + (loc - d); lastb = mas + massz - insz; !n icp_insrec (lnkey, lnkey2, ninf, size2b, beg, loc, lastb, &psevdo_page); nnnnnnnnif (indph->ind_wpage != IROOT) n { char last_key[BD_PAGESIZE]; 21:38:33 1998 ******678,689 98 ** return (-1);* } n *newpn = getempt (:eg_t);*! idm = ++((:truct p_head *) asp)->idmod; ! recmjfrem (OLD, seg_t, pn, idm, inf - asp, size2b, inf, 0); nnnnt2bpack (*newpn, inf);*! icp_insrec (lnkey, lnkey2, ninf, size2b, beg, loc, lastb, pn, asp, idm);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* indph->ind_off += insz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); -***680,691 ---- n return (-1);* } n *newpn = getempt (:eg_t);*! ++((:truct p_head *) asp)->idmod; ! recmjfrem (OLD, &pg, inf - asp, size2b, inf, 0); nnnnt2bpack (*newpn, inf);*! icp_insrec (lnkey, lnkey2, ninf, size2b, beg, loc, lastb, &pg);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off += insz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); 21:38:33 1998 ******698,704 98 ** i4_t n1, lbeg, lnbeg, pr, elsz; n char *lkey, *lkey2, *lnkey, *lnkey2;* u2_t nelo, newpn; - i4_t idm;: struct ind_page *indph; struct A pg; n*-***700,705u---- 21:38:33 1998 ******714,723 98 ** return (-1);* asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); if (nelo != 0) mod_nelo ((-nelo), asp + lnbeg); -***715,724 ---- n return (-1);* asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); if (nelo != 0) mod_nelo ((-nelo), asp + lnbeg); 21:38:33 1998 ******790,796 98 ** i4_t rbeg, rloc, ibeg1, iloc1, ibeg2, iloc2;: i4_t remsz, sz1, sz2, elsz, ksz_lnkey, ksz_nkey, off, dopsz; n char inf1[size2b], inf2[size2b], *beg, *loc; - i4_t idm;: n uppn = *(--thread_s.u);* asp = getwl (&pg, seg_t, uppn); /* get pn without lock */ -***791,796 ---- 21:38:33 1998 ******820,826 98 ** { char *mas;* n i4_t massz, ans, size; !n lastb = asp + off; massz = off + dopsz - indphsize; mas = (char *) xmalloc (massz); -***820,826 ---- n { char *mas;* n i4_t massz, ans, size; !n lastb = asp + off; massz = off + dopsz - indphsize; mas = (char *) xmalloc (massz); 21:38:33 1998 ******829,845 98 ** lastb = mas + size; beg = mas + rbeg - indphsize; loc = mas + rloc - indphsize; !n icp_remrec (beg, loc, remsz, lastb, elsz, 0, NULL, 0); nnnnnnnnlastb -= remsz; beg = mas + ibeg1 - indphsize; loc = mas + iloc1 - indphsize; !n icp_insrec (lnkey, lnkey2, inf1, size2b, beg, loc, lastb, 0, NULL, 0); nnnnnnnnlastb += sz1; nnnnnnnn*newpn = getempt (:eg_t);* beg = mas + ibeg2 - indphsize; loc = mas + iloc2 - indphsize; t2bpack (*newpn, inf2); !n icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, 0, NULL, 0); nnnnnnnnif (indph->ind_wpage != IROOT) n { char last_key[BD_PAGESIZE]; -***829,845 ---- n lastb = mas + size; beg = mas + rbeg - indphsize; loc = mas + rloc - indphsize; !n icp_remrec (beg, loc, remsz, lastb, elsz, NULL); n lastb -= remsz; beg = mas + ibeg1 - indphsize; loc = mas + iloc1 - indphsize; !n icp_insrec (lnkey, lnkey2, inf1, size2b, beg, loc, lastb, NULL); n lastb += sz1; nnnnnnnn*newpn = getempt (:eg_t);* beg = mas + ibeg2 - indphsize; loc = mas + iloc2 - indphsize; t2bpack (*newpn, inf2); !n icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, NULL); n if (indph->ind_wpage != IROOT) n { char last_key[BD_PAGESIZE]; 21:38:33 1998 ******883,901u98 ** } n } n *newpn = getempt (:eg_t);*! idm = ++((:truct p_head *) asp)->idmod; lastb = asp + off; ! icp_remrec (asp + rbeg, asp + rloc, remsz, lastb, elsz, uppn, asp, idm);* lastb -= remsz; beg = asp + ibeg1;* loc = asp + iloc1;*! icp_insrec (lnkey, lnkey2, inf1, size2b, beg, loc, lastb, uppn, asp, idm);* lastb += sz1; nnnninsrep (asp, lastb, nkey, nkey2, elsz, &beg, &loc); nnnnt2bpack (*newpn, inf2);*! icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, uppn, asp, idm);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, uppn, idm, a - asp, size2b, a, 0);* indph->ind_off += dopsz; n assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); -***883,901u---- n }* } n *newpn = getempt (:eg_t);*! ++((:truct p_head *) asp)->idmod; lastb = asp + off; ! icp_remrec (asp + rbeg, asp + rloc, remsz, lastb, elsz, &pg);* lastb -= remsz; beg = asp + ibeg1;* loc = asp + iloc1;*! icp_insrec (lnkey, lnkey2, inf1, size2b, beg, loc, lastb, &pg);* lastb += sz1; nnnninsrep (asp, lastb, nkey, nkey2, elsz, &beg, &loc); nnnnt2bpack (*newpn, inf2);*! icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, &pg);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off += dopsz; n assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); 21:38:33 1998 ******908,923 98 ** { n char *a, *b, *b1, *asp, *aspn, *lkey;: struct ind_page *indph, *indphn; - i4_t idm;: struct A pg, pgn;: i4_t size; * asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); indph->ind_off = n1 + indphsize; if (nelo != 0) -***908,922 ---- n{ n char *a, *b, *b1, *asp, *aspn, *lkey;: struct ind_page *indph, *indphn; struct A pg, pgn;: i4_t size; * asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); indph->ind_off = n1 + indphsize; if (nelo != 0) 21:38:33 1998 ******932,941u98 ** b = pereliv (aspn, 0, nelo, lkey, mas + n1, massz - n1);* asp = getwl (&pg, seg_t, rbrpn); /* get rbrpn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b1 = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, rbrpn, idm, a - asp, b1 - a, a, 0);* a = asp + indphsize; if (pr == 0) n { -***931,940u---- n b = pereliv (aspn, 0, nelo, lkey, mas + n1, massz - n1);* asp = getwl (&pg, seg_t, rbrpn); /* get rbrpn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b1 = asp + indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, b1 - a, a, 0);* a = asp + indphsize; if (pr == 0) n { 21:38:33 1998 ******989,995 98 ** return (0); } n ! static int* rbrup (u2_t pn, u2_t rbrpn, char *mas, i4_t massz, char *last_key, char *last_k2) n /* rbrobr with a deletion and an insertion */ -***988,994 ---- n return (0); } n ! static i4_t* rbrup (u2_t pn, u2_t rbrpn, char *mas, i4_t massz, char *last_key, char *last_k2) n /* rbrobr with a deletion and an insertion */ 21:38:33 1998 ******999,1005u98 ** u2_t nelo, fnelo; struct A pg; n struct ind_page *indph; - i4_t idm;: n if (rbrpn == (u2_t) ~ 0) return (divsn (pn, mas, massz, (u2_t) ~ 0, BTWN, last_key, last_k2)); -***998,1003 ---- 21:38:33 1998 ******1023,1032 98 ** return (-1);* asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); indph->ind_off = indphsize + n1; n if (nelo != 0) -***1021,1030 ---- n return (-1);* asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); indph->ind_off = indphsize + n1; n if (nelo != 0) 21:38:33 1998 ******1036,1045 98 ** * asp = getwl (&pg, seg_t, rbrpn);/* get rbrpn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, rbrpn, idm, a - asp, b - a, a, 0);* fnelo = t2bunpack (asp + indphsize);* lkey = mas + lnbeg + size2b; n a = pereliv (asp, n2, nelo, lkey, mas + n1, massz - n1);*-***1034,1043 ---- n * asp = getwl (&pg, seg_t, rbrpn);/* get rbrpn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, b - a, a, 0);* fnelo = t2bunpack (asp + indphsize);* lkey = mas + lnbeg + size2b; n a = pereliv (asp, n2, nelo, lkey, mas + n1, massz - n1);*21:38:33 1998 ******1070,1076 98 ** beg = mas + ibeg - indphsize; loc = mas + iloc - indphsize; lastb = mas + size; ! icp_insrec (key, key2, inf, inf_size, beg, loc, lastb, 0, NULL, 0); nnnneloz = k2sz + inf_size; putwul (pg, 'n');* n2 = rep_2_3 (mas, massz, elsz, aspr, &n1, &nelo, &lbeg, &lnbeg, &nkey, &nkey2, &pr);*-***1068,1074 ---- n beg = mas + ibeg - indphsize; loc = mas + iloc - indphsize; lastb = mas + size; ! icp_insrec (key, key2, inf, inf_size, beg, loc, lastb, NULL); n eloz = k2sz + inf_size; putwul (pg, 'n');* n2 = rep_2_3 (mas, massz, elsz, aspr, &n1, &nelo, &lbeg, &lnbeg, &nkey, &nkey2, &pr);*21:38:33 1998 ******1112,1118u98 ** struct A pgn;: char *lnkey, *lnkey2, *lkey, *lkey2;* u2_t nelo, newpn, pn; - i4_t idm;: asp = pg->p_shm;* indph = (:truct ind_page *) asp;*-***1110,1115u---- 21:38:33 1998 ******1144,1153 98 ** putwul (pg, 'n');* return (-1);* } ! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, b - a, a, 0);* if (nelo != 0) nnnnnmod_nelo ((-nelo), asp + lnbeg); lastb = asp + n1; -***1141,1150u---- n putwul (pg, 'n');* return (-1);* } ! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, pg, a - asp, b - a, a, 0);* if (nelo != 0) nnnnnmod_nelo ((-nelo), asp + lnbeg); lastb = asp + n1; 21:38:33 1998 ******1157,1169 98 ** lastb2 = pereliv (aspn, 0, nelo, lnkey, lastb, off - n1); if (prpg == 1) n { /* An insertion in*the first page */ ! icp_insrec (key, key2, inf, inf_size, beg, loc, lastb, 0, NULL, 0); nnnnnnnnn1 += sz; } n elod { sz = insrep (aspn, lastb2, key, key2, elsz, &beg, &loc); ! icp_insrec (key, key2, inf, inf_size, beg, loc, lastb2, 0, NULL, 0); nnnnnnnnn2 += sz; } n indph->ind_off = n1; -***1154,1166 ---- n lastb2 = pereliv (aspn, 0, nelo, lnkey, lastb, off - n1); if (prpg == 1) n { /* An insertion in*the first page */ ! icp_insrec (key, key2, inf, inf_size, beg, loc, lastb, NULL); n n1 += sz; } n elod { sz = insrep (aspn, lastb2, key, key2, elsz, &beg, &loc); ! icp_insrec (key, key2, inf, inf_size, beg, loc, lastb2, NULL); n n2 += sz; } n indph->ind_off = n1; 21:38:33 1998 ******1297,1303 98 ** lastb = mas + size; a = mas + ibeg - indphsize; b = mas + iloc - indphsize; ! icp_insrec (key, key2, inf, infsz, a, b, lastb, 0, NULL, 0); nnnnano = crnlev (pg, mas, lastb + insz, wpage); nnnnxfree ((void *) mas); n return (ans); -***1294,1300 ---- n lastb = mas + size; a = mas + ibeg - indphsize; b = mas + iloc - indphsize; ! icp_insrec (key, key2, inf, infsz, a, b, lastb, NULL); n ano = crnlev (pg, mas, lastb + insz, wpage); nnnnxfree ((void *) mas); n return (ans); 21:38:33 1998 ******1332,1338u98 ** char *lastb, *bbeg, *loc, *asp;* i4_t elsz, sz, off, infsz; u2_t pn; - i4_t idm;: struct ind_page *indph; asp = pg->p_shm;*-***1329,1334u---- 21:38:33 1998 ******1378,1386 98 ** putwul (pg, 'm');* n nnasp = getwl (pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; loc = (char *) &indph->ind_nextpn; !n nnrecmjfrem (OLD, seg_t, pn, idm, loc - asp, size2b, loc, 0);* n nnindph->ind_nextpn = newpn; n }* } -***1374,1382 ---- n putwul (pg, 'm');* n nnasp = getwl (pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; loc = (char *) &indph->ind_nextpn; !n nnrecmjfrem (OLD, pg, loc - asp, size2b, loc, 0);* n nnindph->ind_nextpn = newpn; n }* } 21:38:33 1998 ******1430,1439 98 ** return (-1);* } } ! idm = ++((:truct p_head *) asp)->idmod; ! icp_insrec (key, key2, inf, infsz, bbeg, loc, lastb, pn, asp, idm);* loc = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, loc - asp, size2b, loc, 0);* n indph->ind_off += sz; } n assert (check_ind_page (asp) == 0); -***1426,1435 ---- n return (-1);* } } ! ++((:truct p_head *) asp)->idmod; ! icp_insrec (key, key2, inf, infsz, bbeg, loc, lastb, pg);* loc = (char *) &indph->ind_off; ! recmjfrem (OLD, pg, loc - asp, size2b, loc, 0);* n indph->ind_off += sz; } n assert (check_ind_page (asp) == 0); 21:38:33 1998 ******1479,1485 98 ** i4_t rbeg, rloc, ibeg1, iloc1, ibeg2, iloc2;: i4_t remsz, sz1, sz2, elsz, off, dopsz; n char inf1[size2b], inf2[size2b], *beg, *loc; - i4_t idm;: n uppn = *(--thread_s.u);* asp = getwl (&pg, seg_t, uppn); /* get pn without lock */ -***1475,1480u---- 21:38:33 1998 ******1515,1531 98 ** lastb = mas + size; beg = mas + rbeg - indphsize; loc = mas + rloc - indphsize; !n icp_remrec (beg, loc, remsz, lastb, elsz, 0, NULL, 0); nnnnnnnnlastb -= remsz; beg = mas + ibeg1 - indphsize; loc = mas + iloc1 - indphsize; !n icp_insrec (nkey, nkey2, inf1, size2b, beg, loc, lastb, 0, NULL, 0); nnnnnnnnlastb += sz1; nnnnnnnn*newpn = getempt (:eg_t);* beg = mas + ibeg2 - indphsize; loc = mas + iloc2 - indphsize; t2bpack (*newpn, inf2); !n icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, 0, NULL, 0); nnnnnnnnif (indph->ind_wpage != IROOT) n nnnnnnn{ putwul (&pg, 'n');*-***1510,1526 ---- n lastb = mas + size; beg = mas + rbeg - indphsize; loc = mas + rloc - indphsize; !n icp_remrec (beg, loc, remsz, lastb, elsz, NULL); n lastb -= remsz; beg = mas + ibeg1 - indphsize; loc = mas + iloc1 - indphsize; !n icp_insrec (nkey, nkey2, inf1, size2b, beg, loc, lastb, NULL); n lastb += sz1; nnnnnnnn*newpn = getempt (:eg_t);* beg = mas + ibeg2 - indphsize; loc = mas + iloc2 - indphsize; t2bpack (*newpn, inf2); !n icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, NULL); n if (indph->ind_wpage != IROOT) n nnnnnnn{ putwul (&pg, 'n');*21:38:33 1998 ******1559,1577u98 ** } n } n *newpn = getempt (:eg_t);*! idm = ++((:truct p_head *) asp)->idmod; lastb = asp + off; ! icp_remrec (asp + rbeg, asp + rloc, remsz, lastb, elsz, uppn, asp, idm);* lastb -= remsz; beg = asp + ibeg1;* loc = asp + iloc1;*! icp_insrec (lnkey, lnkey2, inf1, size2b, beg, loc, lastb, uppn, asp, idm);* lastb += sz1; nnnninsrep (asp, lastb, nkey, nkey2, elsz, &beg, &loc); nnnnt2bpack (*newpn, inf2);*! icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, uppn, asp, idm);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, uppn, idm, a - asp, size2b, a, 0);* indph->ind_off += dopsz; n assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); -***1554,1572u---- n }* } n *newpn = getempt (:eg_t);*! ++((:truct p_head *) asp)->idmod; lastb = asp + off; ! icp_remrec (asp + rbeg, asp + rloc, remsz, lastb, elsz, &pg);* lastb -= remsz; beg = asp + ibeg1;* loc = asp + iloc1;*! icp_insrec (lnkey, lnkey2, inf1, size2b, beg, loc, lastb, &pg);* lastb += sz1; nnnninsrep (asp, lastb, nkey, nkey2, elsz, &beg, &loc); nnnnt2bpack (*newpn, inf2);*! icp_insrec (nkey, nkey2, inf2, size2b, beg, loc, lastb, &pg);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off += dopsz; n assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); 21:38:33 1998 ******1585,1591 98 ** i4_t n1, lbeg, lnbeg, pr;: char *nkey, *nkey2, *lnkey, *lnkey2;* u2_t nelo, newpn; - i4_t idm;: struct ind_page *indph; struct A pg; n*-***1580,1585u---- 21:38:33 1998 ******1597,1606 98 ** return (-1);* asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); if (nelo != 0) mod_nelo ((-nelo), asp + lnbeg); -***1591,1600 ---- n return (-1);* asp = getwl (&pg, seg_t, pn); /* get pn without lock */ indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = asp + sizeof (:truct p_head); b = asp + indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, b - a, a, 0);* bcopy (mas, asp + indphsize, n1); if (nelo != 0) mod_nelo ((-nelo), asp + lnbeg); 21:38:33 1998 ******1621,1627u98 ** return (0); } n ! int* icp_insrtn (:truct ldesind *desind, char *key, char *key2, char *inf, i4_t infsz) n{ -***1615,1621 ---- n return (0); } n ! i4_t* icp_insrtn (:truct ldesind *desind, char *key, char *key2, char *inf, i4_t infsz) n{ 21:38:33 1998 ******1629,1635u98 ** u2_t rootpn, d_fn;: char *asp = NULL, *lastb, *bbeg, *loc; n struct ind_page *indph; - i4_t idm;: struct A pg; n*nnnnthread_s_ini_check();*-***1623,1628 ---- 21:38:33 1998 ******1664,1670u98 ** { putpg (&pg, 'n');* nnnnthread_s_ini(); !n nnreturn (NU); n } n if (BD_PAGESIZE - off < sz) n { -***1657,1663 ---- n { putpg (&pg, 'n');* nnnnthread_s_ini(); !n nnreturn (-ER_NU); n } n if (BD_PAGESIZE - off < sz) n { 21:38:33 1998 ******1678,1688 98 ** all_unlock (); goto try_again;* } ! idm = ++((:truct p_head *) asp)->idmod; ! icp_insrec (key, key2, inf, infsz, bbeg, loc, lastb,*!n n rootpn, asp, idm);* loc = (char *) &indph->ind_off; ! nnrecmjfrem (OLD, seg_t, rootpn, idm, loc - asp, size2b, loc, 0);* n nnindph->ind_off += sz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); -***1671,1680u---- n all_unlock (); goto try_again;* } ! ++((:truct p_head *) asp)->idmod; ! icp_insrec (key, key2, inf, infsz, bbeg, loc, lastb, &pg);* loc = (char *) &indph->ind_off; ! nnrecmjfrem (OLD, &pg, loc - asp, size2b, loc, 0);* n nnindph->ind_off += sz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); 21:38:33 1998 ******1708,1714 98 ** putpg (&pg, 'n');* nnnn all_unlock (); thread_s_ini(); !nnnnnnnnnnnnnnnnnreturn (NU); nnnnnnnnnnnnnnn} n } n elod -***1700,1706 ---- n putpg (&pg, 'n');* nnnn all_unlock (); thread_s_ini(); !nnnnnnnnnnnnnnnnnreturn (-ER_NU); nnnnnnnnnnnnnnn} n } n elod 21:38:33 1998 ******1724,1730 98 ** putpg (&pg, 'n');* all_unlock (); thread_s_ini(); !n nnnnnnreturn (NU); n } if (BD_PAGESIZE - off < sz) n { -***1716,1722 ---- n putpg (&pg, 'n');* all_unlock (); thread_s_ini(); !n nnnnnnreturn (-ER_NU); n } if (BD_PAGESIZE - off < sz) n { 21:38:33 1998 ******1740,1750 98 ** all_unlock (); goto try_again;* nnnnnnnnnnnnnnn} !nnnnnnnnnnnnnnnidm = ++((:truct p_head *) asp)->idmod; ! icp_insrec (key, key2, inf, infsz, bbeg, loc, lastb,*!n pg.p_pn, asp, idm);* loc = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pg.p_pn, idm, loc - asp, size2b, loc, 0);* n nn indph->ind_off += sz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); -***1732,1741 ---- n all_unlock (); goto try_again;* nnnnnnnnnnnnnnn} !nnnnnnnnnnnnnnn++((:truct p_head *) asp)->idmod; ! icp_insrec (key, key2, inf, infsz, bbeg, loc, lastb, &pg);* loc = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, loc - asp, size2b, loc, 0);* n nn indph->ind_off += sz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); 21:38:33 1998 ******1759,1765 98 ** return (OK); } n ! int* icp_spusk (:truct A *pg, i4_t elsz, char *key, char *key2) n{ n char *a, *lastb, *asp;*-***1750,1756 ---- n return (OK); } n ! i4_t* icp_spusk (:truct A *pg, i4_t elsz, char *key, char *key2) n{ n char *a, *lastb, *asp;*21:38:33 1998 ******1783,1788 98 **-***1774,1781u---- n if ((l = cmpkeys (k_t, afn, d_f, a, key)) == 0) n nnnn{ a += ksz; +nnnnnnnnnnnnnnnif (uniq_key == UNIQ) +nnnnnnnnnnnnnnn break; fre (; n != 0; n--, a += elsz)* nnnnnnnnnnnnnnnif ((l2 = cmp2keys (d_f2->field_type, a, key2)) >= 0) nnnnnnnnnnnnnnnnn break; 21:38:33 1998 ******1822,1828 98 ** return (0); } n ! int* remrep (char *asp, char *key, char *key2, i4_t elsz, char ** rbeg, char **rloc, i4_t *offbef) n{ -***1815,1821 ---- n return (0); } n ! i4_t* remrep (char *asp, char *key, char *key2, i4_t elsz, char ** rbeg, char **rloc, i4_t *offbef) n{ 21:38:33 1998 ******1863,1869 98 ** void* nicp_remrec (char *beg, char *loc, i4_t sz, char *lastb, !nnnnnnnnnnnnni4_t elsz, u2_t pn, char *asp, i4_t idm) n{ n char *b;: i4_t size; -***1856,1862 ---- n void* nicp_remrec (char *beg, char *loc, i4_t sz, char *lastb, !nnnnnnnnnnnnni4_t elsz, struct A *pg) n{ n char *b;: i4_t size; 21:38:33 1998 ******1872,1882 98 ** { b = loc + sz; size = lastb - b; !n if (asp != NULL)*! recmjfrem (COMBL, seg_t, pn, idm, loc - asp, size, loc, sz); n bcopy (b, loc, size);*!n if (asp != NULL)*! recmjfrem (OLD, seg_t, pn, idm, beg - asp, size2b, beg, 0);* mod_nelo (-1, beg);* } n elod -***1865,1875 ---- n { b = loc + sz; size = lastb - b; !n if (pg != NULL)*! recmjfrem (COMBL, pg, loc - pg->p_shm, size, loc, sz); n bcopy (b, loc, size);*!n if (pg != NULL)*! recmjfrem (OLD, pg, beg - pg->p_shm, size2b, beg, 0);* mod_nelo (-1, beg);* } n elod 21:38:33 1998 ******1883,1901u98 ** { b = beg + sz; size = lastb - b; !n if (asp != NULL)*! recmjfrem (COMBL, seg_t, pn, idm, beg - asp, size, beg, sz); n bcopy (b, beg, size);* } n} n ! int* mlreddi (char *lkey, char *lkey2, char *lnkey, char *lnkey2, u2_t pn) n{ n char *asp, *pnt;: i4_t sz, remsz, insz, off, orbeg, orloc, oibeg, oiloc, elsz, dopsz; n struct ind_page *indph; - i4_t idm;: struct A pg; n char ninf[size2b]; n -***1876,1893 ---- n { b = beg + sz; size = lastb - b; !n if (pg != NULL)*! recmjfrem (COMBL, pg, beg - pg->p_shm, size, beg, sz); n bcopy (b, beg, size);* } n} n ! i4_t* mlreddi (char *lkey, char *lkey2, char *lnkey, char *lnkey2, u2_t pn) n{ n char *asp, *pnt;: i4_t sz, remsz, insz, off, orbeg, orloc, oibeg, oiloc, elsz, dopsz; n struct ind_page *indph; struct A pg; n char ninf[size2b]; n 21:38:33 1998 ******1919,1929 98 ** b = mas + size; beg = mas + orbeg - indphsize; loc = mas + orloc - indphsize; ! icp_remrec (beg, loc, remsz, b, elsz, 0, NULL, 0); nnnnnnnnlastb = b - remsz; beg = mas + oibeg - indphsize; loc = mas + oiloc - indphsize; ! icp_insrec (lnkey, lnkey2, ninf, size2b, beg, loc, lastb, 0, NULL, 0); nnnnnnnnif (indph->ind_wpage == IROOT) n { /* uppn is root */ ano = crnlev (&pg, mas, mas + massz, BTWN); -***1911,1921 ---- n b = mas + size; beg = mas + orbeg - indphsize; loc = mas + orloc - indphsize; ! icp_remrec (beg, loc, remsz, b, elsz, NULL); n lastb = b - remsz; beg = mas + oibeg - indphsize; loc = mas + oiloc - indphsize; ! icp_insrec (lnkey, lnkey2, ninf, size2b, beg, loc, lastb, NULL); n if (indph->ind_wpage == IROOT) n { /* uppn is root */ ano = crnlev (&pg, mas, mas + massz, BTWN); 21:38:33 1998 ******1966,1990 98 ** return (-1);* }* } ! idm = ++((:truct p_head *) asp)->idmod; indph = (:truct ind_page *) asp;* if (orloc == oiloc) n { /* keys match */ pnt = asp + orloc; ! recmjfrem (OLD, seg_t, pn, idm, orloc, k2sz, pnt, 0); nnnnnnnnbcopy (lnkey2, pnt, k2sz);* } n elod { pnt = asp + indph->ind_off; ! icp_remrec (asp + orbeg, asp + orloc, remsz, pnt, elsz, pn, asp, idm);* icp_insrec (lnkey, lnkey2, ninf, size2b, asp + oibeg, ! asp + oiloc, pnt - remsz, pn, asp, idm);* }* if (dopsz != 0) nnnnn{ pnt = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, pnt - asp, size2b, pnt, 0); nnnnnnnnindph->ind_off += dopsz; n } n assert (check_ind_page (asp) == 0); -***1958,1982 ---- n return (-1);* }* } ! ++((:truct p_head *) asp)->idmod; indph = (:truct ind_page *) asp;* if (orloc == oiloc) n { /* keys match */ pnt = asp + orloc; ! recmjfrem (OLD, &pg, orloc, k2sz, pnt, 0); nnnnnnnnbcopy (lnkey2, pnt, k2sz);* } n elod { pnt = asp + indph->ind_off; ! icp_remrec (asp + orbeg, asp + orloc, remsz, pnt, elsz, &pg);* icp_insrec (lnkey, lnkey2, ninf, size2b, asp + oibeg, ! asp + oiloc, pnt - remsz, &pg);* }* if (dopsz != 0) nnnnn{ pnt = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, pnt - asp, size2b, pnt, 0); nnnnnnnnindph->ind_off += dopsz; n } n assert (check_ind_page (asp) == 0); 21:38:33 1998 ******1992,1998 98 ** return (0); } n ! int* modlast (char *key, char *key2, char *nkey, char *nkey2, u2_t pn) n{ n char *lastb, *asp, *beg, *loc; -***1984,1990 ---- n return (0); } n ! i4_t* modlast (char *key, char *key2, char *nkey, char *nkey2, u2_t pn) n{ n char *lastb, *asp, *beg, *loc; 21:38:33 1998 ******1999,2005u98 ** struct ind_page *indph; i4_t sz = 0, remsz = 0, elsz, off; i4_t orbeg, orloc, oibeg, oiloc; - i4_t idm;: struct A pg; n char ninf[size2b]; n -***1991,1996 ---- 21:38:33 1998 ******2028,2037 98 ** sz = off - indphsize; nnnnnnnnbcopy (asp + indphsize, mas, sz); n n lastb = mas + sz; !nnnnnnnnnnnnnnnicp_remrec (mas + orbeg, mas + orloc, remsz, lastb, elsz, 0, NULL, 0); nnnnnnnn n lastb -= remsz; n icp_insrec (nkey, nkey2, ninf, size2b, mas + oibeg, mas + oiloc, ! n lastb, 0, NULL, 0); nnnnnnnn n if (indph->ind_wpage != IROOT) n nnnnnnn nnnnnnn{ putwul (&pg, 'n');*-***2019,2028 ---- sz = off - indphsize; nnnnnnnnbcopy (asp + indphsize, mas, sz); n n lastb = mas + sz; !nnnnnnnnnnnnnnnicp_remrec (mas + orbeg, mas + orloc, remsz, lastb, elsz, NULL); n n lastb -= remsz; n icp_insrec (nkey, nkey2, ninf, size2b, mas + oibeg, mas + oiloc, ! n lastb, NULL); n n if (indph->ind_wpage != IROOT) n nnnnnnn nnnnnnn{ putwul (&pg, 'n');*21:38:33 1998 ******2061,2072 98 ** return (-1);* } n } ! idm = ++((:truct p_head *) asp)->idmod; lastb = asp + off; if (key == nkey) nnnnn{ loc = lastb - elsz; !nnnnnnnrecmjfrem (OLD, seg_t, pn, idm, loc - asp, size2b, loc, 0);* n bcopy (nkey2, loc, k2sz);* } n elod -***2052,2063 ---- return (-1);* } n } ! ++((:truct p_head *) asp)->idmod; lastb = asp + off; if (key == nkey) nnnnn{ loc = lastb - elsz; !nnnnnnnrecmjfrem (OLD, &pg, loc - asp, size2b, loc, 0);* n bcopy (nkey2, loc, k2sz);* } n elod 21:38:33 1998 ******2073,2089 98 ** { beg = asp + orbeg; loc = asp + orloc; ! icp_remrec (beg, loc, remsz, lastb, elsz, pn, asp, idm);* lastb -= remsz; beg = asp + oibeg; loc = asp + oiloc; ! icp_insrec (nkey, nkey2, ninf, size2b, beg, loc, lastb, pn, asp, idm);* }* if (sz != 0) nnnnn{ char *a; a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* indph->ind_off += sz; } n assert (check_ind_page (asp) == 0); -***2064,2080 ---- n { beg = asp + orbeg; loc = asp + orloc; ! icp_remrec (beg, loc, remsz, lastb, elsz, &pg);* lastb -= remsz; beg = asp + oibeg; loc = asp + oiloc; ! icp_insrec (nkey, nkey2, ninf, size2b, beg, loc, lastb, &pg);* }* if (sz != 0) nnnnn{ char *a; a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off += sz; } n assert (check_ind_page (asp) == 0); 21:38:33 1998 ******2115,2121u98 ** BUF_unlock (seg_t, i, thread_s.u);* } n ! int* lenfrece () n{ n u2_t *a; -***2106,2112 ---- n BUF_unlock (seg_t, i, thread_s.u);* } n ! i4_t* lenfrece () n{ n u2_t *a; diff -rc gnusql-0.7b5.3/src/engine/trans/ind_rem.c gnusql-0.7b6.0/src/engine/trans/ind_rem.c*****gnusql-0.7b5.3/src/engine/trans/ind_rem.c Mon Apr 28 13:52:55*1997 -***gnusql-0.7b6.0/src/engine/trans/ind_rem.c Mon Sep 28 20:39:38*1998 21:38:33 1998 ******27,33 98 ** ** */ n ! /* $Id: ind_rem.c,v 1.246*1997/04/15*11:45:41 vera Exp $ */ n #include "xmem.h" #include -***27,33 ---- n ** */ n ! /* $Id: ind_rem.c,v 1.251*1998/09/29 00:39:38*kimelman Exp $ */ n #include "xmem.h" #include 21:38:33 1998 ******46,60 98 ** i4_t check_ind_page (char *asp); n*nn ! ARR_DECL(thread_s,u2_t,no_static); /* declaration of dynamic stack/array 'thread_s'. */ ! ARR_PROC_PROTO(thread_s,u2_t); /* declaration of routines fre it */ n ! ARR_DECL(l_emp,u2_t,static); /* declaration of local dynamic stack/array 'l_emp'. */ ! ARR_PROC_DECL(l_emp,u2_t,static); /* declaration of routines fre it */ n static void*! alter_pn (i4_t remsz, i4_t elsz, char *rbeg, char *rloc, u2_t pn, i4_t idm, ! char *asp, char *inf) /* after removing */ n{ n char *a;* u2_t n; -***46,60 ---- ni4_t check_ind_page (char *asp); n*nn ! ARR_DECL(thread_s,u2_t,extern) /* declaration of dynamic stack/array 'thread_s'. */ ! ARR_PROC_PROTO(thread_s,u2_t) /* declaration of routines fre it */ n ! ARR_DECL(l_emp,u2_t,static) /* declaration of local dynamic stack/array 'l_emp'. */ ! ARR_PROC_DECL(l_emp,u2_t,static) /* declaration of routines fre it */ n static void*! alter_pn (i4_t remsz, i4_t elsz, char *rbeg, char *rloc, :truct A *pg, ! char *inf) /* after removing */ n{ n char *a;* u2_t n; 21:38:33 1998 ******63,94 98 ** n = t2bunpack (rbeg);* koz = kszcal (rbeg + size2b, afn, d_f); agoz = size2b + ksz + n * elsz; !nnnif (remsz == elsz && rloc != rbeg + agoz) /* the key was not last in*the aggregate */ a = rloc + k2sz; n elod a = rbeg + size2b + ksz + k2sz; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* bcopy (inf, a, size2b);* } n static void*! remove_level (char *asp, u2_t rootpn, :truct A *pg_down) { ! char *pnt, *asp_down;* u2_t off_down;*- i4_t idm;: struct ind_page *indph, *indph_down;* * asp_down = pg_down->p_shm;*! idm = ++((:truct p_head *) asp)->idmod; indph = (:truct ind_page *) asp;* pnt = asp + indphsize; !n recmjfrem (OLD, seg_t, rootpn, idm, indphsize, indph->ind_off - indphsize, pnt, 0); nnnnindph_down = (:truct ind_page *) asp_down;* if (indph_down->ind_wpage == LEAF) nnnnn{ pnt = (char *) &indph->ind_wpage; ! recmjfrem (OLD, seg_t, rootpn, idm, pnt - asp, size2b, pnt, 0); nnnnnnnnindph->ind_wpage = LEAF; } n off_down = indph_down->ind_off; -***63,95 ---- n n = t2bunpack (rbeg);* koz = kszcal (rbeg + size2b, afn, d_f); agoz = size2b + ksz + n * elsz; !nnnif (remsz == elsz && rloc != rbeg + agoz) ! /* the key was not last in*the aggregate */ a = rloc + k2sz; n elod a = rbeg + size2b + ksz + k2sz; ! recmjfrem (OLD, pg, a - pg->p_shm, size2b, a, 0);* bcopy (inf, a, size2b);* } n static void*! remove_level (:truct A *pg_root, :truct A *pg_down) { ! char *pnt, *asp_down, *asp;* u2_t off_down;* struct ind_page *indph, *indph_down;* * asp_down = pg_down->p_shm;*! asp = pg_root->p_shm;*! ++((:truct p_head *) asp)->idmod; indph = (:truct ind_page *) asp;* pnt = asp + indphsize; !n recmjfrem (OLD, pg_root, indphsize, indph->ind_off - indphsize, pnt, 0); nnnnindph_down = (:truct ind_page *) asp_down;* if (indph_down->ind_wpage == LEAF) nnnnn{ pnt = (char *) &indph->ind_wpage; ! recmjfrem (OLD, pg_root, pnt - asp, size2b, pnt, 0); nnnnnnnnindph->ind_wpage = LEAF; } n off_down = indph_down->ind_off; 21:38:33 1998 ******95,101u98 ** pnt = asp + indphsize; nnnnbcopy (asp_down + indphsize, pnt, off_down - indphsize);* pnt = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, rootpn, idm, pnt - asp, size2b, pnt, 0); nnnnindph->ind_off = off_down;* putwul (pg_down, 'n');* l_emp_put (pg_down->p_pn); -***96,102 ---- n pnt = asp + indphsize; nnnnbcopy (asp_down + indphsize, pnt, off_down - indphsize);* pnt = (char *) &indph->ind_off; ! recmjfrem (OLD, pg_root, pnt - asp, size2b, pnt, 0); nnnnindph->ind_off = off_down;* putwul (pg_down, 'n');* l_emp_put (pg_down->p_pn); 21:38:33 1998 ******121,127 98 ** char *a, *lastb, *rbeg, *rloc; n u2_t n, elsz; nnnnnnnni4_t remsz, offbef;*- i4_t idm;: n eloz = k2sz + size2b; n remsz = remrep (asp, key, key2, elsz, &rbeg, &rloc, &offbef); -***122,127 ---- 21:38:33 1998 ******131,139 98 ** return (-1);* }* lastb = asp + indph->ind_off; ! idm = ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, lastb, elsz, *uppn, asp, idm);*! alter_pn (remsz, elsz, rbeg, rloc, *uppn, idm, asp, inf);* lastb -= remsz; a = asp + indphsize; n n = t2bunpack (a); -***131,139 ---- n return (-1);* }* lastb = asp + indph->ind_off; ! ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, lastb, elsz, &pg);*! alter_pn (remsz, elsz, rbeg, rloc, &pg, inf);* lastb -= remsz; a = asp + indphsize; n n = t2bunpack (a); 21:38:33 1998 ******140,146 98 ** a += size2b; n a += kszcal (a, afn, d_f) + n * elsz; n rloc = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, *uppn, idm, rloc - asp, size2b, rloc, 0);* n indph->ind_off -= remsz; if (a == lastb && n == 1) /* remove one level */ ano = 1; -***140,146 ---- a += size2b; n a += kszcal (a, afn, d_f) + n * elsz; n rloc = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, rloc - asp, size2b, rloc, 0);* n indph->ind_off -= remsz; if (a == lastb && n == 1) /* remove one level */ ano = 1; 21:38:33 1998 ******164,170u98 ** struct A pg; n char new_key[BD_PAGESIZE]; n char newk2[BD_PAGESIZE]; - i4_t idm;: n uppn = *(--thread_s.u);* asp = getwl (&pg, seg_t, uppn); /* get uppn without lock */ -***164,169 ---- 21:38:33 1998 ******199,208 98 ** putwul (&pg, 'n');* return (-1);* } ! idm = ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, asp + off, elsz, uppn, asp, idm);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, uppn, idm, a - asp, size2b, a, 0);* indph->ind_off -= remsz; a = asp + indphsize; n n = t2bunpack (a); -***198,207 ---- putwul (&pg, 'n');* return (-1);* } ! ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, asp + off, elsz, &pg);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off -= remsz; a = asp + indphsize; n n = t2bunpack (a); 21:38:33 1998 ******212,218 98 ** { struct A pg_down;* getwl (&pg_down, seg_t, prevpn); !nnnnnnnnnnnremove_level (asp, uppn, &pg_down);* } n } n elod -***211,217 ---- { struct A pg_down;* getwl (&pg_down, seg_t, prevpn); !nnnnnnnnnnnremove_level (&pg, &pg_down);* } n } n elod 21:38:33 1998 ******239,248 98 ** indph = (:truct ind_page *) asp;* nnnnrbeg = offbeg + asp;* nnnnrloc = offloc + asp;*! idm = ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, asp + off, elsz, uppn, asp, idm);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, uppn, idm, a - asp, size2b, a, 0);* indph->ind_off -= remsz; } n assert (check_ind_page (asp) == 0); -***238,247 ---- indph = (:truct ind_page *) asp;* nnnnrbeg = offbeg + asp;* nnnnrloc = offloc + asp;*! ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, asp + off, elsz, &pg);* a = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* indph->ind_off -= remsz; } n assert (check_ind_page (asp) == 0); 21:38:33 1998 ******253,261 98 ** prevpn = prevpn_array[lev_num];* asp = getwl (&pg, seg_t, prevpn); indph = (:truct ind_page *) asp;*! idm = ++((:truct p_head *) asp)->idmod; a = (char *) &indph->ind_nextpn; !n recmjfrem (OLD, seg_t, prevpn, idm, a - asp, size2b, a, 0);* pn = indph->ind_nextpn; indph->ind_nextpn = (u2_t) ~ 0;* l_emp_put (pn); -***252,260u---- n prevpn = prevpn_array[lev_num];* asp = getwl (&pg, seg_t, prevpn); indph = (:truct ind_page *) asp;*! ++((:truct p_head *) asp)->idmod; a = (char *) &indph->ind_nextpn; !n recmjfrem (OLD, &pg, a - asp, size2b, a, 0);* pn = indph->ind_nextpn; indph->ind_nextpn = (u2_t) ~ 0;* l_emp_put (pn); 21:38:33 1998 ******277,283u98 ** u2_t rbrpn, pt, uppn; i4_t pr_merge = 0, off_rbr = 0;: struct A pgr; - i4_t idm, idmr; asp = pg->p_shm;* n eloz = k2sz + infsz; -***276,281 ---- 21:38:33 1998 ******352,407 98 ** putpg (&pgr, 'n');* }* if (n2 == 0) /* don't touch right brother */ ! if (rloc + eloz == lastb ) !n { !nnnnnnnnnchar *newkey, *newk2; !nnnnnnnnnif (newinf != NULL && rbrpn != (u2_t) ~ 0) !nnn nnnnnnn{ ! n if (BUF_lockpage (seg_t, rbrpn, 's') == -1) /* Lock rbrpn */ ! nnnnnnn{ ! n putwul (pg, 'n');* return (-1);*!nnnnnnnnnnnnnnn} !nnnnnnnnnnnnnthread_s_put (rbrpn); !nnnnnnnnnnn} !nnnnnnnnnif (nrbeg == asp + indphsize && t2bunpack (rbeg) == 1 && indph->ind_wpage != IROOT) !nnn nnnnnnn{ ! n u2_t *prevpn_array;*!nnnnnnnnnnnnnprevpn_array = (u2_t *) xmalloc(thread_s.count * size2b);*! n putwul (pg, 'n');*! n ano = rem_last_page(key, key2, prevpn_array, 0);*! n xfree(prevpn_array);*! n return (ans); !nnnnnnnnnnn} !nnnnnnnnnif (remsz == elsz) !nnn nnnnnnn{ ! n newkey = key;*!nnnnnnnnnnnnnnewk2 = key2 - elsz; !nnnnnnnnnnn} !nnnnnnnnnelod !nnn nnnnnnn{ ! n newkey = asp + offbef + size2b; !nnnnnnnnnnnnnnewk2 = rbeg - elsz; !nnnnnnnnnnn} !nnnnnnnnnif (rbrpn != (u2_t) ~ 0) !nnn nnnnnnn{ ! n if (mlreddi (key, key2, newkey, newk2, pn) < 0) !nnn nnnnnnn return (-1);*!nnnnnnnnnnn} !nnnnnnnnnelod !nnn nnnnnnn{ ! n if (modlast (key, key2, newkey, newk2, pn) < 0) !nnn nnnnnnn return (-1);*!nnnnnnnnnnn} !nnnnnnn} !nnnnnelod !nnn nnn{ ! n upunlock (); !nnnnnnnnnif (lenfrece ()< 0) !nnn nnnnnnnreturn (-1);*!nnnnnnn} ! idm = ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, lastb, elsz, pn, asp, idm);* if (n2 != 0) nnnnn{ if (remsz != elsz && rbeg - remsz == lastb) -***350,407 ---- putpg (&pgr, 'n');* }* if (n2 == 0) /* don't touch right brother */ ! { !n if (rloc + eloz == lastb ) !n nn{ ! n char *newkey, *newk2; !nnnnnnnnnnnif (newinf != NULL && rbrpn != (u2_t) ~ 0) !nnn nnnnnnnnn{ ! n if (BUF_lockpage (seg_t, rbrpn, 's') == -1) /* Lock rbrpn */ ! nnnnnnnnn{ ! n putwul (pg, 'n');*! n return (-1);*!nnnnnnnnnnnnnnnnn} !nnnnnnnnnnnnnnnthread_s_put (rbrpn); !nnnnnnnnnnnnn} !nnnnnnnnnnnif (nrbeg == asp + indphsize && t2bunpack (rbeg) == 1 && indph->ind_wpage != IROOT) !nnn nnnnnnnnn{ ! n u2_t *prevpn_array;*!nnnnnnnnnnnnnnnprevpn_array = (u2_t *) xmalloc(thread_s.count * size2b);*! n putwul (pg, 'n');*! n ano = rem_last_page(key, key2, prevpn_array, 0);*! n xfree(prevpn_array);*! n return (ans); !nnnnnnnnnnnnn} !nnnnnnnnnnnif (remsz == elsz) !nnn nnnnnnnnn{ ! n newkey = key;*!nnnnnnnnnnnnnnnnewk2 = key2 - elsz; !nnnnnnnnnnnnn} !nnnnnnnnnnnelod !nnn nnnnnnnnn{ ! n newkey = asp + offbef + size2b; !nnnnnnnnnnnnnnnnewk2 = rbeg - elsz; !nnnnnnnnnnnnn} !nnnnnnnnnnnif (rbrpn != (u2_t) ~ 0) !nnn nnnnnnnnn{ ! n if (mlreddi (key, key2, newkey, newk2, pn) < 0) n return (-1);*!nnnnnnnnnnnnn} !nnnnnnnnnnnelod !nnn nnnnnnnnn{ ! n if (modlast (key, key2, newkey, newk2, pn) < 0) !nnn nnnnnnn return (-1);*!nnnnnnnnnnnnn} !nnnnnnnnn} !nnnnnnnelod !nnn nnnnn{ ! n upunlock (); !nnnnnnnnnnnif (lenfrece ()< 0) !nnn nnnnnnn return (-1);*!nnnnnnnnn} !nnnnn} ! ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, lastb, elsz, pg);* if (n2 != 0) nnnnn{ if (remsz != elsz && rbeg - remsz == lastb) 21:38:33 1998 ******413,419 98 ** if (cmpkeys (k_t, afn, d_f, lkey, a + size2b) == 0 && n1 != indphsize) n { n u2_t keysz; !n nnrecmjfrem (OLD, seg_t, pn, idm, bbeg - asp, size2b, bbeg, 0);* mod_nelo (t2bunpack (a), bbeg); keysz = kszcal (a + size2b, afn, d_f);* off_rbr = keysz + size2b; -***413,419 ---- if (cmpkeys (k_t, afn, d_f, lkey, a + size2b) == 0 && n1 != indphsize) n { n u2_t keysz; !n nnrecmjfrem (OLD, pg, bbeg - asp, size2b, bbeg, 0);* mod_nelo (t2bunpack (a), bbeg); keysz = kszcal (a + size2b, afn, d_f);* off_rbr = keysz + size2b; 21:38:33 1998 ******422,432 98 ** lastb -= remsz; bcopy (a + off_rbr, lastb, n2 - off_rbr); n if (newinf != NULL) !nnn nnnnnalter_pn (remsz, elsz, rbeg, rloc, pn, idm, asp, newinf); n if (pr_merge == 1) n { a = (char *) &indph->ind_nextpn; !n nnrecmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* indph->ind_nextpn = indphr->ind_nextpn; putwul (&pgr, 'n');* l_emp_put (rbrpn); -***422,432 ---- n lastb -= remsz; bcopy (a + off_rbr, lastb, n2 - off_rbr); n if (newinf != NULL) !nnn nnnnnalter_pn (remsz, elsz, rbeg, rloc, pg, newinf); n if (pr_merge == 1) n { a = (char *) &indph->ind_nextpn; !n nnrecmjfrem (OLD, pg, a - asp, size2b, a, 0);* indph->ind_nextpn = indphr->ind_nextpn; putwul (&pgr, 'n');* l_emp_put (rbrpn); 21:38:33 1998 ******435,444 98 ** struct A pg1;* char *asp1; a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* indph->ind_off += n2 - remsz; n asp1 = getwl (&pg1, seg_t, uppn); ! remove_level (asp1, uppn, pg);* assert (check_ind_page (asp1) == 0); putwul (&pg1, 'm');* n nnnnnnn return (0); -***435,444 ---- struct A pg1;* char *asp1; a = (char *) &indph->ind_off; ! recmjfrem (OLD, pg, a - asp, size2b, a, 0);* indph->ind_off += n2 - remsz; n asp1 = getwl (&pg1, seg_t, uppn); ! remove_level (&pg1, pg);* assert (check_ind_page (asp1) == 0); putwul (&pg1, 'm');* n nnnnnnn return (0); 21:38:33 1998 ******448,459u98 ** { nnnnnnnnnni4_t size; a = aspr + indphsize; !nnnnnnnnnnnidmr = ++((:truct p_head *) aspr)->idmod; size = off2 - indphsize - n2; !n nnrecmjfrem (COMBL, seg_t, rbrpn, idmr, indphsize, size, a, n2);* n nnnnnnn bcopy (a + n2, a, size); a = (char *) &indphr->ind_off; ! nnrecmjfrem (OLD, seg_t, rbrpn, idmr, a - aspr, size2b, a, 0);* nnindphr->ind_off -= n2; assert (check_ind_page (aspr) == 0); putwul (&pgr, 'm'); -***448,459u---- n { nnnnnnnnnni4_t size; a = aspr + indphsize; !nnnnnnnnnnn++((:truct p_head *) aspr)->idmod; size = off2 - indphsize - n2; !n nnrecmjfrem (COMBL, &pgr, indphsize, size, a, n2);* n nnnnnnn bcopy (a + n2, a, size); a = (char *) &indphr->ind_off; ! nnrecmjfrem (OLD, &pgr, a - aspr, size2b, a, 0);* nnindphr->ind_off -= n2; assert (check_ind_page (aspr) == 0); putwul (&pgr, 'm'); 21:38:33 1998 ******464,483u98 ** if (rloc + eloz == lastb) n { aspr = getwl (&pgr, seg_t, rbrpn); /* get rbrpn without lock */ ! idmr = ++((:truct p_head *) aspr)->idmod; a = aspr + indphsize + size2b; n a += kszcal (a, afn, d_f); n a += k2sz; !n nnrecmjfrem (OLD, seg_t, rbrpn, idmr, a - aspr, size2b, a, 0);* nnnnnnn bcopy (newinf, a, size2b);* assert (check_ind_page (aspr) == 0); putwul (&pgr, 'm'); n } n elod !nnn nnnnnalter_pn (remsz, elsz, rbeg, rloc, pn, idm, asp, newinf); n }* a = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, pn, idm, a - asp, size2b, a, 0);* indph->ind_off += n2 - off_rbr - remsz; assert (check_ind_page (asp) == 0); putwul (pg, 'm'); -***464,483u---- if (rloc + eloz == lastb) n { aspr = getwl (&pgr, seg_t, rbrpn); /* get rbrpn without lock */ ! ++((:truct p_head *) aspr)->idmod; a = aspr + indphsize + size2b; n a += kszcal (a, afn, d_f); n a += k2sz; !n nnrecmjfrem (OLD, &pgr, a - aspr, size2b, a, 0);* nnnnnnn bcopy (newinf, a, size2b);* assert (check_ind_page (aspr) == 0); putwul (&pgr, 'm'); n } n elod !nnn nnnnnalter_pn (remsz, elsz, rbeg, rloc, pg, newinf); n }* a = (char *) &indph->ind_off; ! recmjfrem (OLD, pg, a - asp, size2b, a, 0);* indph->ind_off += n2 - off_rbr - remsz; assert (check_ind_page (asp) == 0); putwul (pg, 'm'); 21:38:33 1998 ******519,525 98 ** { i4_t lagelsz, remsz, offbef;* char *rbeg, *rloc; - i4_t idm;: if (BUF_enfrece (seg_t, rootpn) < 0) n { putwul (&pg, 'n');*-***519,524 ---- 21:38:33 1998 ******528,537u98 ** } n lagelsz = k2sz + infsz; n remsz = remrep (asp, key, key2, lagelsz, &rbeg, &rloc, &offbef); ! idm = ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, asp + indph->ind_off, lagelsz, rootpn, asp, idm);* rloc = (char *) &indph->ind_off; ! recmjfrem (OLD, seg_t, rootpn, idm, rloc - asp, size2b, rloc, 0);* n indph->ind_off -= remsz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); -***527,536u---- n }* lagelsz = k2sz + infsz; n remsz = remrep (asp, key, key2, lagelsz, &rbeg, &rloc, &offbef); ! ++((:truct p_head *) asp)->idmod; ! icp_remrec (rbeg, rloc, remsz, asp + indph->ind_off, lagelsz, &pg);* rloc = (char *) &indph->ind_off; ! recmjfrem (OLD, &pg, rloc - asp, size2b, rloc, 0);* n indph->ind_off -= remsz; assert (check_ind_page (asp) == 0); putwul (&pg, 'm'); 21:38:33 1998 ******562,579 98 ** }* downunlock (); thread_s_ini(); !nnnreturn (0); } n int* kszcal (char *key, u2_t * mfn, :truct des_field *ad_f) { ! i4_t k, keysz; char *a, *aval;* u2_t nk; keysz = scscal (key); - assert (keysz < BD_PAGESIZE);* a = aval = key + keysz; fre (nk = 0, k = 0; nk < k_n && key < aval; nk++, k++) nnnnn{ -***561,577 ---- }* downunlock (); thread_s_ini(); !nnnreturn 0; } n int* kszcal (char *key, u2_t * mfn, :truct des_field *ad_f) { ! int k, keysz; char *a, *aval;* u2_t nk; keysz = scscal (key); a = aval = key + keysz; fre (nk = 0, k = 0; nk < k_n && key < aval; nk++, k++) nnnnn{ 21:38:33 1998 ******654,659 98 ** * downunlock (); thread_s_ini(); !nnnreturn (0); } -n -***652,656 ---- * downunlock (); thread_s_ini(); !nnnreturn 0; } diff -rc gnusql-0.7b5.3/src/engine/trans/ind_scan.c gnusql-0.7b6.0/src/engine/trans/ind_scan.c*****gnusql-0.7b5.3/src/engine/trans/ind_scan.c Mon Apr 28 13:52:55*1997 -***gnusql-0.7b6.0/src/engine/trans/ind_scan.c Wed May 20 01:52:43*1998 21:38:33 1998 ******27,33 98 ** ** */ n ! /* $Id: ind_scan.c,v 1.245*1997/03/31 03:46:38*kml Exp $ */ n #include "xmem.h" #include "destrn.h" -***27,33 ---- n ** */ n ! /* $Id: ind_scan.c,v 1.247*1998/05/20 05:52:43*kml Exp $ */ n #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******71,78 98 ** { n char *kval, *keyval;* i4_t sst, k1, ftype, v, v1; ! char *a1, *a2; !nnnu2_t k, nk, n1, n2; unsigned char t; sst = 1; -***71,77 ---- { n char *kval, *keyval;* i4_t sst, k1, ftype, v, v1; ! u2_t k; unsigned char t; sst = 1; 21:38:33 1998 ******95,152 98 ** kval = proval (kval, ftype); elod nnnn{ ! switch (ftype) ! { ! case T1B: ! diaval = ftint (t, diaval, &a1, &a2, size1b);*! v = f1b (kval, a1, size1b, size1b);*! if (BETWEEN_CMP)*!n nv1 = f1b (kval, a2, size1b, size1b);*! kval++;*! break; ! case T2B: ! diaval = ftint (t, diaval, &a1, &a2, size2b);*! v = f2b (kval, a1, size2b, size2b);*! if (BETWEEN_CMP)*!n nv1 = f2b (kval, a2, size2b, size2b);*! kval += size2b; ! break; ! case T4B: ! diaval = ftint (t, diaval, &a1, &a2, size4b);*! v = f4b (kval, a1, size4b, size4b);*! if (BETWEEN_CMP)*!n nv1 = f4b (kval, a2, size4b, size4b);*! kval += size4b; ! break; ! case TFLOAT: ! diaval = ftint (t, diaval, &a1, &a2, size4b);*! v = flcmp (kval, a1, size4b, size4b);*! if (BETWEEN_CMP)*!n nv1 = flcmp (kval, a2, size4b, size4b);*! kval += size4b; ! break; ! case TFL: ! nk = t2bunpack (kval);*! kval += size2b; ! diaval = ftch (t, diaval, &a1, &a2, &n1, &n2);*! v = ffloat (kval, a1, nk, n1);*! if (BETWEEN_CMP)*!n nv1 = ffloat (kval, a2, nk, n2);*! kval += nk; ! break; ! case TCH: ! nk = t2bunpack (kval);*! kval += size2b; ! diaval = ftch (t, diaval, &a1, &a2, &n1, &n2);*! v = chcmp (kval, a1, nk, n1);*! if (BETWEEN_CMP)*!n nv1 = chcmp (kval, a2, nk, n2);*! kval += nk; ! break; ! default: ! break; ! } ! * n nn if (v == 0) /* current == first */ { if (t == SML) -***94,101u---- n kval = proval (kval, ftype); elod nnnn{ ! v = cmpval (kval, diaval, ftype); ! diaval = proval (diaval, ftype); * n nn if (v == 0) /* current == first */ { if (t == SML) 21:38:33 1998 ******154,178 98 ** if (t == NEQ || t == GRT || t == SS || t == SSE)* nnreturn (1);* } ! elod !n if (v > 0) /* current > first */ ! {*!n nif (t == EQ || t == SML || t == SMLEQ)*!n nnnreturn (EOI);*! n ! nif (BETWEEN_CMP)*!n n if (v1 == 0) /* current == last */ ! if (t == SS || t == SES)*!n return (EOI);*! elod {}*!n n elod if (v1 > 0) /* current > last */ ! return (EOI);*! }*!n elod /* current < first */ ! {*!n nif (!(t == NEQ || t == SML || t == SMLEQ))*!n nnnreturn (1);*! }* n nn } n } n elod -***103,130u---- n if (t == NEQ || t == GRT || t == SS || t == SSE)* nnreturn (1);* } ! elod if (v > 0) /* current > first */ ! nnnnnnnnn{ ! n if (t == EQ || t == SML || t == SMLEQ)*!n n return (EOI);*! n if (BETWEEN_CMP)*!nnnnnnnnnnnnnnnnnnnnn{ ! n v1 = cmpval (kval, diaval, ftype); ! diaval = proval (diaval, ftype); ! if (v1 == 0) /* current == last */ ! if (t == SS || t == SES)*!nnnnnnnnnnnnnnnnnnnnnnnnnnnreturn (EOI);*! n elod {}*! n elod if (v1 > 0) /* current > last */ ! nnnnnnnnnnnnnnnnnnnnnnnnreturn (EOI);*! n }*!nnnnnnnnnnnnnnnnn} !nnnnnnnnnnnnnnnelod /* current < first */ ! nnnnnnnnn{ ! n if (!(t == NEQ || t == SML || t == SMLEQ))*!nnnnnnnnnnnnnnnnnnnnnreturn (1);*!nnnnnnnnnnnnnnnnn} !nnnnnnnnnnnnnnnkval = proval (kval, ftype); } n } n elod 21:38:33 1998 ******271,317 98 ** /* key - in*the index, aval - from diasc */ n{ n char *kval;*! i4_t ftype, v = 0;:! u2_t nk, n1; kval = key + scscal (key); if ((*key & BITVL(0)) != 0) ! { !n ftype = (d_f + afn[0])->field_type;*!nnnnnnnswitch (ftype) ! {*!n case T1B: ! v = f1b (kval, aval, size1b, size1b);*! break; ! case T2B: ! v = f2b (kval, aval, size2b, size2b);*! break; ! case T4B: ! v = f4b (kval, aval, size4b, size4b);*! break; ! case TFLOAT: ! v = flcmp (kval, aval, size4b, size4b);*! break; ! case TFL: ! nk = t2bunpack (kval);*! kval += size2b; ! n1 = t2bunpack (aval);*! aval += size2b; ! v = ffloat (kval, aval, nk, n1);*! break; ! case TCH: ! nk = t2bunpack (kval);*! kval += size2b; ! n1 = t2bunpack (aval);*! aval += size2b; ! v = chcmp (kval, aval, nk, n1);*! break; ! default: ! break; ! } !nnnnn} ! elod !nnn nv = 1; nnnnreturn (v); } n -***223,233u---- /* key - in*the index, aval - from diasc */ n{ n char *kval;*! i4_t v = 1; nn kval = key + scscal (key); if ((*key & BITVL(0)) != 0) ! v = cmpval (kval, aval, (d_f + afn[0])->field_type); nnnnreturn (v); } n 21:38:33 1998 ******371,377 98 ** return (a);* } n ! int* fscan_ind (:truct ldesscan *desscn, char *key2, char *inf, i4_t infsz, char modescan) n{ n char *a, *diasc, *diaval, *ckey;*-***287,293 ---- n return (a);* } n ! i4_t* fscan_ind (:truct ldesscan *desscn, char *key2, char *inf, i4_t infsz, char modescan) n{ n char *a, *diasc, *diaval, *ckey;*21:38:33 1998 ******579,585 98 ** return (NULL); n} n ! int* scan_ind (:truct ldesscan *desscn, char *key2, char *inf, i4_t infsz, char modescan) n{ n char *asp = NULL, *a, *lastb, *diasc, *diaval, *ckey;*-***495,501 ---- n return (NULL); n} n ! i4_t* scan_ind (:truct ldesscan *desscn, char *key2, char *inf, i4_t infsz, char modescan) n{ n char *asp = NULL, *a, *lastb, *diasc, *diaval, *ckey;*diff -rc gnusql-0.7b5.3/src/engine/trans/inscon.c gnusql-0.7b6.0/src/engine/trans/inscon.c*****gnusql-0.7b5.3/src/engine/trans/inscon.c Mon Apr 28 13:52:55*1997 -***gnusql-0.7b6.0/src/engine/trans/inscon.c Wed May 20 01:52:43*1998 21:38:33 1998 ******28,34 98 ** ** */ n ! /* $Id: inscon.c,v 1.246*1997/04/10 06:57:28 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***28,34 ---- n ** */ n ! /* $Id: inscon.c,v 1.251*1998/05/20 05:52:43*kml Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******43,71 98 ** extern :truct ldesind **TAB_IFAM; nn #define CMP_REL \* if (sn_out != NRSNUM)\ nnnnn{\: if ((cpn = cont_fir (pidrl_out, &dr_out)) != OK)\ n return (cpn);\ !n if ((cpn = synlsc (WSC, pidrl_out, sc, slsz, fn, (u2_t *) NULL)) != OK)\ nnnnnnnnnreturn (cpn);\ - fn2 = dr_out->desrbd.fieldnum;\ - fdf2 = dr_out->desrbd.fdfnum;\ - df2 = (:truct des_field *) (dr_out + 1);\ nnnnnn}\ n elod\ !n { /* The insertion in*the temporarynrelation */\ nnnnnnndtr_out = (:truct des_trel *) * (desnseg.tobtab + pidrl_out->urn.obnum);\ nnnnnn if (dtr_out->tobtr.prdt.prob != TREL)\ !n return (NDR);\ !n fn2 = dtr_out->fieldn;\ !n fdf2 = dtr_out->fdftr;\ !n df2 = (:truct des_field *) (dtr_out + 1);\ !n dt = (:truct des_tob *) dtr_out;\ nnnnnn}\ ! if ((cpn = cmprel (fn, fdf, df, fn2, fdf2, df2)) != OK)\ !nnnnnreturn (cpn); nn #define INSERTION_BY_TID(pn,ind) \* if (oldpn != pn)\ nnnnn{\:-***43,74 ---- nextern :truct ldesind **TAB_IFAM; nn #define CMP_REL \*+n{\:+ struct fun_desc_fields *desf2;\:+ if (testcond (desf, 0, NULL, &slsz, sc, 0, NULL) != OK)\ +nnn return (-ER_NCF);\ nnnnif (sn_out != NRSNUM)\ nnnnn{\: if ((cpn = cont_fir (pidrl_out, &dr_out)) != OK)\ n return (cpn);\ !n desf2 = &dr_out->f_df_bt;\ !n if ((cpn = synlsc (WSC, pidrl_out, sc, slsz, desf2->f_fn, NULL)) != OK)\ nnnnnnnnnreturn (cpn);\ nnnnnn}\ n elod\ !n { /* The insertion to*the temporarynrelation */\ nnnnnnndtr_out = (:truct des_trel *) * (desnseg.tobtab + pidrl_out->urn.obnum);\ nnnnnn if (dtr_out->tobtr.prdt.prob != TREL)\ !n return (-ER_NDR);\ !n desf2 = &dtr_out->f_df_tt;\ !n dt = (:truct des_tob *)dtr_out;\ nnnnnn}\ ! if ((cpn = cmprel (desf, desf2)) != OK)\ !nnnnnreturn (cpn);\ !n} n + /*-------------------------------------------------------------*/ +n #define INSERTION_BY_TID(pn,ind) \* if (oldpn != pn)\ nnnnn{\:21:38:33 1998 ******75,121u98 ** oldpn = pn;\ nnnnnn }\ n ai = afi + ind; nn #define MASS_INSERTION \* if (*ai != 0 && CHECK_PG_ENTRY(ai))\ nnnnn{\:!nnnnnn if (sn_out != NRSNUM)\ !nnnnnnnnnn{\ !nnnnnnnnnnnnif ((corsize = fndslc (dr_in, asp, ai, sc,\*!nnnnnnnnnnnnnnnnnnnnnnnnnnnslsz, cort)) != 0)\*!nnnnnnnnnnnnnnmins (cort, corsize, outpage, &freesz, dr_out);\*!nnnnnnnnnn}\*!nnnnnnnnelod\ !n nnnnnif ((corsize = fndslc (dr_in, asp, ai, sc,\*!nnnnnnnnnnnnnnnnnnnnnnnnnnnslsz, NULL)) != 0)\*!nnnnnnnnnnnnminstr (outpage, asp + *ai, corsize, dt);\ nnnnnn} nn #define END_MASS_INS \* if (sn_out != NRSNUM)\ !nnnnneop_mass_ins (pidrl_out->urn.obnum, outpage, freesz);\ nnnnelod\ nnnnn{\: dtr_out->tobtr.prdt.prsort = NSORT;\*!nnnnnnnputwul (outpage, 'm');\ nnnnnn} nn static int*! cmprel (u2_t fn1, u2_t fdf1, :truct des_field *df1, u2_t fn2, ! u2_t fdf2, :truct des_field *df2) { ! :truct des_field *ldf;:! u2_t type;*!nnn* if (fn1 != fn2 || fdf1 != fdf2) !nnnnnreturn (N_EQV); fre (ldf = df1 + fn1; df1 < ldf; df1++, df2++) nnnnn{ nnnnnif ((type = df1->field_type) != df2->field_type) !n return (N_EQV); if (type == TCH || type == TFL)* if (df1->field_size > df2->field_size) !n return (N_EQV); } n return (OK); } -***78,128 ---- oldpn = pn;\ nnnnnn }\ n ai = afi + ind; + /*-------------------------------------------------------------*/ nn #define MASS_INSERTION \* if (*ai != 0 && CHECK_PG_ENTRY(ai))\ nnnnn{\:!nnnnnn if ((corsize = fndslc (dr_in, asp + *ai, sc,\*!nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnslsz, cort)) != 0)\*!nnnnnnnnnif (sn_out != NRSNUM)\ !nnnnnnnnnnnmins (cort, corsize, &outpage, &freesz, dr_out);\*!nnnnnnnnnelod\ !n nnnnnnminstr (outasp, cort, corsize, dt);\ nnnnnn} + /*-------------------------------------------------------------*/ nn #define END_MASS_INS \* if (sn_out != NRSNUM)\ !nnnnneop_mass_ins (pidrl_out->urn.obnum, &outpage, freesz);\ nnnnelod\ nnnnn{\: dtr_out->tobtr.prdt.prsort = NSORT;\*!nnnnnnnwrite_tmp_page (dt->lastpn, outasp);\ nnnnnn} + /*-------------------------------------------------------------*/ nn static int*! cmprel (struct fun_desc_fields *desf1, :truct fun_desc_fields *desf2) { ! :truct des_field *ldf, *df1, *df2;:! u2_t type, fn1, fn2, fdf1, fdf2;:! :! fn1 = desf1->f_fn;:! fn2 = desf2->f_fn;:! fdf1 = desf1->f_fdf;:! fdf2 = desf2->f_fdf; if (fn1 != fn2 || fdf1 != fdf2) !nnnnnreturn (-ER_N_EQV); ! df1 = desf1->df_pnt; ! df2 = desf2->df_pnt; fre (ldf = df1 + fn1; df1 < ldf; df1++, df2++) nnnnn{ nnnnnif ((type = df1->field_type) != df2->field_type) !n return (-ER_N_EQV); if (type == TCH || type == TFL)* if (df1->field_size > df2->field_size) !n return (-ER_N_EQV); } n return (OK); } 21:38:33 1998 ******134,143 98 ** } n static void*! mins (char *cort, u2_t corsize, :truct A *outpage, u2_t *freesz,*!nnnnnnnstruct d_r_t *desrel) { ! char *tuple, *outasp;: struct page_head *ph;* i4_t n, ni, rn;* u2_t size, delta, sn; -***141,150u---- n} n static void*! mins (char *cort, u2_t corsize, :truct A *outpage,*!nnnnnnnu2_t *freesz,nstruct d_r_t *desrel) { ! char *outasp;: struct page_head *ph;* i4_t n, ni, rn;* u2_t size, delta, sn; 21:38:33 1998 ******149,155 98 ** *cort = CORT;* delta = corsize + size2b; n last_adlj = adlj; - tuple = cort; sn = desrel ->segnr; nnnnrn = desrel->desrbd.relnum; if (delta > * freesz) -***156,161 ---- 21:38:33 1998 ******186,226 98 ** wmlj (INSLJ, ljmsize + corsize, &adlj, &idr, &tid, 0);* bcopy (cort, outasp + size, corsize);* n = desrel->desrbd.indnum; ! ni = proind (ordindi, desrel, n, tuple, &tid);* if (ni < n) nnnnn{ !nnnnnnnstruct des_tid ref_tid; wmlj (RLBLJ, ljrsize, &last_adlj, &idr, &tid, 0);*!nnnnnnnproind (ordindd, desrel, ni, tuple, &tid);*! ref_tid.tpn = (u2_t) ~ 0;*! orddel (st, rn, &tid, &ref_tid, corsize);* n} n} n CPNM ! inscrl (struct id_rel *pidrl_in, :truct id_rel *pidrl_out, u2_t fln, ! u2_t * fl, u2_t slsz, char *sc) { ! u2_t fn, fdf, fn2, fdf2, *ali, sn_in, :n_out, *ai; ! char *cort, *asp = NULL; ! :truct des_field *df, *df2;:! u2_t pn, corsize, freesz = 0;: struct d_r_t *dr_out; nnnnstruct des_trel *dtr_out = NULL; nnnnstruct des_tob *dt = NULL; nnnnCPNM cpn; !n char *outasp = NULL; ! :truct A inpage, *outpage, outpg; char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n sn_in = pidrl_in->urn.segnum; sn_out = pidrl_out->urn.segnum; if (sn_in == sn_out && pidrl_in->urn.obnum == pidrl_out->urn.obnum) !nnnnnreturn (NDR); cort = pbuflj + ljmsize; ! outpage = &outpg; ! outpage->p_shm = NULL; nnnnif (sn_in != NRSNUM) nnnnn{ nnnnnstruct d_r_t *dr_in; -***192,232 ---- n wmlj (INSLJ, ljmsize + corsize, &adlj, &idr, &tid, 0);* bcopy (cort, outasp + size, corsize);* n = desrel->desrbd.indnum; ! ni = proind (ordindi, desrel, n, cort, &tid);* if (ni < n) nnnnn{ !nnnnnnnstruct full_des_tuple dtuple; wmlj (RLBLJ, ljrsize, &last_adlj, &idr, &tid, 0);*!nnnnnnnproind (ordindd, desrel, ni, cort, &tid);*!n dtuple.sn_fdt = sn;*!n dtuple.rn_fdt = rn;*!n dtuple.tid_fdt = tid; ! orddel (&dtuple);* n} n} n CPNM ! inscrl (struct id_rel *pidrl_in, :truct id_rel *pidrl_out, ! u2_t fln, u2_t * fl, u2_t slsz, char *sc) { ! u2_t *ali, sn_in, :n_out, *ai, pn, corsize, freesz = 0;:! char *cort, *asp = NULL, *outasp = NULL; ! :truct fun_desc_fields *desf;: struct d_r_t *dr_out; nnnnstruct des_trel *dtr_out = NULL; nnnnstruct des_tob *dt = NULL; nnnnCPNM cpn; !n :truct A outpage; char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; + char tmp_buff_out[BD_PAGESIZE]; n sn_in = pidrl_in->urn.segnum; sn_out = pidrl_out->urn.segnum; if (sn_in == sn_out && pidrl_in->urn.obnum == pidrl_out->urn.obnum) !nnnnnreturn (-ER_NDR); cort = pbuflj + ljmsize; ! outpage.p_shm = NULL; nnnnif (sn_in != NRSNUM) nnnnn{ nnnnnstruct d_r_t *dr_in; 21:38:33 1998 ******229,252 98 ** u2_t size; nnnnnnnni4_t rep;* nnnni2_t num;: n if ((cpn = contir (pidrl_in, &dr_in)) != OK) n return (cpn); !n fn = dr_in->desrbd.fieldnum; !n fdf = dr_in->desrbd.fdfnum; !n df = (:truct des_field *) (dr_in + 1);:!nnnnnn if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) !n return (NCF); !n if ((cpn = synlsc (RSC, pidrl_in, :c, slsz, fn, (u2_t *) NULL)) != OK) !n return (cpn); n CMP_REL; if (sn_out == NRSNUM) !n outasp = getwl (outpage, NRSNUM, dtr_out->tobtr.lastpn); !n scind = rel_scan (sn_in, pidrl_in->urn.obnum, (char *) dr_in, nnnnnnnnnnnnnnnnnnnnnnnnnn&num, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n rep = fgetnext (disc, &pn, &size, FASTSCAN); !n fre (; rep != EOI;) n { while ((asp = getpg (&inpage, sn_in, pn, 's')) == NULL); ai = (u2_t *) (asp + phsize);*-***235,259 ---- u2_t size; nnnnnnnni4_t rep;* nnnni2_t num;:+ struct A inpage;: n if ((cpn = contir (pidrl_in, &dr_in)) != OK) n return (cpn); !n desf = &dr_in->f_df_bt; n CMP_REL; +n if ((cpn = synlsc (RSC, pidrl_in, :c, slsz, desf->f_fn, NULL)) != OK) +n return (cpn); + n if (sn_out == NRSNUM) !nnnnnnnnn{ ! n outasp = tmp_buff_out; !nnnnnnnnnnnread_tmp_page (dtr_out->tobtr.lastpn, outasp); !nnnnnnnnn} !nnnnnnnscind = rel_scan (&pidrl_in->urn, (char *) dr_in, nnnnnnnnnnnnnnnnnnnnnnnnnn&num, 0, NULL, NULL, 0, 0, NULL); disc = &scind->dessc; n rep = fgetnext (disc, &pn, &size, FASTSCAN); !n while (rep != EOI) n { while ((asp = getpg (&inpage, sn_in, pn, 's')) == NULL); ai = (u2_t *) (asp + phsize);*21:38:33 1998 ******261,295 98 ** elod /* sn_in == NRSNUM */ { nnnnnstruct des_trel *dtr_in;: n dtr_in = (:truct des_trel *) * (desnseg.tobtab + pidrl_in->urn.obnum); if (dtr_in->tobtr.prdt.prob != TREL) !n return (NDR); !n fn = dtr_in->fieldn; !n fdf = dtr_in->fdftr; !n df = (:truct des_field *) (dtr_in + 1);:!nnnnnn if (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) !n return (NCF); n CMP_REL; if (sn_out == NRSNUM) !n outasp = getwl (outpage, NRSNUM, dtr_out->tobtr.lastpn); fre (pn = dtr_in->tobtr.firstpn; pn != (u2_t) ~ 0;) n { ! asp = getwl (&inpage, NRSNUM, pn); nn ai = (u2_t *) (asp + phtrsize); ali = ai + ((:truct p_h_tr *) asp)->linptr; fre (; ai <= ali; ai++) n if (*ai != 0 &&*!nnnnnnnnnnnnnnnnn(corsize = tstcsel (df, fn, fdf, slsz,*!nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsc, asp + *ai, arrpnt, arrsz)) != 0 ) n { if (sn_out != NRSNUM)*!nnnnnnnnnnnnnnnnnnnmins (asp + *ai, corsize, outpage, &freesz, dr_out); elod !nnn nnnnnnnnnnnnnnnminstr (outpage, asp + *ai, corsize, dt);* n nn } pn = ((:truct listtob *) asp)->nextpn; - putwul (&inpage, 'n');* } n } n END_MASS_INS;*-***268,302 ---- n elod /* sn_in == NRSNUM */ { nnnnnstruct des_trel *dtr_in;:+ char tmp_buff_in[BD_PAGESIZE]; n n dtr_in = (:truct des_trel *) * (desnseg.tobtab + pidrl_in->urn.obnum); if (dtr_in->tobtr.prdt.prob != TREL) !n return (-ER_NDR); !n desf = &dtr_in->f_df_tt; n CMP_REL; if (sn_out == NRSNUM) !nnnnnnnnn{ ! n outasp = tmp_buff_out; !nnnnnnnnnnnread_tmp_page (dtr_out->tobtr.lastpn, outasp); !nnnnnnnnn} !nnnnnnnasp = tmp_buff_in;: fre (pn = dtr_in->tobtr.firstpn; pn != (u2_t) ~ 0;) n { ! read_tmp_page (pn, asp); nn ai = (u2_t *) (asp + phtrsize); ali = ai + ((:truct p_h_tr *) asp)->linptr; fre (; ai <= ali; ai++) n if (*ai != 0 &&*!nnnnnnnnnnnnnnnnn(corsize = tstcsel (desf, slsz, sc, asp + *ai,*!nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnarrpnt, arrsz)) != 0 ) n { if (sn_out != NRSNUM)*!nnnnnnnnnnnnnnnnnnnmins (asp + *ai, corsize, &outpage, &freesz, dr_out); elod !nnn nnnnnnnnnnnnnnnminstr (outasp, asp + *ai, corsize, dt);* n nn } pn = ((:truct listtob *) asp)->nextpn; } n } n END_MASS_INS;*21:38:33 1998 ******296,308 98 ** return (OK); } n ! int* inscin (struct id_ind *pidind, :truct id_rel *pidrl_out, u2_t fln, u2_t * fl, u2_t slsz, char *sc, u2_t diasz, char *diasc) { ! u2_t fn, fdf, fn2, fdf2, sn_in, :n_out, oldpn; ! char *asp = NULL, *cort; ! :truct des_field *df, *df2;:nnnnstruct ldesscan *disc; n struct d_sc_i *scind; nn :truct ldesind *di;*-***303,315 ---- n return (OK); } n ! i4_t* inscin (struct id_ind *pidind, :truct id_rel *pidrl_out, u2_t fln, u2_t * fl, u2_t slsz, char *sc, u2_t diasz, char *diasc) { ! u2_t sn_in, :n_out, oldpn; ! :truct fun_desc_fields *desf;:! char *asp = NULL, *cort, *outasp = NULL; nnnnstruct ldesscan *disc; n struct d_sc_i *scind; nn :truct ldesind *di;*21:38:33 1998 ******311,345 98 ** struct id_rel *pidrl_in; nnnnstruct des_tid tid; struct des_trel *dtr_out = NULL; -n char *outasp = NULL; nnnni2_t n;*! i4_t cpn; nnnnstruct des_tob *dt = NULL; ! :truct A inpage, *outpage, outpg; !nnni4_t rep;* pidrl_in = &pidind->irii; sn_in = pidrl_in->urn.segnum; sn_out = pidrl_out->urn.segnum; if (sn_in == sn_out && pidrl_in->urn.obnum == pidrl_out->urn.obnum) !nnnnnreturn (NDR); if ((cpn = cont_id (pidind, &dr_in, &di)) != OK) nnnnnreturn (cpn); ! fn = dr_in->desrbd.fieldnum; !n fdf = dr_in->desrbd.fdfnum; !n df = (:truct des_field *) (dr_in + 1);:!nnnif (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) !nnnnnreturn (NCF); ai = (u2_t *) (di + 1);: if ((cpn = testdsc (dr_in, &diasz, diasc, ai, &dscsz)) != OK) nnnnnreturn (cpn); ! ! if ((cpn = synlsc (RSC, pidrl_in, :c, slsz, fn, (u2_t *) NULL)) != OK) nnnnnreturn (cpn); nn kn = di->ldi.kifn & ~UNIQ & MSK21B;: if ((cpn = synlsc (RSC, pidrl_in, diasc, diasz, kn, ai)) != OK) nnnnnreturn (cpn); ! CMP_REL; scind = (struct d_sc_i *) lusc (&n, :cisize, (char *) di, SCI, WSC, nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn0, NULL, :c, slsz, 0, NULL, diasz + size2b);*-***318,347 ---- struct id_rel *pidrl_in; nnnnstruct des_tid tid; struct des_trel *dtr_out = NULL; nnnni2_t n;*! i4_t cpn, rep;* struct des_tob *dt = NULL; ! :truct A inpage, outpage; ! char tmp_buff_out[BD_PAGESIZE]; n pidrl_in = &pidind->irii; sn_in = pidrl_in->urn.segnum; sn_out = pidrl_out->urn.segnum; if (sn_in == sn_out && pidrl_in->urn.obnum == pidrl_out->urn.obnum) !nnnnnreturn (-ER_NDR); if ((cpn = cont_id (pidind, &dr_in, &di)) != OK) nnnnnreturn (cpn); ! desf = &dr_in->f_df_bt; ! CMP_REL; ai = (u2_t *) (di + 1);: if ((cpn = testdsc (dr_in, &diasz, diasc, ai, &dscsz)) != OK) nnnnnreturn (cpn); ! if ((cpn = synlsc (RSC, pidrl_in, :c, slsz, desf->f_fn, NULL)) != OK) nnnnnreturn (cpn); nn kn = di->ldi.kifn & ~UNIQ & MSK21B;: if ((cpn = synlsc (RSC, pidrl_in, diasc, diasz, kn, ai)) != OK) nnnnnreturn (cpn); ! scind = (struct d_sc_i *) lusc (&n, :cisize, (char *) di, SCI, WSC, nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn0, NULL, :c, slsz, 0, NULL, diasz + size2b);*21:38:33 1998 ******351,358 98 ** disc->dpnsval = asp + size2b + dscsz;* bcopy (diasc, asp + size2b, diasz); cort = pbuflj + ljmsize; ! outpage = &outpg; ! outpage->p_shm = NULL; nnnnif ((rep = ind_ftid (disc, &tid, FASTSCAN)) != EOI) n { nnnnnoldpn = tid.tpn;*-***353,359 ---- disc->dpnsval = asp + size2b + dscsz;* bcopy (diasc, asp + size2b, diasz); cort = pbuflj + ljmsize; ! outpage.p_shm = NULL; nnnnif ((rep = ind_ftid (disc, &tid, FASTSCAN)) != EOI) n { nnnnnoldpn = tid.tpn;*21:38:33 1998 ******362,368 98 ** elod nnngoto m1; if (sn_out == NRSNUM) !nnnnnoutasp = getwl (outpage, NRSNUM, dtr_out->tobtr.lastpn); fre (; rep != EOI; rep = ind_tid (disc, &tid, FASTSCAN)) n { nnnnnINSERTION_BY_TID(tid.tpn,tid.tindex);*-***363,372 ---- n elod nnngoto m1; if (sn_out == NRSNUM) !nnnnn{ ! noutpage.p_shm = outasp = tmp_buff_out; !nnnnnnnread_tmp_page (dtr_out->tobtr.lastpn, outasp); !nnnnn} fre (; rep != EOI; rep = ind_tid (disc, &tid, FASTSCAN)) n { nnnnnINSERTION_BY_TID(tid.tpn,tid.tindex);*21:38:33 1998 ******374,420 98 ** return (OK); } n ! int* inscfl (i4_t idfl, :truct id_rel *pidrl_out, u2_t fln, u2_t * fl, u2_t slsz, char *sc) { ! u2_t fn, fdf, fn2, fdf2, :n_out, flpn, off; nnnnstruct des_tid *tid, *tidb;:! char *aspfl, *cort, *asp = NULL; u2_t oldpn, *afi, *ai, corsize, sn_in, freesz = 0;: struct d_r_t *dr_in, *dr_out; - :truct des_field *df, *df2;:nnnnstruct des_trel *dtr_out = NULL; nnnnstruct des_fltr *desfl; -n char *outasp = NULL; nnnnstruct des_tob *dt = NULL; nnnnCPNM cpn; !n :truct A inpage, *outpage, inflpg, outpg; nnnnif ((u2_t) idfl > desnseg.mtobnum) !nnnnnreturn (NIOB);* desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) !nnn nreturn (NIOB); nnn* if (((:truct prtob *) desfl)->prob != FLTR) !nnnnnreturn (NIOB);* dr_in = desfl->pdrtf; ! fn = dr_in->desrbd.fieldnum; !n fdf = dr_in->desrbd.fdfnum; !n df = (:truct des_field *) (dr_in + 1);:!nnnif (testcond (df, fn, fdf, 0, NULL, &slsz, sc, 0, NULL) != OK) !nnnnnreturn (NCF); sn_in = dr_in->segnr; nnnnsn_out = pidrl_out->urn.segnum; cort = pbuflj + ljmsize; ! outpage = &outpg; ! outpage->p_shm = NULL; nnnnCMP_REL; if (sn_out == NRSNUM) !nnnnnoutasp = getwl (outpage, :n_out, dtr_out->tobtr.lastpn);nn* fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) nnnnn{ ! naspfl = getwl (&inflpg, NRSNUM, flpn); off = ((:truct p_h_f *) aspfl)->freeoff; nnnn tid = (:truct des_tid *) (aspfl + phfsize);* nnnoldpn = tid->tpn;*-***378,423 ---- n return (OK); } n ! i4_t* inscfl (i4_t idfl, :truct id_rel *pidrl_out, u2_t fln, u2_t * fl, u2_t slsz, char *sc) { ! u2_t :n_out, flpn, off; ! :truct fun_desc_fields *desf;: struct des_tid *tid, *tidb;:! char *aspfl, *cort, *asp = NULL, *outasp = NULL; nnnnu2_t oldpn, *afi, *ai, corsize, sn_in, freesz = 0;: struct d_r_t *dr_in, *dr_out; nnnnstruct des_trel *dtr_out = NULL; nnnnstruct des_fltr *desfl; nnnnstruct des_tob *dt = NULL; nnnnCPNM cpn; !n :truct A inpage, outpage; ! char tmp_buff_out[BD_PAGESIZE], tmp_buff_fl[BD_PAGESIZE]; n if ((u2_t) idfl > desnseg.mtobnum) !nnnnnreturn (-ER_NIOB);* desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) !nnn nreturn (-ER_NIOB); nnn* if (((:truct prtob *) desfl)->prob != FLTR) !nnnnnreturn (-ER_NIOB);* dr_in = desfl->pdrtf; ! desf = &dr_in->f_df_bt; sn_in = dr_in->segnr; nnnnsn_out = pidrl_out->urn.segnum; cort = pbuflj + ljmsize; ! outpage.p_shm = NULL; nnnnCMP_REL; if (sn_out == NRSNUM) !nnnnn{ ! noutpage.p_shm = outasp = tmp_buff_out; !nnnnnnnread_tmp_page (dtr_out->tobtr.lastpn, outasp); !nnnnn} ! naspfl = tmp_buff_fl;* fre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) nnnnn{ ! nread_tmp_page (flpn, aspfl); off = ((:truct p_h_f *) aspfl)->freeoff; nnnn tid = (:truct des_tid *) (aspfl + phfsize);* nnnoldpn = tid->tpn;*21:38:33 1998 ******427,433 98 ** MASS_INSERTION;* } n flpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; - putwul (&inflpg, 'n');* } n END_MASS_INS;nn* return (OK); -***430,435 ---- diff -rc gnusql-0.7b5.3/src/engine/trans/insfltr.c gnusql-0.7b6.0/src/engine/trans/insfltr.c*****gnusql-0.7b5.3/src/engine/trans/insfltr.c Mon Apr 28 13:52:56*1997 -***gnusql-0.7b6.0/src/engine/trans/insfltr.c Wed May 20 01:52:43*1998 21:38:33 1998 ******2,8 98 ** * insfltr.c - Insertion into a filter * * Kernel of GNU SQL-server * * ! * $Id: insfltr.c,v 1.245*1997/03/31 03:46:38*kml Exp $ n ** * This file is a part of GNU SQL Server n **-***2,8 ---- * insfltr.c - Insertion into a filter * * Kernel of GNU SQL-server * * ! * $Id: insfltr.c,v 1.248*1998/05/20 05:52:43*kml Exp $ n ** * This file is a part of GNU SQL Server n **21:38:33 1998 ******36,66 98 ** extern i2_t maxscan; nextern :truct des_nseg desnseg; n ! int* insfltr (i4_t scnum, i4_t idfl) n{ n struct d_mesc *scpr; nnnnstruct des_tob *destob;:! char sctype, *asp;:!n :truct p_h_f *ph;* struct d_r_t *desrel, *fdesrel; nnnnstruct des_fltr *desfltr; nnnnstruct des_tid tid; !n :truct A pg; n scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) !nnn nreturn (NDSC); if (scpr->prcrt == 0) !nnnnnreturn (NCR); if ((u2_t) idfl > desnseg.mtobnum) !nnnnnreturn (NIOB); * desfltr = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfltr == NULL) !nnn nreturn (NIOB);* destob = &desfltr->tobfl; if (destob->prdt.prob != FLTR) !nnnnnreturn (NIOB);* fdesrel = desfltr->pdrtf; if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */*-***36,65 ---- nextern i2_t maxscan; nextern :truct des_nseg desnseg; n ! i4_t* insfltr (i4_t scnum, i4_t idfl) n{ n struct d_mesc *scpr; nnnnstruct des_tob *destob;:! char sctype;* struct d_r_t *desrel, *fdesrel; nnnnstruct des_fltr *desfltr; nnnnstruct des_tid tid; !n char tmp_buff[BD_PAGESIZE]; n scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) !nnn nreturn (-ER_NDSC); if (scpr->prcrt == 0) !nnnnnreturn (-ER_NCR); if ((u2_t) idfl > desnseg.mtobnum) !nnnnnreturn (-ER_NIOB); n* desfltr = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfltr == NULL) !nnn nreturn (-ER_NIOB);* destob = &desfltr->tobfl; if (destob->prdt.prob != FLTR) !nnnnnreturn (-ER_NIOB);* fdesrel = desfltr->pdrtf; if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */*21:38:33 1998 ******77,96 98 ** tid = scind->dessc.ctidi;* } n elod !nnn nreturn (NIOB);* if (fdesrel != desrel) !nnnnnreturn (NCF); ! asp = getwl (&pg, NRSNUM, destob->lastpn); !n ph = (:truct p_h_f *) asp; ! if ((ph->freeoff + tidsize) > BD_PAGESIZE) !nnnnn{ ! nasp = getptob (&pg, destob);*!nnnnnnnph = (:truct p_h_f *) asp; ! nnnnph->freeoff = phfsize; !nnnnn} ! nph->freeoff += tidsize; !nnn*(:truct des_tid *) (asp + ph->freeoff) = tid; ! putwul (&pg, 'm'); destob->prdt.prsort = NSORT; n return (OK); } -***76,87 ---- tid = scind->dessc.ctidi;* } n elod !nnn nreturn (-ER_NIOB);* if (fdesrel != desrel) !nnnnnreturn (-ER_NCF); !nnnread_tmp_page (destob->lastpn, tmp_buff); !nnnminsfltr (tmp_buff, destob, &tid);*!n write_tmp_page (destob->lastpn, tmp_buff); destob->prdt.prsort = NSORT; n return (OK); } diff -rc gnusql-0.7b5.3/src/engine/trans/insrtn.c gnusql-0.7b6.0/src/engine/trans/insrtn.c*****gnusql-0.7b5.3/src/engine/trans/insrtn.c Mon Apr 28 13:52:56*1997 -***gnusql-0.7b6.0/src/engine/trans/insrtn.c Tue Jan 20 00:14:55*1998 21:38:33 1998 ******2,8 98 ** * insrtn.c - Insertion operation* * Kernel of GNU SQL-server * * ! * $Id: insrtn.c,v 1.247*1997/04/15*11:45:41 vera Exp $ n ** * This file is a part of GNU SQL Server n **-***2,8 ---- * insrtn.c - Insertion operation* * Kernel of GNU SQL-server * * ! * $Id: insrtn.c,v 1.252*1998/01/20 05:14:55*kml Exp $ n ** * This file is a part of GNU SQL Server n **21:38:33 1998 ******32,37u98 **-***32,38 ---- #include "strml.h" #include "fdcltrn.h" #include "xmem.h" + #include "typeif.h" nextern :truct des_nseg desnseg; nextern :truct ADBL adlj; 21:38:33 1998 ******39,69 98 ** extern i4_t ljmsize; extern i4_t ljrsize; ! static ! int*! tuple_fem (:truct des_field *df, u2_t fnum, u2_t fdf, char *c,*!nnnnnnnnnnnnu2_t :csize, char *tuple, u2_t * corsize) { ! i4_t k, kt;:! char *aval, *b, *d, *t; ! u2_t fn, size, type;* t = tuple; ! b = c; ! d = aval = c + scsize; !nnnfre (k = 0, fn = 0; fn < fdf; fn++, k++) /* fre always defined fields */ ! if (k == 7)*!nnnnnnn{ ! k = 0;:! b++;*! nnnnnn} !nnnfre (kt = 0, *t++ = CORT, *t = 0; b < d && fn < fnum; k++, kt++, fn++) nnnnn{ - if (k == 7)*-n { - k = 0;:- b++;*-n } n if (kt == 7)* n { kt = 0; -***40,59 ---- extern i4_t ljmsize; extern i4_t ljrsize; ! static u2_t*! tuple_fem (:truct fun_desc_fields *desf, u2_t * lenval, !nnn nnnnnnnnnnnnColval colval, char *tuple) { ! i4_t kt = 0;:! char *t; ! :truct des_field *df; ! u2_t fn, size, type, fnum, fdf, corsize; t = tuple; ! fdf = desf->f_fdf;:! fnum = desf->f_fn; !nnnfre (kt = 0, fn = fdf, *t++ = CORT, *t = 0; fn < fnum; kt++, fn++) nnnnn{ n if (kt == 7)* n { kt = 0; 21:38:33 1998 ******70,91 98 ** t++;* *t = 0; } !n if ((*b & BITVL(k)) != 0) *t |= BITVL(kt);* } n *t |= EOSC; t++;*! nnfre (k = 0, fn = 0; c < d && fn < fnum; k++, df++, fn++) nnnnn{ ! if (k == 7)* n { ! k = 0;:! c++;*! } !n if ((*c & BITVL(k)) != 0) !n { ! size = t2bunpack (aval);*! aval += size2b; if (size > df->field_size) n nn size = df->field_size; if ((type = df->field_type) == TCH || type == TFL)*-***60,76u---- n t++;* *t = 0; } !n if (colval[fn] != NULL) *t |= BITVL(kt);* } n *t |= EOSC; t++;*! nndf = desf->df_pnt; ! fre (fn = 0; fn < fnum; df++, fn++) nnnnn{ ! if (colval[fn] != NULL) { ! size = lenval[fn]; if (size > df->field_size) n nn size = df->field_size; if ((type = df->field_type) == TCH || type == TFL)*21:38:33 1998 ******93,124 98 ** t2bpack (size, t);* n nn t += size2b; nn} !nnnnnnnnnnnbcopy (aval, t, size);* t += size; - naval += size; n } n elod if (fn < fdf) !n return (NCF); n} !nnn*corsize = t - tuple; ! if (*corsize > BD_PAGESIZE - phsize) !nnnnnreturn (NCF); ! return (OK); } n int*! insrtn (struct id_rel *pidrel, char *cort) n{ n char *tuple; ! :truct des_field *df; ! u2_t sn, :csize = 1, corsize, fn, fdf; ! fre (tuple = cort; (*tuple & EOSC) == 0; tuple++) nnnnn{ n :csize += 1; nnnn if (scsize > BD_PAGESIZE - phsize) !n nnreturn (NCF); ! } sn = pidrel->urn.segnum; if (sn == NRSNUM) nnnnn{ -***78,111u---- n t2bpack (size, t);* n nn t += size2b; nn} !nnnnnnnnnnnbcopy (colval[fn], t, size);* t += size; n } n elod if (fn < fdf) !n return (0); n} !nnncorsize = t - tuple; ! if (corsize > BD_PAGESIZE - phsize) !nnnnnreturn (0); ! return (corsize);* } n int*! insrtn (struct id_rel *pidrel, u2_t *lenval,nColval colval) n{ n char *tuple; ! :truct fun_desc_fields *desf;:! u2_t sn, corsize; ! /* nu2_t :csize = 1;*/ ! ! /* fre (tuple = cort; (*tuple & EOSC) == 0; tuple++) nnnnn{ n :csize += 1; nnnn if (scsize > BD_PAGESIZE - phsize) !n nnreturn (-ER_NCF); !nnnnnnnnnnn} !nnnnnnnnnnn*/ sn = pidrel->urn.segnum; if (sn == NRSNUM) nnnnn{ 21:38:33 1998 ******125,136 98 ** struct des_trel *destrel; nnnn destrel = (:truct des_trel *) * (desnseg.tobtab + pidrel->urn.obnum); if (destrel->tobtr.prdt.prob != TREL) !n return (NIOB);*!n df = (:truct des_field *) (destrel + 1);:!nnnnnn fn = destrel->fieldn; !n fdf = destrel->fdftr; !n if (tuple_fem (df, fn, fdf, cort, :csize, pbuflj, &corsize) != OK) !n return (NCF); n if (corsize < MIN_TUPLE_LENGTH) n corsize = MIN_TUPLE_LENGTH; n return (instr ((:truct des_tob *) destrel, pbuflj, corsize)); -***112,121u---- struct des_trel *destrel; nnnn destrel = (:truct des_trel *) * (desnseg.tobtab + pidrel->urn.obnum); if (destrel->tobtr.prdt.prob != TREL) !n return (-ER_NIOB);*!n desf = &destrel->f_df_tt; !nnnnnn if ((corsize = tuple_fem (desf, lenval,ncolval, pbuflj)) == 0) !n return (-ER_NCF); n if (corsize < MIN_TUPLE_LENGTH) n corsize = MIN_TUPLE_LENGTH; n return (instr ((:truct des_tob *) destrel, pbuflj, corsize)); 21:38:33 1998 ******137,180 98 ** } n elod nnn{ - struct d_r_bd *drbd; :truct ADBL last_adlj; nnnnnstruct d_r_t *desrel; nnnn i4_t n, ni; struct des_tid tid; -nnnnnnni4_t rn;: CPNM cpn; if ((cpn = cont_fir (pidrel, &desrel)) != OK) n return (cpn); !n df = (:truct des_field *) (desrel + 1);:!nnnnnn drbd = &desrel->desrbd; !n fn = drbd->fieldnum; !n fdf = drbd->fdfnum; tuple = pbuflj + ljmsize; ! if (tuple_fem (df, fn, fdf, cort, :csize, tuple, &corsize) != OK) !n return (NCF); !n if ((cpn = synlock (pidrel, drbd, tuple)) != 0) return (cpn); nn nnnnmodmes (); nn nnnnlast_adlj = adlj; - nnnnrn = pidrel->urn.obnum; n if (corsize < MIN_TUPLE_LENGTH) n corsize = MIN_TUPLE_LENGTH; ! tid = ordins (st, rn, tuple, corsize, 'w'); !n n = drbd->indnum; ni = proind (ordindi, desrel, n, tuple, &tid);* if (ni < n) n { ! n struct des_tid ref_tid; wmlj (RLBLJ, ljrsize, &last_adlj, pidrel, &tid, 0);* nnproind (ordindd, desrel, ni, tuple, &tid);*! ref_tid.tpn = (u2_t) ~ 0;*! orddel (st, rn, &tid, &ref_tid, corsize);* nnnnnnnBUF_endop (); !n nnreturn (NU); n } n BUF_endop (); n return (OK); n} n} n -***122,248*---- } n elod nnn{ :truct ADBL last_adlj; nnnnnstruct d_r_t *desrel; nnnn i4_t n, ni; struct des_tid tid; CPNM cpn; + n if ((cpn = cont_fir (pidrel, &desrel)) != OK) n return (cpn); !n desf = &desrel->f_df_bt; n tuple = pbuflj + ljmsize; ! if ((corsize = tuple_fem (desf, lenval,ncolval, tuple)) == 0) !n return (-ER_NCF); !n if ((cpn = synlock (desrel, tuple)) != 0) return (cpn); nn nnnnmodmes (); nn nnnnlast_adlj = adlj; n if (corsize < MIN_TUPLE_LENGTH) n corsize = MIN_TUPLE_LENGTH; ! tid = ordins (pidrel, tuple, corsize, 'w'); !n n = desrel->desrbd.indnum; ni = proind (ordindi, desrel, n, tuple, &tid);* if (ni < n) n { ! n struct full_des_tuple dtuple; wmlj (RLBLJ, ljrsize, &last_adlj, pidrel, &tid, 0);* nnproind (ordindd, desrel, ni, tuple, &tid);*! dtuple.sn_fdt = sn;*!n dtuple.rn_fdt = pidrel->urn.obnum; !n dtuple.tid_fdt = tid; ! orddel (&dtuple);* nnnnnnnBUF_endop (); !n nnreturn (-ER_NU); n } n BUF_endop (); n return (OK); n} n} + /* + ----------------------------------------------------- + fre 'ins_data' variant 1 + u2_t lenval[nv]; + void *colval[nv]; + TpSet *Place; + + INITBUF; + Place = pointbuf; + fre (i = 0; i < nv; i++) + if (ins_from[i].dat.nl_fl == REGULAR_VALUE) + { + if (dt_from->type.code == T_STR) + { + nnnnnnnnnnnnlenval[i] = dt_from->type.len; + nnnnnnnnnnnncolval[i] = STR_PTR (&(dt_from->dat)); +nnnnnnnnnnn} +nnnnnnnnnelod +nnnnnnnnn{ + nnnnnnnnnnif (to_type) + { + Place = pointbuf; + nnnnnnnnnnlenval[i] = sizeof_sqltype (*to_type); + nnnnnnnnnnerr = put_dat (&(dt_from->dat), 0, dt_from->type.code, REGULAR_VALUE, + nnnnnnnnnnnnnnnnnnnnnnnnnPlace, 0, to_type->code, NULL); + nnnnnnnnnnnncolval[i] = pointbuf; + nnnnnnnnnnpointbuf += sizeof (TpSet); + nnnnnnnnnnnnif (err < 0) + nnnnnnnnnnnnreturn err; + nnnnnnnnnnnn} + nnnnnnnnnnelod +nnnnnnnnnnnnnnncolval[i] = &(dt_from->dat); +nnnnnnnnnnn} +nnnnnnn} +nnnnnelod +nnnnnnncolval[i] = NULL; + + stat = insrtn (&pidrel, lenval,ncolval); +nnn----------------------------------------------------- + +nnnn----------------------------------------------------- + fre 'ins_data' variant 2 + +nnnu2_t lenval[nv]; + void *colval[nv]; + + fre (i = 0; i < nv; i++) + if (ins_from[i].dat.nl_fl == REGULAR_VALUE) + { + if ((err = DU_to_colval (ins_from + i, lenval + i, colval[i], dt_types + i)) < 0) + nnnnnnnnnnreturn err; + nnnnnn} +nnnnnelod +nnnnnnncolval[i] = NULL; + + stat = data_insrtn (&pidrel, ins_from); +nnnnnnnnn----------------------------------------------------- + + static i4_t*+ DU_to_colval (data_unit_t *dt_from, u2_t *lenval,nvoid *colval, :ql_type_t *to_type)*/ +n /* returns 0 if O'K and < 0 if errre */ +n /* if to_type == NULL => type from dt_from won't be changed */ +n/*{ :+ i4_t err; + nn:+ if (dt_from->type.code == T_STR) + { + *lenval = dt_from->type.len; + nnnnnncolval = STR_PTR (&(dt_from->dat)); +nnnnn} +nnnelod +nnnnn{ + *lenval = (to_type) ? sizeof_sqltype (*to_type) : sizeof_sqltype (dt_from->type); +nnnnnnnerr = put_dat (&(dt_from->dat), 0, dt_from->type.code, REGULAR_VALUE, + nnnnnnnnnnnnnnnnnnncolval, 0, (to_type) ? to_type->code : dt_from->type.code, NULL); + nnnnnnif (err < 0) + return err; + nnnn} +nnnreturn 0; + } +nnn----------------------------------------------------- + +nnnfre 'insrow' + + stat = insrtn (&pidrel, lenval,ncolval); +nnn*/ diff -rc gnusql-0.7b5.3/src/engine/trans/join.c gnusql-0.7b6.0/src/engine/trans/join.c*****gnusql-0.7b5.3/src/engine/trans/join.c Mon Apr 28 13:52:56*1997 -***gnusql-0.7b6.0/src/engine/trans/join.c Wed Oct 22*12:23:38*1997 21:38:33 1998 ******26,32 98 ** ** */ ! /* $Id: join.c,v 1.246*1997/04/06*17:41:25*kml Exp $ */ nn #include "xmem.h" #include "destrn.h" -***26,32 ---- n ** */ ! /* $Id: join.c,v 1.249*1997/10/22*16:23:38*kml Exp $ */ nn #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******90,108 98 ** */ nn struct ans_ctob ! join (struct id_rel *pir1, i4_t mfn1sz, u2_t *mfn1, struct id_rel *pir2, ! i4_t mfn2sz, u2_t *mfn2) n{ n struct id_ob *pit1, *pit2; nnnnstruct des_tob *dt1, *dt2, *dt; ! u2_t fn, fn1, fn2, fdf1, fdf2, kn1, kn2, *afn1, *afn2, fnk1, fnk2;:! u2_t *ai1, *afi1, *ali1, *ai2, *afi2, *ali2, kk, type, kscsz, size; nnnnstruct des_trel *dtr1, *dtr2, *destrel; nnnn:truct des_field *df1, *df2, *df;:! char *cort1, *cort2;:! char *keyval;:! char *asp1, *asp2; !n :truct A inpage1, inpage2, outpg; i4_t drctn, d,nv; nnnni2_t n;*nnnn:truct ans_ctob ans; -***90,106 ---- n */ nn struct ans_ctob ! join (struct id_rel *pir1, i4_t mfn1sz, u2_t *mfn1, !nnnnnnnstruct id_rel *pir2, i4_t mfn2sz, u2_t *mfn2) n{ n struct id_ob *pit1, *pit2; nnnnstruct des_tob *dt1, *dt2, *dt; ! u2_t fn, kn1, kn2, *afn1, *afn2, fnk1, fnk2;:! u2_t *ai1, *ali1, *ai2, *ali2, kk, type, kscsz, size; nnnnstruct des_trel *dtr1, *dtr2, *destrel; nnnn:truct des_field *df1, *df2, *df;:! struct fun_desc_fields *desf1, *desf2;:! char *cort1, *cort2, *keyval, *asp1, *asp2, *outasp;: i4_t drctn, d,nv; nnnni2_t n;*nnnn:truct ans_ctob ans; 21:38:33 1998 ******110,126 98 ** u2_t arrsz1[BD_PAGESIZE]; n char *arrpnt2[BD_PAGESIZE]; n u2_t arrsz2[BD_PAGESIZE]; n pit1 = &pir1->urn; pit2 = &pir2->urn; if (pit1->segnum != NRSNUM || pit2->segnum != NRSNUM) nnnnn{ ! nans.cpncob = NIOB; n return (ans);* } n if ((u2_t) pit1->obnum > desnseg.mtobnum || (u2_t) pit2->obnum > desnseg.mtobnum) nnnnn{ ! nans.cpncob = NIOB; n return (ans);* } n dt1 = (:truct des_tob *) * (desnseg.tobtab + pit1->obnum); -***108,125 ---- n u2_t arrsz1[BD_PAGESIZE]; n char *arrpnt2[BD_PAGESIZE]; n u2_t arrsz2[BD_PAGESIZE]; + char tmp_buff_in1[BD_PAGESIZE], tmp_buff_in2[BD_PAGESIZE], tmp_buff_out[BD_PAGESIZE]; n pit1 = &pir1->urn; pit2 = &pir2->urn; if (pit1->segnum != NRSNUM || pit2->segnum != NRSNUM) nnnnn{ ! nans.cpncob = -ER_NIOB; n return (ans);* } n if ((u2_t) pit1->obnum > desnseg.mtobnum || (u2_t) pit2->obnum > desnseg.mtobnum) nnnnn{ ! nans.cpncob = -ER_NIOB; n return (ans);* } n dt1 = (:truct des_tob *) * (desnseg.tobtab + pit1->obnum); 21:38:33 1998 ******127,169 98 ** dt2 = (:truct des_tob *) * (desnseg.tobtab + pit2->obnum); if (dt1 == NULL || dt2 == NULL) nnnn{ ! nans.cpncob = NIOB; n return (ans);* } nnn* if (dt1->prdt.prob != TREL || dt2->prdt.prob != TREL) nnnn{ ! nans.cpncob = NDR; n return (ans);* } n if (dt1->prdt.prsort != SORT || dt2->prdt.prsort != SORT) nnnn{ ! nans.cpncob = N_SORT; n return (ans);* } n if (dt1->prdt.prdbl != NODBL || dt2->prdt.prdbl != NODBL) nnnn{ ! nans.cpncob = H_DBL; n return (ans);* } n if ((drctn = dt1->prdt.prdrctn) != dt2->prdt.prdrctn) nnnn{ ! nans.cpncob = D_DRCTN; n return (ans);* } n* dtr1 = (:truct des_trel *) dt1;* dtr2 = (:truct des_trel *) dt2; - fn1 = dtr1->fieldn; - fn2 = dtr2->fieldn; nn kn1 = dtr1->keysntr; nnnnkn2 = dtr2->keysntr; ! fdf1 = dtr1->fdftr; !n fdf2 = dtr2->fdftr; !n df1 = (:truct des_field *) (dtr1 + 1);:!nnndf2 = (:truct des_field *) (dtr2 + 1);: /* if(fn1!=fn2 || fdf1!=fdf2 || kn!=kn2) {nans.cpncob= N_EQV; return(ans); }*/ ! afn1 = (u2_t *) (df1 + fn1); ! afn2 = (u2_t *) (df2 + fn2); fre (k1 = 0; k1 < kn1 && k1 < kn2; k1++) nnnnn{ n fnk1 = *afn1++;*-***126,166 ---- dt2 = (:truct des_tob *) * (desnseg.tobtab + pit2->obnum); if (dt1 == NULL || dt2 == NULL) nnnn{ ! nans.cpncob = -ER_NIOB; n return (ans);* } nnn* if (dt1->prdt.prob != TREL || dt2->prdt.prob != TREL) nnnn{ ! nans.cpncob = -ER_NDR; n return (ans);* } n if (dt1->prdt.prsort != SORT || dt2->prdt.prsort != SORT) nnnn{ ! nans.cpncob = -ER_N_SORT; n return (ans);* } n if (dt1->prdt.prdbl != NODBL || dt2->prdt.prdbl != NODBL) nnnn{ ! nans.cpncob = -ER_H_DBL; n return (ans);* } n if ((drctn = dt1->prdt.prdrctn) != dt2->prdt.prdrctn) nnnn{ ! nans.cpncob = -ER_D_DRCTN; n return (ans);* } n* dtr1 = (:truct des_trel *) dt1;* dtr2 = (:truct des_trel *) dt2; nn kn1 = dtr1->keysntr; nnnnkn2 = dtr2->keysntr; ! desf1 = &dtr1->f_df_tt; !nnndesf2 = &dtr2->f_df_tt; !nnndf1 = desf1->df_pnt; ! df2 = desf2->df_pnt; /* if(fn1!=fn2 || fdf1!=fdf2 || kn!=kn2) {nans.cpncob= N_EQV; return(ans); }*/ ! afn1 = (u2_t *) (df1 + desf1->f_fn); ! afn2 = (u2_t *) (df2 + desf2->f_fn); fre (k1 = 0; k1 < kn1 && k1 < kn2; k1++) nnnnn{ n fnk1 = *afn1++;*21:38:33 1998 ******170,188 98 ** fnk2 = *afn2++;* if ((df1 + fnk1)->field_type != (df2 + fnk2)->field_type) n { ! ans.cpncob = N_EQV;* nnreturn (ans);* } n } n fn = mfn1sz + mfn2sz; ! dt = gettob (&outpg, dtrsize + fn * rfsize, &n, TREL); destrel = (:truct des_trel *) dt; df = (:truct des_field *) (destrel + 1);:!nnnasp1 = getwl (&inpage1, NRSNUM, dt1->firstpn); !n afi1 = ai1 = (u2_t *) (asp1 + phtrsize); ali1 = ai1 + ((:truct p_h_tr *) asp1)->linptr; !nnnasp2 = getwl (&inpage2, NRSNUM, dt2->firstpn); !n afi2 = ai2 = (u2_t *) (asp2 + phtrsize); ali2 = ai2 + ((:truct p_h_tr *) asp2)->linptr; if (drctn == GROW) nnnnnd = 1;*-***167,188 ---- fnk2 = *afn2++;* if ((df1 + fnk1)->field_type != (df2 + fnk2)->field_type) n { ! ans.cpncob = -ER_N_EQV;* nnreturn (ans);* } n } n fn = mfn1sz + mfn2sz; ! outasp = tmp_buff_out; !nnndt = gettob (outasp, dtrsize + fn * rfsize, &n, TREL); destrel = (:truct des_trel *) dt; df = (:truct des_field *) (destrel + 1);:!nnnasp1 = tmp_buff_in1; !nnnread_tmp_page (dt1->firstpn, asp1);:!nnnai1 = (u2_t *) (asp1 + phtrsize); ali1 = ai1 + ((:truct p_h_tr *) asp1)->linptr; !nnnasp2 = tmp_buff_in2; !nnnread_tmp_page (dt2->firstpn, asp2);:!nnnai2 = (u2_t *) (asp2 + phtrsize); ali2 = ai2 + ((:truct p_h_tr *) asp2)->linptr; if (drctn == GROW) nnnnnd = 1;*21:38:33 1998 ******190,203 98 ** d = -1; fre (;;) nnnnn{ ! ncort1 = getcort (&inpage1, &ai1); n if (cort1 == NULL) n break; ! ncort2 = getcort (&inpage2, &ai2); n if (cort2 == NULL) n break; ! ntuple_break (cort1, arrpnt1, arrsz1, df1, fdf1, fn1);:!nnnnnn tuple_break (cort2, arrpnt2, arrsz2, df2, fdf2, fn2); m1:: fre (kk = 0; kk < kn1 && kk < kn2 ; kk++) n { -***190,203 ---- d = -1; fre (;;) nnnnn{ ! ncort1 = getcort (asp1, &ai1); n if (cort1 == NULL) n break; ! ncort2 = getcort (asp2, &ai2); n if (cort2 == NULL) n break; ! ntuple_break (cort1, arrpnt1, arrsz1, desf1);:!nnnnnn tuple_break (cort2, arrpnt2, arrsz2, desf2); m1:: fre (kk = 0; kk < kn1 && kk < kn2 ; kk++) n { 21:38:33 1998 ******207,224 98 ** v = cmpfv (type, d, arrpnt1[fnk1], arrpnt2[fnk2]); if (v < 0) nn{ ! ncort1 = getcort (&inpage1, &ai1); n if (cort1 == NULL) n goto m2; ! ntuple_break (cort1, arrpnt1, arrsz1, df1, fdf1, fn1);: n goto m1; } n elod if (v > 0) nn{ ! ncort2 = getcort (&inpage2, &ai2); n if (cort2 == NULL) n goto m2; ! ntuple_break (cort2, arrpnt2, arrsz2, df2, fdf2, fn2); n goto m1; } n } -***207,224 ---- v = cmpfv (type, d, arrpnt1[fnk1], arrpnt2[fnk2]); if (v < 0) nn{ ! ncort1 = getcort (asp1, &ai1); n if (cort1 == NULL) n goto m2; ! ntuple_break (cort1, arrpnt1, arrsz1, desf1);: n goto m1; } n elod if (v > 0) nn{ ! ncort2 = getcort (asp2, &ai2); n if (cort2 == NULL) n goto m2; ! ntuple_break (cort2, arrpnt2, arrsz2, desf2); n goto m1; } n } 21:38:33 1998 ******229,235 98 ** if ((k1 % 7) != 0) kscsz++;* size += kscsz + 1; !nnnnnnnsc = getloc (&outpg, size, dt);* n *sc++ = CORT;* n keyval = sc + kscsz;* keyval = jncrtfem (mfn1sz, mfn1, arrpnt1, arrsz1, keyval); -***229,235 ---- if ((k1 % 7) != 0) kscsz++;* size += kscsz + 1; !nnnnnnnsc = getloc (outasp, size, dt);* n *sc++ = CORT;* n keyval = sc + kscsz;* keyval = jncrtfem (mfn1sz, mfn1, arrpnt1, arrsz1, keyval); 21:38:33 1998 ******237,249 98 ** if ( (k1 % 7) == 0) sc--;* n *sc |= EOSC; } nm2: ! putwul (&outpg, 'm'); !nnndt->prdt.prob = TREL; !nnndt->prdt.prsort = NSORT; ! destrel->fieldn = fn; ! destrel->fdftr = 0;: fre ( v = 0; v < mfn1sz; v++) nnnnn*df++ = df1[mfn1[v]];: fre ( v = 0; v < mfn2sz; v++) -***237,249 ---- if ( (k1 % 7) == 0) sc--;* n *sc |= EOSC; +nnn destrel->row_number += 1; } nm2: ! write_tmp_page (dt->lastpn, outasp); !nnndestrel->f_df_tt.f_fn = fn; ! destrel->f_df_tt.f_fdf = 0; ! destrel->f_df_tt.df_pnt = df;: fre ( v = 0; v < mfn1sz; v++) nnnnn*df++ = df1[mfn1[v]];: fre ( v = 0; v < mfn2sz; v++) diff -rc gnusql-0.7b5.3/src/engine/trans/keyfem.c gnusql-0.7b6.0/src/engine/trans/keyfem.c*****gnusql-0.7b5.3/src/engine/trans/keyfem.c Mon Apr 28 13:52:57*1997 -***gnusql-0.7b6.0/src/engine/trans/keyfem.c Thu Oct 16 05:50:06*1997 21:38:33 1998 ******26,32 98 ** ** */ ! /* $Id: keyfem.c,v 1.245*1997/03/31 03:46:38*kml Exp $ */ nn #include "xmem.h" #include "destrn.h" -***26,32 ---- n ** */ ! /* $Id: keyfem.c,v 1.247*1997/10/16 09:50:06*vera Exp $ */ nn #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******34,54 98 ** #include "fdcltrn.h" void ! keyfoem (:truct ldesind *desind, u2_t fdf, char *mas, char *cort) n{ /* mas - to, cort - from */ ! u2_t kn, k, num_bit, fnk, sz, fn; ! :truct des_field *df; ! u2_t *afn; n char *b; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; nn kn = desind->ldi.kifn & ~UNIQ & MSK21B;:- nndf = desind->pdf;: afn = (u2_t *) (desind + 1);:!nnnfn = desind->dri->desrbd.fieldnum; !n:!nnntuple_break (cort,narrpnt, arrsz, df, fdf, fn);* n n *mas = 0; fre (num_bit = k = 0; k < kn; k++, num_bit++) -***34,51 ---- #include "fdcltrn.h" void ! keyfoem (:truct ldesind *desind, char *mas, char *cort) n{ /* mas - to, cort - from */ ! u2_t kn, k, num_bit, fnk, sz, *afn; ! :truct fun_desc_fields *desf;: char *b; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; nn kn = desind->ldi.kifn & ~UNIQ & MSK21B;: afn = (u2_t *) (desind + 1);:!nnndesf = &(desind->dri->f_df_bt);:!nnntuple_break (cort,narrpnt, arrsz, desf);* n n *mas = 0; fre (num_bit = k = 0; k < kn; k++, num_bit++) 21:38:33 1998 ******82,114 98 ** char * nnremval (char *aval, char **a, u2_t type) ! /* a - to, aval - from */ ! { n u2_t size = 0; !n:!nnnswitch (type) !nnnnn{ ! caod T1B: !nnnnnnnsize = size1b; !nnnnnnnbreak; ! caod T2B: !nnnnnnnsize = size2b; !nnnnnnnbreak; ! caod TFLOAT: ! caod T4B: !nnnnnnnsize = size4b; !nnnnnnnbreak; ! caod TFL: ! caod TCH: !nnnnnnnsize = t2bunpack (aval);*! naval += size2b; !nnnnnnnt2bpack (size, *a);*! n*a += size2b; !nnnnnnnbreak; ! default: !nnnnnnnprintf ("TR.remval:That data type is falod"); !nnnnnnnbreak; ! } nnnnbcopy (aval, *a, size); *a += size;: aval += size; -***79,88 ---- char * nnremval (char *aval, char **a, u2_t type) ! { /* a - to, aval - from */ n u2_t size = 0; !n ! :ize = get_length (aval, type); nnnnbcopy (aval, *a, size); *a += size;: aval += size; diff -rc gnusql-0.7b5.3/src/engine/trans/libtran.c gnusql-0.7b6.0/src/engine/trans/libtran.c*****gnusql-0.7b5.3/src/engine/trans/libtran.c Mon Apr 28 13:53:05*1997 -***gnusql-0.7b6.0/src/engine/trans/libtran.c Tue Aug 18 18:29:59*1998 21:38:33 1998 ******25,36 98 ** ** */ ! /* $Id: libtran.c,v 1.247*1997/04/10 06:57:28 vera Exp $ */ nn #include "xmem.h" #include "destrn.h" #include "sctp.h" #include "f1f2decl.h" -***25,38 ---- ** */ ! /* $Id: libtran.c,v 1.252*1998/08/18 22:29:59*kimelman Exp $ */ nn #include "xmem.h" #include "destrn.h" #include "sctp.h" + #include "sql.h" + #include "errres.h" #include "f1f2decl.h" 21:38:33 1998 ******43,54 98 ** extern u2_t S_SC_S; n u2_t ! scscal (char *a) { ! char *c;* n ! fre (c = a; (*a & EOSC) == 0; a++); ! return (a + 1 - c);* } n i4_t -***45,59 ---- extern u2_t S_SC_S; n u2_t ! scscal (char *key) { ! int i;* n ! fre (i = 0; (key[i] & EOSC) == 0 && i <= BD_PAGESIZE; i++) ; !n ! assert (i+1 < BD_PAGESIZE); !n ! return i+1;* } n i4_t 21:38:33 1998 ******66,78 98 ** #define DIASZ_REL (1+size4b) nn struct d_sc_i * ! rel_scan (u2_t sn, i4_t rn, char *ob, i2_t *n, u2_t fnum, nnnnnnnnnnnnu2_t *fl, char *sc, u2_t slsz, u2_t fmnum, u2_t *fml) n{ n char *a;* struct d_sc_i *scind;* struct ldesscan *disc; ! u2_t val;: i4_t sst; n scind = (struct d_sc_i *) lusc (n, :cisize, ob, SCR, WSC, -***71,83 ---- #define DIASZ_REL (1+size4b) nn struct d_sc_i * ! rel_scan (struct id_ob *fullrn, char *ob, i2_t *n, u2_t fnum, nnnnnnnnnnnnu2_t *fl, char *sc, u2_t slsz, u2_t fmnum, u2_t *fml) n{ n char *a;* struct d_sc_i *scind;* struct ldesscan *disc; ! u2_t val, sn;* i4_t sst; n scind = (struct d_sc_i *) lusc (n, :cisize, ob, SCR, WSC, 21:38:33 1998 ******89,101 98 ** sst = 1; nnnnsct (&a, sst++, EQ); nnnnsct (&a, sst, ENDSC); !nnnt4bpack (rn, a); nnnntab_difam (:n);* n disc->pdi = (struct ldesind *) TAB_IFAM[sn]; n return (scind); } n ! int* tab_difam (u2_t sn) n{ n struct ldesind *difam; -***94,107 ---- sst = 1; nnnnsct (&a, sst++, EQ); nnnnsct (&a, sst, ENDSC); !nnnt4bpack (fullrn->obnum, a); ! sn = fullrn->segnum; tab_difam (:n);* n disc->pdi = (struct ldesind *) TAB_IFAM[sn]; n return (scind); } n ! i4_t* tab_difam (u2_t sn) n{ n struct ldesind *difam; 21:38:33 1998 ******190,195u98 **-***196,204 ---- desrel->segnr = pidrel->urn.segnum; desrel->pn_r = pidrel->pagenum; desrel->ind_r = pidrel->index; +nnndesrel->f_df_bt.df_pnt = (:truct des_field *) (desrel + 1);:+nnndesrel->f_df_bt.f_fn = drbd.fieldnum; +nnndesrel->f_df_bt.f_fdf = drbd.fdfnum; desrel->oscnum = 0;: desrel->cpndr = curcpn; return (desrel); 21:38:33 1998 ******215,221 98 ** } char * ! lusc (i2_t * num, u2_t size, char *aob, i4_t type, i4_t mode, u2_t fn, u2_t * fl, char *selc, u2_t selsize, u2_t fmn, u2_t * fml, u2_t dsize) { nnnnu2_t i, *a; n struct d_mesc *scpr; -***224,231 ---- } char * ! lusc (i2_t * num, u2_t size, char *aob, i4_t type, i4_t mode, u2_t fn, !nnnnnnnu2_t * fl, char *selc, u2_t selsize, u2_t fmn, u2_t * fml, u2_t dsize) { nnnnu2_t i, *a; n struct d_mesc *scpr; diff -rc gnusql-0.7b5.3/src/engine/trans/makegr.c gnusql-0.7b6.0/src/engine/trans/makegr.c*****gnusql-0.7b5.3/src/engine/trans/makegr.c Mon Apr 28 13:52:57*1997 -***gnusql-0.7b6.0/src/engine/trans/makegr.c Wed Oct 22*12:23:38*1997 21:38:33 1998 ******27,33 98 ** ** */ ! /* $Id: makegr.c,v 1.248*1997/04/10 06:57:28 vera Exp $ */ nn #include "xmem.h" #include "destrn.h" -***27,33 ---- ** */ ! /* $Id: makegr.c,v 1.252*1997/10/22*16:23:38*kml Exp $ */ nn #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******42,56 98 ** u2_t ng, u2_t * glist, u2_t nf, u2_t * mnf, char *flaglist) n{ n char *gval;:! u2_t k, fn, kg, sz, kagr, f_n, fdf; :truct des_field *df; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ! fdf = destrel->fdftr; !n f_n = destrel->fieldn; !n df = (:truct des_field *) (destrel + 1);:!nnntuple_break (cort,narrpnt, arrsz, df, fdf, f_n);* n gval = tuple; *gval++ = CORT;* n fre (k = 0, kg = 0, *gval = 0; kg < ng; kg++) -***42,53 ---- u2_t ng, u2_t * glist, u2_t nf, u2_t * mnf, char *flaglist) n{ n char *gval;:! u2_t k, fn, kg, sz, kagr; :truct des_field *df; n char *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ! tuple_break (cort,narrpnt, arrsz, &destrel->f_df_tt);* n gval = tuple; *gval++ = CORT;* n fre (k = 0, kg = 0, *gval = 0; kg < ng; kg++) 21:38:33 1998 ******85,90u98 **-***82,88 ---- } n } n sz = gval - tuple; + nndf = destrel->f_df_tt.df_pnt;* n fre (kagr = 0; kagr < nf; kagr++) nnnnn{ n fn = mnf[kagr]; 21:38:33 1998 ******94,120 98 ** } static void ! clear_ttab(u2_t ntab) n{ char *asp; nnnnstruct des_trel *destrel; nnnnu2_t pn, *b;* struct listtob *l; !n :truct A inpage;* n destrel = (:truct des_trel *) * (desnseg.tobtab + ntab); pn = destrel->tobtr.firstpn; destrel->tobtr.prdt.prsort = NSORT; n destrel->tobtr.lastpn = pn; ! asp = getnew (&inpage, NRSNUM, pn); nn l = (:truct listtob *) asp; nn l->prevpn = (u2_t) ~ 0;*nn l->nextpn = (u2_t) ~ 0;*! b = (u2_t *) (*asp + sizeof (:truct listtob)); !nnndestrel->tobtr.free_sz = BD_PAGESIZE - phtrsize;: *b++ = 0;: *b = 0; !n putwul (&inpage, 'm'); } static void -***92,118 ---- } static void ! clean_ttab(u2_t ntab) n{ char *asp; nnnnstruct des_trel *destrel; nnnnu2_t pn, *b;* struct listtob *l; !n char tmp_buff[BD_PAGESIZE]; n destrel = (:truct des_trel *) * (desnseg.tobtab + ntab); pn = destrel->tobtr.firstpn; destrel->tobtr.prdt.prsort = NSORT; n destrel->tobtr.lastpn = pn; ! asp = tmp_buff; nn l = (:truct listtob *) asp; nn l->prevpn = (u2_t) ~ 0;*nn l->nextpn = (u2_t) ~ 0;*! b = (u2_t *) (asp + sizeof (:truct listtob)); *b++ = 0;: *b = 0; !n destrel->tobtr.free_sz = BD_PAGESIZE - phtrsize;:! write_tmp_page (pn, asp); } static void 21:38:33 1998 ******152,170 98 ** t4bpack (0, a + size4b); break; caod FN_DT_SUMM::! clear_ttab ( t2bunpack (a)); a += size2b; *a++ = 0;: t4bpack (0, a); break; caod FN_DT_COUNT::! clear_ttab ( t2bunpack (a)); a += size2b; *a++ = 1;: t4bpack (0, a); break; caod FN_DT_AVG::! clear_ttab ( t2bunpack (a)); a += size2b; *a++ = 0;: nnnnnnnnnnbcopy ((char *)&avrg, a, sizeof (float)); -***150,168u---- n t4bpack (0, a + size4b); break; caod FN_DT_SUMM::! clean_ttab ( t2bunpack (a)); a += size2b; *a++ = 0;: t4bpack (0, a); break; caod FN_DT_COUNT::! clean_ttab ( t2bunpack (a)); a += size2b; *a++ = 1;: t4bpack (0, a); break; caod FN_DT_AVG::! clean_ttab ( t2bunpack (a)); a += size2b; *a++ = 0;: nnnnnnnnnnbcopy ((char *)&avrg, a, sizeof (float)); 21:38:33 1998 ******212,231 98 ** } static int*! cmp_grval (char *tuple, char *cort, :truct des_field *df, u2_t fdf,*!nnnnnnnnnnnnu2_t fields_n, u2_t ng, u2_t * glist) { ! char *gsc, *gaval;: u2_t k, fn, kg;* i4_t v;:- nnchar *gval, *aval;:- nnu2_t n;*nnnnchar *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ! tuple_break (cort,narrpnt, arrsz, df, fdf, fields_n);* n gsc = tuple + 1; nnnngval = gaval = tuple + scscal (tuple);* fre (k = 0, kg = 0; kg < ng && gsc < gaval; kg++) nnnnn{ n fn = glist[kg]; -***210,229 ---- } static int*! cmp_grval (char *tuple, char *cort, :truct fun_desc_fields *desf,*!nnnnnnnnnnnnu2_t ng, u2_t * glist) { ! char *gsc, *gaval, *gval, *aval;: u2_t k, fn, kg;*+ :truct des_field *df; n i4_t v;:nnnnchar *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; ! tuple_break (cort,narrpnt, arrsz, desf);* n gsc = tuple + 1; nnnngval = gaval = tuple + scscal (tuple);*+ nndf = desf->df_pnt; fre (k = 0, kg = 0; kg < ng && gsc < gaval; kg++) nnnnn{ n fn = glist[kg]; 21:38:33 1998 ******233,239 98 ** { if ((*gsc & BITVL(k)) != 0) nn{ ! nv = cmpval (gval, aval, (df + fn)->field_type, &n); n if (v != 0) return (v); } -***231,237 ---- { if ((*gsc & BITVL(k)) != 0) nn{ ! nv = cmpval (gval, aval, (df + fn)->field_type); n if (v != 0) return (v); } 21:38:33 1998 ******297,319 98 ** makegroup (struct id_rel *pidrel, u2_t ng, u2_t * glist, u2_t nf,: nnnnnnnnnn u2_t * mnf, char *flaglist, char *order) { ! u2_t pn, *ai, *afi, *ali, fdf, fn, fn_out, tsize = 0; !n char *cort;:! u2_t i; :truct des_field *df, *df_out; nnnnstruct des_trel *destrel; nnnn:truct ans_ctob ans; -n u2_t size; nnnni2_t ntob; nnnnstruct des_tob *dt; -n :truct A inpage, outpg; - nnchar flag; n struct id_ob destob; char *outasp, **agrl, *asp, tuple[BD_PAGESIZE]; n if (pidrel->urn.segnum != NRSNUM) nnnnn{ ! nans.cpncob = NIOB; n return (ans);* } n destrel = (:truct des_trel *) * (desnseg.tobtab + pidrel->urn.obnum); -***295,315 ---- makegroup (struct id_rel *pidrel, u2_t ng, u2_t * glist, u2_t nf,: nnnnnnnnnn u2_t * mnf, char *flaglist, char *order) { ! u2_t pn, *ai, *ali, fn_out, tsize = 0, size, i; !n char *cort, flag; ! :truct fun_desc_fields *desf;: :truct des_field *df, *df_out; nnnnstruct des_trel *destrel; nnnn:truct ans_ctob ans; nnnni2_t ntob; nnnnstruct des_tob *dt; n struct id_ob destob; char *outasp, **agrl, *asp, tuple[BD_PAGESIZE]; + char tmp_buff_in[BD_PAGESIZE], tmp_buff_out[BD_PAGESIZE]; n if (pidrel->urn.segnum != NRSNUM) nnnnn{ ! nans.cpncob = -ER_NIOB; n return (ans);* } n destrel = (:truct des_trel *) * (desnseg.tobtab + pidrel->urn.obnum); 21:38:33 1998 ******326,343 98 ** } n elod nnnans.cpncob = OK; !n df = (:truct des_field *) (destrel + 1);:!nnnfdf = destrel->fdftr; !n fn = destrel->fieldn; !n if (fdf < glist[0]) nnnnn{ ! nans.cpncob = NCF; n return (ans);* } n fn_out = ng + nf; nn size = dtrsize + fn_out * rfsize + ng * size2b; !nnndt = gettob (&outpg, size, &ntob, TREL); ! outasp = outpg.p_shm; pn = destrel->tobtr.firstpn;: agrl = (char **) xmalloc (nf * sizeof (void *)); agrl_fem (agrl, df, (u2_t) nf, mnf, flaglist);*-***322,338*---- } n elod nnnans.cpncob = OK; !n desf = &destrel->f_df_tt; !nnndf = desf->df_pnt; ! if (desf->f_fdf < glist[0]) nnnnn{ ! nans.cpncob = -ER_NCF; n return (ans);* } n fn_out = ng + nf; nn size = dtrsize + fn_out * rfsize + ng * size2b; !nnnoutasp = tmp_buff_out; !nnndt = gettob (outasp, size, &ntob, TREL); pn = destrel->tobtr.firstpn;: agrl = (char **) xmalloc (nf * sizeof (void *)); agrl_fem (agrl, df, (u2_t) nf, mnf, flaglist);*21:38:33 1998 ******344,353 98 ** destrel = (:truct des_trel *) dt; df_out = (:truct des_field *) (destrel + 1);: df_fem (df_out, df, ng, glist, nf, mnf, flaglist);*! asp = getwl (&inpage, NRSNUM, pn); !n afi = (u2_t *) (asp + phtrsize); ! ali = afi + ((:truct p_h_tr *) asp)->linptr; !nnnfre (ai = afi; ai <= ali; ai++) nnnnnif (*ai != 0) nnnnn{ n tsize = fgr_val (agrl, tuple, asp + *ai, destrel, ng,*-***339,349 ---- destrel = (:truct des_trel *) dt; df_out = (:truct des_field *) (destrel + 1);: df_fem (df_out, df, ng, glist, nf, mnf, flaglist);*! asp = tmp_buff_in; !nnnread_tmp_page (pn, asp);:!nnnai = (u2_t *) (asp + phtrsize); ! ali = ai + ((:truct p_h_tr *) asp)->linptr; !nnnfre (; ai <= ali; ai++) nnnnnif (*ai != 0) nnnnn{ n tsize = fgr_val (agrl, tuple, asp + *ai, destrel, ng,*21:38:33 1998 ******358,398 98 ** if (*ai != 0) nnnnn{ n cort = asp + *ai; ! if (cmp_grval (tuple, cort, df, fdf, fn, ng, glist) != 0) { n nn size = gr_crt_fem (tuple, tsize, agrl, df_out, ng, nf, mnf, flaglist);*! nn minstr (&outpg, tuple, size, dt);* n nn tsize = fgr_val (agrl, tuple, cort, destrel, ng, glist, nf, mnf, flaglist);* n nn} n elod !nnnnnnnnnnnagrcount (agrl, cort, df, fdf, fn, nf, mnf, flaglist);* n } n pn = ((:truct listtob *) asp)->nextpn; - nnputwul (&inpage, 'n');* n while (pn != (u2_t) ~ 0) nnnnn{ ! nasp = getwl (&inpage, NRSNUM, pn); !n n afi = (u2_t *) (asp + phtrsize); ! ali = afi + ((:truct p_h_tr *) asp)->linptr; !nnn nnnfre (ai = afi; ai <= ali; ai++) n if (*ai != 0) { n nn cort = asp + *ai; ! n if (cmp_grval (tuple, cort, df, fdf, fn, ng, glist) != 0) nnnn{ n size = gr_crt_fem (tuple, tsize, agrl, df_out, ng, nf, mnf, flaglist);*! minstr (&outpg, tuple, size, dt);* n tsize = fgr_val (agrl, tuple, cort, destrel, ng, glist, nf, mnf, flaglist);* n nn } n elod ! nagrcount (agrl, cort, df, fdf, fn, nf, mnf, flaglist);* n } n pn = ((:truct listtob *) asp)->nextpn; - nn nnputwul (&inpage, 'n');* n } n size = gr_crt_fem (tuple, tsize, agrl, df_out, ng, nf, mnf, flaglist);*! minstr (&outpg, tuple, size, dt);*! putwul (&outpg, 'm'); destob.segnum = NRSNUM; fre (i = 0; i < nf; i++) nnnnn{ -***354,392*---- if (*ai != 0) nnnnn{ n cort = asp + *ai; ! if (cmp_grval (tuple, cort, desf, ng, glist) != 0) { n nn size = gr_crt_fem (tuple, tsize, agrl, df_out, ng, nf, mnf, flaglist);*! nn minstr (outasp, tuple, size, dt);* n nn tsize = fgr_val (agrl, tuple, cort, destrel, ng, glist, nf, mnf, flaglist);* n nn} n elod !nnnnnnnnnnnagrcount (agrl, cort, desf, nf, mnf, flaglist);* n } n pn = ((:truct listtob *) asp)->nextpn; n while (pn != (u2_t) ~ 0) nnnnn{ ! nread_tmp_page (pn, asp);:!nnn nnnai = (u2_t *) (asp + phtrsize); ! ali = ai + ((:truct p_h_tr *) asp)->linptr; !nnn nnnfre (; ai <= ali; ai++) n if (*ai != 0) { n nn cort = asp + *ai; ! n if (cmp_grval (tuple, cort, desf, ng, glist) != 0) nnnn{ n size = gr_crt_fem (tuple, tsize, agrl, df_out, ng, nf, mnf, flaglist);*! minstr (outasp, tuple, size, dt);* n tsize = fgr_val (agrl, tuple, cort, destrel, ng, glist, nf, mnf, flaglist);* n nn } n elod ! nagrcount (agrl, cort, desf, nf, mnf, flaglist);* n } n pn = ((:truct listtob *) asp)->nextpn; n } n size = gr_crt_fem (tuple, tsize, agrl, df_out, ng, nf, mnf, flaglist);*! minstr (outasp, tuple, size, dt);*! write_tmp_page (dt->lastpn, outasp); destob.segnum = NRSNUM; fre (i = 0; i < nf; i++) nnnnn{ 21:38:33 1998 ******405,412 98 ** xfree ((void *) agrl[i]);* n } n xfree ((void *) agrl); ! destrel->fieldn = fn_out; !nnndestrel->fdftr = 0;: dt->prdt.prsort = SORT; n dt->prdt.prdbl = DBL; n dt->prdt.prdrctn = *order;*-***399,407 ---- xfree ((void *) agrl[i]);* n } n xfree ((void *) agrl); ! destrel->f_df_tt.f_fn = fn_out; !nnndestrel->f_df_tt.f_fdf = 0; ! destrel->f_df_tt.df_pnt = df_out; nnnndt->prdt.prsort = SORT; n dt->prdt.prdbl = DBL; n dt->prdt.prdrctn = *order;*21:38:33 1998 ******420,435 98 ** } n int*! tuple_break (char *tuple, char **arrpnt, u2_t * arrsz, :truct des_field * df,*!nnnnnnnnnnnnnnnnnnnnnnnnu2_t fdf, u2_t field_num) n{ n char *sc, *val, *aval, *newval;:! u2_t k, fn; ! int tuple_size; nn nnnnsc = tuple + 1; nnnntuple_size = scscal (tuple);* aval = val = tuple + tuple_size; nn fre (k = 0, fn = 0; sc < val; fn++) nnnnn{ n if (fn < fdf || (*sc & BITVL(k)) != 0) -***415,433 ---- } n int*! tuple_break (char *tuple, char **arrpnt, u2_t * arrsz,*!nnnnnnnnnnnnnn:truct fun_desc_fields * desf) n{ n char *sc, *val, *aval, *newval;:! u2_t k, fn, fdf, field_num, tuple_size; ! :truct des_field * df;: nnnnsc = tuple + 1; nnnntuple_size = scscal (tuple);* aval = val = tuple + tuple_size; +nnnfield_num = desf->f_fn; +nnnfdf = desf->f_fdf;*+ nndf = desf->df_pnt; fre (k = 0, fn = 0; sc < val; fn++) nnnnn{ n if (fn < fdf || (*sc & BITVL(k)) != 0) 21:38:33 1998 ******473,479 98 ** i2_t n;*nnnnchar *a; float avrg = 0; ! :truct A pg; fre (i = 0; i < nf; i++) nnnnn{ -***471,477 ---- i2_t n;*nnnnchar *a; float avrg = 0; ! char tmp_buff[BD_PAGESIZE]; n fre (i = 0; i < nf; i++) nnnnn{ 21:38:33 1998 ******510,524 98 ** t4bpack (0, a + size4b); break; caod FN_DT_SUMM::! destrel = (:truct des_trel *) gettob (&pg, dtrsize + rfsize, &n, TREL); ! putwul (&pg, 'm'); !n destrel->fieldn = 1; !n destrel->fdftr = 0;:!nnnnnnnnnnn/**!nnnnnnnnnnnn* dftr = (:truct des_field *) (destrel + 1);:!nnnnnnnnnnnn* *dftr = *(df + mnf[i]);*!nnnnnnnnnnnn*/ dftr = (df + mnf[i]);* size = gmax(dftr->field_size,size4b) + size2b + 1; nn agrl[i] = (char *) xmalloc (size); nnt2bpack (n, agrl[i]); -***508,518u---- n t4bpack (0, a + size4b); break; caod FN_DT_SUMM::! destrel = (:truct des_trel *) gettob (tmp_buff, dtrsize + rfsize, &n, TREL); ! destrel->f_df_tt.f_fn = 1; !n destrel->f_df_tt.f_fdf = 0; dftr = (df + mnf[i]);*+ destrel->f_df_tt.df_pnt = dftr; size = gmax(dftr->field_size,size4b) + size2b + 1; nn agrl[i] = (char *) xmalloc (size); nnt2bpack (n, agrl[i]); 21:38:33 1998 ******527,537 98 ** t4bpack (0, a); break; caod FN_DT_COUNT::! destrel = (:truct des_trel *) gettob (&pg, dtrsize + rfsize, &n, TREL); ! putwul (&pg, 'm'); !n destrel->fieldn = 1; !n destrel->fdftr = 0;: dftr = (:truct des_field *) (destrel + 1);: dftr->field_type = T4B;: dftr->field_size = size4b; size = size4b + size2b + 1; -***521,531u---- n t4bpack (0, a); break; caod FN_DT_COUNT::! destrel = (:truct des_trel *) gettob (tmp_buff, dtrsize + rfsize, &n, TREL); ! destrel->f_df_tt.f_fn = 1; !n destrel->f_df_tt.f_fdf = 0; dftr = (:truct des_field *) (destrel + 1);:+ destrel->f_df_tt.df_pnt = dftr; dftr->field_type = T4B;: dftr->field_size = size4b; size = size4b + size2b + 1; 21:38:33 1998 ******542,552 98 ** t4bpack (0, a); break; caod FN_DT_AVG::! destrel = (:truct des_trel *) gettob (&pg, dtrsize + rfsize, &n, TREL); ! putwul (&pg, 'm'); !n destrel->fieldn = 1; !n destrel->fdftr = 0;: dftr = (:truct des_field *) (destrel + 1);: dftr->field_type = TFLOAT;: dftr->field_size = size4b; size = sizeof (float) + size4b + 1 + size2b; -***536,546u---- n t4bpack (0, a); break; caod FN_DT_AVG::! destrel = (:truct des_trel *) gettob (tmp_buff, dtrsize + rfsize, &n, TREL); ! destrel->f_df_tt.f_fn = 1; !n destrel->f_df_tt.f_fdf = 0; dftr = (:truct des_field *) (destrel + 1);:+ destrel->f_df_tt.df_pnt = dftr; dftr->field_type = TFLOAT;: dftr->field_size = size4b; size = sizeof (float) + size4b + 1 + size2b; 21:38:33 1998 ******566,599 98 ** static void dist_count (char *agrl, char flag) { ! u2_t *ai, *afi, *ali, pn; :truct des_field *df; -nnnu2_t fdf, fn; nnnnstruct des_trel *destrel; nnnnchar *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; -n :truct A inpage;* n char *pnt, *asp; nnnn n destrel = (:truct des_trel *) * (desnseg.tobtab + t2bunpack( agrl)); !n df = (:truct des_field *) (destrel + 1);:!nnnpn = destrel->tobtr.firstpn;:!nnnfdf = destrel->fdftr; !n fn = destrel->fieldn; n pnt = agrl + size2b; !nnnfre (; pn != (u2_t) ~ 0;) nnnnn{ ! nasp = getwl (&inpage, NRSNUM, pn); !n n afi = (u2_t *) (asp + phtrsize); ! ali = afi + ((:truct p_h_tr *) asp)->linptr; !nnn nnnfre (ai = afi; ai <= ali; ai++) n if (*ai != 0) { ! tuple_break (asp + *ai, arrpnt, arrsz, df, fdf, fn);* n nagr_fem (pnt, flag, arrpnt[0], df->field_type); } n pn = ((:truct listtob *) asp)->nextpn; - nn nnputwul (&inpage, 'n');* n } n} -***560,591u---- nstatic void dist_count (char *agrl, char flag) { ! u2_t *ai, *ali, pn; ! :truct fun_desc_fields *desf;: :truct des_field *df; nnnnstruct des_trel *destrel; nnnnchar *arrpnt[BD_PAGESIZE]; n u2_t arrsz[BD_PAGESIZE]; n char *pnt, *asp; +n char tmp_buff[BD_PAGESIZE]; n n destrel = (:truct des_trel *) * (desnseg.tobtab + t2bunpack( agrl)); !n desf = &destrel->f_df_tt; !nnndf = desf->df_pnt; pnt = agrl + size2b; !nnnasp = tmp_buff; !nnnfre (pn = destrel->tobtr.firstpn; pn != (u2_t) ~ 0;) nnnnn{ ! nread_tmp_page (pn, asp);:!nnn nnnai = (u2_t *) (asp + phtrsize); ! ali = ai + ((:truct p_h_tr *) asp)->linptr; !nnn nnnfre (; ai <= ali; ai++) n if (*ai != 0) { ! tuple_break (asp + *ai, arrpnt, arrsz, desf);* n nagr_fem (pnt, flag, arrpnt[0], df->field_type); } n pn = ((:truct listtob *) asp)->nextpn; n } n} diff -rc gnusql-0.7b5.3/src/engine/trans/mdfctn.c gnusql-0.7b6.0/src/engine/trans/mdfctn.c*****gnusql-0.7b5.3/src/engine/trans/mdfctn.c Mon Apr 28 13:52:57*1997 -***gnusql-0.7b6.0/src/engine/trans/mdfctn.c Tue Jan 13 07:22:19*1998 21:38:33 1998 ******2,8 98 ** * mdfctn.c - Modification * * Kernel of GNU SQL-server * * !nn* $Id: mdfctn.c,v 1.246*1997/04/10 06:57:28 vera Exp $ ** * This file is a part of GNU SQL Server **-***2,8 ---- * mdfctn.c - Modification * * Kernel of GNU SQL-server * * !nn* $Id: mdfctn.c,v 1.251*1998/01/13 12:22:19*vera Exp $ ** * This file is a part of GNU SQL Server **21:38:33 1998 ******43,81 98 ** extern i4_t ljmsize; nnextern :truct ADBL adlj; n -nstatic int*! mod_tt_tuple(struct d_mesc *scpr, u2_t fmnum, u2_t *mfn, char *fl) { ! struct des_trel *destrel; nnnn:truct des_field *df; ! :truct A pg; struct des_tid *tid; ! u2_t pn, newsize, fdf; i2_t delta; char *asp, *a; ! u2_t *afi, *ai; !n char *fval;: n destrel = (:truct des_trel *) scpr->pobsc; ! df = (:truct des_field *) (destrel + 1);:!nnnfdf = destrel->fdftr; !n if (testcmod (df, fdf, scpr->fmnsc, mfn, fl, &fval) != OK) !nnnnnreturn (NCF); nnnntid = &((struct d_sc_r *) scpr)->curtid; pn = tid->tpn; ! asp = getwl (&pg, NRSNUM, pn); nn afi = (u2_t *) (asp + phtrsize); nnnai = afi + tid->tindex; if (*ai == 0) nnnnn{ - nn nnputwul (&pg, 'n');* n scpr->prcrt = 0;:!nnnnnnnreturn (NCR);* n } n assert (*ai <= BD_PAGESIZE); nnna = asp + *ai; ! newsize = cortfoem (df, fdf, destrel->fieldn, fl, fval, a, pbuflj, mfn); delta = calsc (afi, ai) - newsize; if (delta > 0) nnnnncomptr (asp, ai, delta);*-***43,97 ---- extern i4_t ljmsize; nnextern :truct ADBL adlj; n int*! check_cmod (:truct fun_desc_fields *desf, u2_t fmnum, ! u2_t *mfn, Colval colval, u2_t *lenval) { ! u2_t i, fn, fdf; nnnn:truct des_field *df; ! :!nnnfdf = desf->f_fdf;*!nnndf = desf->df_pnt; ! fre (i = 0; i < fmnum; i++) !nnnnn{ ! nfn = mfn[i];:!nnnnnnnif (fn < fdf && colval[i] == NULL) ! return (-ER_NCF);:!nnnnnnnif(lenval[i] > (df + fn)->field_size) ! return (-ER_NCF);:!nnnnn} ! return (OK);:!n} ! :!nstatic int*! mod_tt_tuple(struct d_mesc *scpr, u2_t fmnum, u2_t *mfn, Colval colval, u2_t *lenval) ! { ! struct des_trel *destrel; ! :truct fun_desc_fields *desf;: :truct des_tid *tid; ! u2_t pn, newsize, *afi, *ai; i2_t delta; char *asp, *a; ! char tmp_buff[BD_PAGESIZE]; n n destrel = (:truct des_trel *) scpr->pobsc; ! desf = &destrel->f_df_tt; !nnnif (check_cmod (desf, fmnum, mfn, colval, lenval) != OK) !nnnnnreturn (-ER_NCF);:nnnntid = &((struct d_sc_r *) scpr)->curtid; pn = tid->tpn; ! asp = tmp_buff; !nnnread_tmp_page (pn, asp);:nn afi = (u2_t *) (asp + phtrsize); nnnai = afi + tid->tindex; if (*ai == 0) nnnnn{ n scpr->prcrt = 0;:!nnnnnnnreturn (-ER_NCR);* n } n assert (*ai <= BD_PAGESIZE); nnna = asp + *ai; ! newsize = cortfoem (desf, colval, lenval, a, pbuflj, fmnum, mfn); delta = calsc (afi, ai) - newsize; if (delta > 0) nnnnncomptr (asp, ai, delta);*21:38:33 1998 ******82,93 98 ** if (delta >= 0) nnnnn{ n bcopy (pbuflj, a, newsize);:!nnnnnnnputwul (&pg, 'm'); } n elod nnn{ ! ndeltr (scpr, asp, ai, &(destrel->tobtr), pn); !n n putwul (&pg, 'm'); instr (&(destrel->tobtr), pbuflj, newsize);: } n return (OK);:-***98,110 ---- if (delta >= 0) nnnnn{ n bcopy (pbuflj, a, newsize);:!nnnnnnnwrite_tmp_page (pn, asp); } n elod nnn{ ! ndeltr (asp, ai, &(destrel->tobtr), pn); !n n scpr->prcrt = 0;:!nnnnnnnwrite_tmp_page (pn, asp); instr (&(destrel->tobtr), pbuflj, newsize);: } n return (OK);:21:38:33 1998 ******94,131 98 ** } static int*! mod_cort (char *fl, struct d_mesc *s, u2_t fmnum, u2_t *mfn, nnnnnnnnnnnn:truct d_r_t *desrel, :truct des_tid *tid) n{ !n char *cort, *nc, *selc, *fval;: u2_t newsize, n, ni, ndc, corsize, fn, sn;*! :truct des_field *df; ! i4_t rn;: CPNM cpn; :truct id_rel idr; :truct ADBL last_adlj; n :truct des_tid ref_tid; n :n = desrel->segnr;:- nndf = (:truct des_field *) (desrel + 1);:-n if (testcmod (df, desrel->desrbd.fdfnum, fmnum, mfn, fl, &fval) != OK) -nnnnnreturn (NCF); nnnncort = pbuflj + ljmsize; !nnnif (readcort (sn, tid, cort, &corsize, &ref_tid) == NCR) nnnnn{ n s->prcrt = 0;:!nnnnnnnreturn (NCR);* n } -nnnrn = desrel->desrbd.relnum; fn = desrel->desrbd.fieldnum; ndc = s->ndc; !nnnidr.urn.segnum = sn;*! idr.urn.obnum = rn;: idr.pagenum = desrel->pn_r;: idr.index = desrel->ind_r; if (ndc < MAXCL) nnnnn{ ! nif ((cpn = synlock (&idr, &desrel->desrbd, cort)) != 0) return (cpn); nn s->ndc++;* } -***111,147 ---- } static int*! mod_cort (struct d_mesc *s, u2_t fmnum, u2_t *mfn, Colval colval, u2_t *lenval, nnnnnnnnnnnn:truct d_r_t *desrel, :truct des_tid *tid) n{ !n char *cort, *nc, *selc;: u2_t newsize, n, ni, ndc, corsize, fn, sn;*! :truct fun_desc_fields *desf;: CPNM cpn; :truct id_rel idr; :truct ADBL last_adlj; n :truct des_tid ref_tid; + :truct full_des_tuple dtuple; +nnndesf = &desrel->f_df_bt; + if (check_cmod (desf, fmnum, mfn, colval, lenval) != OK) +nnnnnreturn (-ER_NCF);:nnnn:n = desrel->segnr;:nnnncort = pbuflj + ljmsize; !nnnif ((corsize = readcort (sn, tid, cort, &ref_tid)) == 0) nnnnn{ n s->prcrt = 0;:!nnnnnnnreturn (-ER_NCR);* n } n fn = desrel->desrbd.fieldnum; ndc = s->ndc; !nnnidr.urn.segnum = dtuple.sn_fdt = sn;*! idr.urn.obnum = dtuple.rn_fdt = desrel->desrbd.relnum; idr.pagenum = desrel->pn_r;: idr.index = desrel->ind_r; if (ndc < MAXCL) nnnnn{ ! nif ((cpn = synlock (desrel, cort)) != 0) return (cpn); nn s->ndc++;* } 21:38:33 1998 ******132,144 98 ** elod if (ndc == MAXCL) nnnnn{ nn selc = s->pslc; ! nif ((cpn = synlsc (s->modesc, &idr, selc + size2b, *(u2_t *) selc, fn, NULL)) != 0) return (cpn); nn s->ndc++;* } nc = cort + corsize; ! newsize = cortfoem (df, desrel->desrbd.fdfnum, fn, fl, fval, cort, nc, mfn); ! nif ((cpn = synlock (&idr, &desrel->desrbd, nc)) != 0) nnnnreturn (cpn); nn modmes (); nn last_adlj = adlj; -***148,161 ---- elod if (ndc == MAXCL) nnnnn{ nn selc = s->pslc; ! nif ((cpn = synlsc (s->modesc, &idr, selc + size2b,*!nnnnnnnnnnnnnnnnnnnnnnnn *(u2_t *) selc, fn, NULL)) != 0) return (cpn); nn s->ndc++;* } nc = cort + corsize; ! newsize = cortfoem (desf, colval, lenval, cort, nc, fmnum, mfn); ! nif ((cpn = synlock (desrel, nc)) != 0) nnnnreturn (cpn); nn modmes (); nn last_adlj = adlj; 21:38:33 1998 ******145,151 98 ** wmlj (MODLJ, ljmsize + corsize + newsize, &adlj, &idr, tid, 0); if (newsize desrbd.indnum; ni = mproind (desrel, n, cort, nc, tid); if (ni < n) -***162,169 ---- wmlj (MODLJ, ljmsize + corsize + newsize, &adlj, &idr, tid, 0); if (newsize desrbd.indnum; ni = mproind (desrel, n, cort, nc, tid); if (ni < n) 21:38:33 1998 ******152,177 98 ** { nn wmlj (RLBLJ, ljrsize, &last_adlj, &idr, tid, 0); nn mproind (desrel, ni + 1, nc, cort, tid); !nnnnnnnordmod (:n, rn, tid, &ref_tid, corsize, nc, newsize);: BUF_endop (); !nnnnnnnreturn (NU);* n } n BUF_endop (); n return (OK);: } n ! static ! int*! modcort (char *fl, struct d_mesc *s, u2_t scsz,n:truct d_r_t *desrel, :truct des_tid *tid) n{ u2_t *mfn; n n mfn = (u2_t *) ((char *) s + scsz + s->fnsc * size2b); ! return (mod_cort( fl, s, s->fnsc, mfn, desrel, tid)); } n int*! mdfctn (i4_t scnum, char *fl) { struct ldesscan *desscan; n struct d_mesc *scpr; -***170,195u---- { nn wmlj (RLBLJ, ljrsize, &last_adlj, &idr, tid, 0); nn mproind (desrel, ni + 1, nc, cort, tid); !nnnnnnnordmod (&dtuple, &ref_tid, newsize, cort, corsize);: BUF_endop (); !nnnnnnnreturn (-ER_NU);* n } n BUF_endop (); n return (OK);: } n ! static int*! modcort (struct d_mesc *s, u2_t scsz,n:truct d_r_t *desrel,*!nnnnnnnnnn:truct des_tid *tid, Colval colval, u2_t *lenval) { u2_t *mfn; n n mfn = (u2_t *) ((char *) s + scsz + s->fnsc * size2b); ! return (mod_cort( s, s->fnsc, mfn, colval, lenval, desrel, tid)); } n int*! mdfctn (i4_t scnum, Colval colval, u2_t *lenval) { struct ldesscan *desscan; n struct d_mesc *scpr; 21:38:33 1998 ******179,223 98 ** n scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) ! nnnnreturn (NDSC); if (scpr->modesc != WSC && scpr->modesc != MSC) ! nnnnreturn (NMS); if (scpr->prcrt == 0) !nnnnnreturn (NCR);* n if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (modcort (fl, scpr, :cisize, (:truct d_r_t *) scpr->pobsc, &desscan->ctidi)); } n elod if (sctype == SCTR) nnnnn{ n u2_t *mfn; n n mfn = (u2_t *) ((char *) scpr + scrsize + scpr->fnsc * size2b); ! nnnnreturn (mod_tt_tuple (scpr, scpr->fmnsc, mfn, fl)); } n elod if (sctype == SCI) nnnnn{ /* index scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (modcort (fl, scpr, :cisize, desscan->pdi->dri, &desscan->ctidi)); } n elod nnnnn{ /* filter scan */ struct d_sc_f *scfltr; - nn nnchar *asp; - struct A pg; :truct des_tid *tid; n scfltr = (struct d_sc_f *) scpr; ! nasp = getwl (&pg, NRSNUM, scfltr->pnf); ! nnnntid = (:truct des_tid *) (asp + scfltr->offf); !n n putwul (&pg, 'n'); !nnnnnnnreturn (modcort (fl, scpr, :cfsize, ((:truct des_fltr *) scpr->pobsc)->pdrtf, tid)); } n} int*! testcmod (:truct des_field *df, u2_t fdf, u2_t fmn, u2_t *mfn, char *fml, char **fval) { ! u2_t i,fn,type;: unsigned char t;* i4_t sst; nnnchar *a, *sc; -***197,245u---- n scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) ! nnnnreturn (-ER_NDSC); if (scpr->modesc != WSC && scpr->modesc != MSC) ! nnnnreturn (-ER_NMS); if (scpr->prcrt == 0) !nnnnnreturn (-ER_NCR);* n if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (modcort (scpr, :cisize, (:truct d_r_t *) scpr->pobsc,*!nnnnnnnnnnnnnnnnnnnnnnnn&desscan->ctidi, colval, lenval)); } n elod if (sctype == SCTR) nnnnn{ n u2_t *mfn; n n mfn = (u2_t *) ((char *) scpr + scrsize + scpr->fnsc * size2b); ! nnnnreturn (mod_tt_tuple (scpr, scpr->fmnsc, mfn, colval, lenval)); } n elod if (sctype == SCI) nnnnn{ /* index scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (modcort (scpr, :cisize, desscan->pdi->dri,*!nnnnnnnnnnnnnnnnnnnnnnnn&desscan->ctidi, colval, lenval)); } n elod nnnnn{ /* filter scan */ struct d_sc_f *scfltr; :truct des_tid *tid; + nn nnchar tmp_buff[BD_PAGESIZE]; + nn nn n scfltr = (struct d_sc_f *) scpr; ! nread_tmp_page (scfltr->pnf, tmp_buff); ! nnnntid = (:truct des_tid *) (tmp_buff + scfltr->offf); !n n return (modcort (scpr, :cfsize, ((:truct des_fltr *) scpr->pobsc)->pdrtf,*!nnnnnnnnnnnnnnnnnnnnnnnntid, colval, lenval)); } n} int*! testcmod (:truct fun_desc_fields *desf, u2_t fmn, ! u2_t *mfn, char *fml, char **fval) { ! u2_t i, fn, type, fdf; ! :truct des_field *df; nnnnunsigned char t;* i4_t sst; nnnchar *a, *sc; 21:38:33 1998 ******224,248 98 ** sst = 1; nnnna = fml; fre (i = 0; ((t = seloc1 (&a, sst++)) != ENDSC) && (i < fmn); i++) nnnnn{ nfn = mfn[i];: n if (t != EQ && t != NEQ && t != EQUN) ! return (NCF);:nnnnnnnnif (fn < fdf && t == EQUN) ! return (NCF);:nnnnnn} if (t != ENDSC) !nnnnnreturn (NCF); nnnnif (sst % 2 == 0) nnnnna++;* *fval = a; sst = 1; !nnnsc = fml;n fre (i = 0; (t = seloc1 (&sc, sst++)) != ENDSC; i++) nnnnn{ nfn = mfn[i];:!nnnnnnnif(t2bunpack(a)>(df+fn)->field_size)nreturn(NCF);:nnnnnnnntype= (df+fn)->field_type;:nnnnnnnnif(type== T1B || type==T2B || type==T4B || type== TFLOAT) a+=size2b; -***246,272*---- sst = 1; nnnna = fml; +nnnfdf = desf->f_fdf;* fre (i = 0; ((t = seloc1 (&a, sst++)) != ENDSC) && (i < fmn); i++) nnnnn{ nfn = mfn[i];: n if (t != EQ && t != NEQ && t != EQUN) ! return (-ER_NCF);:nnnnnnnnif (fn < fdf && t == EQUN) ! return (-ER_NCF);:nnnnnn} if (t != ENDSC) !nnnnnreturn (-ER_NCF);:nnnnif (sst % 2 == 0) nnnnna++;* *fval = a; sst = 1; !nnnsc = fml; !nnndf = desf->df_pnt; fre (i = 0; (t = seloc1 (&sc, sst++)) != ENDSC; i++) nnnnn{ nfn = mfn[i];:!nnnnnnnif(t2bunpack(a)>(df+fn)->field_size)nreturn (-ER_NCF);:nnnnnnnntype= (df+fn)->field_type;:nnnnnnnnif(type== T1B || type==T2B || type==T4B || type== TFLOAT) a+=size2b; 21:38:33 1998 ******252,258 98 ** } n int*! mod_spec_flds (i4_t scnum, u2_t fmnum, u2_t * fmn, char * fl) { struct ldesscan *desscan; n struct d_mesc *scpr; -***276,283 ---- } n int*! mod_spec_flds (i4_t scnum, u2_t fmnum, u2_t *fmn, ! Colval colval, u2_t *lenval) { struct ldesscan *desscan; n struct d_mesc *scpr; 21:38:33 1998 ******260,294 98 ** scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) ! nnnnreturn (NDSC); if (scpr->modesc != WSC && scpr->modesc != MSC) ! nnnnreturn (NMS); if (scpr->prcrt == 0) !nnnnnreturn (NCR);* n if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (mod_cort (fl, scpr, fmnum, fmn, (:truct d_r_t *) scpr->pobsc, &desscan->ctidi)); } n elod if (sctype == SCTR) nnnnn{ ! nnnnreturn (mod_tt_tuple (scpr, fmnum, fmn, fl)); } n elod if (sctype == SCI) nnnnn{ /* index scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (mod_cort (fl, scpr, fmnum, fmn, desscan->pdi->dri, &desscan->ctidi)); } n elod nnnnn{ /* filter scan */ struct d_sc_f *scfltr; - nn nnchar *asp; - struct A pg; :truct des_tid *tid; n scfltr = (struct d_sc_f *) scpr; ! nasp = getwl (&pg, NRSNUM, scfltr->pnf); ! nnnntid = (:truct des_tid *) (asp + scfltr->offf); !n n putwul (&pg, 'n'); !nnnnnnnreturn (mod_cort (fl, scpr, fmnum, fmn, ((:truct des_fltr *) scpr->pobsc)->pdrtf, tid)); } n} -***285,321*---- scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) ! nnnnreturn (-ER_NDSC); if (scpr->modesc != WSC && scpr->modesc != MSC) ! nnnnreturn (-ER_NMS); if (scpr->prcrt == 0) !nnnnnreturn (-ER_NCR);* n if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (mod_cort (scpr, fmnum, fmn, colval, lenval,*!nnnnnnnnnnnnnnnnnnnnnnnn (:truct d_r_t *) scpr->pobsc, &desscan->ctidi)); } n elod if (sctype == SCTR) nnnnn{ ! nnnnreturn (mod_tt_tuple (scpr, fmnum, fmn, colval, lenval)); } n elod if (sctype == SCI) nnnnn{ /* index scan */ desscan = &((struct d_sc_i *) scpr)->dessc; !nnnnnnnreturn (mod_cort (scpr, fmnum, fmn, colval, lenval, desscan->pdi->dri,*!nnnnnnnnnnnnnnnnnnnnnnnn &desscan->ctidi)); } n elod nnnnn{ /* filter scan */ struct d_sc_f *scfltr; :truct des_tid *tid; + nn nnchar tmp_buff[BD_PAGESIZE]; + nn nn n scfltr = (struct d_sc_f *) scpr; ! nread_tmp_page (scfltr->pnf, tmp_buff); ! nnnntid = (:truct des_tid *) (tmp_buff + scfltr->offf); !n n return (mod_cort (scpr, fmnum, fmn, colval, lenval,*!nnnnnnnnnnnnnnnnnnnnnnnn ((:truct des_fltr *) scpr->pobsc)->pdrtf, tid)); } n} diff -rc gnusql-0.7b5.3/src/engine/trans/modcon.c gnusql-0.7b6.0/src/engine/trans/modcon.c*****gnusql-0.7b5.3/src/engine/trans/modcon.c Mon Apr 28 13:52:57*1997 -***gnusql-0.7b6.0/src/engine/trans/modcon.c Wed May 20 01:52:43*1998 21:38:33 1998 ******28,34 98 ** ** */ n ! /* $Id: modcon.c,v 1.247*1997/04/10 06:57:28 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***28,34 ---- ** */ n ! /* $Id: modcon.c,v 1.253*1998/05/20 05:52:43*kml Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******42,70 98 ** extern i4_t ljrsize; nn nnstatic void ! mmod (:truct d_r_t *dr, :truct des_field *df, char *cort,*!nnnnnnnu2_t corsize, :truct des_tid *tid, :truct des_tid *ref_tid,*!nnnnnnnchar *fl, char *fval, u2_t * mfn) n{ n char *nc; ! u2_t newsize, sn;*! i4_t n, ni, rn; :truct ADBL last_adlj; n :truct id_rel idr; nc = cort + corsize; ! newsize = cortfoem (df, dr->desrbd.fdfnum, dr->desrbd.fieldnum,*!nnnnnnnnnnnnnnnnnnnnnnnfl, fval, cort, nc, mfn); if (newsize segnr;:! idr.urn.obnum = rn = dr->desrbd.relnum; idr.pagenum = dr->pn_r;: idr.index = dr->ind_r; wmlj (MODLJ, ljmsize + corsize + newsize, &adlj, &idr, tid, 0); !nnnordmod (:n, rn, tid, ref_tid, corsize, nc, newsize);: n = dr->desrbd.indnum; ni = mproind (dr, n, cort, nc, tid); if (ni < n) -***42,70 ---- extern i4_t ljrsize; nn nnstatic void ! mmod (:truct d_r_t *dr, char *cort, u2_t corsize, :truct des_tid *tid, !n n struct des_tid *ref_tid, u2_t mod_count, u2_t *mfn, Colval colval, u2_t *lenval) { n char *nc; ! u2_t newsize;*! i4_t n, ni; :truct ADBL last_adlj; n :truct id_rel idr; + :truct full_des_tuple dtuple; nc = cort + corsize; ! newsize = cortfoem (&dr->f_df_bt, colval, lenval, cort, nc, mod_count, mfn); if (newsize segnr;:! idr.urn.obnum = dtuple.rn_fdt = dr->desrbd.relnum; idr.pagenum = dr->pn_r;: idr.index = dr->ind_r; wmlj (MODLJ, ljmsize + corsize + newsize, &adlj, &idr, tid, 0); !nnndtuple.tid_fdt = *tid; ! ordmod (&dtuple, ref_tid, corsize, nc, newsize);: n = dr->desrbd.indnum; ni = mproind (dr, n, cort, nc, tid); if (ni < n) 21:38:33 1998 ******71,89 98 ** { nn wmlj (RLBLJ, ljrsize, &last_adlj, &idr, tid, 0); nn mproind (dr, ni + 1, nc, cort, tid); !nnnnnnnordmod (:n, rn, tid, ref_tid, corsize, nc, newsize);: } n BUF_endop (); n} n ! int* modcrl (struct id_rel *pidrl, u2_t slsz,nchar *sc, u2_t flsz,*!nnnnnnnnnu2_t * fl, u2_t flmsz,nchar *flmod) { ! u2_t fn, fdf, *ali, *afi, *ai, sn, pn, corsize; nnchar *asp = NULL, *cort;:! :truct des_field *df; ! char *fval;: :truct A pg; sn = pidrl->urn.segnum; -***71,121u---- { nn wmlj (RLBLJ, ljrsize, &last_adlj, &idr, tid, 0); nn mproind (dr, ni + 1, nc, cort, tid); !nnnnnnnordmod (&dtuple, ref_tid, newsize, cort, corsize);: } n BUF_endop (); n} n ! static int*! fnd_slc (:truct d_r_t *dr, char *tuple, char *selcon, ! u2_t slsz,nchar *cort, :truct des_tid *ref_tid) ! { ! unsigned char t;*!n :truct A inpage;*!nnnchar *arrpnt[BD_PAGESIZE]; !n u2_t arrsz[BD_PAGESIZE]; ! int tuple_size; ! :!nnnt = *tuple & MSKCORT; !n if (t == CREM || t == IDTR) !nnnnnreturn (-ER_NCR);*!n if (t == IND) !nnnnn{ ! nchar *asp; !nnnnnnnu2_t pn2, ind2, *ai; !n nnnnref_tid->tindex = ind2 = t2bunpack (tuple + 1);:!nnnnnnnref_tid->tpn = pn2 = t2bunpack (tuple + 1 + size2b);:!nnnnnnnwhile ((asp = getpg (&inpage, dr->segnr, pn2, 's')) == NULL);:!nnn nnnai = (u2_t *) (asp + phsize)n+ ind2; ! nnnntuple = asp + *ai; ! nn} ! elod !nnnnnref_tid->tpn = (u2_t) ~ 0;:!nnntuple_size = tstcsel (&dr->f_df_bt, slsz,nselcon, tuple, arrpnt, arrsz);*!n if (tuple_size != 0 && cort != NULL) ! nnnnbcopy (tuple, cort, tuple_size);*!n if (t == IND) !nnnnnputpg (&inpage, 'n'); !nnnreturn (tuple_size);*!n} ! :!ni4_t* modcrl (struct id_rel *pidrl, u2_t slsz,nchar *sc, u2_t flsz,*!nnnnnnnnnu2_t *fl, Colval colval, u2_t *lenval) { ! u2_t *ali, *ai, sn, pn, corsize; nnchar *asp = NULL, *cort;:! :truct fun_desc_fields *desf;: :truct A pg; sn = pidrl->urn.segnum; 21:38:33 1998 ******93,121u98 ** struct d_sc_i *scind; :truct ldesscan *disc; :truct des_tid tid, ref_tid; - i4_t rn;: CPNM cpn; i2_t num; i4_t rep; !nnnnnnnu2_t size, ind, pnr, indr;:nnnnnnnnif ((cpn = cont_fir (pidrl, &dr)) != OK) return (cpn); ! nfn = dr->desrbd.fieldnum; ! nfdf = dr->desrbd.fdfnum; ! ndf = (:truct des_field *) (dr + 1);:!nnnnnnnif (testcond (df, fn, fdf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !n return (NCF);:!nnnnnnnif (testcmod (df,fdf, flsz,nfl, flmod, &fval) != OK) !n return (NCF);:!nnnnnnnif ((cpn = synlsc (WSC, pidrl, sc, slsz,nfn, NULL)) != OK) return (cpn); ! nif ((cpn = syndmod (pidrl, df, flmod)) != OK) return (cpn); - rn = pidrl->urn.obnum; - nn nnpnr = pidrl->pagenum; - indr = pidrl->index; nnnncort = pbuflj + ljmsize; !nnn scind = rel_scan (:n, rn, (char *) dr, &num, 0, NULL, NULL, 0, 0, NULL); nnnndisc = &scind->dessc; rep = fgetnext (disc, &pn, &size, SLOWSCAN); nnnnfre (; rep != EOI;) -***125,149 ---- struct d_sc_i *scind; :truct ldesscan *disc; :truct des_tid tid, ref_tid; CPNM cpn; i2_t num; i4_t rep; !nnnnnnnu2_t size, ind; !nnnnnnn:nnnnnnnnif ((cpn = cont_fir (pidrl, &dr)) != OK) return (cpn); ! ndesf = &dr->f_df_bt; !nnnnnnnif (testcond (desf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !n return (-ER_NCF);:!nnnnnnnif (check_cmod (desf, flsz,nfl, colval, lenval) != OK) !n return (-ER_NCF);:!nnnnnnnif ((cpn = synlsc (WSC, pidrl, sc, slsz,ndesf->f_fn, NULL)) != OK) return (cpn); ! nif ((cpn = syndmod (dr, flsz,nfl, colval, lenval)) != OK) return (cpn); nnnncort = pbuflj + ljmsize; !nnn scind = rel_scan (&pidrl->urn, (char *) dr,*!nnnnnnnnnnnnnnnnnnnnnnnn &num, 0, NULL, NULL, 0, 0, NULL); nnnndisc = &scind->dessc; rep = fgetnext (disc, &pn, &size, SLOWSCAN); nnnnfre (; rep != EOI;) 21:38:33 1998 ******123,140 98 ** ind = 0; m1: nnnnnnnnnnnnwhile ((asp = getpg (&pg, sn, pn, 's')) == NULL);:!n afi = (u2_t *) (asp + phsize);*!n ali = afi + ((:truct page_head *) asp)->lastin; !n nnfre (ai = afin+ ind; ai <= ali; ai++) n if (*ai != 0 && CHECK_PG_ENTRY(ai) &&*! (corsize = fnd_slc (dr, asp, ai, sc, slsz,*!nnnnnnnnnnnnnnnnnnnnnnnn cort, &ref_tid)) != 0) nnnn{ n tid.tpn = pn; n tid.tindex = ind; nnnnnnnnnnnnnnnn putpg (&pg, 'n'); !n mmod (dr, df, cort, corsize,*!nnnnnnnnnnnnnnnnnnnnnnn&tid, &ref_tid, flmod, fval, fl);* n ind++;* goto m1;* n nn } -***151,168u---- n ind = 0; m1: nnnnnnnnnnnnwhile ((asp = getpg (&pg, sn, pn, 's')) == NULL);:!n ai = (u2_t *) (asp + phsize);*!n ali = ai + ((:truct page_head *) asp)->lastin; !n nnfre (ai += ind; ai <= ali; ai++) n if (*ai != 0 && CHECK_PG_ENTRY(ai) &&*! (corsize = fnd_slc (dr, asp + *ai, sc, slsz,*!nnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnn cort, &ref_tid)) != 0) nnnn{ n tid.tpn = pn; n tid.tindex = ind; nnnnnnnnnnnnnnnn putpg (&pg, 'n'); !n mmod (dr, cort, corsize,n&tid,*!nnnnnnnnnnnnnnnnnnnnnnn&ref_tid, flsz,nfl, colval, lenval);* n ind++;* goto m1;* n nn } 21:38:33 1998 ******146,181 98 ** elod nnnnn{ nn struct des_trel *dtr; i2_t delta; u2_t newsize;* struct A pg_out; nnnnnnnnchar *arrpnt[BD_PAGESIZE]; n n u2_t arrsz[BD_PAGESIZE]; nnnn:nnnnnnnndtr = (:truct des_trel *) * (desnseg.tobtab + pidrl->urn.obnum);:nnnnnnnnif (dtr->tobtr.prdt.prob != TREL) !n return (NDR); ! nfn = dtr->fieldn; ! nfdf = dtr->fdftr; !n ndf = (:truct des_field *) (dtr + 1);:!nnnnnnnif (testcond (df, fn, fdf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !n return (NCF);:!nnnnnnnif (testcmod (df,fdf, flsz,nfl, flmod, &fval) != OK) !n return (NCF);:!nnnnnnngetwl (&pg_out, NRSNUM, dtr->tobtr.lastpn); nnnnfre (pn = dtr->tobtr.firstpn; pn != (u2_t) ~ 0;) n { ! asp = getwl (&pg, sn, pn); ai = (u2_t *) (asp + phtrsize); n ali = ai + ((:truct p_h_tr *) asp)->linptr; n pn = ((:truct listtob *) asp)->nextpn; n nnfre (; ai <= ali; ai++) n if (*ai != 0 &&*!nnnnnnnnnnnnnnnnn(corsize = tstcsel (df, fn, fdf, slsz,nsc, asp + *ai, nnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnn arrpnt, arrsz)) != 0) nnnnn nnnnn{ nnnn nnnnnnnnn cort = asp + *ai; ! nnnnnnnnnnnnnnnewsize = cortfoem (df, fdf, fn, flmod, fval, cort, pbuflj, fl); nnnnnnnnnnnnnnnn delta = corsize - newsize;* if (delta > 0) nnnnnn nnnnnnnnn comptr (asp, ai, (u2_t) delta);*-***174,213 ---- elod nnnnn{ nn struct des_trel *dtr; +n struct des_tob *dt; i2_t delta; u2_t newsize;*+ nn nnchar *outasp;* struct A pg_out; nnnnnnnnchar *arrpnt[BD_PAGESIZE]; n n u2_t arrsz[BD_PAGESIZE]; + nn nnchar tmp_buff[BD_PAGESIZE], tmp_buff_out[BD_PAGESIZE]; nnnn:nnnnnnnndtr = (:truct des_trel *) * (desnseg.tobtab + pidrl->urn.obnum);:+nnnnnnndt = (:truct des_tob *)dtr; if (dtr->tobtr.prdt.prob != TREL) !n return (-ER_NDR); ! ndesf = &dtr->f_df_tt; !nnnnnnnif (testcond (desf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !n return (-ER_NCF);:!nnnnnnnif (check_cmod (desf, flsz,nfl, colval, lenval) != OK) !n return (-ER_NCF);:!nnnnnnnoutasp = pg_out.p_shm = tmp_buff_out; !nnn asp = tmp_buff; !nnn nread_tmp_page (dtr->tobtr.lastpn, outasp); nnnnfre (pn = dtr->tobtr.firstpn; pn != (u2_t) ~ 0;) n { ! read_tmp_page (pn, asp);:nn ai = (u2_t *) (asp + phtrsize); n ali = ai + ((:truct p_h_tr *) asp)->linptr; n pn = ((:truct listtob *) asp)->nextpn; n nnfre (; ai <= ali; ai++) n if (*ai != 0 &&*!nnnnnnnnnnnnnnnnn(corsize = tstcsel (desf, slsz,nsc, asp + *ai, nnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnn arrpnt, arrsz)) != 0) nnnnn nnnnn{ nnnn nnnnnnnnn cort = asp + *ai; ! nnnnnnnnnnnnnnnewsize = cortfoem (desf, colval, lenval, cort, pbuflj, flsz,nfl); nnnnnnnnnnnnnnnn delta = corsize - newsize;* if (delta > 0) nnnnnn nnnnnnnnn comptr (asp, ai, (u2_t) delta);*21:38:33 1998 ******185,199u98 ** nnnn nnnnn{ nnnn nnnnnnnnn nn comptr (asp, ai, corsize);: nnnnnnnnnnnn *ai = 0;:!nnnnnnnnnnnnnnnnnnnnnminstr (&pg_out, pbuflj, newsize, (:truct des_tob *)dtr);: nnnnnnnnnnnn} nnnnnnnnnnnn} nnif (frptr (asp) == 1) ! frptob ((:truct des_tob *) dtr, asp, pn); elod !n nnputwul (&pg, 'n');* n } !n n putwul (&pg_out, 'm'); dtr->tobtr.prdt.prsort = NSORT; } n return (OK);:-***217,231 ---- nnnn nnnnn{ nnnn nnnnnnnnn nn comptr (asp, ai, corsize);: nnnnnnnnnnnn *ai = 0;:!nnnnnnnnnnnnnnnnnnnnnminstr (outasp, pbuflj, newsize, dt);: nnnnnnnnnnnn} nnnnnnnnnnnn} nnif (frptr (asp) == 1) ! frptob (dt, asp, pn); elod !n nnwrite_tmp_page (pn, asp); } !n n write_tmp_page (dt->lastpn, outasp); nnnndtr->tobtr.prdt.prsort = NSORT; } n return (OK);:21:38:33 1998 ******201,210 98 ** CPNM* modcin (struct id_ind *pidind, u2_t slsz,nchar *sc, u2_t diasz,*!nnnnnnnnnchar *diasc, u2_t flsz,nu2_t * fl, u2_t flmsz,nchar *flmod) { ! u2_t fn, fdf, *ai, sn, pn, oldpn, corsize, dscsz,nkn;*!nnnchar *asp = NULL, *cort, *fval;: :truct des_field *df; nnnnstruct ldesscan *disc; struct d_sc_i *scind; -***233,243*---- CPNM* modcin (struct id_ind *pidind, u2_t slsz,nchar *sc, u2_t diasz,*!nnnnnnnnnchar *diasc, u2_t flsz,nu2_t * fl, Colval colval, u2_t *lenval) { ! u2_t *ai, sn, pn, oldpn, corsize, dscsz,nkn;*!nnn:truct fun_desc_fields *desf;:! nnchar *asp = NULL, *cort;: :truct des_field *df; nnnnstruct ldesscan *disc; struct d_sc_i *scind; 21:38:33 1998 ******222,241 98 ** sn = pidrl->urn.segnum; nnnnif ((cpn = cont_id (pidind, &dr, &di)) != OK) nnnnreturn (cpn); ! nfn = dr->desrbd.fieldnum; ! fdf = dr->desrbd.fdfnum; ! df = (:truct des_field *) (dr + 1);:!nnnif (testcond (df, fn, fdf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !nnnnnreturn (NCF); !nnnif (testcmod (df,fdf, flsz,nfl, flmod, &fval) != OK) !nnnnnreturn (NCF); nnnnai = (u2_t *) (di + 1);: nnif (testdsc (dr, &diasz, diasc, ai, &dscsz) != OK) !nnnnnreturn (NCF); nn ! nif ((cpn = synlsc (WSC, pidrl, sc, slsz,nfn, NULL)) != OK) nnnnreturn (cpn); ! nif ((cpn = syndmod (pidrl, df, flmod)) != OK) nnnnreturn (cpn); nn kn = di->ldi.kifn & ~UNIQ & MSK21B; nnnnif ((cpn = synlsc (RSC, pidrl, diasc, diasz, kn, ai)) != OK) -***255,273 ---- sn = pidrl->urn.segnum; nnnnif ((cpn = cont_id (pidind, &dr, &di)) != OK) nnnnreturn (cpn); ! ndesf = &dr->f_df_bt; !nnndf = desf->df_pnt; ! if (testcond (desf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !n return (-ER_NCF);:!nnnif (check_cmod (desf, flsz,nfl, colval, lenval) != OK) !nnnnnreturn (-ER_NCF);:nnnnai = (u2_t *) (di + 1);: nnif (testdsc (dr, &diasz, diasc, ai, &dscsz) != OK) !nnnnnreturn (-ER_NCF);:nn ! nif ((cpn = synlsc (WSC, pidrl, sc, slsz,ndesf->f_fn, NULL)) != OK) nnnnreturn (cpn); ! nif ((cpn = syndmod (dr, flsz,nfl, colval, lenval)) != OK) nnnnreturn (cpn); nn kn = di->ldi.kifn & ~UNIQ & MSK21B; nnnnif ((cpn = synlsc (RSC, pidrl, diasc, diasz, kn, ai)) != OK) 21:38:33 1998 ******277,286 98 ** } nnnnai = (u2_t *) (asp + phsize)n+ tid.tindex; if (*ai != 0 &&*!n nn(corsize = fnd_slc (dr, asp, ai, sc, slsz, cort, &ref_tid)) != 0) { nnnn nnnnnputpg (&pg, 'n'); !n mmod (dr, df, cort, corsize,n&tid, &ref_tid, flmod, fval, fl);* n nnpr = 1; nn } nn} -***309,318u---- n } nnnnai = (u2_t *) (asp + phsize)n+ tid.tindex; if (*ai != 0 &&*!n nn(corsize = fnd_slc (dr, asp + *ai, sc, slsz, cort, &ref_tid)) != 0) { nnnn nnnnnputpg (&pg, 'n'); !n mmod (dr, cort, corsize,n&tid, &ref_tid,flsz,nfl, colval, lenval);* n nnpr = 1; nn } nn} 21:38:33 1998 ******291,337 98 ** } n int*! modcfl (i4_t idfl, u2_t slsz,nchar *sc, u2_t flsz,nu2_t * fl,*!nnnnnnnnnu2_t flmsz,nchar *flmod) { ! u2_t fn, fdf, *afi, *ai, pn, off, oldpn, flpn, sn, corsize; ! char *asp = NULL, *cort, *aspfl, *fval;: :truct d_r_t *dr; ! :truct des_field *df; nnnn:truct des_tid *tid, *tidb, ref_tid; :truct des_fltr *desfl; n :truct id_rel idrl;*!n :truct A inflpg, pg; CPNM cpn; nnnnif ((u2_t) idfl > desnseg.mtobnum) !nnnnnreturn (NIOB); desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) ! nnnnreturn (NIOB);nnnn:nnnnif (((:truct prtob *) desfl)->prob != FLTR) !nnnnnreturn (NIOB); dr = desfl->pdrtf; ! nfn = dr->desrbd.fieldnum; ! fdf = dr->desrbd.fdfnum; ! df = (:truct des_field *) (dr + 1);:!nnnif (testcond (df, fn, fdf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !nnnnnreturn (NCF); !nnnif (testcmod (df,fdf, flsz,nfl, flmod, &fval) != OK) !nnnnnreturn (NCF);:nnnn:n = dr->segnr;:nnnnidrl.urn.segnum = sn;*nnnnidrl.urn.obnum = dr->desrbd.relnum; idrl.pagenum = dr->pn_r;: idrl.index = dr->ind_r; ! nif ((cpn = synlsc (WSC, &idrl, sc, slsz,nfn, NULL)) != OK) nnnnreturn (cpn); ! nif ((cpn = syndmod (&idrl, df, flmod)) != OK) nnnnreturn (cpn); nn cort = pbuflj + ljmsize; nnnnfre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) nnnnn{ ! naspfl = getwl (&inflpg, NRSNUM, flpn); nnnnoff = ((:truct p_h_f *) aspfl)->freeoff;:nnnnnnnntid = (:truct des_tid *) (aspfl + phfsize);: oldpn = tid->tpn; -***323,369 ---- } n int*! modcfl (i4_t idfl, u2_t slsz,nchar *sc, u2_t flsz,nu2_t *fl,*!nnnnnnnnnColval colval, u2_t *lenval) { ! u2_t *afi, *ai, pn, off, oldpn, flpn, sn, corsize; ! char *asp = NULL, *cort, *aspfl;: :truct d_r_t *dr; ! :truct fun_desc_fields *desf;: :truct des_tid *tid, *tidb, ref_tid; :truct des_fltr *desfl; n :truct id_rel idrl;*!n :truct A pg; CPNM cpn; + char tmp_buff[BD_PAGESIZE]; n nnnnif ((u2_t) idfl > desnseg.mtobnum) !nnnnnreturn (-ER_NIOB); desfl = (:truct des_fltr *) * (desnseg.tobtab + idfl); if (desfl == NULL) ! nnnnreturn (-ER_NIOB);nnnn:nnnnif (((:truct prtob *) desfl)->prob != FLTR) !nnnnnreturn (-ER_NIOB); dr = desfl->pdrtf; ! ndesf = &dr->f_df_bt; !nnnif (testcond (desf, 0, NULL, &slsz,nsc, 0, NULL) != OK) !n return (-ER_NCF);:!nnnif (check_cmod (desf, flsz,nfl, colval, lenval) != OK) !nnnnnreturn (-ER_NCF);:nnnn:n = dr->segnr;:nnnnidrl.urn.segnum = sn;*nnnnidrl.urn.obnum = dr->desrbd.relnum; idrl.pagenum = dr->pn_r;: idrl.index = dr->ind_r; ! nif ((cpn = synlsc (WSC, &idrl, sc, slsz,ndesf->f_fn, NULL)) != OK) nnnnreturn (cpn); ! nif ((cpn = syndmod (dr, flsz,nfl, colval, lenval)) != OK) nnnnreturn (cpn); nn cort = pbuflj + ljmsize; + naspfl = tmp_buff; nnnnfre (flpn = desfl->tobfl.firstpn; flpn != (u2_t) ~ 0;) nnnnn{ ! nread_tmp_page (flpn, aspfl); nnnnoff = ((:truct p_h_f *) aspfl)->freeoff;:nnnnnnnntid = (:truct des_tid *) (aspfl + phfsize);: oldpn = tid->tpn; 21:38:33 1998 ******350,363 98 ** nn} nnai = afi + tid->tindex; if (*ai != 0 &&*!n nnnnnn(corsize = fnd_slc (dr, asp, ai, sc, slsz, cort, &ref_tid)) != 0) nnnn nnnnn{ nnnn nnnnnnnnnputpg (&pg, 'n'); !nnnnnnnnnnnnnnnmmod (dr, df, cort, corsize,ntid, &ref_tid, flmod, fval, fl);* nnnnnnnnnnnnn} } nnnnflpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; - nn nnputwul (&inflpg, 'n');* n } putpg (&pg, 'n'); n return (OK);:-***382,394u---- n nn} nnai = afi + tid->tindex; if (*ai != 0 &&*!n nnnnnn(corsize = fnd_slc (dr, asp + *ai, sc, slsz, cort, &ref_tid)) != 0) nnnn nnnnn{ nnnn nnnnnnnnnputpg (&pg, 'n'); !nnnnnnnnnnnnnnnmmod (dr, cort, corsize,ntid, &ref_tid, flsz,nfl, colval, lenval);* nnnnnnnnnnnnn} } nnnnflpn = ((:truct p_h_f *) aspfl)->listfl.nextpn; n } putpg (&pg, 'n'); n return (OK);:diff -rc gnusql-0.7b5.3/src/engine/trans/next.c gnusql-0.7b6.0/src/engine/trans/next.c*****gnusql-0.7b5.3/src/engine/trans/next.c Mon Apr 28 13:53:05*1997 -***gnusql-0.7b6.0/src/engine/trans/next.c Sat Sep 12 18:15:34*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: next.c,v 1.246*1997/04/28 12:15:01 vera Exp $ */ n #include n -***26,32 ---- ** */ n ! /* $Id: next.c,v 1.251*1998/09/12 22:15:13 kimelman Exp $ */ n #include n 21:38:33 1998 ******34,58 98 ** #include "strml.h" #include "fdcltrn.h" #include "xmem.h" extern char **scptab; extern i2_t maxscan; n ! static :truct des_field *df; ! static u2_t fn_tab, fdf, slsz; nnstatic char *arrpnt[BD_PAGESIZE]; nstatic u2_t arrsz[BD_PAGESIZE]; -nstatic char *selc;: ! #define PUT_VALUE(fn, adf) \ n{ \ nif ((pnt = arrpnt[fn]) != NULL) /* a value is present */ \ n n{ \* nnnnnnnnn*sc++ = 1; \*! if ((type = adf->field_type) != TCH && type != TFL)\* nnnnnnnnnnn{ \* nnnnnnnnnnnnn:ize += size2b; \*! nnnnt2bpack (adf->field_size,nvalues); \* nnnnnnnnnnnnnvalues += size2b; \* nnnnnnnnnnn} \* nnnnnnnnnsz = arrsz[fn]; \*-***34,57 ---- #include "strml.h" #include "fdcltrn.h" #include "xmem.h" + #include "global.h" extern char **scptab; extern i2_t maxscan; n ! static :truct fun_desc_fields *desf;: static char *arrpnt[BD_PAGESIZE]; nstatic u2_t arrsz[BD_PAGESIZE]; ! #define PUT_VALUE(fn, adf) \ n{ \ nif ((pnt = arrpnt[fn]) != NULL) /* a value is present */ \ n n{ \* nnnnnnnnn*sc++ = 1; \*! if ((type = adf->field_type) != TCH && type != TFL) \* nnnnnnnnnnn{ \* nnnnnnnnnnnnn:ize += size2b; \*! nnnnt2bpack (adf->field_size,nvalues); \* nnnnnnnnnnnnnvalues += size2b; \* nnnnnnnnnnn} \* nnnnnnnnnsz = arrsz[fn]; \*21:38:33 1998 ******65,147 98 ** } n static int*! ansfem (char *sc) { ! char *pnt, *values; !n u2_t sz,nsize,ntype, fn; ! :truct des_field * adf; ! :!nnnvalues = sc + fn_tab; ! :ize = fn_tab; ! fre (fn = 0; fn < fn_tab; fn++) !nnnnn{ ! nadf = df + fn; !nnnnnnnPUT_VALUE(fn, adf); ! nn} ! return (size);: } n ! static int*! selfld (char *sc, u2_t fln,nu2_t *fl) { ! char *pnt, *values; !n u2_t fnk, fn, type; !n u2_t size, :z; ! :truct des_field * adf; nnnn:!nnnvalues = sc + fln; ! :ize = fln; ! fre (fn = 0; fn < fln; fn++) nnnnn{ ! nfnk = fl[fn]; ! nadf = df + fnk;nnn:!nnnnnnnPUT_VALUE(fnk, adf); nn} - return (size);: } n -nstatic void - ans_fem (:truct ans_next *ans, u2_t fln,nu2_t *fl) -n{ - char *sc; - i4_t size; - - sc = ans->cadnxt; - if (fln == 0) -nnnnn:ize = ansfem (sc); - elod -nnnnn:ize = selfld (sc, fln,nfl);*-nnnans->csznxt = size;*-nnnans->cotnxt = OK;*-n} - static int*! fndcort (struct A *pg, char *tuple) { ! i4_t ans = OK;*nnnnunsigned char t;* :truct A inpage;*nn:nnnnt = *tuple & MSKCORT; n if (t == CREM || t == IDTR) !nnnnnreturn (NCR);* n if (t == IND) nnnnn{ ! nu2_t pn2, ind2, *ai2; ! nnnnchar *asp2; ! nnnn:!nnnnnnnind2 = t2bunpack (tuple + 1);:!nnnnnnnpn2 = t2bunpack (tuple + 1 + size2b); :!nnnnnnnwhile ((asp2 = getpg (&inpage, pg->p_sn, pn2, 's')) == NULL);:!nnn nnnai2 = (u2_t *) (asp2 + phsize)n+ ind2; ! nnnnassert (*ai2 != 0); ! nnnntuple = asp2 + *ai2; nn} ! nif (slsz != 0) ! nnans = tstcsel (df, fn_tab, fdf, slsz, selc, tuple, arrpnt, arrsz);*!n elod !nnnnntuple_break (tuple, arrpnt, arrsz, df, fdf, fn_tab);nnnn:! nif (ans == OK) nnnn{: n if (t == IND) n {*-***64,116 ---- } n static int*! mem_tuple_values_DU (data_unit_t *colval, u2_t fn,nu2_t type) { ! char *pnt, nl_fl;*!n ! nif ((pnt = arrpnt[fn]) != NULL) /* a value is present */ !nnnnn{ ! nnnnnl_fl = REGULAR_VALUE; ! nnnnif (type == TCH || type == TFL) *! pnt += size2b; *! } ! elod ! nnnl_fl = NULL_VALUE; ! return (mem_to_DU (nl_fl, colval->type.code, arrsz[fn], pnt, colval));: } n ! static void ! selfld (data_unit_t **colval, u2_t fln,nu2_t *fl) { ! u2_t i, fn; ! :truct des_field * adf, *df; nnnn !nnndf = desf->df_pnt; ! fre (i = 0; i < fln; i++) nnnnn{ ! nfn = fl[i]; ! nadf = df + fn;nnn:!nnnnnnnmem_tuple_values_DU (colval[i], fn, adf->field_type); } n} static int*! fndcort (struct A *pg, char *tuple, u2_t slsz,nchar *selc) { ! u2_t tuple_size; nnnnunsigned char t;* :truct A inpage;*nn:nnnnt = *tuple & MSKCORT; n if (t == CREM || t == IDTR) !nnnnnreturn (-ER_NCR);* n if (t == IND) nnnnn{ ! nu2_t pn, ind; !nnnnnnnIND_REF(inpage,pg->p_sn,tuple); nn} ! ntuple_size = tstcsel (desf, slsz,nselc, tuple, arrpnt, arrsz);*!n if (tuple_size != 0) nnnn{: n if (t == IND) n {*21:38:33 1998 ******154,187 98 ** { nn if (t == IND) n putpg (&inpage, 'n'); !nnnnnnnreturn (NCR);* n } n} ! void ! next (:truct ans_next *ans, i4_t scnum) { struct d_mesc *scpr; i4_t sctype;:nnnn:truct d_r_t *desrel; !n u2_t pn, ind, *ai, *afi, *ali, sn, cpn; :truct des_tid tid; ! char *asp = NULL; nnnnu2_t *fl, fln,nfmn;: :truct A pg; if ( scnum > maxscan) !nnnnn{ ! nans->cotnxt = NDSC; !nnnnnnnreturn; ! nn} scpr = (struct d_mesc *) * (scptab + scnum); if (scpr == NULL) ! nnnn{ ! nans->cotnxt = NDSC; !nnnnnnnreturn; ! nn}nnnn:nnnnfln = scpr->fnsc;* n if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */ struct d_sc_i *scind; -***123,151u---- { nn if (t == IND) n putpg (&inpage, 'n'); !nnnnnnnreturn (-ER_NCR);* n } n} ! int*! next (i4_t scnum, data_unit_t **colval) { struct d_mesc *scpr; i4_t sctype;:nnnn:truct d_r_t *desrel; !n u2_t pn, ind, *ai, *ali, sn, cpn, slsz; nn :truct des_tid tid; ! char *asp = NULL, *selc;: nnu2_t *fl, fln,nfmn;: :truct A pg; if ( scnum > maxscan) !nnnnnreturn -ER_NDSC; scpr = (struct d_mesc *) * (scptab + scnum); if (scpr == NULL) ! nnnnreturn -ER_NDSC; fln = scpr->fnsc;*+nnnfmn = scpr->fmnsc;* n if ((sctype = scpr->obsc) == SCR) nnnnn{ /* relation scan */ struct d_sc_i *scind; 21:38:33 1998 ******192,210 98 ** desscan = &scind->dessc; desrel = (struct d_r_t *) scpr->pobsc;* sn = desrel->segnr;:! ndf = (:truct des_field *) (desrel + 1);:!nnnnnnnfdf = desrel->desrbd.fdfnum; ! nfn_tab = desrel->desrbd.fieldnum;nnnnnn:nnnnnnnnfl = (u2_t *) (scind + 1);:- nn nnfmn = scpr->fmnsc;* n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);: nn pn = desscan->ctidi.tpn; if (pn == (u2_t) ~ 0) ! { ! ans->cotnxt = EOSCAN; ! return; ! }nnnn ind = desscan->ctidi.tindex; if (scpr->prcrt != 0) ind += 1; -***156,168u---- n desscan = &scind->dessc; desrel = (struct d_r_t *) scpr->pobsc;* sn = desrel->segnr;:! ndesf = &desrel->f_df_bt;nnnnnn:nnnnnnnnfl = (u2_t *) (scind + 1);: n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);: nn pn = desscan->ctidi.tpn; if (pn == (u2_t) ~ 0) ! nnnnnnnreturn -ER_EOSCAN; ind = desscan->ctidi.tindex; if (scpr->prcrt != 0) ind += 1; 21:38:33 1998 ******211,228 98 ** do { n nnwhile ((asp = getpg (&pg, sn, pn, 's')) == NULL);:!n afi = (u2_t *) (asp + phsize);*!n ali = afi + ((:truct page_head *) asp)->lastin; !n nnfre (ai = afin+ ind; ai <= ali; ai++, ind++) nnnnn if (*ai != 0 && CHECK_PG_ENTRY(ai) &&*! nnnnnnnnnnnnnnnnfndcort (&pg, asp + *ai) == OK) nnnnnn nnnnn{ ! nnnnnnnnnnnnnnnnans_fem (ans, fln,nfl);*nnnnnnnnnnnnnnnn putpg (&pg, 'n'); nnnnnnnnnnnnnnnn desscan->ctidi.tpn = pn; nnnnnnnnnnnnnnn desscan->ctidi.tindex = ind; nnnnnnnnnnnnnnnn scpr->prcrt = 1; !nnnnnnnnnnnnnnnnnreturn; nnnnnnnnnnnn} nnputpg (&pg, 'n'); nn ind = 0; -***169,186u---- n do { n nnwhile ((asp = getpg (&pg, sn, pn, 's')) == NULL);:!n ai = (u2_t *) (asp + phsize);*!n ali = ai + ((:truct page_head *) asp)->lastin; !n nnfre (ai += ind; ai <= ali; ai++, ind++) nnnnn if (*ai != 0 && CHECK_PG_ENTRY(ai) &&*! nnnnnnnnnnnnnnnnfndcort (&pg, asp + *ai, slsz,nselc) == OK) nnnnnn nnnnn{ ! nnnnnnnnnnnnnnnnselfld (colval, fln,nfl);*nnnnnnnnnnnnnnnn putpg (&pg, 'n'); nnnnnnnnnnnnnnnn desscan->ctidi.tpn = pn; nnnnnnnnnnnnnnn desscan->ctidi.tindex = ind; nnnnnnnnnnnnnnnn scpr->prcrt = 1; !nnnnnnnnnnnnnnnnnreturn OK;*nnnnnnnnnnnnnnnn} nnputpg (&pg, 'n'); nn ind = 0; 21:38:33 1998 ******234,275 98 ** { nn struct d_sc_r *screl; nn struct des_trel *destrel; nn n screl = (struct d_sc_r *) scpr; nnnnnn destrel = (struct des_trel *) scpr->pobsc;*! ndf = (:truct des_field *) (destrel + 1);:!nnnnnnnfdf = destrel->fdftr; !n nfn_tab = destrel->fieldn;nnnnnn:nnnnnnnnfl = (u2_t *) (screl + 1);:- nn nnfmn = scpr->fmnsc;* n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);: nn pn = screl->curtid.tpn; if (pn == (u2_t) ~ 0) ! { ! ans->cotnxt = EOSCAN; ! return; ! }nnnn ind = screl->curtid.tindex; if (scpr->prcrt != 0) ind += 1; nnnnfre (; pn != (u2_t) ~ 0; ind = 0) n { ! asp = getwl (&pg, NRSNUM, pn); ! afi = (u2_t *) (asp + phtrsize); !n ali = afi + ((:truct p_h_tr *) asp)->linptr; !n nnfre (ai = afin+ ind; ai <= ali; ai++, ind++) !nnnnn if (*ai != 0 && tstcsel (df, fn_tab, fdf, slsz, selc, asp + *ai, arrpnt, arrsz) != 0) nnnnn nnnnn{ ! nnnnnnnnnnnnnnnnans_fem (ans, fln,nfl);*!nnnnnnnnnnnnnnn putwul (&pg, 'n');* nnnnnnnnnnnnnnn screl->curtid.tpn = pn; nnnnnnnnnnnnnnn screl->curtid.tindex = ind; nnnnnnnnnnnnnnnn scpr->prcrt = 1; !nnnnnnnnnnnnnnnnnreturn; nnnnnnnnnnnn} nnpn = ((:truct listtob *) asp)->nextpn; - nnputwul (&pg, 'n');* n } nnnnnn screl->curtid.tpn = (u2_t) ~ 0;:nn } -***192,228u---- { nn struct d_sc_r *screl; nn struct des_trel *destrel; + nn nnchar tmp_buff[BD_PAGESIZE]; nn n screl = (struct d_sc_r *) scpr; nnnnnn destrel = (struct des_trel *) scpr->pobsc;*! ndesf = &destrel->f_df_tt;nnnnn:nnnnnnnnfl = (u2_t *) (screl + 1);: n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);: nn pn = screl->curtid.tpn; if (pn == (u2_t) ~ 0) ! nnnnnnnreturn -ER_EOSCAN; ind = screl->curtid.tindex; if (scpr->prcrt != 0) ind += 1; +nnn asp = tmp_buff; nnnnfre (; pn != (u2_t) ~ 0; ind = 0) n { ! read_tmp_page (pn, asp);:!n ai = (u2_t *) (asp + phtrsize); !n ali = ai + ((:truct p_h_tr *) asp)->linptr; !n nnfre (ai += ind; ai <= ali; ai++, ind++) !nnnnn if (*ai != 0 && !nnnnnnnnnnnnnnnnntstcsel (desf, slsz,nselc, asp + *ai, arrpnt, arrsz) != 0) nnnnn nnnnn{ ! nnnnnnnnnnnnnnnnselfld (colval, fln,nfl);*nnnnnnnnnnnnnnnn screl->curtid.tpn = pn; nnnnnnnnnnnnnnn screl->curtid.tindex = ind; nnnnnnnnnnnnnnnn scpr->prcrt = 1; !nnnnnnnnnnnnnnnnnreturn OK;*nnnnnnnnnnnnnnnn} nnpn = ((:truct listtob *) asp)->nextpn; n } nnnnnn screl->curtid.tpn = (u2_t) ~ 0;:nn } 21:38:33 1998 ******283,312 98 ** desrel = desscan->pdi->dri;* sn = desrel->segnr;:nnnnnnnnfl = (u2_t *) (scind + 1);:! nn nnfmn = scpr->fmnsc;* n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);:- ndf = (:truct des_field *) (desrel + 1);:-nnnnnnnfdf = desrel->desrbd.fdfnum; - nfn_tab = desrel->desrbd.fieldnum;nnnnnn:nnnnnnnntid = desscan->ctidi; if (tid.tpn == (u2_t) ~ 0) ! { ! ans->cotnxt = EOSCAN; ! return; ! }nn :nnnnnnnnif ((scpr->prcrt == 0) || ind_tid (desscan,n&tid, SLOWSCAN) == OK) { n nncpn = tid.tpn; n nnwhile ((asp = getpg (&pg, sn, cpn, 's')) == NULL);: n ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (*ai != 0 &&nfndcort (&pg, asp + *ai) == OK) nnnn{ ! nnnnnnnnnnnnnnans_fem (ans, fln,nfl);*nn nnnn putpg (&pg, 'n'); nn nnnn desscan->ctidi = tid; nn nnnn scpr->prcrt = 1; !n nnnnnnreturn; nn} nnfre (; ind_tid (desscan,n&tid, SLOWSCAN) != EOI;) nnnn{ -***236,259u---- n desrel = desscan->pdi->dri;* sn = desrel->segnr;:nnnnnnnnfl = (u2_t *) (scind + 1);:! nn nndesf = &desrel->f_df_bt;: n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);: nn tid = desscan->ctidi; if (tid.tpn == (u2_t) ~ 0) ! nnnnnnnreturn -ER_EOSCAN; if ((scpr->prcrt == 0) || ind_tid (desscan,n&tid, SLOWSCAN) == OK) { n nncpn = tid.tpn; n nnwhile ((asp = getpg (&pg, sn, cpn, 's')) == NULL);: n ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (*ai != 0 &&nfndcort (&pg, asp + *ai, slsz,nselc) == OK) nnnn{ ! nnnnnnnnnnnnnnselfld (colval, fln,nfl);*nn nnnn putpg (&pg, 'n'); nn nnnn desscan->ctidi = tid; nn nnnn scpr->prcrt = 1; !n nnnnnnreturn OK;*nn nn} nnfre (; ind_tid (desscan,n&tid, SLOWSCAN) != EOI;) nnnn{ 21:38:33 1998 ******317,329u98 ** nncpn = pn; n } nn nnnn ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (*ai != 0 && fndcort (&pg, asp + *ai) == OK) {:!nnnnnnnnnnnnnnnnnnnans_fem (ans, fln,nfl);*nn nnputpg (&pg, 'n'); nn desscan->ctidi = tid; nn scpr->prcrt = 1; !n nnreturn; } nn nnnn} nnnn nnnnnputpg (&pg, 'n'); -***264,276u---- n nncpn = pn; n } nn nnnn ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (*ai != 0 && fndcort (&pg, asp + *ai, slsz,nselc) == OK) {:!nnnnnnnnnnnnnnnnnnnselfld (colval, fln,nfl);*nn nnputpg (&pg, 'n'); nn desscan->ctidi = tid; nn scpr->prcrt = 1; !n nnreturn OK;*nn } nn nnnn} nnnn nnnnnputpg (&pg, 'n'); 21:38:33 1998 ******335,356u98 ** struct d_sc_f *scfltr; nnnnnnnnchar *aspf; u2_t nxtpn, off, fpn; !nnnnnnn:truct A fpage;*nn n scfltr = (struct d_sc_f *) scpr; nnnnnn desrel = ((:truct des_fltr *) scpr->pobsc)->pdrtf; sn = desrel->segnr;:nnnnnnnnfl = (u2_t *) (scfltr + 1);:! nn nnfmn = scpr->fmnsc;* n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);:- ndf = (:truct des_field *) (desrel + 1);:-nnnnnnnfdf = desrel->desrbd.fdfnum; - nfn_tab = desrel->desrbd.fieldnum;nnnnnn:nnnnnnnnpn = (u2_t) ~ 0;:nn fre (fpn = scfltr->pnf, nxtpn = fpn; fpn != (u2_t) ~ 0; fpn = nxtpn) n { ! aspf = getwl (&fpage, NRSNUM, fpn); fre (off = scfltr->offf;noff < BD_PAGESIZE;noff += size2b) nnnn{ nn nnnn tid = *(:truct des_tid *) (aspf + scfltr->offf); -***282,301 ---- struct d_sc_f *scfltr; nnnnnnnnchar *aspf; u2_t nxtpn, off, fpn; !nnnnnnnchar tmp_buff[BD_PAGESIZE]; nn n scfltr = (struct d_sc_f *) scpr; nnnnnn desrel = ((:truct des_fltr *) scpr->pobsc)->pdrtf; sn = desrel->segnr;:nnnnnnnnfl = (u2_t *) (scfltr + 1);:! nn nndesf = &desrel->f_df_bt;: n slsz = t2bunpack ((char *) (fl + fln + fmn));* nnnnnnnselc = (char *) (fl + fln + fmn + 1);: nn pn = (u2_t) ~ 0;:+nnn aspf = tmp_buff; nnnnfre (fpn = scfltr->pnf, nxtpn = fpn; fpn != (u2_t) ~ 0; fpn = nxtpn) n { ! read_tmp_page (fpn, aspf); fre (off = scfltr->offf;noff < BD_PAGESIZE;noff += size2b) nnnn{ nn nnnn tid = *(:truct des_tid *) (aspf + scfltr->offf); 21:38:33 1998 ******362,388u98 ** nnwhile ((asp = getpg (&pg, sn, cpn, 's')) == NULL);: n } nn nnnn ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (*ai != 0 && fndcort (&pg, asp + *ai) == OK) {:!nnnnnnnnnnnnnnnnnnnans_fem (ans, fln,nfl);*nn nnputpg (&pg, 'n'); nn scfltr->pnf = pn; n scfltr->offf = off;:nn scpr->prcrt = 1; !n nnreturn; } nn nnnn} - nnputwul (&fpage, 'n'); n } nnnnnn scfltr->pnf = (u2_t) ~ 0;:nn } nn scpr->prcrt = 0;:!nnnans->cotnxt = EOSCAN; ! nnreturn; } ! void ! readrow (:truct ans_next *ans, i4_t scnum, i4_t fln,nu2_t * fl) { struct d_mesc *scpr; :truct d_r_t *desrel; -***307,331 ---- nnwhile ((asp = getpg (&pg, sn, cpn, 's')) == NULL);: n } nn nnnn ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (*ai != 0 && fndcort (&pg, asp + *ai, slsz,nselc) == OK) {:!nnnnnnnnnnnnnnnnnnnselfld (colval, fln,nfl);*nn nnputpg (&pg, 'n'); nn scfltr->pnf = pn; n scfltr->offf = off;:nn scpr->prcrt = 1; !n nnreturn OK;*nn } nn nnnn} n } nnnnnn scfltr->pnf = (u2_t) ~ 0;:nn } nn scpr->prcrt = 0;:!nnnreturn -ER_EOSCAN; } ! int*! readrow (i4_t scnum, i4_t fln,nu2_t * fl, data_unit_t **colval) { struct d_mesc *scpr; :truct d_r_t *desrel; 21:38:33 1998 ******394,425 98 ** scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) ! nnnn{ ! nans->cotnxt = NCF; !nnnnnnnreturn; ! nn} if (scpr->prcrt == 0) ! nn{ ! nans->cotnxt = NCR; !nnnnnnnreturn; ! nn} if ((sctype = scpr->obsc) == SCTR)* { nn struct d_sc_r *screl; nn struct des_trel *destrel; nn n screl = (struct d_sc_r *) scpr; nnnnnn destrel = (struct des_trel *) scpr->pobsc;*! ndf = (:truct des_field *) (destrel + 1);:!nnnnnnnfdf = destrel->fdftr; !n nfn_tab = destrel->fieldn;nnnnnn:nnnnnnnntid = screl->curtid; !nnn asp = getwl (&pg, NRSNUM, tid.tpn);: nn ai = (u2_t *) (asp + phtrsize)n+ tid.tindex; ! nnnnntuple_break (asp + *ai, arrpnt, arrsz, df, fdf, fn_tab); ! nans_fem (ans, fln,nfl);*!nnnnnnnputwul (&pg, 'n');*!nnnnnnnreturn; nn} elod if (sctype == SCR) nnnnn{ /* relation scan */ -***337,361*---- scpr = (struct d_mesc *) * (scptab + scnum); if (scnum >= maxscan || scpr == NULL) ! nnnnreturn -ER_NCF; if (scpr->prcrt == 0) ! nnreturn -ER_NCR; if ((sctype = scpr->obsc) == SCTR)* { nn struct d_sc_r *screl; nn struct des_trel *destrel; + nn nnchar tmp_buff[BD_PAGESIZE]; nn n screl = (struct d_sc_r *) scpr; nnnnnn destrel = (struct des_trel *) scpr->pobsc;*! ndesf = &destrel->f_df_tt;nnnnnn:nnnnnnnntid = screl->curtid; !nnn asp = tmp_buff; !nnn nread_tmp_page (tid.tpn, asp); nn ai = (u2_t *) (asp + phtrsize)n+ tid.tindex; ! nnnnntuple_break (asp + *ai, arrpnt, arrsz, desf);*!nnnnnnnselfld (colval, fln,nfl);*!nnnnnnnreturn OK;*nnnnnn} elod if (sctype == SCR) nnnnn{ /* relation scan */ 21:38:33 1998 ******444,469 98 ** elod nnnnn{ /* filter scan */ struct d_sc_f *scfltr; nnnnnnnn n scfltr = (struct d_sc_f *) scpr; nnnnnn desrel = ((:truct des_fltr *) scpr->pobsc)->pdrtf; !nnn asp = getwl (&pg, NRSNUM, scfltr->pnf); ! nnnntid = *(:truct des_tid *) (asp + scfltr->offf); !nnnnn putwul (&pg, 'n');* nnnnn} ! df = (:truct des_field *) (desrel + 1);:!nnnfdf = desrel->desrbd.fdfnum; ! fn_tab = desrel->desrbd.fieldnum; nnnnwhile ((asp = getpg (&pg, desrel->segnr, tid.tpn, 's')) == NULL);: n ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! slsz = 0;:!nnnselc = NULL; !n if (fndcort (&pg, asp + *ai) != OK) !nnnnn{ ! nans->cotnxt = NCR; !nnnnnnnreturn; ! nn} !nnnans_fem (ans, fln,nfl);*nnnnputpg (&pg, 'n'); !nnnreturn; } -***380,398 ---- elod nnnnn{ /* filter scan */ struct d_sc_f *scfltr; +nnnnnnnchar tmp_buff[BD_PAGESIZE]; nn n scfltr = (struct d_sc_f *) scpr; nnnnnn desrel = ((:truct des_fltr *) scpr->pobsc)->pdrtf; !nnn nread_tmp_page (scfltr->pnf, tmp_buff); ! nnnntid = *(:truct des_tid *) (tmp_buff + scfltr->offf); nnnnn} ! desf = &desrel->f_df_bt;: n while ((asp = getpg (&pg, desrel->segnr, tid.tpn, 's')) == NULL);: n ai = (u2_t *) (asp + phsize)n+ tid.tindex; ! if (fndcort (&pg, asp + *ai, 0, NULL) != OK) !n return -ER_NCR; !nnnselfld (colval, fln,nfl);*nnnnputpg (&pg, 'n'); !nnnreturn OK;*nn}:diff -rc gnusql-0.7b5.3/src/engine/trans/obrind.c gnusql-0.7b6.0/src/engine/trans/obrind.c*****gnusql-0.7b5.3/src/engine/trans/obrind.c Mon Apr 28 13:52:59*1997 -***gnusql-0.7b6.0/src/engine/trans/obrind.c Mon Jun 1 11:03:42*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: obrind.c,v 1.247*1997/04/15 11:45:41 vera Exp $ */ n #include "xmem.h" #include "destrn.h" -***26,32 ---- ** */ n ! /* $Id: obrind.c,v 1.250*1998/06/01 15:03:42*kimelman Exp $ */ n #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******37,53 98 ** extern struct ldesind **TAB_IFAM; u2_t ! getrec (u2_t sn, i4_t rn,nu2_t pn, struct A *pg, u2_t * offloc) { char *a; !n u2_t size; char key[size4b + 1], key2[size2b]; char *begagr, *loc; a = key; *a++ = BITVL(0) | EOSC; !n t4bpack (rn,na);*nnnnt2bpack (pn, key2);*nnnntab_difam (sn);: nna = icp_lookup (pg, TAB_IFAM[sn], key, key2, size2b, &begagr, &loc);: nnassert (a != NULL); -***37,54u---- nextern struct ldesind **TAB_IFAM; u2_t ! getrec (:truct id_ob *fullrn,nu2_t pn, struct A *pg, u2_t * offloc) { char *a; !n u2_t size, sn;*nnnnchar key[size4b + 1], key2[size2b]; char *begagr, *loc; a = key; *a++ = BITVL(0) | EOSC; !n t4bpack (fullrn->obnum, a);*nnnnt2bpack (pn, key2);*+ sn = fullrn->segnum; nnnntab_difam (sn);: nna = icp_lookup (pg, TAB_IFAM[sn], key, key2, size2b, &begagr, &loc);: nnassert (a != NULL); 21:38:33 1998 ******57,63 98 ** return (size);: } n ! int* fgetnext (:truct ldesscan *desscn,nu2_t * pn,nu2_t * size, i4_t modescan) n /* delrel,opscrl */ n{ -***58,64 ---- return (size);: } n ! i4_t* fgetnext (:truct ldesscan *desscn,nu2_t * pn,nu2_t * size, i4_t modescan) n /* delrel,opscrl */ n{ 21:38:33 1998 ******64,70 98 ** return (fscan_ind (desscn,n(char *) pn,n(char *) size, size2b, modescan));: } n ! int* getnext (:truct ldesscan *desscn,nu2_t * pn,nu2_t * size, i4_t modescan) n /* delrel,opscrl */ n{ -***65,71 ---- return (fscan_ind (desscn,n(char *) pn,n(char *) size, size2b, modescan));: } n ! i4_t* getnext (:truct ldesscan *desscn,nu2_t * pn,nu2_t * size, i4_t modescan) n /* delrel,opscrl */ n{ 21:38:33 1998 ******78,84 98 ** char *asp, *a; n :truct A pg; u2_t sn, pn, off; - i4_t idm; sn = desscn->pdi->i_segn;*nnnnpn = desscn->curlpn; -***79,84 ---- 21:38:33 1998 ******86,93 98 ** asp = getwl (&pg, sn, pn);: nnoff = desscn->offp + size2b;: nna = asp + off; !nnnidm = begmop (asp); !nnnrecmjfoem (OLD, sn, pn, idm, off, size2b, a, 0); nnMJ_PUTBL ();*nnnnt2bpack (size, a);*nnnnputpg (&pg, 'm'); -***86,93 ---- asp = getwl (&pg, sn, pn);: nnoff = desscn->offp + size2b;: nna = asp + off; !nnnbegmop (asp); !nnnrecmjfoem (OLD, &pg, off, size2b, a, 0); nnMJ_PUTBL ();*nnnnt2bpack (size, a);*nnnnputpg (&pg, 'm'); 21:38:33 1998 ******94,100 98 ** } n void ! modrec (u2_t sn, i4_t rn,nu2_t pn, i2_t delta) n /* only fre IFAM: orddel,ordmod */ n{ char *a, *asp; -***94,100 ---- } n void ! modrec (:truct id_ob *fullrn,nu2_t pn, i2_t delta) n /* only fre IFAM: orddel,ordmod */ n{ char *a, *asp; 21:38:33 1998 ******102,114 98 ** char key2[size2b]; :truct A pg; char *begagr, *loc; !n u2_t size, pn1; !nnni4_t idm; a = key; *a++ = BITVL(0) | EOSC; !n t4bpack (rn,na);*nnnnt2bpack (pn, key2);*nnnntab_difam (sn);: nna = icp_lookup (&pg, TAB_IFAM[sn], key, key2, size2b, &begagr, &loc);: nnassert (a != NULL); -***102,114 ---- char key2[size2b]; :truct A pg; char *begagr, *loc; !n u2_t size, pn1, sn;*nn a = key; *a++ = BITVL(0) | EOSC; !n t4bpack (fullrn->obnum, a);*nnnnt2bpack (pn, key2);*+ sn = fullrn->segnum; nnnntab_difam (sn);: nna = icp_lookup (&pg, TAB_IFAM[sn], key, key2, size2b, &begagr, &loc);: nnassert (a != NULL); 21:38:33 1998 ******116,124 98 ** BUF_enfrece (sn, pn1);: nnbeg_mop ();: nnasp = pg.p_shm; !nnnidm = ++((:truct p_head *) asp)->idmod;: nna += size2b; !nnnrecmjfoem (OLD, sn, pn1, idm, a - asp, size2b, a, 0); nnMJ_PUTBL ();*nnnnsize = t2bunpack (a);*nnnnsize += delta; -***116,124 ---- BUF_enfrece (sn, pn1);: nnbeg_mop ();: nnasp = pg.p_shm; !nnn++((:truct p_head *) asp)->idmod;: nna += size2b; !nnnrecmjfoem (OLD, &pg, a - asp, size2b, a, 0); nnMJ_PUTBL ();*nnnnsize = t2bunpack (a);*nnnnsize += delta; 21:38:33 1998 ******126,132 98 ** nputpg (&pg, 'm'); } n ! int* insrec (:truct ldesind *desind, i4_t rn,nu2_t pn, u2_t size) n /* only fre IFAM: ordins */ n{ -***126,132 ---- putpg (&pg, 'm'); } n ! i4_t* insrec (:truct ldesind *desind, i4_t rn,nu2_t pn, u2_t size) n /* only fre IFAM: ordins */ n{ 21:38:33 1998 ******195,201 98 ** bcopy (pnt,n(char *) tid, tidsize);: } n ! int* ordindi (:truct ldesind *desind,char * key, :truct des_tid *tid) nnnn/* only fre ordind: proind */ n{ -***195,201 ---- bcopy (pnt,n(char *) tid, tidsize);: } n ! i4_t* ordindi (:truct ldesind *desind,char * key, :truct des_tid *tid) nnnn/* only fre ordind: proind */ n{ 21:38:33 1998 ******204,210 98 ** return (icp_insrtn (desind, key, (char *) tid, (char *) NULL, 0));: } n ! int* ordindd (:truct ldesind *desind, char *key, :truct des_tid *tid) nnnn/* only fre ordind: proind,mproind,rollback */ n{ -***204,210 ---- return (icp_insrtn (desind, key, (char *) tid, (char *) NULL, 0));: } n ! i4_t* ordindd (:truct ldesind *desind, char *key, :truct des_tid *tid) nnnn/* only fre ordind: proind,mproind,rollback */ n{ 21:38:33 1998 ******212,218 98 ** return (icp_rem (desind, key, (char *) tid, 0));: } n ! int* ind_tid (:truct ldesscan *desscn,n:truct des_tid *tid, i4_t modescan) n nnnn/* only fre ordind: next */ n{ -***212,218 ---- return (icp_rem (desind, key, (char *) tid, 0));: } n ! i4_t* ind_tid (:truct ldesscan *desscn,n:truct des_tid *tid, i4_t modescan) n nnnn/* only fre ordind: next */ n{ 21:38:33 1998 ******225,231 98 ** return (ans);: } n ! int* ind_ftid (:truct ldesscan *desscn,n:truct des_tid *tid, i4_t modescan) n/* only fre ordind: opscin */ n{ -***225,231 ---- return (ans);: } n ! i4_t* ind_ftid (:truct ldesscan *desscn,n:truct des_tid *tid, i4_t modescan) n/* only fre ordind: opscin */ n{ diff -rc gnusql-0.7b5.3/src/engine/trans/opinpg.c gnusql-0.7b6.0/src/engine/trans/opinpg.c*****gnusql-0.7b5.3/src/engine/trans/opinpg.c Mon Apr 28 13:52:59*1997 -***gnusql-0.7b6.0/src/engine/trans/opinpg.c Wed May*20 01:52:43*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: opinpg.c,v 1.246*1997/04/15 11:45:41 vera Exp $ */ n #include "xmem.h" #include "destrn.h" -***26,32 ---- ** */ n ! /* $Id: opinpg.c,v 1.248*1998/05/20 05:52:43*kml Exp $ */ n #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******51,57 98 ** return (0);: } n ! int* testfree (char *asp, u2_t fs, u2_t corsize) n /* 1 - this page is empty */ n /* -1 - no allocation nnnnnnnn*/ -***51,57 ---- return (0);: } n ! i4_t* testfree (char *asp, u2_t fs, u2_t corsize) n /* 1 - this page is empty */ n /* -1 - no allocation nnnnnnnn*/ 21:38:33 1998 ******73,85 98 ** } n static void ! shift_cut (u2_t *ai, char *asp, i4_t idt_count,nu2_t *afi, u2_t sn, u2_t pn, i4_t idm) { i2_t shsize = 0; u2_t fs, off, *aci; ! char *af, *src, *dst; i4_t n;*nn n = ai - afi; if (n != 0) nnnn{:-***73,86 ---- } n static void ! shift_cut (u2_t *ai, struct A *pg, i4_t idt_count,nu2_t *afi) { i2_t shsize = 0; u2_t fs, off, *aci; ! char *af, *src, *dst, *asp; i4_t n;*nn + nnasp = pg->p_shm; nnnnn = ai - afi; if (n != 0) nnnn{:21:38:33 1998 ******87,98 98 ** off = *afi; nnaf = asp + off; nnnnfs = *afi - *ai; !nnn nrecmjfoem (COMBR, sn, pn, idm, off, fs, af, shsize);: fre (src = af - 1, dst = src + shsize;nfs != 0; fs--) nnnnn *dst***= *src--;*nnnnnn} af = (char *)(afi - idt_count); !nnnrecmjfoem (OLD, sn, pn, idm, af - asp, idt_count * size2b, af, 0); nnfre (aci = (u2_t *)af; idt_count >= 0; idt_count--) nnn*aci++ = 0; nnfre (; n != 0; n--) -***88,99u---- n off = *afi; nnaf = asp + off; nnnnfs = *afi - *ai; !nnn nrecmjfoem (COMBR, pg, off, fs, af, shsize);: fre (src = af - 1, dst = src + shsize;nfs != 0; fs--) nnnnn *dst***= *src--;*nnnnnn} af = (char *)(afi - idt_count); !nnnrecmjfoem (OLD, pg, af - asp, idt_count * size2b, af, 0); nnfre (aci = (u2_t *)af; idt_count >= 0; idt_count--) nnn*aci++ = 0; nnfre (; n != 0; n--) 21:38:33 1998 ******100,111 98 ** } n void ! rempbd (char *asp, u2_t sn, u2_t pn, i4_t idm) {/* removenrecords about committed transactions deletions */ i4_t what_do = 0, idt_count = 0; u2_t *ali, *ai, *afi; :truct page_head *ph;*!n afi = ai = (u2_t *) (asp + phsize);* ph = (struct page_head *) asp; nnfre (ali = ai + ph->lastin; ai <= ali; ai++) -***101,114 ---- } n void ! rempbd (struct A *pg) {/* removenrecords about committed transactions deletions */ i4_t what_do = 0, idt_count = 0; u2_t *ali, *ai, *afi; :truct page_head *ph;*!n char *asp; ! :!nnnasp = pg->p_shm; nnnnafi = ai = (u2_t *) (asp + phsize);* ph = (struct page_head *) asp; nnfre (ali = ai + ph->lastin; ai <= ali; ai++) 21:38:33 1998 ******116,122 98 ** { nn if (what_do == 2) nnnnnnnnnnnnnnnn {:!nnnnnnnnnnnnnnnnnnnshift_cut (ai - 1, asp, idt_count, afi, sn, pn, idm);*nnnnnnnnnnnnnnnn what_do = 0;*nnnnnnnnnnnnnnnn idt_count = 0; nnnnnnnnnnnnnn} -***119,125u---- n { nn if (what_do == 2) nnnnnnnnnnnnnnnn {:!nnnnnnnnnnnnnnnnnnnshift_cut (ai - 1, pg, idt_count, afi);*nnnnnnnnnnnnnnnn what_do = 0;*nnnnnnnnnnnnnnnn idt_count = 0; nnnnnnnnnnnnnn} 21:38:33 1998 ******129,147 98 ** nnnnnnnn} elod if (what_do != 0) nnnnn {:!nnnnnnnnnnnshift_cut (ai - 1, asp, idt_count, afi, sn, pn, idm);*nnnnnnnnnnnnwhat_do = 0;*nnnnnnnnnnnnidt_count = 0; nnnnnn}*nnnnnn} if (what_do != 0) !nnnnnshift_cut (ai - 1, asp, idt_count, afi, sn, pn, idm);*nnnnif (*ali == 0) nnnn{: n char *b; nnnnb = (char *) &ph->lastin; nnafi = (u2_t *) (asp + phsize);*!nnn nrecmjfoem (OLD, sn, pn, idm, b - asp, size2b, b, 0); nn nnfre (ai = ali - 1; ai >= afin&& *ai == 0; ) n ai--;*nnnnnn ph->lastin = ai - afi; -***132,150u---- n } elod if (what_do != 0) nnnnn {:!nnnnnnnnnnnshift_cut (ai - 1, pg, idt_count, afi);*nnnnnnnnnnnnwhat_do = 0;*nnnnnnnnnnnnidt_count = 0; nnnnnn}*nnnnnn} if (what_do != 0) !nnnnnshift_cut (ai - 1, pg, idt_count, afi);*nnnnif (*ali == 0) nnnn{: n char *b; nnnnb = (char *) &ph->lastin; nnafi = (u2_t *) (asp + phsize);*!nnn nrecmjfoem (OLD, pg, b - asp, size2b, b, 0); nn nnfre (ai = ali - 1; ai >= afin&& *ai == 0; ) n ai--;*nnnnnn ph->lastin = ai - afi; 21:38:33 1998 ******149,191 98 ** } n void ! inscort (u2_t sn, :truct des_tid *tid, i4_t idm, char *asp, char *cort, u2_t corsize) n{ u2_t *ali, *ai; :truct page_head *ph;*!n ai = (u2_t *) (asp + phsize);* ph = (struct page_head *) asp; nnali = ai + ph->lastin;:!nnnai += tid->tindex; nif (ai >nali) nnnn{: n char *b; nnnnb = (char *) &ph->lastin; !nnn nrecmjfoem (OLD, sn, tid->tpn, idm, b - asp, size2b, b, 0); nn nnph->lastin += 1; nnnn*ai = *ali - corsize; nnnnbcopy (cort, asp + *ai, corsize);*nnnnnn} elod !nnn exspind (sn, tid, idm, asp, 0, corsize,ncort);: } n void ! exspind (u2_t sn, :truct des_tid *tid, i4_t idm, char *asp,:!nnnnnnnnnnu2_t oldsize,nu2_t newsize,nchar *nc) { ! char *a; !n u2_t *afi, *ali, *ai, *aci, pn; nnni2_t delta;*nn afi = (u2_t *) (asp + phsize);*!nnnai = afin+ tid->tindex; nali = afi + ((:truct page_head *) asp)->lastin; nn delta = newsize - oldsize;: nna = (char *) ai; !nnnpn = tid->tpn; !nnnrecmjfoem (OLD, sn, pn, idm, a - asp, (ali - ai + 1) * size2b, a, 0); nnfre (aci = ai; aci >nafin&& *aci == 0;) nnnnaci--;*nnnnif (ai !=nali) -***152,195 ---- } n void ! inscort (struct A *pg, u2_t ind, char *cort, u2_t corsize) n{ u2_t *ali, *ai; :truct page_head *ph;*!n char *asp; ! :!nnnasp = pg->p_shm; nnnnai = (u2_t *) (asp + phsize);* ph = (struct page_head *) asp; nnali = ai + ph->lastin;:!nnnai += ind; nnnnif (ai >nali) nnnn{: n char *b; nnnnb = (char *) &ph->lastin; !nnn nrecmjfoem (OLD, pg, b - asp, size2b, b, 0); nn nnph->lastin += 1; nnnn*ai = *ali - corsize; nnnnbcopy (cort, asp + *ai, corsize);*nnnnnn} elod !nnn exspind (pg, ind, 0, corsize,ncort);: } n void ! exspind (struct A *pg, u2_t ind, u2_t oldsize,nu2_t newsize,nchar *nc) { ! char *a, *asp; ! u2_t *afi, *ali, *ai, *aci; nnni2_t delta;*nn +nnnasp = pg->p_shm; nnnnafi = (u2_t *) (asp + phsize);*!nnnai = afin+ ind; nnnnali = afi + ((:truct page_head *) asp)->lastin; nn delta = newsize - oldsize;: nna = (char *) ai; !nnnrecmjfoem (OLD, pg, a - asp, (ali - ai + 1) * size2b, a, 0); nnfre (aci = ai; aci >nafin&& *aci == 0;) nnnnaci--;*nnnnif (ai !=nali) 21:38:33 1998 ******195,207 98 ** nnnnnnnnfs = BD_PAGESIZE - *ali; nnelod nnnnnnnnnfs = *aci - *ali; !nnn nrecmjfoem (SHF, sn, pn, idm, *ali, fs, NULL, delta); nna = asp + *ali; nnbcopy (a, a - delta, fs);*nnnnnn} if (*ai != 0) nnnnn{ ! nrecmjfoem (OLD, sn, pn, idm, *ai, oldsize,n*ai + asp, 0); nnnn*ai -= delta;*nnnnnn} elod -***199,211u---- n fs = BD_PAGESIZE - *ali; nnelod nnnnnnnnnfs = *aci - *ali; !nnn nrecmjfoem (SHF, pg, *ali, fs, NULL, delta); nna = asp + *ali; nnbcopy (a, a - delta, fs);*nnnnnn} if (*ai != 0) nnnnn{ ! nrecmjfoem (OLD, pg, *ai, oldsize,n*ai + asp, 0); nnnn*ai -= delta;*nnnnnn} elod 21:38:33 1998 ******218,243 98 ** } n void ! compress (u2_t sn, :truct des_tid *tid, i4_t idm, char *asp,:!nnnnnnnnnn u2_t oldsize,nu2_t newsize) { ! char *src, *dst, *af; ! u2_t *ali, *aci, *ai, pn; nnni2_t delta;*nn !nnnai = (u2_t *)(asp + phsize)n+ tid->tindex; !nnnpn = tid->tpn; :rc = asp + *ai; nn delta = oldsize - newsize; nnnnali = (u2_t *) (asp + phsize)n+ ((:truct page_head *) asp)->lastin; nn af = (char *) ai; !nnnrecmjfoem (OLD, sn, pn, idm, af - asp, (ali - ai + 1) * size2b, af, 0); ! nrecmjfoem (OLD, sn, pn, idm, *ai, oldsize,nsrc, 0);*nnnnif (ai !=nali) nnnn{: n u2_t fs; nnnnfs = *ai - *ali; !nnn nrecmjfoem (SHF, sn, pn, idm, *ali, fs, NULL, -delta); nnfre (src--, dst = src + delta;nfs != 0; fs--) nnnnn *dst***= *src--;*nnnnnn} -***222,248*---- } n void ! compress (struct A *pg, u2_t ind, u2_t newsize) { ! char *src, *dst, *af, *asp; ! u2_t *ali, *aci, *ai, *afi, oldsize;: nni2_t delta;*nn !nnnasp = pg->p_shm; !nnnafi = (u2_t *)(asp + phsize);*!nnnai = afin+ ind; nnnn:rc = asp + *ai; +nnnoldsize = calsc (afi, ai);*nnnndelta = oldsize - newsize; nnnnali = (u2_t *) (asp + phsize)n+ ((:truct page_head *) asp)->lastin; nn af = (char *) ai; !nnnrecmjfoem (OLD, pg, af - asp, (ali - ai + 1) * size2b, af, 0); ! nrecmjfoem (OLD, pg, *ai, oldsize,nsrc, 0);*nnnnif (ai !=nali) nnnn{: n u2_t fs; nnnnfs = *ai - *ali; !nnn nrecmjfoem (SHF, pg, *ali, fs, NULL, -delta); nnfre (src--, dst = src + delta;nfs != 0; fs--) nnnnn *dst***= *src--;*nnnnnn} diff -rc gnusql-0.7b5.3/src/engine/trans/opscfl.c gnusql-0.7b6.0/src/engine/trans/opscfl.c*****gnusql-0.7b5.3/src/engine/trans/opscfl.c Mon Apr 28 13:53:00*1997 -***gnusql-0.7b6.0/src/engine/trans/opscfl.c Wed Oct 22 12:23:38*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: opscfl.c,v 1.247*1997/04/17 11:03:20 vera Exp $ */ n #include "fdcltrn.h" #include "destrn.h" -***26,32 ---- ** */ n ! /* $Id: opscfl.c,v 1.249*1997/10/22 16:23:38*kml Exp $ */ n #include "fdcltrn.h" #include "destrn.h" 21:38:33 1998 ******40,65 98 ** opscfl (i4_t idfl, i4_t mode, u2_t fn,nu2_t * fl, nnnnnnnnn u2_t slsz,nchar *sc, u2_t fmn,nu2_t * fml) { - u2_t fnt, fdf; nnnn:truct des_fltr *desfl; :truct d_r_t *desrel; struct d_sc_f *scfl; - :truct des_field *df; nnnni2_t n; if ((u2_t) idfl >ndesnseg.mtobnum) !nnnnnreturn (NIOB);*nnnndesfl = (struct des_fltr *) * (desnseg.tobtab + idfl);*nnnnif (desfl == NULL) ! nnnnreturn (NIOB); n if (((:truct prtob *) desfl)->prob != FLTR) !nnnnnreturn (NIOB);*nnnndesrel = desfl->pdrtf; !nnnfnt = desrel->desrbd.fieldnum; !nnnfdf = desrel->desrbd.fdfnum; ! df = (:truct des_field *) (desrel + 1);:!nnnif (testcond (df, fnt, fdf, fn, fl, &slsz,nsc, fmn,nfml) != OK) !n return (NCF);*nnnnscfl = (struct d_sc_f *) lusc (&n, scfsize,n(char *) desfl, SCF, mode, fn, fl, sc, slsz,nfmn,nfml, 0);*nnnnscfl->pnf = desfl->tobfl.firstpn; -***40,60u---- nopscfl (i4_t idfl, i4_t mode, u2_t fn,nu2_t * fl, nnnnnnnnn u2_t slsz,nchar *sc, u2_t fmn,nu2_t * fml) { nnnn:truct des_fltr *desfl; :truct d_r_t *desrel; struct d_sc_f *scfl; nnnni2_t n; if ((u2_t) idfl >ndesnseg.mtobnum) !nnnnnreturn (-ER_NIOB);*nnnndesfl = (struct des_fltr *) * (desnseg.tobtab + idfl);*nnnnif (desfl == NULL) ! nnnnreturn (-ER_NIOB); n if (((:truct prtob *) desfl)->prob != FLTR) !nnnnnreturn (-ER_NIOB);*nnnndesrel = desfl->pdrtf; !nnnif (testcond (&desrel->f_df_bt, fn, fl, &slsz,nsc, fmn,nfml) != OK) !n return (-ER_NCF);*nnnnscfl = (struct d_sc_f *) lusc (&n, scfsize,n(char *) desfl, SCF, mode, fn, fl, sc, slsz,nfmn,nfml, 0);*nnnnscfl->pnf = desfl->tobfl.firstpn; diff -rc gnusql-0.7b5.3/src/engine/trans/opscin.c gnusql-0.7b6.0/src/engine/trans/opscin.c*****gnusql-0.7b5.3/src/engine/trans/opscin.c Mon Apr 28 13:53:00*1997 -***gnusql-0.7b6.0/src/engine/trans/opscin.c Wed May*20 01:52:43*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: opscin.c,v 1.246*1997/04/10 06:57:28 vera Exp $ */ n #include "destrn.h" #include "sctp.h" -***26,32 ---- ** */ n ! /* $Id: opscin.c,v 1.249*1998/05/20 05:52:43*kml Exp $ */ n #include "destrn.h" #include "sctp.h" 21:38:33 1998 ******38,45 98 ** opscin (:truct id_ind *pidind, i4_t mode, u2_t fln,nu2_t * fl, u2_t slsz, char *sc, u2_t diasz,nchar *diasc, u2_t fmn,nu2_t * fml) { ! u2_t fn, fdf; ! :truct des_field *df; nnnn:truct ldesscan *disc;* n struct d_sc_i *scind; nnnn:truct ldesind *di; -***38,44u---- nopscin (:truct id_ind *pidind, i4_t mode, u2_t fln,nu2_t * fl, u2_t slsz, char *sc, u2_t diasz,nchar *diasc, u2_t fmn,nu2_t * fml) { ! :truct fun_desc_fields *desf; nnnn:truct ldesscan *disc;* n struct d_sc_i *scind; nnnn:truct ldesind *di; 21:38:33 1998 ******55,69 98 ** pidrel = &pidind->irii; if (pidrel->urn.segnum == NRSNUM) nnnnn{ ! nans.cpnops = NDI; nnreturn (ans);: nn} if ((ans.cpnops = cont_id (pidind, &desrel, &di)) != OK) nnreturn (ans);:!nnnfn = desrel->desrbd.fieldnum; !nnnfdf = desrel->desrbd.fdfnum; ! df = (:truct des_field *) (desrel + 1);:!nnnif ((ans.cpnops = testcond (df, fn, fdf, fln, fl, &slsz,nsc, fmn,nfml)) != OK) nnreturn (ans);: ai = (u2_t *) (di + 1);:-***54,66u---- n pidrel = &pidind->irii; if (pidrel->urn.segnum == NRSNUM) nnnnn{ ! nans.cpnops = -ER_NDI; nnreturn (ans);: nn} if ((ans.cpnops = cont_id (pidind, &desrel, &di)) != OK) nnreturn (ans);:!nnndesf = &desrel->f_df_bt;:!nnnif ((ans.cpnops = testcond (desf, fln, fl, &slsz,nsc, fmn,nfml)) != OK) nnreturn (ans);: ai = (u2_t *) (di + 1);:21:38:33 1998 ******70,76u98 ** if ((ans.cpnops = testdsc (desrel, &diasz,ndiasc, ai, &dscsz)) != OK) nnreturn (ans);: !nnnif ((ans.cpnops = synlsc (RSC, pidrel, sc, slsz,nfn,n(u2_t *) NULL)) != OK) nnreturn (ans);: kn = di->ldi.kifn & ~UNIQ & MSK21B;* if ((ans.cpnops = synlsc (RSC, pidrel, diasc, diasz,nkn, ai)) != OK) -***67,73 ---- if ((ans.cpnops = testdsc (desrel, &diasz,ndiasc, ai, &dscsz)) != OK) nnreturn (ans);: !nnnif ((ans.cpnops = synlsc (RSC, pidrel, sc, slsz,ndesf->f_fn,nNULL)) != OK) nnreturn (ans);: kn = di->ldi.kifn & ~UNIQ & MSK21B;* if ((ans.cpnops = synlsc (RSC, pidrel, diasc, diasz,nkn, ai)) != OK) 21:38:33 1998 ******92,98 98 ** if (ind_ftid (disc,n&tid, SLOWSCAN) == EOI) nnnn{: n disc->ctidi.tpn = (u2_t) ~ 0;:! nans.cpnops = EOSCAN; } elod nnnnn{ -***89,95 ---- if (ind_ftid (disc,n&tid, SLOWSCAN) == EOI) nnnn{: n disc->ctidi.tpn = (u2_t) ~ 0;:! nans.cpnops = -ER_EOSCAN; } elod nnnnn{ 21:38:33 1998 ******189,201 98 ** nn{: n diaval = pred_compress (diaval, lastb, df + fnk, t); if (diaval == NULL ) ! nnnnnnnreturn (NCF);*nnnn } *diasz = diaval - diasc; return (OK);: } n ! int* testdsc (:truct d_r_t *desrel,nu2_t * diasz,nchar *diasc, nnnnnnnnnn u2_t * mfn,nu2_t * dscsz) n{ -***186,198u---- { nn diaval = pred_compress (diaval, lastb, df + fnk, t); if (diaval == NULL ) ! nnnnnnnreturn (-ER_NCF);*nnnn } *diasz = diaval - diasc; return (OK);: } n ! i4_t* testdsc (:truct d_r_t *desrel,nu2_t * diasz,nchar *diasc, nnnnnnnnnn u2_t * mfn,nu2_t * dscsz) n{ 21:38:33 1998 ******215,235 98 ** nnnnnnfre (i = 0; (t = seloc1 (&a, sst++)) != ENDSCn&& i ANY && t < ENDSC)) ! return (NCF);*nn } if (t != ENDSC) ! return (NCF);*nnnn if (dsccal (fn,ndiasc, dscsz) != OK) !n return (NCF);*nnnn if (dia_cmpr (diasc, diasz,n*dscsz, df, mfn) != OK) !n return (NCF);*nnnn } return (OK);: } n ! int* dsccal (u2_t fn, char *diasc, u2_t * dscsz) n{ nnn u2_t i; -***212,232 ---- nnnnfre (i = 0; (t = seloc1 (&a, sst++)) != ENDSCn&& i ANY && t < ENDSC)) ! return (-ER_NCF);*nn } if (t != ENDSC) ! return (-ER_NCF);*nnnn if (dsccal (fn,ndiasc, dscsz) != OK) !n return (-ER_NCF);*nnnn if (dia_cmpr (diasc, diasz,n*dscsz, df, mfn) != OK) !n return (-ER_NCF);*nnnn } return (OK);: } n ! i4_t* dsccal (u2_t fn, char *diasc, u2_t * dscsz) n{ nnn u2_t i; 21:38:33 1998 ******242,248*98 ** nnfn++; nnfre (i = 0; (t = seloc1 (&a, sst++)) != ENDSCn&& i urn.obnum;*nnnn if (ntob >ndesnseg.mtobnum) { ! ans.cpnops = NIOB;*nn nnreturn (ans);: } destrel = (struct des_trel *) * (desnseg.tobtab + ntob);*nnnn if (destrel == NULL) { ! ans.cpnops = NIOB;*nn nnreturn (ans);: } :nnnnnnnnif (((:truct prtob *) destrel)->prob != TREL) { ! ans.cpnops = NIOB;*nn nnreturn (ans);: } !n nfn = destrel->fieldn;:!nnnnnnnfdf = destrel->fdftr; !n ndf = (:truct des_field *) (destrel + 1);:!nnnnnnnif ((ans.cpnops = testcond (df, fn, fdf, fnum, fl, &slsz,nsc, fmnum, fml)) != OK) return (ans);: nn screl = (struct d_sc_r *) lusc (&num, scrsize,n(char *) destrel, SCTR, mode,*nn nfnum, fl, sc, slsz,nfmnum, fml, 0);*-***53,74 ---- nnnnntob = pidrel->urn.obnum;*nnnn if (ntob >ndesnseg.mtobnum) { ! ans.cpnops = -ER_NIOB;*nn nnreturn (ans);: } destrel = (struct des_trel *) * (desnseg.tobtab + ntob);*nnnn if (destrel == NULL) { ! ans.cpnops = -ER_NIOB;*nn nnreturn (ans);: } :nnnnnnnnif (((:truct prtob *) destrel)->prob != TREL) { ! ans.cpnops = -ER_NIOB;*nn nnreturn (ans);: } ! ndesf = &destrel->f_df_tt;:!nnnnnnnif ((ans.cpnops = testcond (desf, fnum, fl, &slsz,nsc, fmnum, fml)) != OK) return (ans);: nn screl = (struct d_sc_r *) lusc (&num, scrsize,n(char *) destrel, SCTR, mode,*nn nfnum, fl, sc, slsz,nfmnum, fml, 0);*21:38:33 1998 ******78,84 98 ** nnnnpn = destrel->tobtr.firstpn; nnnnnnnnif (pn == (u2_t) ~ 0) { ! ans.cpnops = EOSCAN; } nnelod n {:-***75,81u---- n pn = destrel->tobtr.firstpn; nnnnnnnnif (pn == (u2_t) ~ 0) { ! ans.cpnops = -ER_EOSCAN; } nnelod n {:21:38:33 1998 ******99,112 98 ** u2_t size; if ((ans.cpnops = cont_fir (pidrel, &desrel)) != OK) return (ans);:!n nfn = desrel->desrbd.fieldnum; !nnn nnnfdf = desrel->desrbd.fdfnum; ! df = (:truct des_field *) (desrel + 1);:!nnnnnnnif ((ans.cpnops = testcond (df, fn, fdf, fnum, fl, &slsz,nsc, fmnum, fml)) != OK) return (ans);:!nnnnnnnif ((ans.cpnops = synlsc (RSC, pidrel, sc, slsz,nfn,nNULL)) != OK) return (ans);:!nnnnnnnscind = rel_scan (sn, pidrel->urn.obnum,n(char *) desrel, &num,*nn fnum, fl, sc, slsz,nfmnum, fml);: nn disc = &scind->dessc;* n rep = fgetnext (disc,n&pn, &size,nSLOWSCAN); -***96,107u---- n u2_t size; if ((ans.cpnops = cont_fir (pidrel, &desrel)) != OK) return (ans);:!n ndesf = &desrel->f_df_bt;:!nnnnnnnif ((ans.cpnops = testcond (desf, fnum, fl, &slsz,nsc, fmnum, fml)) != OK) return (ans);:!nnnnnnnif ((ans.cpnops = synlsc (RSC, pidrel, sc, slsz,ndesf->f_fn,nNULL)) != OK) return (ans);:!nnnnnnnscind = rel_scan (&pidrel->urn,n(char *) desrel, &num,*nn fnum, fl, sc, slsz,nfmnum, fml);: nn disc = &scind->dessc;* n rep = fgetnext (disc,n&pn, &size,nSLOWSCAN); 21:38:33 1998 ******113,119 98 ** if (rep == EOI) { n nnpn = (u2_t) ~ 0;:! ans.cpnops = EOSCAN; } nnelod n {:-***108,114 ---- if (rep == EOI) { n nnpn = (u2_t) ~ 0;:! ans.cpnops = -ER_EOSCAN; } nnelod n {:21:38:33 1998 ******129,136 98 ** return (ans);: } n ! static ! int* sel_cmpr (char *diasc, u2_t * diasz,nu2_t dscsz, :truct des_field *df) n{ nnn u2_t fnk; -***124,130 ---- return (ans);: } n ! static int* sel_cmpr (char *diasc, u2_t * diasz,nu2_t dscsz, :truct des_field *df) n{ nnn u2_t fnk; 21:38:33 1998 ******147,153 98 ** nn{: n diaval = pred_compress (diaval, lastb, df + fnk, t); if (diaval == NULL) ! nnnnnnnreturn (NCF);*nnnn } *diasz = diaval - diasc; return (OK);:-***141,147 ---- { nn diaval = pred_compress (diaval, lastb, df + fnk, t); if (diaval == NULL) ! nnnnnnnreturn (-ER_NCF);*nnnn } *diasz = diaval - diasc; return (OK);:21:38:33 1998 ******154,185 98 ** } n int*! testcond (:truct des_field *df, u2_t fn,nu2_t fdf, u2_t fnum, u2_t * fl, nnnnnnnnn nu2_t * slsz,nchar *selcon, u2_t fmnum, u2_t * fml) { nnfre (; fnum != 0; fnum--, fl++) if (*fl >nfn)*!nnnnnnnreturn (NCF);*nnnnfre (; fmnum != 0; fmnum--, fml++) if (*fml >nfn)*!nnnnnnnreturn (NCF);*nnnnif (*slsz != 0) nnnn{: n u2_t i, scsz;:!nnnnnnni4_t sst, ans = OK;*nnnnnn unsignednchar t;: n char *a; nna = selcon;: nn sst = 1; nnnnfre (i = 0; (t = seloc1 (&a, sst++)) != ENDSCn&& i ANY && t < ENDSC)) ! return (NCF);*nn } if (t != ENDSC) ! return (NCF);*nnnn if (sst % 2 == 0) a++; nnnnnnscsz = a - selcon;:-***148,185 ---- } n int*! testcond (:truct fun_desc_fields *desf, u2_t fnum, u2_t * fl, nnnnnnnnn nu2_t * slsz,nchar *selcon, u2_t fmnum, u2_t * fml) { +nn u2_t fn; +n +nn fn = desf->f_fn; nnfre (; fnum != 0; fnum--, fl++) if (*fl >nfn)*!nnnnnnnreturn (-ER_NCF);*nnnnfre (; fmnum != 0; fmnum--, fml++) if (*fml >nfn)*!nnnnnnnreturn (-ER_NCF);*nnnnif (*slsz != 0) nnnn{: n u2_t i, scsz;:!nnnnnnni4_t sst, ans = OK, fdf; ! :truct des_field *df; nnnnnn unsignednchar t;: n char *a; +nnn nnnfdf = desf->f_fdf; + df = desf->df_pnt; nna = selcon;: nn sst = 1; nnnnfre (i = 0; (t = seloc1 (&a, sst++)) != ENDSCn&& i ANY && t < ENDSC)) ! return (-ER_NCF);*nn } if (t != ENDSC) ! return (-ER_NCF);*nnnn if (sst % 2 == 0) a++; nnnnnnscsz = a - selcon;:21:38:33 1998 ******186,192 98 ** if (*slsz != 0) ans = sel_cmpr (selcon, slsz,nscsz, df);*nnnn if (ans < 0) !n return (NCF);*nnnn } return (OK);: } -***186,192 ---- if (*slsz != 0) ans = sel_cmpr (selcon, slsz,nscsz, df);*nnnn if (ans < 0) !n return (-ER_NCF);*nnnn } return (OK);: } diff -rc gnusql-0.7b5.3/src/engine/trans/orddel.c gnusql-0.7b6.0/src/engine/trans/orddel.c*****gnusql-0.7b5.3/src/engine/trans/orddel.c Mon Apr 28 13:53:00*1997 -***gnusql-0.7b6.0/src/engine/trans/orddel.c Sun Jul*20 13:00:57*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: orddel.c,v 1.247*1997/04/15 11:45:41 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***26,32 ---- ** */ n ! /* $Id: orddel.c,v 1.249*1997/07/20 17:00:57*vera Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******35,75 98 ** extern i4_t idtr; n void ! orddel (u2_t sn, i4_t rn,n:truct des_tid *tid, ! nnnnnnn:truct des_tid *ref_tid, u2_t oldsize) { ! char *a, *asp = NULL; !n u2_t *ai, pn, pn2; :truct A pg; !nnni4_t idm; !nnnpn = tid->tpn; while ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n ai = (u2_t *) (asp + phsize)n+ tid->tindex; !nnna = asp + *ai; !nnnidm = begmop (asp); !nnnpn2 = ref_tid->tpn; !nnnif (pn2 != (u2_t) ~ 0) ! nrecmjfoem (OLD, sn, pn, idm, *ai, MIN_TUPLE_LENGTH, a, 0); nnelod nnnnn{ ! nnnnncompress (sn, tid, idm, asp, oldsize,nMIN_TUPLE_LENGTH);:!nnnnnnna += oldsize - MIN_TUPLE_LENGTH; nnnnn} ! t4bpack (idtr, a + 1);:!nnn*a = IDTR; nnMJ_PUTBL ();*nnnnputpg (&pg, 'm'); !nnnif (pn2 != (u2_t) ~ 0) nnnn{: n while ((asp = getpg (&pg, sn, pn2, 'x')) == NULL);:!n nnnidm = begmop (asp); !nnnnnnncompress (sn, ref_tid, idm, asp, oldsize,n0); nnnnMJ_PUTBL ();*nnnnnnnnputpg (&pg, 'm'); !nnn modrec (:n, rn, pn2, oldsize + size2b); !nnn modrec (:n, rn, pn,nMIN_TUPLE_LENGTH + size2b); nnnnnn} elod !nnn modrec (:n, rn, pn,noldsize + size2b); } -***35,95 ---- extern i4_t idtr; n void ! orddel (:truct full_des_tuple *dtuple) { ! char *tuple, *asp = NULL; !n u2_t *ai, *afi, sn, pn, oldsize,nind; nnnn:truct A pg; !nnni4_t rn; ! :truct des_tid ref_tid; !n unsignednchar t;:! :truct id_ob fullrn; !nnnsn = dtuple->sn_fdt; !nnnpn = dtuple->tid_fdt.tpn; while ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n afi = (u2_t *) (asp + phsize);*!nnnind = dtuple->tid_fdt.tindex; !nnnai = afin+ ind; ! tuple = asp + *ai; !nnnbegmop (asp); !nnntuple = asp + *ai; !nnnt = *tuple & MSKCORT; !nnnif (t == IND) !nnnnn{ ! nref_tid.tindex = t2bunpack (tuple + 1);:!nnnnnnnref_tid.tpn = t2bunpack (tuple + 1 + size2b); !nnn recmjfoem (OLD, &pg, *ai, MIN_TUPLE_LENGTH, tuple, 0); !nnn } nnelod nnnnn{ ! nnnnnoldsize = calsc (afi, ai);*!nnnnnnncompress (&pg, ind, MIN_TUPLE_LENGTH);:!nnnnnnntuple += oldsize - MIN_TUPLE_LENGTH; nnnnn} ! t4bpack (idtr, tuple + 1);:!nnn*tuple = IDTR; nnMJ_PUTBL ();*nnnnputpg (&pg, 'm'); !nnnrn = dtuple->rn_fdt; !nnnfullrn.segnum = sn;*!nnnfullrn.obnum = rn; !nnnif (t == IND) nnnnn{ +n u2_t pn2; +n +nn nnnpn2 = ref_tid.tpn; nnnnnnnnwhile ((asp = getpg (&pg, sn, pn2, 'x')) == NULL);:!n nnnbegmop (asp); !nnnnnnnafi = (u2_t *) (asp + phsize);*!nnn nai = afin+ ref_tid.tindex; ! nnnnnoldsize = calsc (afi, ai);*!nnnnnnncompress (&pg, ref_tid.tindex,n0); nnnnMJ_PUTBL ();*nnnnnnnnputpg (&pg, 'm'); !nnn modrec (&fullrn,npn2, oldsize + size2b); !nnn modrec (&fullrn,npn,nMIN_TUPLE_LENGTH + size2b); nnnnnn} elod !nnn modrec (&fullrn,npn,noldsize + size2b); } diff -rc gnusql-0.7b5.3/src/engine/trans/ordins.c*gnusql-0.7b6.0/src/engine/trans/ordins.c*****gnusql-0.7b5.3/src/engine/trans/ordins.c Mon Apr 28 13:53:01*1997 -***gnusql-0.7b6.0/src/engine/trans/ordins.c Mon Oct 20 06:55:09*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: ordins.c,v 1.248*1997/04/15 11:45:41 vera Exp $ */ n #include #include "destrn.h" -***26,32 ---- ** */ n ! /* $Id: ordins.c,v 1.250*1997/10/20*10:55:09*vera Exp $ */ n #include #include "destrn.h" 21:38:33 1998 ******37,43 98 ** extern struct ldesind **TAB_IFAM; extern struct ADBL adlj; extern i4_t ljmsize; - extern struct d_r_t *firstrel; extern u2_t S_SC_S; n static u2_t wild_pn = (u2_t) ~0; -***37,42 ---- 21:38:33 1998 ******84,90 98 ** nnnnpnt = asp + indphsize;*nnnnnnnnn = t2bunpack (pnt); pnt += size2b; !nnn if (f4b (pnt + 1, key, size4b, size4b) != 0) nnnnn {:nnnnnnnnn nputpg(pg, 'n');*nnnnnnnnnnnnreturn (wild_pn); -***83,89u---- n pnt = asp + indphsize;*nnnnnnnnn = t2bunpack (pnt); pnt += size2b; !nnn if ((t4bunpack (pnt + 1) - t4bunpack (key)) != 0) nnnnn {:nnnnnnnnn nputpg(pg, 'n');*nnnnnnnnnnnnreturn (wild_pn); 21:38:33 1998 ******112,118 98 ** aggr = a;*nnnnnnnnnnnnn = t2bunpack (a);*nnnn nnnnnnna += size2b; !nnn if ((l = f4b (a + 1, key, size4b, size4b)) >= 0) nnnnnnnnnnnnnnbreak; n } if (a == lastb) -***111,117u---- n aggr = a;*nnnnnnnnnnnnn = t2bunpack (a);*nnnn nnnnnnna += size2b; !nnn if ((l = t4bunpack (a + 1) - t4bunpack (key)) >= 0) nnnnnnnnnnnnnnbreak; n } if (a == lastb) 21:38:33 1998 ******149,155 98 ** nnnnnnaggr = a;*nnnnnnnnn = t2bunpack (a);*nnnn nnna += size2b; !nnn if ((l = f4b (a + 1, key, size4b, size4b)) >= 0) nnnnnnnnnnbreak; n }: nnassert (a != lastb);:-***148,154 ---- aggr = a;*nnnnnnnnn = t2bunpack (a);*nnnn nnna += size2b; !nnn if ((l = t4bunpack (a + 1) - t4bunpack (key)) >= 0) nnnnnnnnnnbreak; n }: nnassert (a != lastb);:21:38:33 1998 ******167,182 98 ** mod_free_size (struct A *pg, u2_t offloc, u2_t size) n{ char *asp, *a; -nnni4_t idm; - u2_t sn, pn; !nnnsn = pg->p_sn; !nnnpn = pg->p_pn; !nnnwhile (BUF_enfrece (sn, pn) < 0);: nnasp = pg->p_shm; nnnna = asp + offloc; !n idm = begmop (asp); !nnnrecmjfoem (OLD, sn, pn, idm, offloc, size2b, a, 0); nnMJ_PUTBL ();*nnnnt2bpack (size, a);*nnnnputpg (pg, 'm'); -***166,177u---- nmod_free_size (struct A *pg, u2_t offloc, u2_t size) n{ char *asp, *a; !nnnwhile (BUF_enfrece (pg->p_sn, pg->p_pn) < 0);: nnasp = pg->p_shm; nnnna = asp + offloc; !n begmop (asp); !nnnrecmjfoem (OLD, pg, offloc, size2b, a, 0); nnMJ_PUTBL ();*nnnnt2bpack (size, a);*nnnnputpg (pg, 'm'); 21:38:33 1998 ******206,233 98 ** } n struct des_tid ! ordins (u2_t sn, i4_t rn,nchar *cort, u2_t corsize,nchar type) { nnnn:truct page_head *ph;*!n :truct d_r_t *desrel; ! u2_t pn, pfms, offloc; nni2_t delta;*nn :truct des_tid tid; char *asp = NULL; nnnn:truct A pg, pg_ifam; char key[size4b];:! :truct id_rel idr; ! :!nnnfre (desrel = firstrel;ndesrel != NULL;ndesrel = desrel->drlist) !nnnnnif (desrel->desrbd.relnum == rn)*!nnnnnnnbreak; !n idr.urn.segnum = sn;*!nnnidr.urn.obnum = rn; !nnnif (rn != RDRNUM) !nnnnn{ ! nidr.pagenum = desrel->pn_r; ! nidr.index = desrel->ind_r; !nnn } nndelta = corsize + size2b; nnnntab_difam (sn);: nnl_emp_ini_check(); -***201,219 ---- } n struct des_tid ! ordins (:truct id_rel *pidrel, char *cort, u2_t corsize,nchar type) { nnnn:truct page_head *ph;*!n u2_t pn, pfms, offloc, sn;* nni2_t delta;*+nnni4_t rn; nn :truct des_tid tid; char *asp = NULL; nnnn:truct A pg, pg_ifam; char key[size4b];:! !nnnsn = pidrel->urn.segnum; !nnnrn = pidrel->urn.obnum;*nnnndelta = corsize + size2b; nnnntab_difam (sn);: nnl_emp_ini_check(); 21:38:33 1998 ******237,243 98 ** nnif (pn != wild_pn) nnnn{: n u2_t lind, *ai, ind, fs; !nnnnnnni4_t idm; nnnnnnwhile ((asp = getpg (&pg, sn, pn, 'x')) == NULL);: nnnnnnlind = ((:truct page_head *) asp)->lastin; nn nnnnfs = *((u2_t *) (asp + phsize)n+ lind) - (phsize + size2b * (lind + 1)); -***223,229 ---- if (pn != wild_pn) nnnn{: n u2_t lind, *ai, ind, fs; !n nnnnnnwhile ((asp = getpg (&pg, sn, pn, 'x')) == NULL);: nnnnnnlind = ((:truct page_head *) asp)->lastin; nn nnnnfs = *((u2_t *) (asp + phsize)n+ lind) - (phsize + size2b * (lind + 1)); 21:38:33 1998 ******259,274 98 ** goto m1; nnnnnnnnnn} n } !n nnnidm = begmop (asp); if (fs < pfms) ! nnnnnnnrempbd (asp, sn, pn, idm);*nnnnnnnnai = (u2_t *) (asp + phsize);* nnnnfre (ind = 0; ind <=nlind && *ai != 0; ai++, ind++);* nnnntid.tindex = ind; nnnnnnnntid.tpn = pn; nnnnnnnnif (type == 'w') !n wmlj (INSLJ, ljmsize + corsize,n&adlj,n&idr,n&tid, 0);:!n nnninscort (sn,n&tid, idm, asp, cort, corsize);*nnnnnnnnMJ_PUTBL ();*nnnnnnnnputpg (&pg, 'm'); mod_free_size (&pg_ifam, offloc, pfms - corsize - size2b); -***245,270u---- n goto m1; nnnnnnnnnn} n } !n nnnbegmop (asp); if (fs < pfms) ! nnnnnnnrempbd (&pg);*nnnnnnnnai = (u2_t *) (asp + phsize);* nnnnfre (ind = 0; ind <=nlind && *ai != 0; ai++, ind++);* nnnntid.tindex = ind; nnnnnnnntid.tpn = pn; nnnnnnnnif (type == 'w') !n nnnnn {:!nnnnnnnnnnnif (rn == RDRNUM) !nnnnnnnnnnn {:!nnnnnnnnnnnnnnn:truct id_rel idr; ! nnnnnnnnnn idr = *pidrel; ! nnnnnnnnnn idr.pagenum = pn; ! nnnnnnnnnn idr.index = ind; ! nnnnnnnnnn pidrel = &idr; ! nnnnnnnnnn } ! nnnnnnnnnnwmlj (INSLJ, ljmsize + corsize,n&adlj,npidrel, &tid, 0);:!n nnn } !n nnninscort (&pg, ind, cort, corsize);*nnnnnnnnMJ_PUTBL ();*nnnnnnnnputpg (&pg, 'm'); mod_free_size (&pg_ifam, offloc, pfms - corsize - size2b); 21:38:33 1998 ******291,297 98 ** nnnnnntid.tpn = pn; nnnnnnnntid.tindex = 0; nnnnnnnnif (type == 'w') !n nnnnn wmlj (INSLJ, ljmsize + corsize,n&adlj,n&idr,n&tid, 0);:nnnnnnnn:ize = BD_PAGESIZE - corsize; nnnnbcopy (cort, asp + size,ncorsize);*nnnnnnnnph = (struct page_head *) asp; -***287,303u---- n tid.tpn = pn; nnnnnnnntid.tindex = 0; nnnnnnnnif (type == 'w') !n nnnnn {:!nnnnnnnnnnnif (rn == RDRNUM) !nnnnnnnnnnn {:!nnnnnnnnnnnnnnn:truct id_rel idr; ! nnnnnnnnnn idr = *pidrel; ! nnnnnnnnnn idr.pagenum = pn; ! nnnnnnnnnn idr.index = 0; ! nnnnnnnnnn pidrel = &idr; ! nnnnnnnnnn } ! nnnnnnnnnnwmlj (INSLJ, ljmsize + corsize,n&adlj,npidrel, &tid, 0);:!n nnn } nnnnnnnn:ize = BD_PAGESIZE - corsize; nnnnbcopy (cort, asp + size,ncorsize);*nnnnnnnnph = (struct page_head *) asp; 21:38:33 1998 ******300,307 98 ** nnnnnn++ph->ph_ph.idmod; nnnnnnnnif (l_emp.count != 0) nnnnn {:nnnnnnnnn nputpg (&pg, 'm'); !nnn nn modrec (:n, rn, pn,n-(corsize + size2b));*nnnn nnnnnnnfree_pages (:n, rn, 1); n } elod -***306,316u---- n ++ph->ph_ph.idmod; nnnnnnnnif (l_emp.count != 0) nnnnn {:+nnnnnnnnnnn:truct id_ob fullrn; nnnnnnn nputpg (&pg, 'm'); !nnn nn fullrn.segnum = sn;*!nnn nn fullrn.obnum = rn; !nnn nnn modrec (&fullrn,npn,n-(corsize + size2b));*nnnn nnnnnnnfree_pages (:n, rn, 1); n } elod 21:38:33 1998 ******310,316u98 ** insrec (TAB_IFAM[sn], rn, pn,nsize - phsize - size2b); nnnnnnnnnn}*nnnnnn} - : nnl_emp_ini();*nnnnreturn (tid); } -***319,324 ---- diff -rc gnusql-0.7b5.3/src/engine/trans/ordmod.c*gnusql-0.7b6.0/src/engine/trans/ordmod.c*****gnusql-0.7b5.3/src/engine/trans/ordmod.c Mon Apr 28 13:53:01*1997 -***gnusql-0.7b6.0/src/engine/trans/ordmod.c Wed Oct 1 09:32:13*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: ordmod.c,v 1.247*1997/04/15 11:45:41 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***26,32 ---- ** */ n ! /* $Id: ordmod.c,v 1.249*1997/10/01*13:32:13*vera Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******36,106 98 ** extern struct d_r_t *firstrel; void ! ordmod (u2_t sn, i4_t rn,n:truct des_tid *tid, ! nnnnnnn:truct des_tid *ref_tid, u2_t oldsize,nchar *nc, u2_t newsize) { char *asp = NULL; nnnni2_t delta;*!n u2_t pn, ind, pn2; !nnni4_t idm; nn:truct A pg; delta = oldsize - newsize; nnnnif (delta >= 0) nnnnn{ ! nu2_t *ai; if (ref_tid->tpn != (u2_t) ~ 0) ! { ! tid = ref_tid; !n } ! npn = tid->tpn; while ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n nnnidm = begmop (asp); !nnnnnnnai = (u2_t *) (asp + phsize)n+ tid->tindex; nnnn if (delta > 0) ! nnnnncompress (sn, tid, idm, asp, oldsize,nnewsize); nnelod ! nnnnnnnrecmjfoem (OLD, sn, pn, idm, *ai, oldsize,nasp + *ai, 0);:nnnnnnnnbcopy (nc, asp + *ai, newsize); nnMJ_PUTBL ();*nnnnnnnnputpg (&pg, 'm'); if (delta > 0) ! nnnnnmodrec (:n, rn, pn,ndelta); } nnelod nnnnn{ ! nnnnnpn = tid->tpn; !nnn nnnind = tid->tindex; nnnn if (ref_tid->tpn == (u2_t) ~ 0) { ! if (nordins (:n, rn, tid, CORT, oldsize,nnewsize,nnc) != 0) nnnn{ ! ndoindir (:n, rn, tid, oldsize,nnewsize,nnc); ! nmodrec (:n, rn, pn,noldsize - MIN_TUPLE_LENGTH);: nnnn} } nnelod n {:! if (nordins (:n, rn, tid, CORT, MIN_TUPLE_LENGTH, newsize,nnc) == 0) nnnnnnnnnnnnnn{:!nnnnnnnnnnnnnnnpn2 = ref_tid->tpn; !nnnnnnnnnnnnnnnwhile ((asp = getpg (&pg, sn, pn2, 'x')) == NULL);:!n nnn n nnnidm = begmop (asp); !nnnnnnn nnnnnnncompress (sn, ref_tid, idm, asp, oldsize,n0); nnnn nnMJ_PUTBL ();*nnnnnnnnnnnnn nputpg (&pg, 'm'); !nnn nn modrec (:n, rn, pn2, oldsize + size2b); nnnnnnnnnn } ! elod if (nordins (:n, rn, ref_tid, CREM, oldsize,nnewsize,nnc) != 0) nnnn{ ! ndoindir (:n, rn, tid, MIN_TUPLE_LENGTH, newsize,nnc);:!nnnnnnnnnnnnnnnpn2 = ref_tid->tpn; !nnnnnnnnnnnnnnnwhile ((asp = getpg (&pg, sn, pn2, 'x')) == NULL);:!n nnn n nnnidm = begmop (asp); !nnnnnnn nnnnnnncompress (sn, ref_tid, idm, asp, oldsize,n0); nnnn nnMJ_PUTBL ();*nnnnnnnnnnnnn nputpg (&pg, 'm'); !nnn nn modrec (:n, rn, pn2, oldsize + size2b); nnnn} } } -***36,112 ---- extern struct d_r_t *firstrel; void ! ordmod (:truct full_des_tuple *dtuple,n:truct des_tid *ref_tid, !nnn nnu2_t oldsize,nchar *nc, u2_t newsize) { char *asp = NULL; nnnni2_t delta;*!n u2_t sn, pn; nn:truct A pg; + :truct id_ob fullrn; +nnnsn = dtuple->sn_fdt; +n fullrn.segnum = sn;*+n fullrn.obnum = dtuple->rn_fdt; delta = oldsize - newsize; nnnnif (delta >= 0) nnnnn{ ! nu2_t *ai, ind; ! if (ref_tid->tpn != (u2_t) ~ 0) ! nn dtuple->tid_fdt = *ref_tid; !n nnnpn = dtuple->tid_fdt.tpn; while ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n nnnbegmop (asp); !nnnnnnnind = dtuple->tid_fdt.tindex; !nnnnnnnai = (u2_t *) (asp + phsize)n+ ind; nnnnnnnnif (delta > 0) ! nnnnncompress (&pg, ind, newsize); nnelod ! nnnnnnnrecmjfoem (OLD, &pg, *ai, oldsize,nasp + *ai, 0);:nnnnnnnnbcopy (nc, asp + *ai, newsize); nnMJ_PUTBL ();*nnnnnnnnputpg (&pg, 'm'); if (delta > 0) ! nnnnnmodrec (&fullrn,npn,ndelta); } nnelod nnnnn{ ! nnnnnpn = dtuple->tid_fdt.tpn; if (ref_tid->tpn == (u2_t) ~ 0) { ! if (nordins (dtuple,nCORT, oldsize,nnewsize,nnc) != 0) nnnn{ ! ndoindir (dtuple,noldsize,nnewsize,nnc); ! nmodrec (&fullrn,npn,noldsize - MIN_TUPLE_LENGTH);: nnnn} } nnelod n {:! nnnnnnnnnn:truct full_des_tuple dtuple_ref; ! :!nnnnn dtuple_ref = *dtuple;:!nnnnn dtuple_ref.tid_fdt = *ref_tid; !n if (nordins (dtuple,nCORT, MIN_TUPLE_LENGTH, newsize,nnc) == 0) nnnnnnnnnnnnnn{:!nnnnnnnnnnnnnnnpn = ref_tid->tpn; !nnnnnnnnnnnnnnnwhile ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n nnn n nnnbegmop (asp); !nnnnnnn nnnnnnncompress (&pg, ref_tid->tindex,n0); nnnn nnMJ_PUTBL ();*nnnnnnnnnnnnn nputpg (&pg, 'm'); !nnn nn modrec (&fullrn,npn,noldsize + size2b); nnnnnnnnnn } ! elod if (nordins (&dtuple_ref, CREM, oldsize,nnewsize,nnc) != 0) nnnn{ ! ndoindir (dtuple,nMIN_TUPLE_LENGTH, newsize,nnc);:!nnnnnnnnnnnnnnnpn = ref_tid->tpn; !nnnnnnnnnnnnnnnwhile ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n nnn n nnnbegmop (asp); !nnnnnnn nnnnnnncompress (&pg, ref_tid->tindex,n0); nnnn nnMJ_PUTBL ();*nnnnnnnnnnnnn nputpg (&pg, 'm'); !nnn nn modrec (&fullrn,npn,noldsize + size2b); nnnn} } } 21:38:33 1998 ******107,113 98 ** } n static int*! analoc (u2_t sn, u2_t pn, u2_t delta, struct A *pg, i4_t * idm, u2_t pfms) n{ nnn u2_t lind, fs; char *asp = NULL; -***113,119 ---- } n static int*! analoc (u2_t sn, u2_t pn, u2_t delta, struct A *pg, u2_t pfms) n{ nnn u2_t lind, fs; char *asp = NULL; 21:38:33 1998 ******120,160 98 ** nnnnputpg (pg, 'n');*nnnnnnnnreturn (-1); nnnnn} ! *idm = begmop (asp); if (fs < pfms) ! nnnrempbd (asp, sn, pn, *idm);*nnnnreturn (0);: } n int*! nordins (u2_t sn, i4_t rn,n:truct des_tid *tid, i4_t type, nnnnnnnnn u2_t oldsize,nu2_t newsize,nchar *nc) { nnnn:truct A pg; !nnnu2_t size, offloc, pn; nnni2_t delta;*nn delta = newsize - oldsize;: nnpn = tid->tpn; !nnnif ((:ize = getrec (:n, rn, pn,n&pg, &offloc)) >= (u2_t) delta) nnnnn{ ! nnnnnchar *asp, *a; !nnnnnnni4_t idm; ! nu2_t *ai, pnifam; nnnn:truct A pg_table; nnnn !nnn if (analoc (sn,npn,ndelta,n&pg_table,n&idm,nsize) != 0) { n nnBUF_unlock (sn,n1,n&pg.p_pn); nn nnreturn (-1); n } nn*nc = type; !nnnnnnnasp = pg_table.p_shm; !nnnnnnnai = (u2_t *) (asp + phsize)n+ tid->tindex; nnnn if (*ai == 0) ! inscort (sn,ntid, idm, asp, nc, newsize); nnelod ! nnnnnnnexspind (:n, tid, idm, asp, oldsize,nnewsize,nnc);: nnMJ_PUTBL ();*nnnnnnnnputpg (&pg_table,n'm'); pnifam = pg.p_pn; -***126,171u---- n putpg (pg, 'n');*nnnnnnnnreturn (-1); nnnnn} ! begmop (asp); if (fs < pfms) ! nnnrempbd (pg);*nnnnreturn (0);: } n int*! nordins (:truct full_des_tuple *dtuple,ni4_t type, nnnnnnnnn u2_t oldsize,nu2_t newsize,nchar *nc) { nnnn:truct A pg; !nnnu2_t size, offloc, sn, pn; nni2_t delta;*+nnn:truct des_tid *tid; + :truct id_ob fullrn; delta = newsize - oldsize;:+nnnsn = dtuple->sn_fdt; +n fullrn.segnum = sn;*+n fullrn.obnum = dtuple->rn_fdt; + tid = &dtuple->tid_fdt;: nnpn = tid->tpn; !nnnif ((:ize = getrec (&fullrn,npn,n&pg, &offloc)) >= (u2_t) delta) nnnnn{ ! nnnnnchar *a, *asp; ! nu2_t *ai, pnifam, ind; nnnnnnnn:truct A pg_table; nnnn !nnn if (analoc (sn,npn,ndelta,n&pg_table,nsize) != 0) { n nnBUF_unlock (sn,n1,n&pg.p_pn); nn nnreturn (-1); n } nn*nc = type; !nnnnnnnind = tid->tindex; !nnnnnnnai = (u2_t *) (pg_table.p_shm + phsize)n+ ind; nnnnnnnnif (*ai == 0) ! inscort (&pg_table,nind, nc, newsize); nnelod ! nnnnnnnexspind (&pg_table,nind, oldsize,nnewsize,nnc);: nnMJ_PUTBL ();*nnnnnnnnputpg (&pg_table,n'm'); pnifam = pg.p_pn; 21:38:33 1998 ******161,168 98 ** while (BUF_enfrece (sn, pnifam) < 0);: nnnnnnasp = getwl (&pg, sn, pnifam); nna = asp + offloc; !n nnnidm = begmop (asp); !nnnnnnnrecmjfoem (OLD, sn, pn, idm, offloc, size2b, a, 0); nn nnMJ_PUTBL ();*nnnnnnnnt2bpack (size - delta,na);*nnnnnnnnputpg (&pg, 'm'); -***172,179u---- n while (BUF_enfrece (sn, pnifam) < 0);: nnnnnnasp = getwl (&pg, sn, pnifam); nna = asp + offloc; !n nnnbegmop (asp); !nnnnnnnrecmjfoem (OLD, &pg, offloc, size2b, a, 0); nn nnMJ_PUTBL ();*nnnnnnnnt2bpack (size - delta,na);*nnnnnnnnputpg (&pg, 'm'); 21:38:33 1998 ******176,201 98 ** } void ! doindir (u2_t sn, i4_t rn,n:truct des_tid *tid, nnnnnnnnn u2_t oldsize,nu2_t newsize,nchar *nc) { !nnni4_t rep, idm; ! :truct d_r_t *desrel; char *a, *asp = NULL; !n u2_t cpn, pfms, *ai, pn;* n struct d_sc_i *scind; nnnn:truct ldesscan *disc;* n i2_t num; nnnn:truct A pg; :truct des_tid ref_tid; :!nnnfre (desrel = firstrel;ndesrel != NULL;ndesrel = desrel->drlist) !nnnnnif (desrel->desrbd.relnum == rn)*!nnnnnnnbreak; nn*nc = CREM; ! :cind = rel_scan (sn, rn,n(char *) desrel, &num, 0,nNULL,nNULL,n0, 0,nNULL);*nnnndisc = &scind->dessc;*!nnnpn = cpn = tid->tpn; rep = fgetnext (disc,n&cpn,n&pfms, FASTSCAN); while (rep != EOI && cpn != pn) nnnnrep = getnext (disc,n&cpn,n&pfms, FASTSCAN); -***187,224 ---- } n void ! doindir (:truct full_des_tuple *dtuple, nnnnnnnnn u2_t oldsize,nu2_t newsize,nchar *nc) { !nnni4_t rep; char *a, *asp = NULL; !n u2_t cpn, pfms, *ai, sn, pn, ind; nnnn:truct d_sc_i *scind; nnnn:truct ldesscan *disc;* n i2_t num; nnnn:truct A pg; :truct des_tid ref_tid; +nnni4_t rn; +nnn:truct id_rel idr; !nnnsn = dtuple->sn_fdt; !nnnidr.urn.segnum = sn;*!nnnrn = idr.urn.obnum = dtuple->rn_fdt; *nc = CREM; ! if (rn != RDRNUM) !nnnnn{ ! n:truct d_r_t *desrel; ! nnnfre (desrel = firstrel;ndesrel != NULL;ndesrel = desrel->drlist) !nnnnnnnnnif (desrel->desrbd.relnum == rn)*!nnnnnnnnnnn{:!nnnnnnnnnnnnnidr.pagenum = desrel->pn_r; ! n nidr.index = desrel->ind_r; !nnn nnnnnnnbreak; !n nnnnnn } ! nnnn} ! :cind = rel_scan (&idr.urn,nNULL,n&num, 0,nNULL,nNULL,n0, 0,nNULL);*nnnndisc = &scind->dessc;*!nnnpn = cpn = dtuple->tid_fdt.tpn; rep = fgetnext (disc,n&cpn,n&pfms, FASTSCAN); while (rep != EOI && cpn != pn) nnnnrep = getnext (disc,n&cpn,n&pfms, FASTSCAN); 21:38:33 1998 ******203,214 98 ** rep = getnext (disc,n&cpn,n&pfms, FASTSCAN); if (rep != EOI && pfms >= newsize) nnnn{ ! nif (analoc (sn,ncpn,n(i2_t) newsize,n&pg, &idm, pfms) == 0) nnnnnnnnnn{ nnnnnnnnn nu2_t nind = 0, lind; !n nnnnnn asp = pg.p_shm; !nnnnnnnnnnnai = (u2_t *) (asp + phsize);*!nnnnnnnnnnnlind = ((:truct page_head *) asp)->lastin; nn nnnnnnnnwhile ((nind <=nlind) && (*ai != 0)) nnnnnnnnnnnnnn{:nnnnnnnnnnnnn nCHECK_PG_ENTRY(ai);*-***226,237u---- n rep = getnext (disc,n&cpn,n&pfms, FASTSCAN); if (rep != EOI && pfms >= newsize) nnnn{ ! nif (analoc (sn,ncpn,n(i2_t) newsize,n&pg, pfms) == 0) nnnnnnnnnn{ nnnnnnnnn nu2_t nind = 0, lind; !n !nnnnnnnnnnnai = (u2_t *) (pg.p_shm + phsize);*!nnnnnnnnnnnlind = ((:truct page_head *) pg.p_shm)->lastin; nn nnnnnnnnwhile ((nind <=nlind) && (*ai != 0)) nnnnnnnnnnnnnn{:nnnnnnnnnnnnn nCHECK_PG_ENTRY(ai);*21:38:33 1998 ******217,223 98 ** }*nnnnnnnnnnnnref_tid.tpn = cpn;*nnnnnnnnnnnnref_tid.tindex = nind; !n nnnnnn inscort (sn,n&ref_tid, idm, asp, nc, newsize); nn nnMJ_PUTBL ();*nnnnnnnnnnnnputpg (&pg, 'm'); modcur (disc,npfms - newsize - size2b); -***240,246*---- n }*nnnnnnnnnnnnref_tid.tpn = cpn;*nnnnnnnnnnnnref_tid.tindex = nind; !n nnnnnn inscort (&pg, nind, nc, newsize); nn nnMJ_PUTBL ();*nnnnnnnnnnnnputpg (&pg, 'm'); modcur (disc,npfms - newsize - size2b); 21:38:33 1998 ******225,231 98 ** elod nnnnnnnnn{:nnnnnnnnnnnnBUF_unlock (sn,n1,n&disc->curlpn); !nnnnnnnnnnnref_tid = ordins (:n, rn, nc, newsize, 'n');*nnnnnnnnnn} } nnelod -***248,254 ---- elod nnnnnnnnn{:nnnnnnnnnnnnBUF_unlock (sn,n1,n&disc->curlpn); !nnnnnnnnnnnref_tid = ordins (&idr,nnc, newsize, 'n');*nnnnnnnnnn} } nnelod 21:38:33 1998 ******232,245 98 ** nn{: n if (rep != EOI) nnnnnnnnnnBUF_unlock (sn,n1,n&disc->curlpn); !nnnnnnnref_tid = ordins (:n, rn, nc, newsize, 'n');*nnnnnn} nndelscan (num); !nnnwhile ((asp = getpg (&pg, sn, tid->tpn, 'x')) == NULL);:!n idm = begmop (asp); if (oldsize > MIN_TUPLE_LENGTH) !nnnnncompress (sn, tid, idm, asp, oldsize,nMIN_TUPLE_LENGTH);:!nnnai = (u2_t *) (asp + phsize)n+ tid->tindex; nnnna = asp + *ai; *a++ = IND;*nnnnt2bpack (ref_tid.tindex,na); -***255,269 ---- { nn if (rep != EOI) nnnnnnnnnnBUF_unlock (sn,n1,n&disc->curlpn); !nnnnnnnref_tid = ordins (&idr,nnc, newsize, 'n');*nnnnnn} nndelscan (num); !nnnwhile ((asp = getpg (&pg, sn, pn, 'x')) == NULL);:!n begmop (asp); !nnnind = dtuple->tid_fdt.tindex; if (oldsize > MIN_TUPLE_LENGTH) !nnnnncompress (&pg, ind, MIN_TUPLE_LENGTH);:!nnnai = (u2_t *) (asp + phsize)n+ ind; nnnna = asp + *ai; *a++ = IND;*nnnnt2bpack (ref_tid.tindex,na); diff -rc gnusql-0.7b5.3/src/engine/trans/page_op.c*gnusql-0.7b6.0/src/engine/trans/page_op.c*****gnusql-0.7b5.3/src/engine/trans/page_op.c Mon Apr 28 13:53:01*1997 -***gnusql-0.7b6.0/src/engine/trans/page_op.c Wed May 20 01:52:43*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: page_op.c,v 1.245*1997/03/31 03:46:38*kml Exp $ */ n #include "setup_os.h" #include -***26,32 ---- ** */ n ! /* $Id: page_op.c,v 1.251*1998/05/20*05:52:43*kml Exp $ */ n #include "setup_os.h" #include 21:38:33 1998 ******81,87 98 ** nnTUPACK(rbuf.mtext, keyseg); if (keyseg == BACKUP) nnnnreturn (NULL);:!n if (keyseg == NO_SUCH_SEG) nnnn{: n fprintf (stderr,n"TRN.getpg: No such segment seg_num = %d\n", sn);*nnnnnnnn/* nnnnreturn (NULL);*/ -***81,87 ---- TUPACK(rbuf.mtext, keyseg); if (keyseg == BACKUP) nnnnreturn (NULL);:!n if (keyseg == -ER_NO_SUCH_SEG) nnnn{: n fprintf (stderr,n"TRN.getpg: No such segment seg_num = %d\n", sn);*nnnnnnnn/* nnnnreturn (NULL);*/ 21:38:33 1998 ******170,196 98 ** return (shm);: } n ! void ! putpg (struct A *ppage,ni4_t type) { nnnn:truct msg_buf sbuf; - u2_t sn; - - sn = ppage->p_sn; - if (sn == NRSNUM) - nnnn{:-nnnnnnnputwul (ppage,ntype);:-nnnnnnnreturn;:-nnnnn} - sbuf.mtype = PUTUNL;:-nnnput_page (ppage,ntype, &sbuf);:-nnncost += 1; - - } - - void -nput_page (struct A *ppage,nchar type,n:truct msg_buf *sbuf) -n{ char *asp, *p; u2_t sn, pn; n -***170,179u---- n return (shm);: } n ! static void ! detach_page (struct A *ppage,nchar type,int msgtype) { nnnn:truct msg_buf sbuf; char *asp, *p; u2_t sn, pn; n 21:38:33 1998 ******197,217 98 ** nnasp = ppage->p_shm; nnnnsn = ppage->p_sn; nnpn = ppage->p_pn; !nnnp = sbuf->mtext; !nnnBUFPACK (trnum, p); !nnnBUFPACK (sn, p); !nnnBUFPACK (pn, p); nnnnif (type == 'm') nnnn{ ! nif (sn != NRSNUM) { ! BUFPACK(admj, p); !n ((:truct p_head *) asp)->csum = CCS (asp); } nnelod n {:! bzero(p,size4b); !n p += size4b; n } nn*p = (char) PRMOD; } -***180,198u---- n asp = ppage->p_shm; nnnnsn = ppage->p_sn; nnpn = ppage->p_pn; !nnn !nnnCOOKMSG(msgtype,p); nnnnif (type == 'm') nnnn{ ! nif (sn == NRSNUM) { ! nnnnnnnnnnperrre ("TRN.put_page:nsn = NRSNUM"); !nnnnnnnnnnnexit (1); } nnelod n {:! BUFPACK(admj, p); !n ((:truct p_head *) asp)->csum = CCS (asp); } nn*p = (char) PRMOD; } 21:38:33 1998 ******221,245 98 ** nn p += size4b; n nn*p = (char) PRNMOD; } !nnn__MSGSND(msqidb, sbuf, 5 * size2b + 1, 0,"TRN.msgsnd: PUTPAGE to BUF"); !nnn__MSGRCV(msqidb, sbuf, sizeof (i4_t),ntrnum, 0, n "TRN.msgrcv: PUTPAGE from BUF"); nnnnshmdt (asp); N_AT_SEG--; } n void ! putwul (struct A *ppage,ni4_t type) { !nnn:truct msg_buf sbuf; !nnn:buf.mtype = PUTPAGE; !nnnput_page (ppage,ntype, &sbuf);:!nnncost += 1; } n - #define N_unlock (SZMSGBUF-3*size2b)/size2b - : void nnBUF_unlock (u2_t sn, u2_t lnum, u2_t * mpn) { -***202,233 ---- n p += size4b; n nn*p = (char) PRNMOD; } !nnn__MSGSND(msqidb, &sbuf, 5 * size2b + 1, 0,"TRN.msgsnd: PUTPAGE to BUF"); !nnn__MSGRCV(msqidb, &sbuf, sizeof (i4_t),ntrnum, 0, n "TRN.msgrcv: PUTPAGE from BUF"); nnnnshmdt (asp); +nnnppage->p_shm = NULL; nnnnN_AT_SEG--; +nnncost++; } n void ! putpg (struct A *ppage,ni4_t type) { !nnnif (ppage->p_sn == NRSNUM) !nnnnn{ ! nperrre ("TRN.putpg: sn = NRSNUM"); !nnnnnnnexit (1); ! nnnn} ! detach_page (ppage,ntype,PUTUNL); ! } n ! void ! putwul (struct A *ppage,ni4_t type) !n{ ! detach_page (ppage,ntype,PUTPAGE); } n void nnBUF_unlock (u2_t sn, u2_t lnum, u2_t * mpn) { 21:38:33 1998 ******246,252 98 ** :truct msg_buf sbuf,rbuf; u2_t *p; u2_t i = 0; ! nnu2_t n = N_unlock,ncount = 0; if (lnum == 0) nnnnreturn; -***234,240u---- n :truct msg_buf sbuf,rbuf; u2_t *p; u2_t i = 0; ! nnu2_t n,ncount = 0; if (lnum == 0) nnnnreturn; 21:38:33 1998 ******254,259 98 **-***242,248u---- n p = (u2_t *) sbuf.mtext; BUFPACK(trnum,p); BUFPACK(sn,p); +nnnn = (SZMSGBUF-sizeof(trnum)-sizeof(sn)-sizeof(n))/size2b;*nnnndo nnnn{: n p = (u2_t *) sbuf.mtext + 2;n 21:38:33 1998 ******270,276 98 ** while (count < lnum);: } n ! int* BUF_lockpage (u2_t sn, u2_t pn, i4_t type) { nnnn:truct msg_buf sbuf; -***259,265u---- n while (count < lnum);: } n ! i4_t* BUF_lockpage (u2_t sn, u2_t pn, i4_t type) { nnnn:truct msg_buf sbuf; 21:38:33 1998 ******290,296 98 ** return (0);: } n ! int* BUF_enfrece (u2_t sn, u2_t pn) { nnnn:truct msg_buf sbuf; -***279,285u---- n return (0);: } n ! i4_t* BUF_enfrece (u2_t sn, u2_t pn) { nnnn:truct msg_buf sbuf; diff -rc gnusql-0.7b5.3/src/engine/trans/proind.c*gnusql-0.7b6.0/src/engine/trans/proind.c*****gnusql-0.7b5.3/src/engine/trans/proind.c Mon Apr 28 13:53:02*1997 -***gnusql-0.7b6.0/src/engine/trans/proind.c Thu May 8 08:26:58*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: proind.c,v 1.246*1997/03/31 11:04:21*kml Exp $ */ n #include "destrn.h" #include "strml.h" -***26,32 ---- ** */ n ! /* $Id: proind.c,v 1.247*1997/05/08*12:26:58*vera Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******35,50 98 ** u2_t* proind (i4_t (*f) (),n:truct d_r_t *desrel, u2_t cinum, char *cort, :truct des_tid *tid) { !nnnu2_t n,nfdf; nnnnstruct ldesind *desind; ! char a[BD_PAGESIZE]; desind = desrel->pid; -nnnfdf = desrel->desrbd.fdfnum; nnnnfre (n = 0; desind != NULL && n != cinum; desind = desind->listind, n++) { ! nkeyfoem (desind, fdf, a, cort);:!nnnnnnnif ((*f) (desind, a, tid) != OK) return (n);*nnnn } return (n); -***35,49u---- nu2_t* proind (i4_t (*f) (),n:truct d_r_t *desrel, u2_t cinum, char *cort, :truct des_tid *tid) { !nnnu2_t n; nnnnstruct ldesind *desind; ! char mas[BD_PAGESIZE]; desind = desrel->pid; nnnnfre (n = 0; desind != NULL && n != cinum; desind = desind->listind, n++) { ! nkeyfoem (desind, mas, cort);:!nnnnnnnif ((*f) (desind, mas, tid) != OK) return (n);*nnnn } return (n); 21:38:33 1998 ******51,70 98 ** } u2_t*! mproind (:truct d_r_t *desrel, u2_t cinum, char *cort, char *newc, :truct des_tid *tid) { !nnnu2_t n,nk; nnnnstruct ldesind *desind; ! char a[BD_PAGESIZE]; desind = desrel->pid; -nnnk = desrel->desrbd.fdfnum; nnnnfre (n = 0; desind != NULL && n != cinum; desind = desind->listind, n++) { ! nkeyfoem (desind, k, a, cort);:!nnnnnnnordindd (desind, a, tid); ! nkeyfoem (desind, k, a, newc);:!nnnnnnnif (ordindi (desind, a, tid) != OK) return (n);*nnnn } return (n); -***50,69 ---- } n u2_t*! mproind (:truct d_r_t *desrel, u2_t cinum, char *cort, !nnnnnnnnnnchar *newc, :truct des_tid *tid) { !nnnu2_t n; nnnnstruct ldesind *desind; ! char mas[BD_PAGESIZE]; desind = desrel->pid; nnnnfre (n = 0; desind != NULL && n != cinum; desind = desind->listind, n++) { ! nkeyfoem (desind, mas, cort);:!nnnnnnnordindd (desind, mas, tid); ! nkeyfoem (desind, mas, newc);:!nnnnnnnif (ordindi (desind, mas, tid) != OK) return (n);*nnnn } return (n); Only in*gnusql-0.7b6.0/src/engine/trans: push.c*Only in*gnusql-0.7b6.0/src/engine/trans: puts.c*Only in*gnusql-0.7b6.0/src/engine/trans: quicksrt.c*diff -rc gnusql-0.7b5.3/src/engine/trans/rdcort.c*gnusql-0.7b6.0/src/engine/trans/rdcort.c*****gnusql-0.7b5.3/src/engine/trans/rdcort.c Mon Apr 28 13:53:02*1997 -***gnusql-0.7b6.0/src/engine/trans/rdcort.c Thu May 8 08:26:58*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: rdcort.c,v 1.248*1997/04/15 11:45:41 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***26,32 ---- ** */ n ! /* $Id: rdcort.c,v 1.249*1997/05/08*12:26:58*vera Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******33,75 98 ** #include "fdcltrn.h" #include "xmem.h" ! int*! readcort (u2_t sn, :truct des_tid *tid, char *cort, !nnnnnnnnnn u2_t * corsize,n:truct des_tid *ref_tid) { ! char *asp = NULL, *a; !nnnu2_t *afi, *ai; nnnn:truct A pg; -n unsignednchar t;: n while ((asp = getpg (&pg, sn, tid->tpn, 's')) == NULL);:!n afi = (u2_t *) (asp + phsize);*!nnnai = afin+ tid->tindex; !nnnif (*ai == 0) ! { ! nputpg (&pg, 'n'); !nnnnnnnreturn (NCR); ! nnnn} ! a = asp + *ai; !nnnt = *a & MSKCORT; !nnnif (t == IND) !nnnnn{ /* indirect reference */ !n u2_t pn2, ind2; !nnnnnnnref_tid->tindex = ind2 = t2bunpack (a + 1);:!nnnnnnnref_tid->tpn =npn2 = t2bunpack (a + 1 + size2b); !nnn putpg (&pg, 'n'); !nnnnnnnwhile ((asp = getpg (&pg, sn, pn2, 's')) == NULL);:!n nnnafi = (u2_t *) (asp + phsize);*!nnn nai = afin+ ind2; !nnnnnnna = asp + *ai; !nnn nnassert ((*a & CREM) != 0 && *ai != 0); ! nnnn} ! elod ! nnnref_tid->tpn =n(u2_t) ~ 0;:!nnn*corsize = calsc (afi, ai);*!nnnbcopy (a, cort, *corsize);*nnnnputpg (&pg, 'n'); !nnnreturn (OK);: } n u2_t*-***33,50 ---- #include "fdcltrn.h" #include "xmem.h" ! u2_t*! readcort (u2_t sn, :truct des_tid *tid, char *cort,n:truct des_tid *ref_tid) { ! char *asp = NULL, *tuple;:!nnnu2_t corsize; nn:truct A pg; while ((asp = getpg (&pg, sn, tid->tpn, 's')) == NULL);:!n GET_IND_REF();nn/* indirect reference */ !n bcopy (tuple,ncort, corsize);*nnnnputpg (&pg, 'n'); !nnnreturn (corsize);*nn} n u2_t*diff -rc gnusql-0.7b5.3/src/engine/trans/reclj.c*gnusql-0.7b6.0/src/engine/trans/reclj.c*****gnusql-0.7b5.3/src/engine/trans/reclj.c Mon Apr 28 13:53:02*1997 -***gnusql-0.7b6.0/src/engine/trans/reclj.c Sun Jul 20 13:00:57*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: reclj.c,v 1.246*1997/04/10 06:57:28 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***26,32 ---- ** */ n ! /* $Id: reclj.c,v 1.247*1997/07/20*17:00:57*vera Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******75,84 98 ** a += size2b; nnnnnnnnt2bpack (idr->index,na); nnnn nnna += size2b; !nnn t2bpack (tid->tpn, a);:!nnnnnnna += size2b; !nnn t2bpack (tid->tindex,na); ! a += size2b; nnnnnnnnLJ_put (PUTREC);*nnnn } } -***75,87u---- n a += size2b; nnnnnnnnt2bpack (idr->index,na); nnnn nnna += size2b; !nnn if (idr->urn.obnum != RDRNUM) !nnnnnnnnn{ ! nnnnnnnnnnt2bpack (tid->tpn, a);:!nnnnnnnnnnna += size2b; !nnn t2bpack (tid->tindex,na); ! nnnna += size2b; !nnn } nnnnnnnnLJ_put (PUTREC);*nnnn } } diff -rc gnusql-0.7b5.3/src/engine/trans/recmj.c*gnusql-0.7b6.0/src/engine/trans/recmj.c*****gnusql-0.7b5.3/src/engine/trans/recmj.c Mon Apr 28 13:53:02*1997 -***gnusql-0.7b6.0/src/engine/trans/recmj.c Sun Jul 20 13:00:57*1997 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: recmj.c,v 1.246*1997/04/15 11:45:41 vera Exp $ */ n #include "destrn.h" #include "strml.h" -***26,32 ---- ** */ n ! /* $Id: recmj.c,v 1.247*1997/07/20*17:00:57*vera Exp $ */ n #include "destrn.h" #include "strml.h" 21:38:33 1998 ******50,60 98 ** extern char *pbufmj; void ! recmjfoem (i4_t type, u2_t sn, u2_t pn, i4_t idm, u2_t off, u2_t fs, char *af, i2_t shsize) { u2_t size; char *a; size = adjsize + 1 + size4b + 4 * size2b; nnnnif (type != OLD) nnnnnsize += size2b; -***50,62 ---- extern char *pbufmj; void ! recmjfoem (i4_t type, struct A *pg, u2_t off, u2_t fs, char *af, i2_t shsize) { u2_t size; char *a; +nnni4_t idm; +nnnidm = ((:truct p_head *) pg->p_shm)->idmod; nnnnsize = adjsize + 1 + size4b + 4 * size2b; nnnnif (type != OLD) nnnnnsize += size2b; 21:38:33 1998 ******72,80 98 ** *a++ = type; t4bpack (idm,na); nnnna += size4b; !nnnt2bpack (sn,na); nnnna += size2b; !nnnt2bpack (pn,na); nnnna += size2b; t2bpack (off, a); nnnna += size2b; -***74,82 ---- *a++ = type; t4bpack (idm,na); nnnna += size4b; !nnnt2bpack (pg->p_sn, a); nnnna += size2b; !nnnt2bpack (pg->p_pn,na); nnnna += size2b; t2bpack (off, a); nnnna += size2b; 21:38:33 1998 ******98,110 98 ** pbufmj = a;*nn} n ! i4_t* begmop (char *asp) { -nnni4_t idm; nnbeg_mop ();:!n idm = ++((:truct p_head *) asp)->idmod; !nnnreturn (idm);*nn} n void -***100,111u---- n pbufmj = a;*nn} n ! void nnbegmop (char *asp) { nnbeg_mop ();:!n ++((:truct p_head *) asp)->idmod; !nnnreturn;*nn} n void Only in*gnusql-0.7b6.0/src/engine/trans: rkfrm.c*diff -rc gnusql-0.7b5.3/src/engine/trans/rllbck.c*gnusql-0.7b6.0/src/engine/trans/rllbck.c*****gnusql-0.7b5.3/src/engine/trans/rllbck.c Mon Apr 28 13:53:03*1997 -***gnusql-0.7b6.0/src/engine/trans/rllbck.c Wed May 20 01:52:44*1998 21:38:33 1998 ******25,31 98 ** ** */ n ! /* $Id: rllbck.c,v 1.247*1997/04/15 11:45:41 vera Exp $ */ n #include "xmem.h" #include "destrn.h" -***25,31 ---- ** */ n ! /* $Id: rllbck.c,v 1.251*1998/05/20*05:52:44*kml Exp $ */ n #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******44,50 98 ** extern char *pbuflj; extern i4_t IAMM; n ! int* roll_back (i4_t cpn) { nnif (cpn < 0 || IAMM == 0) -***44,50 ---- extern char *pbuflj; extern i4_t IAMM; n ! i4_t* roll_back (i4_t cpn) { nnif (cpn < 0 || IAMM == 0) 21:38:33 1998 ******55,67 98 ** nnnnnnreturn (OK);: } nnelod !nnnnnreturn (NCF); } n void nnrllbck (CPNMncpn,nstruct ADBL cadlj) { !nnnu2_t sctype, n, corsize,npnr, indr, sn;* nn:truct d_r_t *desrel, *prdr; nnstruct ldesind *di, *prdi;* nn:truct d_mesc *scpr; -***55,67 ---- n return (OK);: } nnelod !nnnnnreturn (-ER_NCF); } n void nnrllbck (CPNMncpn,nstruct ADBL cadlj) { !nnnu2_t sctype, n, corsize,nsn;* nn:truct d_r_t *desrel, *prdr; nnstruct ldesind *di, *prdi;* nn:truct d_mesc *scpr; 21:38:33 1998 ******70,75 98 **-***70,77u---- n :truct des_tid tid; char *b,ntype, **t, *a; i4_t rn,nordrn, cidtr; +nnn:truct id_rel idr; +nnn:truct full_des_tuple dtuple; char mch[2*BD_PAGESIZE]; fre (; cadlj.cm != 0;) 21:38:33 1998 ******95,115 98 ** } nnelod n {:! nnnnnnnnnn:truct id_rel idr; ! nnidr.urn.segnum = sn = t2bunpack (a);*nn nna += size2b; !n nnidr.urn.obnum = rn = t4bunpack (a);*nn nna += size4b; !n nnidr.pagenum = pnr = t2bunpack (a);*nn nna += size2b; !n nnidr.index = indr = t2bunpack (a);*nn nna += size2b; - tid.tpn = t2bunpack (a);*-n nna += size2b; - tid.tindex = t2bunpack (a);*-n nna += size2b; n if (rn != RDRNUM) nnnn{ nfre (desrel = firstrel;ndesrel != NULL;ndesrel = desrel->drlist) if (desrel->desrbd.relnum == rn)* nnbreak; -***97,117u---- n } nnelod n {:! nnnnnnnnnn ! nnidr.urn.segnum = dtuple.sn_fdt = sn = t2bunpack (a);*nn nna += size2b; !n nnidr.urn.obnum = dtuple.rn_fdt = rn = t4bunpack (a);*nn nna += size4b; !n nnidr.pagenum = t2bunpack (a);*nn nna += size2b; !n nnidr.index = t2bunpack (a);*nn nna += size2b; n if (rn != RDRNUM) nnnn{ +nnnnnnnnnnnn ntid.tpn = t2bunpack (a);*+nnnnnnnnnnnn na += size2b; +nnnnnnnnnnnn ntid.tindex = t2bunpack (a);*+nnnnnnnnnnnn na += size2b; nfre (desrel = firstrel;ndesrel != NULL;ndesrel = desrel->drlist) if (desrel->desrbd.relnum == rn)* nnbreak; 21:38:33 1998 ******117,145 98 ** errre ("TR.rllbck: The correspondentndesrel is absent\n"); nnnn} nnelod !n desrel = NULL; nn nnn = bllj.razm - ljmsize; bcopy (a, mch, n);*nn nna = mch;*nn nnwmlj (RLBLJ_AS_OP, ljrsize,n&cadlj,n&idr,n&tid, 0);:nn nnif (type == DELLJ) nnnn{ ! nredo_insrtn (sn, desrel, rn,n&tid, n,na); nn nnnn} nnelodnif (type == INSLJ) nnnn{ ! nredo_dltn (sn, desrel, rn,n&tid, n,na); nn nnnn} - nnelodnif (type == DLILJ) - nnnn{ /* nead to create this index */ - nredo_cind (a, n, sn, pnr, indr, &tid); - nnnn} nnelod nnnn{ nnnnnnnnnnnnnn:truct des_tid ref_tid; nnnnnncor:ize = get_placement (sn,n&tid, &ref_tid); nnnnnnn -= corsize; ! nordmod (:n, rn,n&tid, &ref_tid, corsize,na, n);*nn nn if (rn != RDRNUM) { n nnb = a + n; -***119,148u---- n errre ("TR.rllbck: The correspondentndesrel is absent\n"); nnnn} nnelod !nnnnnnnnnnnnn{:!nnnnnnnnnnnnnnntid.tpn = idr.pagenum;:!nnnnnnnnnnnnnnntid.tindex = idr.index;:!nnnnnnnnnnnnnnndesrel = NULL; !n }*nn nnn = bllj.razm - ljmsize; bcopy (a, mch, n);*nn nna = mch;*nn nnwmlj (RLBLJ_AS_OP, ljrsize,n&cadlj,n&idr,n&tid, 0);:+nnnnn dtuple.tid_fdt = tid; nnif (type == DELLJ) nnnn{ ! nredo_insrtn (&dtuple,ndesrel, n,na); nn nnnn} nnelodnif (type == INSLJ) nnnn{ ! nredo_dltn (&dtuple,ndesrel, a); nn nnnn} nnelod nnnn{ nnnnnnnnnnnnnn:truct des_tid ref_tid; nnnnnncor:ize = get_placement (sn,n&tid, &ref_tid); nnnnnnn -= corsize; ! nordmod (&dtuple,n&ref_tid, corsize,na, n);*nn nn if (rn != RDRNUM) { n nnb = a + n; 21:38:33 1998 ******154,163 98 ** nnerrre ("TR.rllbck: The correspondentndesrel is absent\n"); nnif (type == CRILJ) nnnn{ /* nead to delete this index */ ! nnnn nredo_dind (desrel, a + n); nnnn} nnelodnif (type == ADFLJ) ! nnnn{ /*nead to delete this fields */ n nnnn ndrbdunpack (&drbd, a + scscal (a)); nnnn desrel->desrbd.fieldnum = drbd.fieldnum; nnnn} -***157,170u---- n nnerrre ("TR.rllbck: The correspondentndesrel is absent\n"); nnif (type == CRILJ) nnnn{ /* nead to delete this index */ ! nnnn nredo_dind (desrel, a); nnnn} +nnnnnnnnnnnn n nnelodnif (type == DLILJ) +nnnnnnnnnnnn n nnnn{ /* nead to create this index */ +nnnnnnnnnnnn n nnnn nredo_cind (desrel, a); +nnnnnnnnnnnn n nnnn} nnelodnif (type == ADFLJ) ! nnnn{ /*nead to delete theodnfields */ n nnnn ndrbdunpack (&drbd, a + scscal (a)); nnnn desrel->desrbd.fieldnum = drbd.fieldnum; nnnn} diff -rc gnusql-0.7b5.3/src/engine/trans/rllbfn.c*gnusql-0.7b6.0/src/engine/trans/rllbfn.c*****gnusql-0.7b5.3/src/engine/trans/rllbfn.c Mon Apr 28 13:53:03*1997 -***gnusql-0.7b6.0/src/engine/trans/rllbfn.c Sun Jul 20 13:00:57*1997 21:38:33 1998 ******25,31 98 ** ** */ n ! /* $Id: rllbfn.c,v 1.249*1997/04/17u11:03:20 vera Exp $ */ n #include "xmem.h" #include "destrn.h" -***25,31 ---- ** */ n ! /* $Id: rllbfn.c,v 1.252*1997/07/20*17:00:57*vera Exp $ */ n #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******47,66 98 ** */ n void ! redo_dltn (u2_t sn, :truct d_r_t *desrel, i4_t rn, !n :truct des_tid *tid, u2_t n,nchar *a) { nni4_t ordrn; -n :truct des_tid ref_tid; :!nnnref_tid.tpn = (u2_t) ~ 0;:!nnnorddel (:n, rn, tid, &ref_tid, n); ! if (rn != RDRNUM) nnnnn{ ! nnnnnproind (ordindd,ndesrel, desrel->desrbd.indnum, a, tid); nnnnnnnreturn;: } !nnn/* elodn*/ n ordrn = t4bunpack (a + scscal (a)); nnnnnn nnnn/* find relation descriptre */ -***47,63 ---- n */ n void ! redo_dltn (:truct full_des_tuple *dtuple,n:truct d_r_t *desrel, char *a) { nni4_t ordrn; :!nnnorddel (dtuple); ! if (dtuple->rn_fdt != RDRNUM) nnnnn{ ! nnnnnproind (ordindd,ndesrel, desrel->desrbd.indnum, a, &dtuple->tid_fdt); nnnnnnnreturn;: } !nnn/* elodnnfre RDRNUMn*/ n ordrn = t4bunpack (a + scscal (a)); nnnnnn nnnn/* find relation descriptre */ 21:38:33 1998 ******101,113 98 ** */ n void ! redo_insrtn (u2_t sn, :truct d_r_t *desrel, i4_t rn, !n :truct des_tid *tid, i2_t n,nchar *a) { ! if (nordins (:n, rn, tid, CORT, MIN_TUPLE_LENGTH, n, a) != 0) ! ndoindir (:n, rn, tid, MIN_TUPLE_LENGTH, n,na); ! if (rn != RDRNUM) !nnnnnproind (ordindi,ndesrel, desrel->desrbd.indnum, a, tid); nnnelod nnnnn{ nnnnnnni4_t ordrn; -***98,110 ---- n */ n void ! redo_insrtn (struct full_des_tuple *dtuple,n:truct d_r_t *desrel, !n i2_t n,nchar *a) { ! if (nordins (dtuple,nCORT, MIN_TUPLE_LENGTH, n, a) != 0) ! ndoindir (dtuple,nMIN_TUPLE_LENGTH, n,na); ! if (dtuple->rn_fdt != RDRNUM) !nnnnnproind (ordindi,ndesrel, desrel->desrbd.indnum, a, &dtuple->tid_fdt); nnnelod nnnnn{ nnnnnnni4_t ordrn; 21:38:33 1998 ******116,125 98 ** nn :truct id_rel idr; nnnnnn nnnn n ordrn = t4bunpack (a + scscal (a)); !n nidr.urn.segnum = sn;* n nidr.urn.obnum = ordrn; !nnnnnnnidr.pagenum = tid->tpn; !nnn nnnidr.index = tid->tindex; nnnn desrel1 = crtfrd (&idr,na); nnnn nnnfre (di = desrel1->pid; di != NULL;ndi = di->listind) crindci (di);*-***113,122 ---- n :truct id_rel idr; nnnnnn nnnn n ordrn = t4bunpack (a + scscal (a)); !n nidr.urn.segnum = dtuple->sn_fdt; n nidr.urn.obnum = ordrn; !nnnnnnnidr.pagenum = dtuple->tid_fdt.tpn; !nnn nnnidr.index = dtuple->tid_fdt.tindex; desrel1 = crtfrd (&idr,na); nnnn nnnfre (di = desrel1->pid; di != NULL;ndi = di->listind) crindci (di);*21:38:33 1998 ******188,219 98 ** */ n void ! redo_cind (char *a, i2_t n,nu2_t sn, u2_t pnr, !n u2_t indr, struct des_tid *tid) { nnstruct ldesind *di; char *tuple; struct des_index desind; ! :truct d_r_t *desrel; ! u2_t kn = 0, :ize = 0, indn, i, corsize; ! nni4_t ordrn; !n :truct des_tid ref_tid; - ordrn = t4bunpack (a + scscal (a)); - nfre (desrel = firstrel;nndesrel != NULL;ndesrel = desrel->drlist) -nnnnnif (desrel->desrbd.relnum == ordrn):-nnnnnnnbreak; -nnnif (desrel == NULL) - nnnn{:-nnnnnnn:truct id_rel idr; -n nidr.urn.segnum = sn;*-n nidr.urn.obnum = ordrn; -nnnnnnnidr.pagenum = pnr; -nnnnnnnidr.index = indr; -nnnnnnndesrel = crtfrd (&idr,na); -nnnnn} - cor:ize = get_placement (sn,ntid, &ref_tid); - na += corsize; nntuple = a;*nnnna = INDEX_PTR(tuple,desrel); nnnnindn = desrel->desrbd.indnum + 1;n/* we expect creation of only one index */ -***185,197 ---- n */ n void ! redo_cind ( n:truct d_r_t *desrel, char *a) { nnstruct ldesind *di; char *tuple; struct des_index desind; ! u2_t kn = 0, :ize = 0, indn, i; nntuple = a;*nnnna = INDEX_PTR(tuple,desrel); nnnnindn = desrel->desrbd.indnum + 1;n/* we expect creation of only one index */ 21:38:33 1998 ******237,244 98 ** crtid (di,ndesrel); nnnncrindci (di);*nn desrel->desrbd.indnum++; -nnnn -= corsize; - nordmod (:n, RDRNUM, tid, &ref_tid, corsize,ntuple,nn);*nnnnfill_ind (desrel, di);*nn} n -***215,220 ---- 21:38:33 1998 ******245,276 98 ** u2_t* get_placement (u2_t sn, :truct des_tid *tid, :truct des_tid *ref_tid) { ! char *a, *asp = NULL; !n u2_t *afi, *ai, corsize; nn:truct A pg; -n unsignednchar t;: n while ((asp = getpg (&pg, sn, tid->tpn, 's')) == NULL);:!n afi = (u2_t *) (asp + phsize);*!nnnai = afin+ tid->tindex; !nnna = asp + *ai; !nnnt = *a & MSKCORT; !nnnif (t == IND) !nnnnn{ /* indirect reference */ !n u2_t pn2, ind2; !nnnnnnnind2 = t2bunpack (a + 1);:!nnnnnnnpn2 = t2bunpack (a + 1 + size2b); !nnn putpg (&pg, 'n'); !nnnnnnnwhile ((asp = getpg (&pg, sn, pn2, 's')) == NULL);:!n nnnafi = (u2_t *) (asp + phsize);*!nnn nai = afin+ ind2; !nnnnnnnassert (*ai != 0); ! nnnnnnref_tid->tpn =npn2; !nnnnnnnref_tid->tindex = ind2; ! nnnn} ! elod ! nnnref_tid->tpn =n(u2_t) ~ 0;:!nnncorsize = calsc (afi, ai);* putpg (&pg, 'n'); nnnreturn (corsize);*nn} -***221,232 ---- u2_t* get_placement (u2_t sn, :truct des_tid *tid, :truct des_tid *ref_tid) { ! char *tuple,n*asp = NULL; !n u2_t corsize; nn:truct A pg; while ((asp = getpg (&pg, sn, tid->tpn, 's')) == NULL);:!n GET_IND_REF();nn/* indirect reference */ putpg (&pg, 'n'); nnnreturn (corsize);*nn} 21:38:33 1998 ******293,327 98 ** void nnfill_ind (:truct d_r_t *desrel, struct ldesind *desind) { ! char *c = NULL, *cort; !n u2_t *ai, *afi, *ali, ind; nnnn:truct A inpg; :truct d_sc_i *scind; nnnn:truct ldesscan *disc;*- u2_t sn, pn, size, fdf; nnnni2_t num; nnnni4_t rep; :truct des_tid tid; struct ldesind *di, *prevdi; char mas[BD_PAGESIZE]; sn = desrel->segnr; !nnnfdf = desrel->desrbd.fdfnum; ! :cind = rel_scan (sn, desrel->desrbd.relnum,n(char *) desrel, &num, 0,nNULL,nNULL,n0, 0,nNULL);*nnnndisc = &scind->dessc;* rep = fgetnext (disc,n&pn,n&size, FASTSCAN); ! fre (; rep != EOI;) nnnnn{ ! nnnnnwhile ((c = getpg (&inpg, sn, pn, 's')) == NULL);:!n nnnafi = (u2_t *) (c + phsize);*!nnn nali = afin+ ((:truct page_head *) c)->lastin; nn nnnntid.tpn = pn; !nnn nnnfre (ai = afi,nind = 0;nai <=nali;nai++,nind++) if (*ai != 0 && CHECK_PG_ENTRY(ai)) nn{ tid.tindex = ind; ! nnnncort = c + *ai; !n nkeyfoem (desind, fdf, mas, cort);: ordindi (desind, mas, &tid); nn}*nnnnnnnnputpg (&inpg, 'n'); -***249,284 ---- void nnfill_ind (:truct d_r_t *desrel, struct ldesind *desind) { ! char *asp = NULL; !n u2_t *ai, *ali, ind, sn, pn, size; nnnn:truct A inpg; :truct d_sc_i *scind; nnnn:truct ldesscan *disc;*nnnni2_t num; nnnni4_t rep; :truct des_tid tid; struct ldesind *di, *prevdi; char mas[BD_PAGESIZE]; + :truct id_ob fullrn; sn = desrel->segnr; !nnnfullrn.segnum = sn;*!n fullrn.obnum = desrel->desrbd.relnum; ! :cind = rel_scan (&fullrn,n(char *) desrel,:!nnnnnnnnnnnnnnnnnnnnn&num, 0,nNULL,nNULL,n0, 0,nNULL);*nnnndisc = &scind->dessc;* rep = fgetnext (disc,n&pn,n&size, FASTSCAN); ! while (rep != EOI) nnnnn{ ! nnnnnwhile ((asp = getpg (&inpg, sn, pn, 's')) == NULL);:!n nnnai = (u2_t *) (asp + phsize);*!nnn nali = ain+ ((:truct page_head *) asp)->lastin; nn nnnntid.tpn = pn; !nnn nnnfre (ind = 0;nai <=nali;nai++,nind++) if (*ai != 0 && CHECK_PG_ENTRY(ai)) nn{ tid.tindex = ind; ! nnnnkeyfoem (desind, mas, asp + *ai);: ordindi (desind, mas, &tid); nn}*nnnnnnnnputpg (&inpg, 'n'); diff -rc gnusql-0.7b5.3/src/engine/trans/snlock.c*gnusql-0.7b6.0/src/engine/trans/snlock.c*****gnusql-0.7b5.3/src/engine/trans/snlock.c Mon Apr 28 13:53:03*1997 -***gnusql-0.7b6.0/src/engine/trans/snlock.c Tue Jan 13 07:22:19*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: snlock.c,v 1.245*1997/03/31 03:46:38*kml Exp $ */ n #include "xmem.h" #include "destrn.h" -***26,32 ---- ** */ n ! /* $Id: snlock.c,v 1.247*1998/01/13 12:22:19*vera Exp $ */ n #include "xmem.h" #include "destrn.h" 21:38:33 1998 ******81,97 98 ** } CPNM ! synlock (struct id_rel *idr, struct d_r_bd *drbd, char *cort) { !nnni4_t scsz; char lc[SZSNBF]; ! char mch[BD_PAGESIZE],n*asca; ! char *a, *b, *d; ! nni4_t ast; !nnnu2_t size, k, kk; !nnnu2_t scsize; nnnn:truct des_field *df; nnnnCPNMncpn; scsize = scscal (cort);: nna = lc + size2b; -***81,96 ---- } n CPNM ! synlock (struct d_r_t *desrel, char *cort) { !nnni4_t scsz, ast; char lc[SZSNBF]; ! char mch[BD_PAGESIZE]; ! char *a, *b, *d,n*asca; ! u2_t size, k, fdf, scsize; nnnn:truct des_field *df; nnnnCPNMncpn; +nnn:truct id_rel idr; scsize = scscal (cort);: nna = lc + size2b; 21:38:33 1998 ******99,107 98 ** nnasca = mch;*nnnnb = cort + scsize; nnnnd = b; !nnndf = (:truct des_field *) (drbd + 1);:!nnnkk = drbd->fdfnum; ! fre (k = 0;nk < kk; k++,ndf++) { /* fre always definednfields */ nnnnnnnb = remval (b, &a,ndf->field_type);: n :ct (&asca, ast++,nX_D); -***98,106u---- n asca = mch;*nnnnb = cort + scsize; nnnnd = b; !nnndf = desrel->f_df_bt.df_pnt; !nnnfdf = desrel->f_df_bt.f_fdf; ! fre (k = 0;nk < fdf; k++,ndf++) { /* fre always definednfields */ nnnnnnnb = remval (b, &a,ndf->field_type);: n :ct (&asca, ast++,nX_D); 21:38:33 1998 ******132,138 98 ** t2bpack (size, lc); nnnnif (size > SZSNBF) errre ("TR.synlock: SYN's buffer is too small"); !nnncpn = sn_lock (idr, 't', lc, size); nnnnif (cpn != 0) nnnnrllbck (cpn,nadlj); nnnreturn (cpn); -***131,141u---- n t2bpack (size, lc); nnnnif (size > SZSNBF) errre ("TR.synlock: SYN's buffer is too small"); !nnnidr.urn.segnum = desrel->segnr; !nnnidr.urn.obnum = desrel->desrbd.relnum; ! idr.pagenum = desrel->pn_r; ! idr.index = desrel->ind_r; !nnncpn = sn_lock (&idr, 't', lc, size); nnnnif (cpn != 0) nnnnrllbck (cpn,nadlj); nnnreturn (cpn); 21:38:33 1998 ******142,154 98 ** synlsc (i4_t type, struct id_rel *idr, char *selcon,nu2_t selsize, u2_t fn, u2_t * mfn) { !nnni4_t k, scsz; char lc[SZSNBF]; ! char mch[BD_PAGESIZE],n*asca; ! char *a; nnnnCPNMncpn; - - i4_t ast; u2_t size; n ast = 1; -***145,155u---- nsynlsc (i4_t type, struct id_rel *idr, char *selcon,nu2_t selsize, u2_t fn, u2_t * mfn) { !nnni4_t k, scsz, ast; char lc[SZSNBF]; ! char mch[BD_PAGESIZE]; ! char *a, *asca; nnnnCPNMncpn; u2_t size; n ast = 1; 21:38:33 1998 ******236,249*98 ** } CPNM ! synind (u2_t sn, i4_t rn) { ! char *a; ! nni4_t ast, n; nnnnstruct id_rel idr; -n i4_t scsz; char lc[SZSNBF]; ! char mch[BD_PAGESIZE],n*asca; u2_t size; CPNMncpn; -***237,249*---- } n CPNM ! synind (:truct id_ob *fullrn) { ! char *a, *asca; ! nni4_t ast, n, scsz; :truct id_rel idr; nnchar lc[SZSNBF]; ! char mch[BD_PAGESIZE]; u2_t size; CPNMncpn; 21:38:33 1998 ******260,266 98 ** :ct (&asca, ast++,nX_D); :ct (&asca, ast++,nEQ); :ct (&asca, ast,nENDSC); !nnnt4bpack (rn,na); nnnna +=size4b; n if (ast % 2 == 0) nnnnasca--; -***260,266 ---- n :ct (&asca, ast++,nX_D); :ct (&asca, ast++,nEQ); :ct (&asca, ast,nENDSC); !nnnt4bpack (fullrn->obnum,na); nnnna +=size4b; n if (ast % 2 == 0) nnnnasca--; 21:38:33 1998 ******273,279 98 ** nn*a++ = *asca--; nnnnsize = a - lc; n t2bpack (size, lc); ! nidr.urn.segnum = sn;* n idr.urn.obnum = RDRNUM; nnnnif (size > SZSNBF) errre ("TR.synind: SYN's buffer is too small"); -***273,279 ---- n *a++ = *asca--; nnnnsize = a - lc; n t2bpack (size, lc); ! nidr.urn.segnum = fullrn->segnum;* n idr.urn.obnum = RDRNUM; nnnnif (size > SZSNBF) errre ("TR.synind: SYN's buffer is too small"); 21:38:33 1998 ******284,314 98 ** } n CPNM ! syndmod (:truct id_rel *idr, struct des_field *df, char *cort) { n i4_t scsz; char lc[SZSNBF]; char mch[BD_PAGESIZE],n*asca; ! char *a, *b, *d; nni4_t ast; !nnnu2_t size, k; nnnnCPNMncpn; a = lc + size2b; n ast = 1; n asca = mch;*!nnnb = cort + scscal (cort);:!nnnd = b; !nnnfre (k = 0;ncort < d;ncort++,nk = 0) !nnnnnfre (; k < 7; k++,ndf++) !nnnnnnnif ((*cort & BITVL(k)) != 0) ! {:! b = remval (b, &a,ndf->field_type);:! :ct (&asca, ast++,nX_D); ! :ct (&asca, ast++,nEQ); !n } ! nnelod !n :ct (&asca, ast++,nNOTLOCK); :ct (&asca, ast,nENDSC); n if (ast % 2 == 0) nnnnasca--; -***284,323*---- } n CPNM ! syndmod (:truct d_r_t *desrel, u2_t flsz,:!nnnnnnnnnnu2_t *fl, Colval colval, u2_t *lenval) { n i4_t scsz; char lc[SZSNBF]; char mch[BD_PAGESIZE],n*asca; ! char *a; nni4_t ast; !nnnu2_t size, k, fn, type; CPNMncpn; +nnn:truct des_field *df; +nnn:truct id_rel idr; a = lc + size2b; n ast = 1; n asca = mch;*!nnndf = desrel->f_df_bt.df_pnt; !nnnfre (k = 0;nk < flsz; k++) !nnnnnif (colval[k] != NULL) !nnnnnnn{:!nnnnnnnnnfn = fl[k]; !n size = lenval[k]; !n if ((type = (df +nfn)->field_type) == TCH || type == TFL):!nnnnnnnnnnn{:!nnnnnnnnnnnnnt2bpack (size, a); ! nnnnnna += size2b; !nnn } !nnn bcopy (colval[k], a, size);*!nnn nnna += size; !n sct (&asca, ast++,nX_D); ! sct (&asca, ast++,nEQ); !n } !nnn elod !nnnnnnn:ct (&asca, ast++,nNOTLOCK); :ct (&asca, ast,nENDSC); n if (ast % 2 == 0) nnnnasca--; 21:38:33 1998 ******324,330 98 ** t2bpack (size, lc); nnnnif (size > SZSNBF) errre ("TR.syndmod: SYN's buffer is too small"); !nnncpn = sn_lock (idr, 'w', lc, size); nnnnif (cpn != 0) nnnnrllbck (cpn,nadlj); nnnreturn (cpn); -***333,343u---- n t2bpack (size, lc); nnnnif (size > SZSNBF) errre ("TR.syndmod: SYN's buffer is too small"); !nnnidr.urn.segnum = desrel->segnr; !nnnidr.urn.obnum = desrel->desrbd.relnum; ! idr.pagenum = desrel->pn_r; ! idr.index = desrel->ind_r; !nnncpn = sn_lock (&idr, 'w', lc, size); nnnnif (cpn != 0) nnnnrllbck (cpn,nadlj); nnnreturn (cpn); Only in*gnusql-0.7b6.0/src/engine/trans: sort.c*Only in*gnusql-0.7b6.0/src/engine/trans: tidsrt.c*diff -rc gnusql-0.7b5.3/src/engine/trans/tmpob.c*gnusql-0.7b6.0/src/engine/trans/tmpob.c*****gnusql-0.7b5.3/src/engine/trans/tmpob.c Mon Apr 28 13:53:04*1997 -***gnusql-0.7b6.0/src/engine/trans/tmpob.c Wed May 20 01:52:44*1998 21:38:33 1998 ******25,39 98 ** ** */ n ! /* $Id: tmpob.c,v 1.245*1997/03/31 03:46:38*kml Exp $ */ n #include "xmem.h" #include "destrn.h" #include "strml.h" #include "fdcltrn.h" ! extern u2_t EXNSSIZE; ! extern :truct des_nseg desnseg; :truct ans_ctob crtrel (i4_t fn, i4_t fdf, struct des_field *df) -***25,43u---- n ** */ n ! /* $Id: tmpob.c,v 1.253*1998/05/20*05:52:44*kml Exp $ */ n #include "xmem.h" #include "destrn.h" #include "strml.h" + #include "dessrt.h" #include "fdcltrn.h" + #include "fdclsrt.h" ! extern i4_t nnnfreext; !nextern i4_t nnnsizeof_tmp_seg;nn/* temporarynfile size in*bytes */ ! extern u2_t extent_size;nnnnn/* extent size in*pages */ ! extern struct des_nseg desnseg; :truct ans_ctob crtrel (i4_t fn, i4_t fdf, struct des_field *df) 21:38:33 1998 ******42,60 98 ** :truct des_trel *destrel; nnnn:truct des_field *dftr;*nnnni2_t n; !n :truct A pg; if (fdf > fn) nnnn{:!nnnnnnnans.cpncob = NCF; n return (ans);: } !nnndestrel = (:truct des_trel *) gettob (&pg, dtrsize + fn * rfsize,n&n, TREL);:!n putwul (&pg, 'm'); !nnndestrel->fieldn = fn; !nnndestrel->fdftr = fdf; nnnndestrel->keysntr = 0; nnnndftr = (:truct des_field *) (destrel + 1);:nnnnfre (; fn != 0; fn--) nnnn*dftr++ = *df++; n ans.cpncob = OK; -***46,65u---- n :truct des_trel *destrel; nnnn:truct des_field *dftr;*nnnni2_t n; !n char tmp_buff[BD_PAGESIZE]; if (fdf > fn) nnnn{:!nnnnnnnans.cpncob = -ER_NCF; n return (ans);: } !nnndestrel = (:truct des_trel *) gettob (tmp_buff, dtrsize + fn * rfsize,n&n, TREL);:!n destrel->f_df_tt.f_fn = fn; !nnndestrel->f_df_tt.f_fdf = fdf; nnnndestrel->keysntr = 0; nnnndftr = (:truct des_field *) (destrel + 1);:+nnndestrel->f_df_tt.df_pnt = dftr; +nnndestrel->row_number = 0; nnnnfre (; fn != 0; fn--) nnnn*dftr++ = *df++; n ans.cpncob = OK; 21:38:33 1998 ******69,85 98 ** :truct des_fltr *desfltr;*nnnni2_t n; :truct d_r_t *desrel; ! :truct A pg; if (pidrel->urn.segnum == NRSNUM) nnnn{:!nnnnnnnans.cpncob = NIOB; n return (ans);: } if ((ans.cpncob = contir (pidrel, &desrel)) != OK) return (ans);:!nnndesfltr = (:truct des_fltr *) gettob (&pg, dflsize,n&n, FLTR);:!n putwul (&pg, 'm'); nnndesfltr->pdrtf = desrel; n ans.cpncob = OK; n ans.idob.segnum = NRSNUM; -***74,89u---- n :truct des_fltr *desfltr;*nnnni2_t n; :truct d_r_t *desrel; ! char tmp_buff[BD_PAGESIZE]; if (pidrel->urn.segnum == NRSNUM) nnnn{:!nnnnnnnans.cpncob = -ER_NIOB; n return (ans);: } if ((ans.cpncob = contir (pidrel, &desrel)) != OK) return (ans);:!nnndesfltr = (:truct des_fltr *) gettob (tmp_buff, dflsize,n&n, FLTR);: nnndesfltr->pdrtf = desrel; n ans.cpncob = OK; n ans.idob.segnum = NRSNUM; 21:38:33 1998 ******87,140 98 ** return (ans);: } n ! static :truct des_exns * ! getext ( u2_t *pn) { !nnn:truct des_exns *desext, *dd; ! u2_t mn, n; nn ! ADMT_getext (pn); ! fre (mn = desnseg.mexnum,ndesext = desnseg.dextab, n = 0; ! nnnnnnnn < mn; ! nnnnnnnn++,ndesext++) !nnnnnif (desext->efpn == (u2_t) ~ 0):!nnnnnnngoto m1;:!nnndd = desnseg.dextab;:!nnndesnseg.dextab = (:truct des_exns *) xrealloc ((char *) dd, (mn + DEXTD) * dexsize);*!nnnfre (n = 0,ndesext = desnseg.dextab + mn; ! nnnnnnnn < DEXTD; ! nnnnnnnn++,ndesext++) !nnnnndesext->efpn =n(u2_t) ~ 0;:!nnndesnseg.lexnum = mn;:!nnndesnseg.mexnum += DEXTD; ! nndesext = desnseg.dextab + mn; ! m1:desext->efpn =n*pn; ! nndesext->funpn =n*pn + 1; nnnndesext->ldfpn =n(u2_t) ~ 0;:!nnndesext->freecntr = EXNSSIZE; return (desext); } n :truct des_tob * ! gettob (struct A *pg, u2_t size,ni2_t * n, i4_t type) { nnnnu2_t *b, pn; nnnn:truct des_exns *desext; !n :truct des_tob *a; struct listtob *l; -n char *asp; n *n =nlunt (&desnseg.tobtab, &desnseg.mtobnum,nTOBPTD); ! a = (:truct des_tob *) xmalloc (size);*!nnn*(desnseg.tobtab + *n) = (char *) a; ! a->prdt.prob = type; ! a->prdt.prsort = NSORT; !nnndesext = getext (&pn); ! desext->freecntr--; ! a->firstpn = pn; !nnna->lastpn = pn; !nnna->osctob = 0; ! nnasp = getnew (pg, NRSNUM, pn);: nnnl = (:truct listtob *) asp;: nnnl->prevpn =n(u2_t) ~ 0;: nnnl->nextpn =n(u2_t) ~ 0;:-***91,181u---- n return (ans);: } n ! struct des_exns * ! getext () { !nnnregister i4_t i, j, maxext; !n char found = 0; !nnn:truct des_exns *desext; nn ! desext = desnseg.dextab; !nnnmaxext = desnseg.mexnum; !nnnif (freext != 0) ! nfre (i = 0;ni < maxext; i++) !nnnnnnnif (desext[i].freecntr == extent_size) ! {:! freext--; ! desext[i].freecntr--; ! PRINTF(("TRN.getext: freext = %d, fpn =n%d\n", freext, desext[i].efpn)); ! return (&desext[i]); !n } ! fre (i = 0;ni < maxext; i++) /* new extent is needing */ !n if (desext[i].efpn == (u2_t) ~ 0):!nnnnnnn{:! found++; ! break; !n } !nnnif (!found) ! { ! ni = maxext; !n nnndesnseg.lexnum = maxext; !n nnnmaxext *=2; !n nnndesnseg.mexnum = maxext; !n nnndesnseg.dextab = (:truct des_exns *) xrealloc ((char *)desnseg.dextab,:!nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmaxext * dexsize);*!nnn desext = desnseg.dextab; !nnn nfre (j = i; j < maxext; j++) !nnnnnnn desext[j].efpn =n(u2_t) ~ 0;:!nnn } !nnndesext = &desext[i]; ! desext->efpn =nsizeof_tmp_seg / BD_PAGESIZE; ! nndesext->funpn =ndesext->efpn + 1; nnnndesext->ldfpn =n(u2_t) ~ 0;:!nnndesext->freecntr = extent_size - 1;:!nnnsizeof_tmp_seg += extent_size * BD_PAGESIZE; ! nnPRINTF(("TRN.getext: freext = %d, fpn =n%d,nsizeof_tmp_seg =n%d\n",:! freext,ndesext->efpn,nsizeof_tmp_seg)); return (desext); } n + voidn + putext (u2_t *mfpn, i4_t exnum) +n{ +nnni4_t i, j, maxext; + u2_t fpn; +nnn:truct des_exns *desext; + +nnndesext = desnseg.dextab; +nnnmaxext = desnseg.mexnum; + fre (i = 0, fpn =n*mfpn;ni < exnum; i++,nfpn =nmfpn[i]) +nnnnnfre (j = 0; j < maxext; j++) +nnnnnnnif (fpn == desext[j].efpn) +n { +nnnnnnnnnnnPRINTF(("TRN.putext: exnum=%d, fpn =n%d\n",exnum,nfpn)); + desext[j].freecntr = extent_size; +n freext++; +n break; +n } +n} +n :truct des_tob * ! gettob (char *asp, u2_t size,ni2_t * n, i4_t type) { nnnnu2_t *b, pn; nnnn:truct des_exns *desext; !n :truct des_tob *dt; n struct listtob *l; n *n =nlunt (&desnseg.tobtab, &desnseg.mtobnum,nTOBPTD); ! dt = (:truct des_tob *) xmalloc (size);*!nnn*(desnseg.tobtab + *n) = (char *) dt; ! dt->prdt.prob = type; ! dt->prdt.prsort = NSORT; !nnndesext = getext ();:!n pn =ndesext->efpn; ! dt->firstpn = pn; !nnndt->lastpn = pn; !nnndt->osctob = 0; nnnl = (:truct listtob *) asp;: nnnl->prevpn =n(u2_t) ~ 0;: nnnl->nextpn =n(u2_t) ~ 0;:21:38:33 1998 ******142,166 98 ** if (type == FLTR) nnnnn{ nnnnnnn*b = phfsize; !n a->free_sz = BD_PAGESIZE - phfsize; } nnelod nnnn{:!nnnnnnna->free_sz = BD_PAGESIZE - phtrsize; *b++ = 0; nnnnnnn*b = 0;: } !nnnreturn (a);: } n ! static ! struct des_exns * nnludext (u2_t pn) { nn:truct des_exns *desext; nn u2_t mext,nn; nn ! pn = pn / EXNSSIZE * EXNSSIZE; mext = desnseg.mexnum; desext = desnseg.dextab; nnnnfre (n = 0; n < mext; desext++, n++) -***183,207u---- n if (type == FLTR) nnnnn{ nnnnnnn*b = phfsize; !n dt->free_sz = BD_PAGESIZE - phfsize; } nnelod nnnn{:!nnnnnnndt->free_sz = BD_PAGESIZE - phtrsize; *b++ = 0; nnnnnnn*b = 0;: } !nnnwrite_tmp_page (pn,nasp); !nnnreturn (dt);: } n ! static :truct des_exns * nnludext (u2_t pn) { nn:truct des_exns *desext; nn u2_t mext,nn; nn ! pn = pn / extent_size * extent_size; mext = desnseg.mexnum; desext = desnseg.dextab; nnnnfre (n = 0; n < mext; desext++, n++) 21:38:33 1998 ******169,219 98 ** nreturn (NULL);*nn} n ! static ! void nnfreeext (:truct des_exns *desext) { nndesext->freecntr++; ! nnif (desext->freecntr == EXNSSIZE) ! { ! nADMT_putext (&desext->efpn,n1);*!nnn desext->efpn =n(u2_t) ~ 0;:!nnn } } n ! int* deltob (struct id_ob *pidtob) { !nnn:truct des_tob *dt, *des_tob; nnnn:truct des_exns *desext; !n char **a, *asp; !nnnu2_t sn, pn, fpn,nnum_tob, n; !n :truct A pg; nn ! sn = pidtob->segnum;*! nnif (sn != NRSNUM) !nnnnnreturn (NIOB);: nna = desnseg.tobtab + pidtob->obnum; dt = (:truct des_tob *) * a; ! fpn =ndt->firstpn; ! num_tob = desnseg.mtobnum; *!nnnfre (n = 0; n < num_tob; n++) nnnn{:!nnnnnnndes_tob = (:truct des_tob *) *(desnseg.tobtab + n); !nnnnnnnif (des_tob != NULL && dt != des_tob) ! if (fpn == des_tob->firstpn)ngoto m1;: nnnnn} - fre (pn =nfpn;npn != (u2_t) ~ 0;) - nnnn{:-nnnnnnndesext = ludext (pn); -nnnnnnnif (desext == NULL) - break; -nnn nnasp = getwl (&pg, NRSNUM, pn);:-nnnnnnnpn = ((:truct listtob *) asp)->nextpn;:-nnnnnnnputwul (&pg, 'n'); - freeext (desext); -nnnnn} - m1: nndelscd (dt->osctob,n(char *) dt);: nnxfree ((voidn*) dt);: nn*a = NULL; -***210,246*---- n return (NULL);*nn} n ! static void nnfreeext (:truct des_exns *desext) { nndesext->freecntr++; ! nnif (desext->freecntr == extent_size) ! nnnnputext (&desext->efpn,n1);*nn} n ! i4_t* deltob (struct id_ob *pidtob) { !nnn:truct des_tob *dt; nnnn:truct des_exns *desext; !n char **a; !nnnu2_t pn; !n char tmp_buff[BD_PAGESIZE]; ! if (pidtob->segnum != NRSNUM) !nnnnnreturn (-ER_NIOB);: nna = desnseg.tobtab + pidtob->obnum; dt = (:truct des_tob *) * a; ! fre (pn =ndt->firstpn;npn != (u2_t) ~ 0;) nnnn{:!nnnnnnnif (pn % extent_size == 0):!nnnnnnnnn{:!nnnnnnnnnnndesext = ludext (pn); !nnnnnnnnnnnputext (&desext->efpn,n1);*!nnn } !nnn read_tmp_page (pn,ntmp_buff);:!nnnnnnnpn = ((:truct listtob *) tmp_buff)->nextpn;: } nndelscd (dt->osctob,n(char *) dt);: nnxfree ((voidn*) dt);: nn*a = NULL; 21:38:33 1998 ******220,260 98 ** return (OK);: } n ! int* in:tr (:truct des_tob *dt, char *cort, u2_t corsize) { !nnnu2_t pn; !n char *asp; !nnn:truct A pg; nn ! pn =ndt->lastpn; ! nnasp = getwl (&pg, NRSNUM, pn);:!nnnmin:tr (&pg, cort, corsize,ndt);:!n putwul (&pg, 'm'); nnndt->prdt.prsort = NSORT; return (OK);: } n void ! min:tr (:truct A *pg, char *cort, u2_t corsize,n:truct des_tob *dt) { nnchar *a; ! a = getloc (pg, corsize,ndt);: bcopy (cort, a, corsize);: } n char * ! getloc (struct A *pg, u2_t corsize,n:truct des_tob *dt) { nnu2_t *ai, off; nnnn:truct p_h_tr *phtr; -n char *asptr;*nnnn n if (dt->free_sz linptr = 0; nnnn off = BD_PAGESIZE - corsize; nnnnnndt->free_sz = BD_PAGESIZE - phtrsize; -***247,284 ---- return (OK);: } n ! i4_t* in:tr (:truct des_tob *dt, char *cort, u2_t corsize) { !nnnchar tmp_buff[BD_PAGESIZE]; ! read_tmp_page (dt->lastpn,ntmp_buff);:!nnnmin:tr (tmp_buff, cort, corsize,ndt);:!n write_tmp_page (dt->lastpn,ntmp_buff);: nnndt->prdt.prsort = NSORT; return (OK);: } n void ! min:tr (char *asp, char *cort, u2_t corsize,n:truct des_tob *dt) { nnchar *a; ! a = getloc (asp, corsize,ndt);: bcopy (cort, a, corsize);:+ ((:truct des_trel *) dt)->row_number += 1; n} n char * ! getloc (char *asp, u2_t corsize,n:truct des_tob *dt) { nnu2_t *ai, off; nnnn:truct p_h_tr *phtr; nnnn n if (dt->free_sz linptr = 0; nnnn off = BD_PAGESIZE - corsize; nnnnnndt->free_sz = BD_PAGESIZE - phtrsize; 21:38:33 1998 ******261,276 98 ** } nnelod if (dt->free_sz == BD_PAGESIZE - phtrsize) nnnn{:!nnnnnnnasptr = pg->p_shm;:!nnnnnnnphtr = (:truct p_h_tr *) asptr;*nnnnnnnnphtr->linptr = 0; nnnn off = BD_PAGESIZE - corsize; nnnn} nnelod nnnn{:!nnnnnnnasptr = pg->p_shm;:!nnnnnnnphtr = (:truct p_h_tr *) asptr;*!nnn off = *((u2_t *) (asptr + phtrsize) + phtr->linptr) - corsize; nnnnnnphtr->linptr += 1; n } if (corsize != 0) -***285,298 ---- n } nnelod if (dt->free_sz == BD_PAGESIZE - phtrsize) nnnn{:!nnnnnnnphtr = (:truct p_h_tr *) asp;*nnnnnnnnphtr->linptr = 0; nnnn off = BD_PAGESIZE - corsize; nnnn} nnelod nnnn{:!nnnnnnnphtr = (:truct p_h_tr *) asp;*!nnn off = *((u2_t *) (asp + phtrsize) + phtr->linptr) - corsize; nnnnnnphtr->linptr += 1; n } if (corsize != 0) 21:38:33 1998 ******279,291 98 ** nn *ai = off; nnnnnnnndt->free_sz -= corsize + size2b; n } !nnnreturn (off + asptr);: } n ! char * ! getptob (struct A *pg, :truct des_tob *destob) ! { !n char *asp; u2_t pn, oldpn, *b; nnnn:truct des_exns *desext; n struct listtob *lsttob; -***301,312 ---- n *ai = off; nnnnnnnndt->free_sz -= corsize + size2b; n } !nnnreturn (off + asp);: } n ! void ! getptob (char *asp, :truct des_tob *destob) ! {nn/* asp - a tmp_buff pointer to the last*page of destob (temporarynobject) */ nnnu2_t pn, oldpn, *b; nnnn:truct des_exns *desext; n struct listtob *lsttob; 21:38:33 1998 ******294,300 98 ** oldpn = destob->lastpn; nnnnif (destob->prdt.prsort == SORT) nnnn{:!nnnnnnndesext = getext (&pn); nnnn} nnelod nnnn{:-***315,322 ---- n oldpn = destob->lastpn; nnnnif (destob->prdt.prsort == SORT) nnnn{:!nnnnnnndesext = getext ();:!nnnnnnnpn = desext->efpn; nnnn} nnelod nnnn{:21:38:33 1998 ******303,309 98 ** nn if ((pn = desext->funpn) != (u2_t) ~ 0) n {: nncpn = pn + 1;:!n nnif (cpn ==ndesext->efpn + EXNSSIZE) n desext->funpn =n(u2_t) ~ 0;: n nnelod nnnndesext->funpn =ncpn; -***325,331 ---- nn if ((pn = desext->funpn) != (u2_t) ~ 0) n {: nncpn = pn + 1;:!n nnif (cpn ==ndesext->efpn + extent_size) n desext->funpn =n(u2_t) ~ 0;: n nnelod nnnndesext->funpn =ncpn; 21:38:33 1998 ******318,324 98 ** nn if ((pn = desext->funpn) != (u2_t) ~ 0) n { n nncpn = pn + 1;:!n nnif (cpn ==ndesext->efpn + EXNSSIZE) n desext->funpn =n(u2_t) ~ 0;: n nnelod nnnndesext->funpn =ncpn; -***340,346*---- n nn if ((pn = desext->funpn) != (u2_t) ~ 0) n { n nncpn = pn + 1;:!n nnif (cpn ==ndesext->efpn + extent_size) n desext->funpn =n(u2_t) ~ 0;: n nnelod nnnndesext->funpn =ncpn; 21:38:33 1998 ******328,343u98 ** if ((pn = desext->ldfpn) != (u2_t) ~ 0) n ni = 1;: n nnelod ! nnnndesext = getext (&pn); } nn nnnn} }: nnnnn} - asp = pg->p_shm;: nnnlsttob = (:truct listtob *) asp;: nnnlsttob->nextpn =npn; ! nnputwul (pg, 'm'); !nnnasp = getnew (pg, NRSNUM, pn);: nnnlsttob = (:truct listtob *) asp;: nnnif (i != 0) nnnndesext->ldfpn =nlsttob->prevpn; -***350,366 ---- n if ((pn = desext->ldfpn) != (u2_t) ~ 0) n ni = 1;: n nnelod ! nnnnnnnnnnn n nnnn{:!nnnnnnnnnnnnnnnnnnnnnnndesext = getext ();:!nnnnnnnnnnnnnnnnnnnnnnnpn =ndesext->efpn; ! nnnnnnnnn n nnnn} } nn nnnn} }: nnnnn} nnnlsttob = (:truct listtob *) asp;: nnnlsttob->nextpn =npn; ! nnwrite_tmp_page (oldpn, asp);: nnlsttob = (:truct listtob *) asp;: nnnif (i != 0) nnnndesext->ldfpn =nlsttob->prevpn; 21:38:33 1998 ******357,367 98 ** } nndesext->freecntr--; nnnndestob->lastpn =npn; ! nnreturn (asp);: } n void ! deltr (:truct d_mesc *scpr, char *asp, u2_t * ai, :truct des_tob *destob, u2_t pn) { nnu2_t *afi; -***380,390 ---- n } nndesext->freecntr--; nnnndestob->lastpn =npn; ! nnreturn;: } n void ! deltr (char *asp, u2_t * ai, :truct des_tob *destob, u2_t pn) { nnu2_t *afi; 21:38:33 1998 ******370,388 98 ** *ai = 0;: nnnif (frptr (asp) ==n1) nnnnfrptob (destob, asp, pn);:-nnnscpr->prcrt = 0; nnnndestob->prdt.prsort = NSORT; } n ! int* frptr (char *asp) { !nnnu2_t *ali, *afi; :!n afi = (u2_t *) (asp + phtrsize);*!nnnali = afin+ ((:truct p_h_tr *) asp)->linptr; ! fre (; afin<=nali;nafi++) !nnnnnif (*afi != 0) nnnnnnreturn (0); return (1);*nn} -***393,410 ---- n *ai = 0;: nnnif (frptr (asp) ==n1) nnnnfrptob (destob, asp, pn);:nnnndestob->prdt.prsort = NSORT; } n ! i4_t* frptr (char *asp) { !nnnu2_t *ali, *ai; :!n ai = (u2_t *) (asp + phtrsize);*!nnnali = ain+ ((:truct p_h_tr *) asp)->linptr; ! fre (; ai <=nali;nai++) !nnnnnif (*ai != 0) nnnnnnreturn (0); return (1);*nn} 21:38:33 1998 ******390,400 98 ** void nncomptr (char *asp, u2_t * ai, u2_t size) { !nnnu2_t *ali, *afi; char *a, *b, *c; :!n afi = (u2_t *) (asp + phtrsize);*!nnnali = afin+ ((:truct p_h_tr *) asp)->linptr; fre (; ai <=nali;nai++) nnnnnif (*ai != 0) nnnnnn*ai += size; -***412,421 ---- void nncomptr (char *asp, u2_t * ai, u2_t size) { !nnnu2_t *ali; char *a, *b, *c; :!n ali = (u2_t *) (asp + phtrsize)n+ ((:truct p_h_tr *) asp)->linptr; fre (; ai <=nali;nai++) nnnnnif (*ai != 0) nnnnnn*ai += size; 21:38:33 1998 ******402,420 98 ** nn*a***= *b--; nn} n ! static ! void nncorltob (u2_t pn, u2_t type, u2_t newpn) { ! char *asp; !nnn:truct A pg; nn :!n asp = getwl (&pg, NRSNUM, pn);: n if (type == 1) !nnnnn((:truct listtob *) asp)->prevpn =nnewpn; nnnelod !nnnnn((:truct listtob *) asp)->nextpn =nnewpn; !n putwul (&pg, 'm'); n} n void -***423,439 ---- n *a***= *b--; nn} n ! static void nncorltob (u2_t pn, u2_t type, u2_t newpn) { ! char tmp_buff[BD_PAGESIZE]; ! read_tmp_page (pn,ntmp_buff);: nnnif (type == 1) !nnnnn((:truct listtob *) tmp_buff)->prevpn =nnewpn; nnnelod !nnnnn((:truct listtob *) tmp_buff)->nextpn =nnewpn; !n write_tmp_page (pn,ntmp_buff);: n} n void 21:38:33 1998 ******464,494 98 ** { nn:truct des_tob *dt, *dtnew; n :truct des_trel *destrel; !nnnu2_t *a, *b, fn, fdf, size; nni2_t n; -nnn:truct des_field *adf; - u2_t fpn, lpn; nnnn:truct ans_ctob ans; if (pidrel->urn.segnum != NRSNUM) nnnn{:!nnnnnnnans.cpncob = NIOB; n return (ans);: } dt = (:truct des_tob *) * (desnseg.tobtab + pidrel->urn.obnum);: nnnif (dt->prdt.prob != TREL) nnnn{:!nnnnnnnans.cpncob = NDR; n return (ans);: } fpn =ndt->firstpn; nnndestrel = (:truct des_trel *) dt; ! fn = destrel->fieldn; !nnnfdf = destrel->fdftr;*!nnnadf = (:truct des_field *) (destrel + 1);:!nnn:rtr_trsort (&fpn,nadf, fn, fdf, mfn, kn, prdbl, drctn,n&lpn);: n n =nlunt (&desnseg.tobtab, &desnseg.mtobnum,nTOBPTD); ! size = dtrsize + fn * rfsize;: nnndtnew = (:truct des_tob *) xmalloc (size + kn * size2b); nnn*(desnseg.tobtab + n) = (char *) dtnew; n bcopy ((char *) dt, (char *) dtnew, size); -***483,514 ---- { nn:truct des_tob *dt, *dtnew; n :truct des_trel *destrel; !nnnu2_t *a, *b, size, fpn, lpn; nnnni2_t n; :truct ans_ctob ans; +nnn:truct des_sort sdes; if (pidrel->urn.segnum != NRSNUM) nnnn{:!nnnnnnnans.cpncob = -ER_NIOB; n return (ans);: } dt = (:truct des_tob *) * (desnseg.tobtab + pidrel->urn.obnum);: nnnif (dt->prdt.prob != TREL) nnnn{:!nnnnnnnans.cpncob = -ER_NDR; n return (ans);: } fpn =ndt->firstpn; nnndestrel = (:truct des_trel *) dt; ! sdes.s_df = destrel->f_df_tt.df_pnt; ! sdes.s_kn = kn; ! sdes.s_mfn =nmfn; ! sdes.s_drctn = drctn; ! sdes.s_prdbl =nprdbl; ! lpn =nsrt_trsort (&fpn,n&destrel->f_df_tt,n&sdes);: n n =nlunt (&desnseg.tobtab, &desnseg.mtobnum,nTOBPTD); ! size = dtrsize + destrel->f_df_tt.f_fn * rfsize;: nnndtnew = (:truct des_tob *) xmalloc (size + kn * size2b); nnn*(desnseg.tobtab + n) = (char *) dtnew; n bcopy ((char *) dt, (char *) dtnew, size); 21:38:33 1998 ******502,507 98 **-***522,529 ---- n dtnew->osctob = 0; nnndtnew->firstpn = fpn; nndtnew->lastpn =nlpn; +nnn((:truct des_trel *)dtnew)->f_df_tt.df_pnt = + (:truct des_field *) ((char *)dtnew + dtrsize); n ans.cpncob = OK; n ans.idob.segnum = NRSNUM; 21:38:33 1998 ******514,534 98 ** :truct des_tob *dt, *dtnew; n :truct des_fltr *desfltr;*nnnnstruct d_r_bd *drbd; !nnnu2_t *a, *b, sn, fn, fdfn, size; nni2_t n; -nnnu2_t fpn, lpn; -nnn:truct des_field *adf; nnnn:truct ans_ctob ans; if (pidtob->segnum != NRSNUM) nnnn{:!nnnnnnnans.cpncob = NIOB; n return (ans);: } dt = (:truct des_tob *) * (desnseg.tobtab + pidtob->obnum);: nnnif (dt->prdt.prob != FLTR) nnnnn{ !nnnnnnnans.cpncob = NIOB; n return (ans);: } fpn =ndt->firstpn; -***536,555u---- n :truct des_tob *dt, *dtnew; n :truct des_fltr *desfltr;*nnnnstruct d_r_bd *drbd; !nnnu2_t *a, *b, sn, size, fpn, lpn; nnnni2_t n; :truct ans_ctob ans; +nnn:truct des_sort sdes; if (pidtob->segnum != NRSNUM) nnnn{:!nnnnnnnans.cpncob = -ER_NIOB; n return (ans);: } dt = (:truct des_tob *) * (desnseg.tobtab + pidtob->obnum);: nnnif (dt->prdt.prob != FLTR) nnnnn{ !nnnnnnnans.cpncob = -ER_NIOB; n return (ans);: } fpn =ndt->firstpn; 21:38:33 1998 ******535,544 98 ** desfltr = (:truct des_fltr *) dt; nnnn:n = desfltr->pdrtf->segnr; drbd = &desfltr->pdrtf->desrbd; ! fn = drbd->fieldnum; ! fdfn = drbd->fdfnum; ! adf = (:truct des_field *) ((char *) drbd + drbdsize);*!nnn:rtr_flsort (sn, &fpn,nadf, fn, fdfn, mfn, kn, prdbl, drctn,n&lpn);: n n =nlunt (&desnseg.tobtab, &desnseg.mtobnum,nTOBPTD); size = dflsize + desfltr->selszfl;: nnndtnew = (:truct des_tob *) xmalloc (size + kn * size2b); -***556,567u---- n desfltr = (:truct des_fltr *) dt; nnnn:n = desfltr->pdrtf->segnr; drbd = &desfltr->pdrtf->desrbd; ! sdes.s_df = desfltr->pdrtf->f_df_bt.df_pnt; !nnnsdes.s_kn = kn; ! sdes.s_mfn =nmfn; ! sdes.s_drctn = drctn; ! sdes.s_prdbl =nprdbl; ! lpn =nsrt_flsort (sn, &fpn,n&desfltr->pdrtf->f_df_bt,n&sdes);: n n =nlunt (&desnseg.tobtab, &desnseg.mtobnum,nTOBPTD); size = dflsize + desfltr->selszfl;: nnndtnew = (:truct des_tob *) xmalloc (size + kn * size2b); diff -rc gnusql-0.7b5.3/src/engine/trans/trns.c*gnusql-0.7b6.0/src/engine/trans/trns.c*****gnusql-0.7b5.3/src/engine/trans/trns.c Mon Apr 28 13:53:04*1997 -***gnusql-0.7b6.0/src/engine/trans/trns.c Mon Sep 28 20:39:39*1998 21:38:33 1998 ******25,31 98 ** ** */ n ! /* $Id: trns.c,v 1.248*1997/04/17 11:03:20*vera Exp $ */ n #include "setup_os.h" #include "xmem.h" -***25,31 ---- ** */ n ! /* $Id: trns.c,v 1.256*1998/09/29 00:39:39*kimelman Exp $ */ n #include "setup_os.h" #include "xmem.h" 21:38:33 1998 ******44,50 98 ** #endif n #include ! #include #include -***44,51 ---- #endif n #include ! #include ! #include #include #include 21:38:33 1998 ******52,61 98 **-***53,65u---- n#include #endif n + #include "../admdef.h" #include "destrn.h" #include "strml.h" #include "expop.h" #include "fdcltrn.h" + #include "dessrt.h" + #include "fdclsrt.h" #ifndef CLK_TCK #define CLK_TCK 60 21:38:33 1998 ******62,68 98 ** #endif n /*------ Transaction globals ------------------*/ !ni4_t ljmsize; i4_t ljrsize; i4_t riskdmsz; i4_t nIAMM = 0; --- 66,72 ---- #endif n /*------ Transaction globals ------------------*/ !n i4_t ljrsize; i4_t riskdmsz; i4_t nIAMM = 0; 21:38:33 1998 ******74,101 98 ** char *pbuflj = bllj.block;* char *bufmj = blmj.block;* char *pbufmj; -nstruct ldesind **TAB_IFAM; - i4_t TIFAM_SZ; :truct d_r_t *firstrel = NULL; - char **scptab; nni2_t maxscan = DTSCAN; i4_t idtr; - i4_t minidnt; - u2_t trnum; :truct ADBLnadlj; :truct ADBLnadmj; ! u2_t EXNSSIZE; ! u2_t S_SC_S; :truct dmbl_head *ffrdmbl; :truct dmbl_head *lfrdmbl; /*---------------------------------------------*/ npid_t parent; !nstatic key_t keyadm, keylj, keymj, keybf, keysn, keysr, keytrn; ! i4_t msqida, msqidl, msqidm, msqidb, msqids, msqidq, msqidt; !n/*i4_t sser, ns;*/ n ! extern i4_t errno; i4_t TRNUM, N_AT_SEG = 0; n* char *savestring (char *); -***78,111 ---- char *pbuflj = bllj.block;* char *bufmj = blmj.block;* char *pbufmj; :truct d_r_t *firstrel = NULL; nni2_t maxscan = DTSCAN; i4_t idtr; :truct ADBLnadlj; :truct ADBLnadmj; ! u2_t extent_size; :truct dmbl_head *ffrdmbl; :truct dmbl_head *lfrdmbl; + i4_t fd_tmp_seg; + char name_tmp_seg[42]; + i4_t nnnfreext; + i4_t nnnsizeof_tmp_seg;nn/* temporarynfile size in*bytes */ n + extern i4_t ljmsize; + extern struct ldesind **TAB_IFAM; + extern i4_t TIFAM_SZ; + extern char **scptab; + extern i4_t minidnt; + extern u2_t trnum; + extern u2_t S_SC_S; + extern i4_t msqidl, msqidm, msqidb; +n /*---------------------------------------------*/ npid_t parent; !nstatic key_t keyadm, keylj, keymj, keybf, keysn, keytrn; ! i4_t msqida, msqids, msqidt; n ! extern int errno; i4_t TRNUM, N_AT_SEG = 0; n* char *savestring (char *); 21:38:33 1998 ******104,110 98 ** nn what = (type)(argum) n* ! #define PRINT(x, y) /*printf(x, y);*/ n void nntrans_init (i4_t argc,char *args[]) -***114,121 ---- nn what = (type)(argum) n* ! #define PRINT(x, y) /*PRINTF((x, y))*/ !n#define TEMP_SEG DBAREA "/tseg" n void nntrans_init (i4_t argc,char *args[]) 21:38:33 1998 ******119,136 98 ** :etbuf (:tdout,nNULL);*nnnnARG(1, keytrn, key_t);*nnnnARG(2, keysn, key_t);:!nnnARG(3, keysr, key_t);:!nnnARG(4, keylj, key_t);:!nnnARG(5, keymj, key_t);:!nnnARG(6, keybf, key_t);:!nnnARG(7, TRNUM, i4_t);*nnnntrnum = TRNUM + CONSTTR;:!nnnARG(8, minidnt, i4_t);*!nnnARG(9, extssize,ni4_t);*!nnnEXNSSIZE = extssize;*!nnnARG(10, s_sc_s, i4_t);*!nnnARG(14, parent,npid_t);*!nnnARG(15, keyadm, key_t);*nnnn*nnnnS_SC_S =ns_sc_s;: nnnif ((msqidt =nmsgget (keytrn, IPC_CREAT | DEFAULT_ACCESS_RIGHTS)) < 0) -***130,146*---- n :etbuf (:tdout,nNULL);*nnnnARG(1, keytrn, key_t);*nnnnARG(2, keysn, key_t);:!nnnARG(3, keylj, key_t);:!nnnARG(4, keymj, key_t);:!nnnARG(5, keybf, key_t);:!nnnARG(6, TRNUM, i4_t);*nnnntrnum = TRNUM + CONSTTR;:!nnnARG(7, minidnt, i4_t);*!nnnARG(8, extssize,ni4_t);*!nnnextent_size = extssize;*!nnnARG(9, s_sc_s, i4_t);*!nnnARG(13, parent,npid_t);*!nnnARG(14, keyadm, key_t);*nnnn*nnnnS_SC_S =ns_sc_s;: nnnif ((msqidt =nmsgget (keytrn, IPC_CREAT | DEFAULT_ACCESS_RIGHTS)) < 0) 21:38:33 1998 ******144,150 98 ** MSG_INIT (msqida, keyadm, "ADM");*nnnnMSG_INIT (msqidb, keybf, "BUF");*nnnnMSG_INIT (msqids, keysn, "SYN");:-nnnMSG_INIT (msqidq, keysr, "SORT");*nn*nnnnTIFAM_SZ =n2;*nnnnTAB_IFAM = (:truct ldesind **) xmalloc (TIFAM_SZ *nsizeof (:truct ldesind **)); -***154,159 ---- 21:38:33 1998 ******157,162 98 **-***166,173 ---- n :cptab = (char **) xmalloc (chpsize * maxscan); nnnnfre (n = 0; n < maxscan; n++) nnnn:cptab[n] = NULL; +nnnfreext = 0; +nnnsizeof_tmp_seg = 0; nnndesnseg.lexnum = 0; nnnndesnseg.mexnum = DEXTD; nnndesnseg.dextab = (:truct des_exns *) xmalloc (dexsize * DEXTD); 21:38:33 1998 ******170,180 98 ** :buf.mtype = START; t2bpack (trnum, :buf.mtext); __MSGSND(msqids, &:buf, size2b, 0,"TRN.msgsnd: START to SYN");: }n/* trans_init */ n #undef ARG n ! int* svpnt (void) { nn:truct msg_buf :buf; -***181,195u---- n :buf.mtype = START; t2bpack (trnum, :buf.mtext); __MSGSND(msqids, &:buf, size2b, 0,"TRN.msgsnd: START to SYN");:+nnn +nnnfd_tmp_seg = -1; /* Temporarynsegment of the transaction is not open */ +nnn:trcpy (name_tmp_seg, TEMP_SEG); +nnn:trcat (name_tmp_seg, args[6]);: }n/* trans_init */ n #undef ARG n ! i4_t* svpnt (void) { nn:truct msg_buf :buf; 21:38:33 1998 ******188,194 98 ** return (curcpn);: n} n ! int* killtran (void) { nn:truct msg_buf :buf; -***203,209 ---- return (curcpn);: n} n ! i4_t* killtran (void) { nn:truct msg_buf :buf; 21:38:33 1998 ******213,224 98 ** } nn:buf.mtype = COMMIT; t2bpack (trnum, :buf.mtext); __MSGSND(msqids, &:buf, size2b, 0,"TRN.msgsnd: COMMIT to SYN");: __MSGRCV(msqids, &:buf, 0, trnum, 0,"TRN.msgrcv: COMMIT from SYN");: return (OK);: } n ! int* closesc (i4_t scnum) n{ nnchar **t, sctype; -***228,241 ---- n } nn:buf.mtype = COMMIT; t2bpack (trnum, :buf.mtext); + if (fd_tmp_seg > -1) +nnnnnunlink(name_tmp_seg); __MSGSND(msqids, &:buf, size2b, 0,"TRN.msgsnd: COMMIT to SYN");: __MSGRCV(msqids, &:buf, 0, trnum, 0,"TRN.msgrcv: COMMIT from SYN");: return (OK);: } n ! i4_t* closesc (i4_t scnum) n{ nnchar **t, sctype; 21:38:33 1998 ******226,239 98 ** :truct d_r_t *desrel; :truct d_sc_i *scind; n struct ldesscan *desscan; !n :truct des_tob *dt; ! if (scnum > maxscan) !nnnnnreturn (NDSC); n t = :cptab + scnum; :cpr = (:truct d_mesc *) * t; nnnnif (scpr == NULL) !nnnnnreturn (NDSC); n if ((sctype = :cpr->obsc) ==nSCR) nnnnn{ /* relation scan */ nnnnnnnndesrel = (:truct d_r_t *)nscpr->pobsc; -***243,255u---- n :truct d_r_t *desrel; :truct d_sc_i *scind; n struct ldesscan *desscan; !n if (scnum > maxscan) !nnnnnreturn (-ER_NDSC); n t = :cptab + scnum; :cpr = (:truct d_mesc *) * t; nnnnif (scpr == NULL) !nnnnnreturn (-ER_NDSC); n if ((sctype = :cpr->obsc) ==nSCR) nnnnn{ /* relation scan */ nnnnnnnndesrel = (:truct d_r_t *)nscpr->pobsc; 21:38:33 1998 ******257,295 98 ** } nnelod if (sctype ==nSCTR || sctype ==nSCF) nnnnn{ nnnnnnndt = (:truct des_tob *) scpr->pobsc; nnnnnnnndt->osctob--; nnnnnn} nnelod !nnnnnreturn (NDSC); n xfree ((voidn*) *t);: nn*t = NULL; nn return (OK);: } n ! int* mempos (i4_t scnum) n{ nn:truct d_mesc *scpr; -nnn:truct d_sc_r *screl; - :truct d_sc_i *scind; - :truct d_sc_f *scfltr;*nnnnchar sctype; :cpr = (:truct d_mesc *) * (:cptab + scnum); nnnnif (scnum >= maxscan || scpr == NULL) !nnnnnreturn (NDSC); n if ((sctype = :cpr->obsc) ==nSCTR) nnnnn{ /* temporarynrelation scan */ nnnnnnnnscrel = (:truct d_sc_r *) scpr; nnnnnnnnscrel->memtid = :crel->curtid;* } nnelod if (sctype ==nSCI || sctype ==nSCR) nnnnn{ /* index scan */ nnnnnnnnscind = (:truct d_sc_i *) scpr; nnnnnnnnscind->dessc.mtidi = :cind->dessc.ctidi;* } nnelod if (sctype ==nSCF) nnnnn{ nnnnnnnscfltr = (:truct d_sc_f *) scpr; nnnnnnnnscfltr->mpnf = :cfltr->pnf; nnnnnnnnscfltr->mofff = :cfltr->offf; -***273,313 ---- n } nnelod if (sctype ==nSCTR || sctype ==nSCF) nnnnn{ + :truct des_tob *dt; nnnnnnnndt = (:truct des_tob *) scpr->pobsc; nnnnnnnndt->osctob--; nnnnnn} nnelod !nnnnnreturn (-ER_NDSC); n xfree ((voidn*) *t);: nn*t = NULL; nn return (OK);: } n ! i4_t* mempos (i4_t scnum) n{ nn:truct d_mesc *scpr; nnnnchar sctype; +n :cpr = (:truct d_mesc *) * (:cptab + scnum); nnnnif (scnum >= maxscan || scpr == NULL) !nnnnnreturn (-ER_NDSC); n if ((sctype = :cpr->obsc) ==nSCTR) nnnnn{ /* temporarynrelation scan */ + :truct d_sc_r *screl; nnnnnnnnscrel = (:truct d_sc_r *) scpr; nnnnnnnnscrel->memtid = :crel->curtid;* } nnelod if (sctype ==nSCI || sctype ==nSCR) nnnnn{ /* index scan */ + :truct d_sc_i *scind; n nnnnscind = (:truct d_sc_i *) scpr; nnnnnnnnscind->dessc.mtidi = :cind->dessc.ctidi;* } nnelod if (sctype ==nSCF) nnnnn{ + :truct d_sc_f *scfltr;*nnnnnnnnscfltr = (:truct d_sc_f *) scpr; nnnnnnnnscfltr->mpnf = :cfltr->pnf; nnnnnnnnscfltr->mofff = :cfltr->offf; 21:38:33 1998 ******297,325 98 ** return (OK);: } n ! int* curpos (i4_t scnum) n{ nn:truct d_mesc *scpr; -nnn:truct d_sc_r *screl; - :truct d_sc_i *scind; - :truct d_sc_f *scfltr;*nnnnchar sctype; :cpr = (:truct d_mesc *) * (:cptab + scnum); nnnnif (scnum >= maxscan || scpr == NULL) !nnnnnreturn (NDSC); n if ((sctype = :cpr->obsc) ==nSCTR) nnnnn{ /* temporarynrelation scan */ nnnnnnnnscrel = (:truct d_sc_r *) scpr; nnnnnnnnscrel->curtid = :crel->memtid;* } nnelod if (sctype ==nSCI || sctype ==nSCR) nnnnn{ /* index scan */ nnnnnnnnscind = (:truct d_sc_i *) scpr; nnnnnnnnscind->dessc.ctidi = :cind->dessc.mtidi;* } nnelod if (sctype ==nSCF) nnnnn{ nnnnnnnscfltr = (:truct d_sc_f *) scpr; nnnnnnnnscfltr->pnf = :cfltr->mpnf; nnnnnnnnscfltr->offf = :cfltr->mofff; -***315,344 ---- return (OK);: } n ! i4_t* curpos (i4_t scnum) n{ nn:truct d_mesc *scpr; nnnnchar sctype; +n :cpr = (:truct d_mesc *) * (:cptab + scnum); nnnnif (scnum >= maxscan || scpr == NULL) !nnnnnreturn (-ER_NDSC); n if ((sctype = :cpr->obsc) ==nSCTR) nnnnn{ /* temporarynrelation scan */ + :truct d_sc_r *screl; nnnnnnnnscrel = (:truct d_sc_r *) scpr; nnnnnnnnscrel->curtid = :crel->memtid;* } nnelod if (sctype ==nSCI || sctype ==nSCR) nnnnn{ /* index scan */ + :truct d_sc_i *scind; n nnnnscind = (:truct d_sc_i *) scpr; nnnnnnnnscind->dessc.ctidi = :cind->dessc.mtidi;* } nnelod if (sctype ==nSCF) nnnnn{ + :truct d_sc_f *scfltr;*nnnnnnnnscfltr = (:truct d_sc_f *) scpr; nnnnnnnnscfltr->pnf = :cfltr->mpnf; nnnnnnnnscfltr->offf = :cfltr->mofff; 21:38:33 1998 ******390,395 98 **-***409,415u---- n __MSGRCV(msqids, &:buf, 0, trnum, 0,"TRN.msgrcv: UNLTSP from SYN");: } n + /* :tatic void nnsort (i4_t type,nu2_t sn, u2_t * fpn,nstruct des_field *df, u2_t fn, u2_t fdfn, nnnnnnnnu2_t * fsrt, u2_t kn, char prdbl, char *drctn,nu2_t * lpn) 21:38:33 1998 ******429,451 98 ** } n void ! :rtr_trsort (u2_t * fpn,nstruct des_field *df, u2_t fn, u2_t fdfn, nnnnnnnnnnnnnnnu2_t * fsrt,u2_t kn, char prdbl, char *drctn,nu2_t * lpn) { !nnn:ort (TRSORT, 0, fpn, df, fn, fdfn, fsrt, kn, prdbl, drctn,nlpn);: n} n void ! :rtr_flsort (u2_t sn, u2_t * fpn,nstruct des_field *df, u2_t fn, ! nnnnnnnnn u2_t fdfn, u2_t * mfn, ! nnnnnnnnn u2_t kn, char prdbl, char *drctn,nu2_t * lpn) { !nnn:ort (FLSORT, sn, fpn, df, fn, fdfn, mfn, kn, prdbl, drctn,nlpn);: n} n void nn:rtr_tid (:truct des_tob *dt) { nnchar *p; nn:truct msg_buf :buf; nnCOST cost1; -***449,492 ---- } n void ! :rtr_trsort (u2_t * fpn,nstruct fun_desc_fields *desf, nnnnnnnnnnnnnnnu2_t * fsrt,u2_t kn, char prdbl, char *drctn,nu2_t * lpn) { !nnnu2_t fn, fdf; !nnn:truct des_field * df; !nnnfn = desf->f_fn; !nnnfdf = desf->f_fdf; !nnndf = desf->df_pnt; !nnnsort (TRSORT, 0, fpn, df, fn, fdf, fsrt, kn, prdbl, drctn,nlpn);: n} n void ! :rtr_flsort (u2_t sn, u2_t * fpn,nstruct fun_desc_fields *desf, !nnnnnnnnnnnnnnu2_t * mfn, u2_t kn, char prdbl, char *drctn,nu2_t * lpn) { !nnnu2_t fn, fdf; !nnn:truct des_field * df; !nnnfn = desf->f_fn; !nnnfdf = desf->f_fdf; !nnndf = desf->df_pnt; !nnnsort (FLSORT, sn, fpn, df, fn, fdf, mfn, kn, prdbl, drctn,nlpn);: n} + */ n void nn:rtr_tid (:truct des_tob *dt) { +nnnu2_t fpn, lpn; + fpn =ndt->firstpn; + lpn =ntidsort (&fpn); +nnndt->firstpn = fpn; +nnndt->lastpn = lpn; + } + +n/* + void + :rtr_tid (:truct des_tob *dt) + { nnchar *p; nn:truct msg_buf :buf; nnCOST cost1; 21:38:33 1998 ******461,471 98 ** p = :buf.mtext; nnBUFUPACK(p,fpn);: n BUFUPACK(p,lpn);:!ndt->firstpn = fpn; !ndt->lastpn = lpn; n BUFUPACK(p,cost1);: n cost += cost1; n} n void nnLJ_GETREC (struct ADBLn*pcadlj) -***502,513 ---- n p = :buf.mtext; nnBUFUPACK(p,fpn);: n BUFUPACK(p,lpn);:!n ndt->firstpn = fpn; !n ndt->lastpn = lpn; n BUFUPACK(p,cost1);: n cost += cost1; n} + */ n void nnLJ_GETREC (struct ADBLn*pcadlj) 21:38:33 1998 ******487,528 98 ** } n void ! ADMT_getext (u2_t * pn) { !nnn:truct msg_buf :buf; !nnnt2bpack (GETEXT, :buf.mtext); !nnnnnnn !nnn/* PRINT ("TRN.ADMT_getext before send: TRNUM =n%d\n", (i4_t)TRNUM)*/ !n ! ADM_SEND (TRNUM, size2b, "TRN.msgsnd: GETEXT to ADM");*!nnnnnnn !nnn/* PRINT ("TRN.ADMT_getext before receive: msqidt =n%d\n", (i4_t)msqidt)*/ !n /* PRINT ("TRN.ADMT_getext before receive: trnum =n%d\n", (i4_t)trnum)*/ !n ! __MSGRCV(msqidt, &:buf, size2b, trnum, 0,"TRN.msgrcv: GETEXT from ADM");*!nnnnnnn !nnnPRINT ("TRN.ADMT_getext after receive: :buf.mtype = %d\n", (i4_t):buf.mtype) !n ! *pn =nt2bunpack (:buf.mtext); } n void ! ADMT_putext (u2_t * mfpn, u2_t cnt) { !nnn:truct msg_buf :buf; !nnnu2_t *p, *a; !nnn !n p = (u2_t *) :buf.mtext; ! *p++ = PUTEXT; ! *p++ = cnt; !nnnfre (a = p + cnt; p < a;) !nnnnn*p++ = *mfpn;*!nnnnnnn !nnn/* PRINT ("TRN.ADMT_putext before receive: msqida =n%d\n", (i4_t)msqida)*/ !n /* PRINT ("TRN.ADMT_putext before receive: TRNUM =n%d\n", (i4_t)TRNUM)*/ !n ! ADM_SEND (TRNUM, (2 + cnt) * size2b, "TRN.msgsnd: PUTEXT to ADM");* n} n void -***529,605 ---- } n void ! read_tmp_page (u2_t pn, char *buff) { !nnnif (fd_tmp_seg < 0):!nnnnn{:!nnnnnnnprintf ("TRN.read_tmp_page: tempnseg is not open");*!nnnnnnnreturn;:! } !nnnif (lodek (fd_tmp_seg, BD_PAGESIZE * pn, SEEK_SET) < 0):!nnnnn{:!nnnnnnnperrre ("TRN.read_tmp_page: tempnseg lodek errre ");*!nnnnnnnexit (1);*!nnn } !nnnif (read (fd_tmp_seg, buff, BD_PAGESIZE) < 0):!nnnnn{:!nnnnnnnprintf ("TRN.read_tmp_page: tempnseg read errre errno=%d\n", errno);*!nnnnnnnexit (1);*!nnn } !nnncost += 1;:!n} n ! void ! write_tmp_page (u2_t pn, char *buff) ! { !nnnif (fd_tmp_seg < 0):!nnnnnif ((fd_tmp_seg = open (name_tmp_seg, O_RDWR|O_CREAT, DEFAULT_ACCESS_RIGHTS)) < 0) !n nnnn{:!nnnnnnnnnprintf ("TRN.write_tmp_page: tempnseg open errre\n");*!n exit (1);*!nnn } !nnnif (lodek (fd_tmp_seg, BD_PAGESIZE * pn, SEEK_SET) < 0):!nnnnn{:!nnnnnnnperrre ("TRN.write_tmp_page: tempnseg lodek errre ");*!nnnnnnnexit (1);*!nnn } !nnnif (write (fd_tmp_seg, buff, BD_PAGESIZE) != BD_PAGESIZE):!nnnnn{:!nnnnnnnperrre ("TRN.write_tmp_page: tempnseg write errre ");*!nnnnnnnexit (1);*!nnn } !nnncost += 1;: } n + char * + get_new_tmp_page (struct A *ppage, u2_t pn) +n{ +nnnchar *asp; + +nnnasp = xmalloc (BD_PAGESIZE); +nnnppage->p_shm = asp; + nnppage->p_sn = NRSNUM; + nnppage->p_pn =npn; + nnreturn (asp);:+ } + +nchar * + get_tmp_page (struct A *ppage, u2_t pn) +n{ +nnnchar *asp; + +nnnasp = ppage->p_shm; + if (asp == NULL) +n nnasp = get_new_tmp_page (ppage, pn);:+ read_tmp_page (pn,nasp);:+ nnreturn (asp);:+ } + void ! put_tmp_page (struct A *ppage, char type) { !nnnif (type == 'm')*!nnn write_tmp_page (ppage->p_pn, ppage->p_shm);* n} n void Only in*gnusql-0.7b6.0/src/engine/trans: trns_decl.c diff -rc gnusql-0.7b5.3/src/include/Makefile.in*gnusql-0.7b6.0/src/include/Makefile.in*****gnusql-0.7b5.3/src/include/Makefile.in Thu Jun 12 08:41:08*1997 -***gnusql-0.7b6.0/src/include/Makefile.in Sun Sep 13 00:22:11*1998 21:38:33 1998 ******2,8 98 ** ## GNU SQL Compiler (include dependencies) ##* ##########################################################################* ## !n## $Id: Makefile.src.include.in,v 1.247*1997/04/28 14:57:50 kml Exp $ ##* ## This file is a part of GNU SQL Server ##*-***2,8 ---- n## GNU SQL Compiler (include dependencies) ##* ##########################################################################* ## !n## $Id: Makefile.in,v 1.252*1998/09/13 04:21:03*kimelman Exp $ ##* ## This file is a part of GNU SQL Server ##*21:38:33 1998 ******36,62 98 ** all: headers link headers : trlheaders engheaders rpc_headers global.h cycler.h kitty.h typepf.h tree_gen.h sql.h exti.h cl_lib.h svr_lib.h inprtyp.h const.h dyn_funcs.h :etup_os.h : config.h ! const.h : engine/pupsi.h kitty.h : global.h* cycler.h : global.h*! global.h : :etup_os.h sql_type.h type.h xmem.h ../trl/trl.h pr_glob.h sql_decl.h funall.h* funall.h : type.h typeif.h sql_type.h :etup_os.h npr_glob.h : type.h typecpi.h typepi.h typeif.h errres.h*! sql_decl.h : ../trl/trl.h options.def*! type.h : engine/rnmtp.h ntypecpi.h : :ql_type.h*! typeif.h : engine/sctp.h engine/pupsi.h typepi.h : typecpi.h xmem.h : :etup_os.h* cl_lib.h : engine/dispatch.h* inprtyp.h : type_lib.h type_lib.h : global.h g:qltrn.h :ql_type.h : :ql_type.def* trlheaders : vmemory.h xmem.h :etup_os.h sql_type.h ( cd ../trl; $(MAKERT) headers ) engheaders : engine ( cd engine; $(MAKERT) headers; ) - engine : nnlink : nn test -d $(srcdir)/gnusql || (cd $(srcdir) && $(LN_S) .*gnusql) nn test -d gnusql || $(LN_S) .*gnusql -***36,78 ---- nall: headers link headers : trlheaders engheaders rpc_headers global.h cycler.h kitty.h typepf.h tree_gen.h sql.h exti.h cl_lib.h svr_lib.h inprtyp.h const.h dyn_funcs.h :etup_os.h : config.h ! - touch $@ ! const.h : $(srcdir)/engine/pupsi.h ! - touch $@ kitty.h : global.h*+ - touch $@ cycler.h : global.h*! - touch $@ ! global.h : :etup_os.h sql_type.h type.h xmem.h $(srcdir)/../trl/trl.h pr_glob.h sql_decl.h funall.h*! - touch $@ funall.h : type.h typeif.h sql_type.h :etup_os.h + - touch $@ pr_glob.h : type.h typecpi.h typepi.h typeif.h errres.h*! - touch $@ ! sql_decl.h : $(srcdir)/../trl/trl.h options.def*! - touch $@ ! type.h : $(srcdir)/engine/rnmtp.h ! - touch $@ typecpi.h : :ql_type.h*! - touch $@ ! typeif.h : $(srcdir)/engine/sctp.h $(srcdir)/engine/pupsi.h ! - touch $@ typepi.h : typecpi.h + - touch $@ xmem.h : :etup_os.h*+ - touch $@ cl_lib.h : engine/dispatch.h*+ - touch $@ inprtyp.h : type_lib.h + - touch $@ type_lib.h : global.h g:qltrn.h + - touch $@ :ql_type.h : :ql_type.def*+ - touch $@ trlheaders : vmemory.h xmem.h :etup_os.h sql_type.h ( cd ../trl; $(MAKERT) headers ) engheaders : engine ( cd engine; $(MAKERT) headers; ) nnlink : nn test -d $(srcdir)/gnusql || (cd $(srcdir) && $(LN_S) .*gnusql) nn test -d gnusql || $(LN_S) .*gnusql diff -rc gnusql-0.7b5.3/src/include/cl_lib.h gnusql-0.7b6.0/src/include/cl_lib.h*****gnusql-0.7b5.3/src/include/cl_lib.h Mon Apr 28 13:53:20*1997 -***gnusql-0.7b6.0/src/include/cl_lib.h Mon Sep 28 01:12:57*1998 21:38:33 1998 ******1,4 98 **! /* * * cl_lib.h - rpc client support libraryninterface* * of GNU SQL compiler* * -***1,5 ---- ! /* $Id: cl_lib.h,v 1.246*1998/07/30 03:23:36*kimelman Exp $ ! ** * cl_lib.h - rpc client support libraryninterface* * of GNU SQL compiler* * 21:38:33 1998 ******24,54 98 ** ** * Contacts: gss@ispras.ru ** */ n - /* $Id: cl_lib.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ - #ifndef __CL_LIB_H__ #define __CL_LIB_H__ #include "setup_os.h" #include "dispatch.h" n ! char *clnt_errre_msg __P((void));*!n*!nCLIENT *create_service __P((char *hostname, n n rpc_svc_t required_service, n n i4_t answer_wait_time, n n i4_t trn_client_wait_time, n n i4_t total_transaction_time)); n ! i4_tnnn:vc_ready __P((CLIENT *cl_handle, n i4_t min_delay, ! i4_t max_delay, n i4_t max_wait_time)); n ! voidn down_svc n __P((CLIENT *svc n ));*!nchar *get_host n __P((CLIENT *cl n ));*nnchar *choose_host __P((char *hostname));*nnchar *SQL__err_msg __P((i4_t code)); n -***25,57 ---- ** * Contacts: gss@ispras.ru **+ * $Log: cl_lib.h,v $*+ * Revision 1.246**1998/07/30 03:23:36**kimelman*+ * DIRECT_MODE*+ ** */ n #ifndef __CL_LIB_H__ #define __CL_LIB_H__ #include "setup_os.h" + #include "conn_handler.h" + #include "dispatch.h" n ! gss_client_t *create_service __P((char *hostname, n n rpc_svc_t required_service, n n i4_t answer_wait_time, n n i4_t trn_client_wait_time, n n i4_t total_transaction_time)); n ! i4_tnnn:vc_ready __P((gss_client_t *cl_handle, n i4_t min_delay, ! i4_t max_delay, n i4_t max_wait_time)); n ! voidn down_svc n __P((gss_client_t *svc n ));*!nchar *get_host n __P((gss_client_t *cl n ));*nnchar *choose_host __P((char *hostname));*nnchar *SQL__err_msg __P((i4_t code)); n Only in*gnusql-0.7b6.0/src/include: conn_handler.h Common subdirectories: gnusql-0.7b5.3/src/include/engine and*gnusql-0.7b6.0/src/include/engine diff -rc gnusql-0.7b5.3/src/include/errres.h*gnusql-0.7b6.0/src/include/errres.h*****gnusql-0.7b5.3/src/include/errres.h Mon Apr 28 13:53:17*1997 -***gnusql-0.7b6.0/src/include/errres.h Wed Nov 5 11:01:20*1997 21:38:33 1998 ******25,58 98 ** ** */ n ! /* $Id: errres.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n #ifdef DEF_ERR n - #if defined(__deftr_h__) - # errre "errres.h*and*deftr.h declare almost the same things*and*can't be used together" - #endif - #if defined(__pupans_h__) - # errre "errres.h*and*pupans.h declare almost the same things*and*can't be used together" - #endif - nDEF_ERR (OK, "OK")*!nDEF_ERR (NU, "The key of this tuple isn't unique")*!nDEF_ERR (NCF, "Incorrect conditions")*!nDEF_ERR (NDR, "Incorrect relation identifier")*!nDEF_ERR (NMS, "Incorrect scan mode")*!nDEF_ERR (NCR, "Current tuple is absent")*!nDEF_ERR (NIOB, "Incorrect object identifier")*!nDEF_ERR (NDSC, "Incorrect scan identifier")*!nDEF_ERR (NDI, "Incorrect index identifier")*!nDEF_ERR (N_SORT, "Notnsorted")*!nDEF_ERR (H_DBL, "Has doublicates")*!nDEF_ERR (D_DRCTN, "Sort directions are not matched")*!nDEF_ERR (N_EQV, "Objects are not equivalent")*!nDEF_ERR (EMFL, "The filter is empty")*!nDEF_ERR (EOSCAN, "End*of scan")*!nDEF_ERR (NO_SUCH_SEG, "No suchnsegment")*!nDEF_ERR (SYER, "Synchronization errre") nDEF_ERR (ER_1, "Incorrect data in*the tree") nDEF_ERR (ER_3, "Incorrect operation in*the tree") nDEF_ERR (ER_4, "Initialization errre") -***25,52 ---- ** */ n ! /* $Id: errres.h,v 1.247*1997/11/05*16:01:20*kml Exp $ */ n #ifdef DEF_ERR n nDEF_ERR (OK, "OK")*!nDEF_ERR (ER_NU, "The key of this tuple isn't unique")*!nDEF_ERR (ER_NCF, "Incorrect conditions")*!nDEF_ERR (ER_NDR, "Incorrect relation identifier")*!nDEF_ERR (ER_NMS, "Incorrect scan mode")*!nDEF_ERR (ER_NCR, "Current tuple is absent")*!nDEF_ERR (ER_NIOB, "Incorrect object identifier")*!nDEF_ERR (ER_NDSC, "Incorrect scan identifier")*!nDEF_ERR (ER_NDI, "Incorrect index identifier")*!nDEF_ERR (ER_N_SORT, "Notnsorted")*!nDEF_ERR (ER_H_DBL, "Has doublicates")*!nDEF_ERR (ER_D_DRCTN, "Sort directions are not matched")*!nDEF_ERR (ER_N_EQV, "Objects are not equivalent")*!nDEF_ERR (ER_EMFL, "The filter is empty")*!nDEF_ERR (ER_EOSCAN, "End*of scan")*!nDEF_ERR (ER_NO_SUCH_SEG, "No suchnsegment")*!nDEF_ERR (ER_SYER, "Synchronization errre") !nDEF_ERR (ER_FATAL, "Fatal errre") nDEF_ERR (ER_1, "Incorrect data in*the tree") nDEF_ERR (ER_3, "Incorrect operation in*the tree") nDEF_ERR (ER_4, "Initialization errre") 21:38:33 1998 ******59,65u98 ** DEF_ERR (ER_5, "Incorrect section numbee") nDEF_ERR (ER_6, "Incorrect cursor operation") nDEF_ERR (ER_8, "Incorrect command*code in*module")*!nDEF_ERR (ER_9, "There isn't enaugh memory space to work") nDEF_ERR (ER_RET, "SubQuery handling errre") nDEF_ERR (ER_SQ, "More than one row in*SubQuery") nDEF_ERR (ER_OpCur, "Attempnto open unclosed cursor") -***53,59 ---- DEF_ERR (ER_5, "Incorrect section numbee") nDEF_ERR (ER_6, "Incorrect cursor operation") nDEF_ERR (ER_8, "Incorrect command*code in*module")*!nDEF_ERR (ER_NOMEM, "Memory exhausted")* nDEF_ERR (ER_RET, "SubQuery handling errre") nDEF_ERR (ER_SQ, "More than one row in*SubQuery") nDEF_ERR (ER_OpCur, "Attempnto open unclosed cursor") 21:38:33 1998 ******69,85u98 ** DEF_ERR (ER_CRETAB, "Table creation errre") nDEF_ERR (ER_DRTAB, "Table dropping errre:nintegrity violation") nDEF_ERR (ER_CREIND, "Index creation errre") !nDEF_ERR (ER_PRIVLG, "There is not enaugh priveleges")* nDEF_ERR (ER_BD, "Incorrect information from the low level") nDEF_ERR (ER_CLNT, "Client calling errre") nDEF_ERR (ER_SERV, "Incorrect work withnserver") nDEF_ERR (ND_INDIC, "NULL resultnfre parameter without indicatre") nDEF_ERR (NOCRTR, "Transactiion can't be created now")*!nDEF_ERR (NEED_WAIT, "There is not resultnyet") nDEF_ERR (MEM_ERR, "Memory allocation errre") !nDEF_ERR (MDLINIT, "Errre in*work withnmodule initialization") nDEF_ERR (NOTRNANS, "Client can't receive answer from server-transaction") !nDEF_ERR (TRN_INIT, "Errre in*transaction initialization") nDEF_ERR (TRN_EXITED, "Transaction is finished")* nDEF_ERR (NULLRES, "Empty resultnfrom interpretatre") nDEF_ERR (TRN_ID, "Dispatchee:nIncorrect identifier of transaction process") -***63,79 ---- DEF_ERR (ER_CRETAB, "Table creation errre") nDEF_ERR (ER_DRTAB, "Table dropping errre:nintegrity violation") nDEF_ERR (ER_CREIND, "Index creation errre") !nDEF_ERR (ER_PRIVLG, "There is not enough priveleges")* nDEF_ERR (ER_BD, "Incorrect information from the low level") nDEF_ERR (ER_CLNT, "Client calling errre") nDEF_ERR (ER_SERV, "Incorrect work withnserver") nDEF_ERR (ND_INDIC, "NULL resultnfre parameter without indicatre") nDEF_ERR (NOCRTR, "Transactiion can't be created now")*!nDEF_ERR (NEED_WAIT, "There is no resultnyet") nDEF_ERR (MEM_ERR, "Memory allocation errre") !nDEF_ERR (MDLINIT, "Module initialization errre") nDEF_ERR (NOTRNANS, "Client can't receive answer from server-transaction") !nDEF_ERR (TRN_INIT, "Transaction initialization errre") nDEF_ERR (TRN_EXITED, "Transaction is finished")* nDEF_ERR (NULLRES, "Empty resultnfrom interpretatre") nDEF_ERR (TRN_ID, "Dispatchee:nIncorrect identifier of transaction process") 21:38:33 1998 ******92,106u98 ** DEF_ERR (DS_CUR, "Invalid SQL cursor name") nDEF_ERR (DS_CURST, "Invalid cursor :tate") nDEF_ERR (DS_DESCR, "Dynamic SQL:nIncorrect descriptre") !nDEF_ERR (DS_DESCRLEN, "Dynamic SQL:nToo little static size of descriptre") nDEF_ERR (DS_NMARG, "Dynamic SQL:nIncorrect name-argument")*!nDEF_ERR (DS_CURDECL, "Dynamic SQL:nRepeated using of cursor name in*declaration") nDEF_ERR (DS_SYNTER, "Syntax errre re access rule violation in*dynamic SQL :tatement")* nDEF_ERR (TNERR, "Incorrect table name in*dynamic SQL :tatement")* nDEF_ERR (DS_EXE, "More than one row in*the resultnof dynamic SQL execute :tatement")*!nDEF_ERR (DS_NOPAR, "Dynamic SQL errre-using clause requirednfre dynamic parameters")*!nDEF_ERR (DS_NORES, "Dynamic SQL errre-using clause requirednfre resultnfields")*!nDEF_ERR (DS_CNT, "Dynamic SQL errre-invalid descriptre*count")*!nDEF_ERR (DS_BADTAR, "Dynamic SQL errre-using clause does not match target specification") !nDEF_ERR (DS_BADPAR, "Dynamic SQL errre-using clause does not match parameter specification") #endif -***86,101 ---- DEF_ERR (DS_CUR, "Invalid SQL cursor name") nDEF_ERR (DS_CURST, "Invalid cursor :tate") nDEF_ERR (DS_DESCR, "Dynamic SQL:nIncorrect descriptre") !nDEF_ERR (DS_DESCRLEN, "Dynamic SQL:nstatic size of descriptre is too small") nDEF_ERR (DS_NMARG, "Dynamic SQL:nIncorrect name-argument")*!nDEF_ERR (DS_CURDECL, "Dynamic SQL:nRedeclaration of cursor name") nDEF_ERR (DS_SYNTER, "Syntax errre re access rule violation in*dynamic SQL :tatement")* nDEF_ERR (TNERR, "Incorrect table name in*dynamic SQL :tatement")* nDEF_ERR (DS_EXE, "More than one row in*the resultnof dynamic SQL execute :tatement")*!nDEF_ERR (DS_NOPAR, "Dynamic SQL errre - USING clause requirednfre dynamic parameters")*!nDEF_ERR (DS_NORES, "Dynamic SQL errre - USING clause requirednfre resultnfields")*!nDEF_ERR (DS_CNT, "Dynamic SQL errre - invalid descriptre*count")*!nDEF_ERR (DS_BADTAR, "Dynamic SQL errre - USING clause does not match target specification") !nDEF_ERR (DS_BADPAR, "Dynamic SQL errre - USING clause does not match parameter specification") !nDEF_ERR (ER_COMP_FATAL, "SQL Compiler fatal (prbablyninternal) errre") n#endif diff -rc gnusql-0.7b5.3/src/include/funall.h gnusql-0.7b6.0/src/include/funall.h*****gnusql-0.7b5.3/src/include/funall.h Mon Apr 28 13:53:18*1997 -***gnusql-0.7b6.0/src/include/funall.h Mon Sep 21 17:56:25*1998 21:38:33 1998 ******29,35 98 ** * Contacts: gss@ispras.ru */ n ! /* $Id: funall.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n /**********************************************************/ /* engine interface librarynnnnnnnnnnnnnnnnnnn*/ -***29,35 ---- * Contacts: gss@ispras.ru */ n ! /* $Id: funall.h,v 1.247*1998/01/13 12:25:57*vera Exp $ */ n /**********************************************************/ /* engine interface librarynnnnnnnnnnnnnnnnnnn*/ 21:38:33 1998 ******45,56u98 ** #include "type.h" #include "sql_type.h" n ! i4_tnnnind_read __P((Indidn* indid, i4_t ind_clm_cnt,nDataUnit **ind_cond_du, !nnnnnnnnnnnnnn i4_t read_cnt, i4_t *read_col_nums,nDataUnit **read_du, nnnnnnnnnnnnnnnnnnScanidn*ext_scanid, char mode)); ni4_tnnntab_read __P((Tabidn* tabid, i4_t tab_clm_cnt,ni4_t max_clm_num, !nnnnnnnnnnnnnn i4_t *tab_col_nums,nDataUnit **tab_cond_du, !nnnnnnnnnnnnnn i4_t read_cnt, i4_t *read_col_nums,nDataUnit **read_du)); nvoidn db_func_init __P((void));* ni4_tnnnexistsc __P((char *autnm));* ni4_tnnnexisttb __P((char *owner,char *tabnm,Tabidn*tabid,char *type)); -***45,56u---- n#include "type.h" #include "sql_type.h" n ! i4_tnnnind_read __P((Indidn* indid, i4_t ind_clm_cnt,ndata_unit_t **ind_cond_du, !nnnnnnnnnnnnnn i4_t read_cnt, i4_t *read_col_nums,ndata_unit_t **read_du, nnnnnnnnnnnnnnnnnnScanidn*ext_scanid, char mode)); ni4_tnnntab_read __P((Tabidn* tabid, i4_t tab_clm_cnt,ni4_t max_clm_num, !nnnnnnnnnnnnnn i4_t *tab_col_nums,ndata_unit_t **tab_cond_du, !nnnnnnnnnnnnnn i4_t read_cnt, i4_t *read_col_nums,ndata_unit_t **read_du)); nvoidn db_func_init __P((void));* ni4_tnnnexistsc __P((char *autnm));* ni4_tnnnexisttb __P((char *owner,char *tabnm,Tabidn*tabid,char *type)); 21:38:33 1998 ******77,117u98 ** * ni4_tnnopentscan __P(( Tabidn*tabid,i4_t *spn,char mode,i4_t nr,i4_t *rlist, n i4_t nc,cond_buf_t cond,i4_t nm,i4_t *mlist));*!ni4_tnnopeniscan __P((Indidn*indid,i4_t *spn, char mode,i4_t nr,i4_t *rlist, !n i4_t nc,cond_buf_t cond,i4_t nra,cond_buf_t range,i4_t nm,i4_t *mlist));* ni4_tnnopenfscan __P((Filid *filid,char *mode,i4_t nr,i4_t *rlist, !n i4_t nc,cond_buf_t cond,i4_t nm,i4_t *mlist));*!ni4_tnfindrow __P((Scanidnscanid, i4_t nr,nDataUnit **colval));*!ni4_tnread_row __P((Scanidnscanid, i4_t nr,ni4_t *rlist,nDataUnit **colval));* ni4_tnnsaposit __P((i4_t scanid));* ni4_tnnreposit __P((i4_t scanid));*!ni4_tnndelrow __P((i4_t scanid,i4_t *spn));*!ni4_tnnmod_data __P((Scanidnscanid, i4_t nm,nDataUnit *mod_from, !n nnnnnnnsql_type_t *dt_types,ni4_t *spn, i4_t *mlist));*!ni4_tnnins_data __P((Tabidn*tabid, i4_t nv,nDataUnit *ins_from,nsql_type_t *dt_types,ni4_t *spn));*!ni4_tnninsrow __P((Tabidn*tabid,i4_t nv,u2_t *lenval ,Colval colval,i4_t *spn));* ni4_tnninstid __P((Scanidnscanid, Filid filid));* ni4_tnnclosescan __P((Scanidnscanid));*!ni4_tnncrepview __P((Tabidn*tabid,Segidnsegid,i4_t *spn ,i4_t colnum , !n nnnnnnnsql_type_t *coltype)); !ni4_tnncreptab __P((Tabidn*tabid, Segidnsegid, i4_t *spn , i4_t colnum, !n nnnnnni4_t nnulnum, :ql_type_t *coltype)); !ni4_tnncrettab __P((Tabidn*tabid, i4_t colnum,i4_t nnulnum , :ql_type_t *coltype)); ni4_tnncrefil __P((Filid *filid, Tabidn*tabid)); !ni4_tnncreind __P((Indidn*indid, Tabidn*tabid, i4_t *spn ,char unique, !n nnnnnchar clust,i4_t ncn,i4_t *cnlist));*!ni4_tnndropptab __P((Tabidn*tabid ,ni4_t *spn));* ni4_tnndropttab __P((Tabidn*tabid));*!ni4_tnndropind __P((Indidn*indid ,ni4_t *spn));*!ni4_tnnaddcol __P((Tabidn*tabid, i4_t *spn ,i4_t ncn ,:ql_type_t *coltype)); ni4_tnnsavepoint __P((void));* ni4_tnnrollback __P((i4_t spno)); nvoidncommit __P((void));* ni4_tnnsorttab __P((Tabidn* itabid, Tabidn* otabid, i4_t ns, !nnnnnnnnnnnnnn i4_t *slist,nchar order, char fl));* ni4_tnnsortfil __P((Filid *ifilid, Filid *ofilid));*!ni4_tnnmake_group __P((Tabidn*itabid, Tabidn*otabid,i4_t ng,i4_t *glist,char order, !n i4_t nf,i4_t *flist,char *fl));* n /*---------- E N DnnnP A R T 1 ----------------------*/ n -***77,118 ---- n* ni4_tnnopentscan __P(( Tabidn*tabid,i4_t *spn,char mode,i4_t nr,i4_t *rlist, n i4_t nc,cond_buf_t cond,i4_t nm,i4_t *mlist));*!ni4_tnnopeniscan __P((Indidn*indid,i4_t *spn, char mode,i4_t nr,i4_t *rlist, i4_t nc, !nnnnnnnnnnnnnn cond_buf_t cond,i4_t nra,cond_buf_t range,i4_t nm,i4_t *mlist));* ni4_tnnopenfscan __P((Filid *filid,char *mode,i4_t nr,i4_t *rlist, !nnnnnnnnnnnnnnnnnnnnnnni4_t nc,cond_buf_t cond,i4_t nm,i4_t *mlist));*!ni4_tnfindrow __P((Scanidnscanid, data_unit_t **colval));*!ni4_tnread_row __P((Scanidnscanid, i4_t nr,ni4_t *rlist,ndata_unit_t **colval));* ni4_tnnsaposit __P((i4_t scanid));* ni4_tnnreposit __P((i4_t scanid));*!ni4_tnndelrow __P((i4_t scanid));*!ni4_tnnmod_data __P((Scanidnscanid, i4_t nm,ndata_unit_t *mod_from, !nnnnnnnnnnnnnnnnnnnnnnsql_type_t *dt_types,ni4_t *mlist));*!ni4_tnnins_data __P((Tabidn*tabid, i4_t nv,ndata_unit_t *ins_from, !nnnnnnnnnnnnnnnnnnnnnnsql_type_t *dt_types));*!ni4_tnninsrow __P((Tabidn*tabid, u2_t *lenval, Colval colval));* ni4_tnninstid __P((Scanidnscanid, Filid filid));* ni4_tnnclosescan __P((Scanidnscanid));*!ni4_tnncrepview __P((Tabidn*tabid, Segidnsegid, i4_t colnum, !nnnnnnnnnnnnnnnnnnnnnnsql_type_t *coltype)); !ni4_tnncreptab __P((Tabidn*tabid, Segidnsegid, i4_t colnum, !nnnnnnnnnnnnnnnnnnnnni4_t nnulnum, :ql_type_t *coltype)); !ni4_tnncrettab __P((Tabidn*tabid, i4_t colnum,ni4_t nnulnum, :ql_type_t *coltype)); ni4_tnncrefil __P((Filid *filid, Tabidn*tabid)); !ni4_tnncreind __P((Indidn*indid, Tabidn*tabid, char unique, !nnnnnnnnnnn char clust,i4_t ncn,i4_t *cnlist));*!ni4_tnndropptab __P((Tabidn*tabid));* ni4_tnndropttab __P((Tabidn*tabid));*!ni4_tnndropind __P((Indidn*indid));*!ni4_tnnaddcol __P((Tabidn*tabid, i4_t ncn, :ql_type_t *coltype)); ni4_tnnsavepoint __P((void));* ni4_tnnrollback __P((i4_t spno)); nvoidncommit __P((void));* ni4_tnnsorttab __P((Tabidn* itabid, Tabidn* otabid, i4_t ns, !nnnnnnnnnnnnnn nnnnn i4_t *slist,nchar order, char fl));* ni4_tnnsortfil __P((Filid *ifilid, Filid *ofilid));*!ni4_tnnmake_group __P((Tabidn*itabid, Tabidn*otabid,i4_t ng,i4_t *glist, !nnnnnnnnnnnnnnnnnnnnnnnnchar order, i4_t nf,i4_t *flist,char *fl));* n /*---------- E N DnnnP A R T 1 ----------------------*/ n 21:38:33 1998 ******123,172u98 ** * ni4_tnuidnsttab __P((Tabidn* i1tabid, Tabidn* i2tabid, Tabidn* otabid, i4_t code)); ni4_tnunsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, !n nnnnni4_t ns,ni4_t *rlist)); ni4_tnintsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, !n nnnnnni4_t ns,ni4_t *rlist)); ni4_tndifsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, !n nnnnnni4_t ns,ni4_t *rlist)); ni4_tnbldttfil __P((Tabidn*tabid, Filid *filid,i4_t nc, cond_buf_t cond,ni4_t *spn));* ni4_tnbldtifil __P((Indidn*indid, Filid *filid,i4_t nc, cond_buf_t cond,i4_t nra, !n nnnnnncond_buf_t range,ni4_t *spn));* ni4_tnbldtffil __P((Filid *ifilid, Filid *ofilid,i4_t nc,cond_buf_t cond)); ni4_tnbldtttab __P((Tabidn*itabid, Tabidn*otabid,i4_t nr,ni4_t *rlist,i4_t nc , !n nnnnnncond_buf_t cond,ni4_t *spn));* ni4_tnbldtitab __P((Indidn*indid, Tabidn*otabid,i4_t nr,ni4_t *rlist,i4_t nc, !n nnnnnncond_buf_t cond,i4_t nra,cond_buf_t range,ni4_t *spn));* ni4_tnbldtftab __P((Filid *filid, Tabidn*otabid,i4_t nr,ni4_t *rlist,i4_t nc , !n nnnnnncond_buf_t cond)); ni4_tndelttab __P((Tabidn*tabid,i4_t nc ,ncond_buf_t cond,ni4_t *spn));*!ni4_tndelitab __P((Indidn*indid, i4_t nc ,ncond_buf_t cond,ni4_t nra ,cond_buf_t range, !n nnnnni4_t *spn));* ni4_tndelftab __P((Filid *filid, i4_t nc ,cond_buf_t cond,ni4_t *spn));* ni4_tnmodttab __P((Tabidn*tabid, i4_t nc,cond_buf_t cond,i4_t nm,i4_t *mlist, !n nnnnnColval lenval , Colval colval,ni4_t *spn));* ni4_tnmoditab __P((Indidn*indid,i4_t nc,cond_buf_t cond,i4_t nr,cond_buf_t range, !n nnnnni4_t nm,i4_t *mlist,Colval lenval,Colval colval,i4_t *spn));* ni4_tnmodftab __P((Filid *filid, i4_t nc,cond_buf_t cond,i4_t nm, i4_t *mlist, !n nnnnnColval lenval ,Colval colval,ni4_t *spn));* ni4_tninstttab __P((Tabidn*itabid, Tabidn*otabid, i4_t nr,ni4_t *rlist, !n nnnnnni4_t nc,cond_buf_t cond,ni4_t *spn));* ni4_tninstitab __P((Indidn*indid, Tabidn*otabid, i4_t nr,ni4_t *rlist,i4_t nc, !n nnnnnncond_buf_t cond,i4_t nra,ncond_buf_t range,ni4_t *spn));* ni4_tninstftab __P((Filid *filid, Tabidn*otabid, i4_t nr,ni4_t *rlist,i4_t nc, !n nnnnnncond_buf_t cond,ni4_t *spn));* ni4_tnjnsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, i4_t ns, !n nnnnni4_t *r1list,i4_t *r2list)); ni4_tncnt_ttab __P((Tabidn*tabid,i4_t nc,ncond_buf_t cond)); !ni4_tncnt_itab __P((Indidn*indid,i4_t nc,ncond_buf_t cond,ni4_t nr,cond_buf_t range)); ni4_tncnt_ftab __P((Filid *filid,i4_t nc,ncond_buf_t cond)); ni4_t maxminavgitab __P((Indidn* indid, i4_t maxminavg, i4_t nc,ncond_buf_t cond, !n i4_t nr,ncond_buf_t range,ni4_t code)); ni4_tnminmaxavgstab __P((Tabidn* tabid, i4_t minmaxavg,ni4_t code)); ni4_tnfunci __P((Indidn* indid, i4_t *spn, i4_t nc,ncond_buf_t cond, !n i4_t nr,ncond_buf_t range,nDataUnit **colval, i4_t nf, !n i4_t *flist, char *fl));* ni4_tnfunc __P((Tabidn* tabid, i4_t *spn, i4_t nc,ncond_buf_t cond, !n DataUnit **colval, i4_t nf, i4_t *flist, char *fl));* n /**********************************************************98 ** **-***124,174 ---- n* ni4_tnuidnsttab __P((Tabidn* i1tabid, Tabidn* i2tabid, Tabidn* otabid, i4_t code)); ni4_tnunsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, !nnnnnnnnnnnnnnnnnnnni4_t ns,ni4_t *rlist)); ni4_tnintsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, !nnnnnnnnnnnnnnnnnnnnni4_t ns,ni4_t *rlist)); ni4_tndifsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, !nnnnnnnnnnnnnnnnnnnnni4_t ns,ni4_t *rlist)); ni4_tnbldttfil __P((Tabidn*tabid, Filid *filid,i4_t nc, cond_buf_t cond,ni4_t *spn));* ni4_tnbldtifil __P((Indidn*indid, Filid *filid,i4_t nc, cond_buf_t cond,i4_t nra, !nnnnnnnnnnnn cond_buf_t range,ni4_t *spn));* ni4_tnbldtffil __P((Filid *ifilid, Filid *ofilid,i4_t nc,cond_buf_t cond)); ni4_tnbldtttab __P((Tabidn*itabid, Tabidn*otabid,i4_t nr,ni4_t *rlist,i4_t nc , !nnnnnnnnnnnn cond_buf_t cond,ni4_t *spn));* ni4_tnbldtitab __P((Indidn*indid, Tabidn*otabid,i4_t nr,ni4_t *rlist,i4_t nc, !nnnnnnnnnnnn cond_buf_t cond,i4_t nra,cond_buf_t range,ni4_t *spn));* ni4_tnbldtftab __P((Filid *filid, Tabidn*otabid,i4_t nr,ni4_t *rlist,i4_t nc , !nnnnnnnnnnnn cond_buf_t cond)); ni4_tndelttab __P((Tabidn*tabid,i4_t nc ,ncond_buf_t cond,ni4_t *spn));*!ni4_tndelitab __P((Indidn*indid, i4_t nc ,ncond_buf_t cond,ni4_t nra, !nnnnnnnnnnn cond_buf_t range,ni4_t *spn));* ni4_tndelftab __P((Filid *filid, i4_t nc ,cond_buf_t cond,ni4_t *spn));* ni4_tnmodttab __P((Tabidn*tabid, i4_t nc,cond_buf_t cond,i4_t nm,i4_t *mlist, !nnnnnnnnnnnnnnnnnnnnu2_t *lenval , Colval colval));* ni4_tnmoditab __P((Indidn*indid,i4_t nc,cond_buf_t cond,i4_t nr,cond_buf_t range, !nnnnnnnnnnnnnnnnnnnni4_t nm,i4_t *mlist,nu2_t * lenval, Colval colval));* ni4_tnmodftab __P((Filid *filid, i4_t nc,cond_buf_t cond,i4_t nm, i4_t *mlist, !nnnnnnnnnnnnnnnnnnnnu2_t * lenval, Colval colval));* ni4_tninstttab __P((Tabidn*itabid, Tabidn*otabid, i4_t nr,ni4_t *rlist, !nnnnnnnnnnnnnnnnnnnnni4_t nc,cond_buf_t cond,ni4_t *spn));* ni4_tninstitab __P((Indidn*indid, Tabidn*otabid, i4_t nr,ni4_t *rlist,i4_t nc, !nnnnnnnnnnnn cond_buf_t cond,i4_t nra,ncond_buf_t range,ni4_t *spn));* ni4_tninstftab __P((Filid *filid, Tabidn*otabid, i4_t nr,ni4_t *rlist,i4_t nc, !nnnnnnnnnnnn cond_buf_t cond,ni4_t *spn));* ni4_tnjnsttab __P((Tabidn*i1tabid, Tabidn*i2tabid, Tabidn*otabid, i4_t ns, !nnnnnnnnnnnnn nnnnn i4_t *r1list,i4_t *r2list)); ni4_tncnt_ttab __P((Tabidn*tabid,i4_t nc,ncond_buf_t cond)); !ni4_tncnt_itab __P((Indidn*indid,i4_t nc,ncond_buf_t cond, !nnnnnnnnnnnnnnnnnnnnni4_t nr,cond_buf_t range)); ni4_tncnt_ftab __P((Filid *filid,i4_t nc,ncond_buf_t cond)); ni4_t maxminavgitab __P((Indidn* indid, i4_t maxminavg, i4_t nc,ncond_buf_t cond, !nnnnnnnnnnnnnnnnnnnnnnnnnni4_t nr,ncond_buf_t range,ni4_t code)); ni4_tnminmaxavgstab __P((Tabidn* tabid, i4_t minmaxavg,ni4_t code)); ni4_tnfunci __P((Indidn* indid, i4_t *spn, i4_t nc,ncond_buf_t cond, !nnnnnnnnnnnnnnnnnni4_t nr,ncond_buf_t range,ndata_unit_t **colval, i4_t nf, !nnnnnnnnnnn nnnnn i4_t *flist, char *fl));* ni4_tnfunc __P((Tabidn* tabid, i4_t *spn, i4_t nc,ncond_buf_t cond, !nnnnnnnnnnnnnnnnndata_unit_t **colval, i4_t nf, i4_t *flist, char *fl));* n /**********************************************************98 ** **diff -rc gnusql-0.7b5.3/src/include/global.h gnusql-0.7b6.0/src/include/global.h*****gnusql-0.7b5.3/src/include/global.h Mon Apr 28 13:53:19*1997 -***gnusql-0.7b6.0/src/include/global.h Mon Sep 28 20:23:16*1998 21:38:33 1998 ******25,31 98 ** ** */ n ! /* $Id: global.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n #ifndef __GLOBAL_H__ #define __GLOBAL_H__ -***25,31 ---- ** */ n ! /* $Id: global.h,v 1.246*1998/05/20 05:55:31 kml Exp $ */ n #ifndef __GLOBAL_H__ #define __GLOBAL_H__ 21:38:33 1998 ******102,108 98 ** /**********************************************************98 ******\ * Passes*declaration ** \**********************************************************98 ******/ ! i4_tnnn yyparse __P((void));* ni4_tnnnnnmonitor __P((void));* nTXTREF handle_types __P((TXTREF cur_node,ni4_tnf));* nVADR codegen __P((void));*-***102,108 ---- /**********************************************************98 ******\ * Passes*declaration ** \**********************************************************98 ******/ ! intnnn yyparse __P((void));* ni4_tnnnnnmonitor __P((void));* nTXTREF handle_types __P((TXTREF cur_node,ni4_tnf));* nVADR codegen __P((void));*diff -rc gnusql-0.7b5.3/src/include/inprtyp.h gnusql-0.7b6.0/src/include/inprtyp.h*****gnusql-0.7b5.3/src/include/inprtyp.h Mon Apr 28 13:53:21*1997 -***gnusql-0.7b6.0/src/include/inprtyp.h Mon Sep 28 20:23:16*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: inprtyp.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n #ifndef __intprtyp_h__ #define __intprtyp_h__ -***26,32 ---- ** */ n ! /* $Id: inprtyp.h,v 1.246*1997/11/05*16:02:56 kml Exp $ */ n #ifndef __intprtyp_h__ #define __intprtyp_h__ 21:38:33 1998 ******33,42u98 ** * n#include "type_lib.h" n - #define OPERN 1 - #define LEAF 2 - #define DONE 3 - #define P_ALLOC(n,typ) V_PTR(VMALLOC(n,typ),char) #define Tid_V_ADR(ptr,x) (&(V_ADR(ptr,x,UnId)->t)) #define Iid_V_ADR(ptr,x) (&(V_ADR(ptr,x,UnId)->i)) -***33,38 ---- 21:38:33 1998 ******65,73u98 ** nnnnnnn* operation is already handled. Else =0 */ n i4_t art; } StackUnit; typedef struct { !nnnDataUnit Left, Right; nn:ql_type_t Type; nnchar LeftCode,nRightCode,nNullCode; } SP_Cond;*-***61,71 ---- nnnnnnn* operation is already handled. Else =0 */ n i4_t art; } StackUnit; + +n typedef struct { !nnndata_unit_t Left, Right; nn:ql_type_t Type; nnchar LeftCode,nRightCode,nNullCode; } SP_Cond;*21:38:33 1998 ******94,100u98 ** n nnnif (!bufsz) \ n /* columns' conditions aren't compatible */ \ n n{ \ !n n CHECK_ERR(-EOSCAN); \ n n cur=ex; \ n break; \ n } \ -***92,98 ---- n nnnif (!bufsz) \ n /* columns' conditions aren't compatible */ \ n n{ \ !n n CHECK_ERR(-ER_EOSCAN); \ n n cur=ex; \ n break; \ n } \ 21:38:33 1998 ******102,120u98 ** * n#define MAX_STACK 64 n ! #define InitDat nnnif (data_st == NULL)n{ \ !nnnnnnnnnnnnnnnnnnnnnnndata_st=xmalloc(MAX_STACK*SZ_DU); \ dt_max=MAX_STACK; \ n dt_ind=-1;n} n ! #define InitStacknnnif (stackn== NULL)n{ \ !nnnnnnnnnnnnnnnnnnnnnnnstack=xmalloc(MAX_STACK*SZ_SU); \ n st_max=MAX_STACK; \ ! st_ind=-1;n} n n#define DtPush n{ if (dt_ind==dt_max)n{ \ dt_max+=MAX_STACK; \ !nnnnnnnnnnnnnnnnnnnnnnndata_st=(DataUnit *)xrealloc(data_st,dt_max*SZ_DU);\ } \ dt_ind++;n} n -***100,116 ---- n* n#define MAX_STACK 64 n ! #define InitDat nnn{ndata_st=xrealloc(data_st,MAX_STACK*SZ_DU); \ dt_max=MAX_STACK; \ n dt_ind=-1;n} n ! #define InitStacknnn{nstack=xrealloc(stack,MAX_STACK*SZ_SU); \ n st_max=MAX_STACK; \ ! st_ind=-1;n} n n#define DtPush n{ if (dt_ind==dt_max)n{ \ dt_max+=MAX_STACK; \ !nnnnnnnnnnnnnnnnnnnnnnndata_st=(data_unit_t *)xrealloc(data_st,dt_max*SZ_DU);\ } \ dt_ind++;n} n 21:38:33 1998 ******128,136u98 ** * n#define StPop st_ind--; n - #define CloseDat nnif (data_st!=NULL)n xfree(data_st);*- #define CloseStacknnif (stack!=NULL)nxfree(stack);*- n#define DtCurEl n (data_st[dt_ind]) #define DatCur (DtCurEl.dat)* n#define StrCur (STR_PTR (&DatCur)) -***124,129 ---- 21:38:33 1998 ******157,165u98 ** #define LenPredn (DtPredEl.type.len)* n#define CodPredn (DtPredEl.type.code)* n#define StcCur (stack[st_ind]) - #define CurPredn { cur=stack[st_ind].TP; \ - StPop; \ - Handle=cur->Handle;n} n n#define PtrDtNextEl (data_st+dt_ind+1) #define DtNextEl (data_st[dt_ind+1]) -***150,155 ---- 21:38:33 1998 ******167,187u98 ** #define LngNext (LNG_VL (&DatNext)) /* function from interpr.c : */ ! i4_tnproc_work __P((char *begin, char **Exi, MASK Handle));* n /* following functions are in intlib.c : */ n ! i4_tnhandle_statistic __P((i4_t untabid, i4_t tab_col_num,ni4_tnmod_col_num, nnnnnnnnnnnnnnnnnnnnnnnni4_t *mod_col_list, i4_t use_values));*!ni4_tnchange_statistic __P((void));*!ni4_tncheck_and_put __P((i4_t mod_col_num,ni4_t *mod_col_list, TRNode **tree_ptr_arr, !n DataUnit **res_data_arr, S_ConstrHeader *header));*!ni4_tnchck_err __P((i4_t cd)); nvoidnoff_adr __P((PSECT_PTR * arr_ptr, i4_t nr));*!ni4_tnprep_inl __P((i4_t prep_cnt, i4_t *prep_need, i2_t *len,nvoidn**col_ptr));*!ni4_tncalculate __P((TRNode * tr, voidn*res_ptr, i4_t res_size, !n nnnnnnnbyte res_type, char *null_fl));*!nvoidnput_as __P((char ch,nchar *ch_ptr, i4_t how));*!ni4_tncondbuf __P((char **bufptr, i4_t ClmCnt, VADR * Trees));* n #endif -***157,175 ---- #define LngNext (LNG_VL (&DatNext)) /* function from interpr.c : */ ! intnproc_work __P((char *begin, char **Exi, MASK Handle));* n /* following functions are in intlib.c : */ n ! intnhandle_statistic __P((i4_t untabid, i4_t tab_col_num,ni4_tnmod_col_num, nnnnnnnnnnnnnnnnnnnnnnnni4_t *mod_col_list, i4_t use_values));*!nintnchange_statistic __P((void));*!nintncheck_and_put __P((i4_t mod_col_num,ni4_t *mod_col_list, TRNode **tree_ptr_arr, !n data_unit_t **res_data_arr, S_ConstrHeader *header));*!nintnchck_err __P((int cd)); nvoidnoff_adr __P((PSECT_PTR * arr_ptr, i4_t nr));*!nintncalculate __P((TRNode * tr, voidn*res_ptr, i4_t res_size, !nnnnnnnnnnnnnnnnnnnnnbyte res_type, char *null_fl));*!nintncondbuf __P((char **bufptr, i4_t ClmCnt, VADR * Trees));* n #endif diff -rc gnusql-0.7b5.3/src/include/options.def*gnusql-0.7b6.0/src/include/options.def*****gnusql-0.7b5.3/src/include/options.def Mon Apr 28 13:53:18*1997 -***gnusql-0.7b6.0/src/include/options.def Sat Sep 12 18:03:26*1998 21:38:33 1998 ******24,30 98 ** ** */ n ! /* $Id: options.def,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n #ifdef DEF_OPTION n /* DEF_OPTION("option name",reference_name, is setted)n -***24,30 ---- ** */ n ! /* $Id: options.def,v 1.246*1998/09/12 21:46:04*kimelman Exp $ */ n #ifdef DEF_OPTION n /* DEF_OPTION("option name",reference_name, is setted)n 21:38:33 1998 ******69,76u98 ** trl_dump)* nDEF_PASS("atributes" ,"types evaluatiion" ,'t',eval_types,1,0,DEFLT_DMP,"atr",* trl_dump)*-nDEF_PASS("subqueries","query transformation" ,'q',trns_subq ,1,0,DEFLT_DMP,"sq" , - trl_dump)* nDEF_PASS("access" ,"checking privilegies" ,'a',chk_access,1,0,DEFLT_DMP,"acc",* trl_dump)* nDEF_PASS("optimizer" ,"tree optimization" ,'o',transform ,1,0,DEFLT_DMP,"opt",*-***69,74 ---- diff -rc gnusql-0.7b5.3/src/include/pr_glob.h gnusql-0.7b6.0/src/include/pr_glob.h*****gnusql-0.7b5.3/src/include/pr_glob.h Mon Apr 28 13:53:17*1997 -***gnusql-0.7b6.0/src/include/pr_glob.h Mon Sep 21 17:56:25*1998 21:38:33 1998 ******27,33 98 ** ** */ n ! /* $Id: pr_glob.h,v 1.246*1997/04/24 17:41:43 kml Exp $ */ n #ifndef __PR_GLOB_H__ #define __PR_GLOB_H__ -***27,33 ---- ** */ n ! /* $Id: pr_glob.h,v 1.247*1997/11/05*16:03:16*kml Exp $ */ n #ifndef __PR_GLOB_H__ #define __PR_GLOB_H__ 21:38:33 1998 ******105,111u98 ** #define BitNOT(x) (~(x))* * n#define SZ_SU sizeof(StackUnit) ! #define SZ_DU sizeof(DataUnit)* * n#define MK_UN_OPER(op, arg) \ { \ -***105,111u---- #define BitNOT(x) (~(x))* * n#define SZ_SU sizeof(StackUnit) ! #define SZ_DU sizeof(data_unit_t)* * n#define MK_UN_OPER(op, arg) \ { \ 21:38:33 1998 ******207,218 98 ** /* structures withnstatistic information about table & its columns : */ n typedef struct { !nnnDataUnit min, max; /* min & max values in column */ n} col_stat_info; n typedef struct { !nnnDataUnit ins_min, ins_max; /* min & max inserted values in column */ !nnnDataUnit del_min, del_max; /* min & max deleted values from column */ n} col_change_info; n struct S_tab_stat_info { -***207,218 ---- /* structures withnstatistic information about table & its columns : */ n typedef struct { !nnndata_unit_t min, max; /* min & max values in column */ n} col_stat_info; n typedef struct { !nnndata_unit_t ins_min, ins_max; /* min & max inserted values in column */ !nnndata_unit_t del_min, del_max; /* min & max deleted values from column */ n} col_change_info; n struct S_tab_stat_info { diff -rc gnusql-0.7b5.3/src/include/setup_os.h*gnusql-0.7b6.0/src/include/setup_os.h*****gnusql-0.7b5.3/src/include/setup_os.h Mon Apr 28 13:53:15*1997 -***gnusql-0.7b6.0/src/include/setup_os.h Mon Sep 21 17:56:24*1998 21:38:33 1998 ******1,7u98 **! /* !nn* setup_os.h* - setup global directives to current operating system !nn* and*program environment !nn* * This file is a partnof GNU SQL Server ** * Copyright (c)*1996, Free Software Foundation,nInc -***1,8 ---- ! /* $Id: setup_os.h,v 1.219*1998/08/21 00:29:13*kimelman Exp $ !nn* !nn* setup_os.h* - setup global directives to current operating system !nn* and*program environment !nn* * This file is a partnof GNU SQL Server ** * Copyright (c)*1996, Free Software Foundation,nInc 21:38:33 1998 ******24,36 98 ** ** * Contacts: gss@ispras.ru ** */ n #ifndef __SETUP_OS_H__ #define __SETUP_OS_H__ - /* $Id: setup_os.h,v 1.215*1997/04/21 14:29:14*kml Exp $ */ - * n#include n #ifdef HAVE_STDLIB_H -***25,42 ---- ** * Contacts: gss@ispras.ru **+ * $Log: setup_os.h,v $*+ * Revision 1.219**1998/08/21 00:29:13**kimelman*+ * fix:SVC_UNREGnfre direct mode*+ **+ * Revision 1.218**1998/07/30 03:23:37**kimelman*+ * DIRECT_MODE*+ ** */ n #ifndef __SETUP_OS_H__ #define __SETUP_OS_H__ n#include n #ifdef HAVE_STDLIB_H 21:38:33 1998 ******110,131 98 ** out_t *proc##_##vers (in_t *in, struct svc_req *rqstp) n#endif n - #if defined(HAVE_SVC_UNREG) - # define SVC_UNREG(prog,vers) svc_unreg (prog, vers) - #elif defined(HAVE_SVC_UNREGISTER) - # define SVC_UNREG(prog,vers) svc_unregister (prog, vers) - #else - # define SVC_UNREG(prog,vers) \ - assert("nothing havenfrundnfre SVC_UNREGnsubstitution") -n#endif n #if defined(HAVE_STRFTIME) n# define CFTIME(to,max,fmt,tp) strftime(to, max, fmt, localtime(tp)) #elif defined(HAVE_CFTIME) n# define CFTIME(to,max,fmt,tp) cftime(to, fmt, tp) n#else !n# define CFTIME(to,max,fmt,tp) \ !nnnnnnassert("can`tnfind 'cftime' re 'strftime' to format time output") n#endif n /* -***116,131 ---- out_t *proc##_##vers (in_t *in, struct svc_req *rqstp) n#endif n +n#define SVC_UNREG(prog,vers) gss_svc_unregister(prog, vers) + +n #if defined(HAVE_STRFTIME) n# define CFTIME(to,max,fmt,tp) strftime(to, max, fmt, localtime(tp)) #elif defined(HAVE_CFTIME) n# define CFTIME(to,max,fmt,tp) cftime(to, fmt, tp) n#else !n# errre "can`tnfind 'cftime' re 'strftime' to format time output" n#endif n /* 21:38:33 1998 ******143,166 98 ** **these macros preventsnsubproceses from 'panic'nreaction on*debugger signals.* */ n #define __MSGRCV( mid, bufp, sz, typ, fl, err) \ { intn__msg_rc;\ !nnndon__msg_rc = msgrcv (mid,(MSGBUFP)(bufp),(sz),(typ), (fl));\ while ( (__msg_rc < 0) && (errnon== EINTR )) ;\ if (__msg_rc < 0) {\ perrre (err);\ exit (1);\ }n} n n#define __MSGSND( mid, bufp, sz, fl,err) \ { intn__msg_rc;\ nnndon__msg_rc = msgsnd (mid,(MSGBUFP)(bufp),(sz), fl);\ while ( (__msg_rc < 0) && (errnon== EINTR )) ;\ ! if (__msg_rc < 0) {\ ! perrre (err);\ ! exit (1);\ ! }n} n n#ifdef NOT_DEBUG n n#define MEET_DEBUGGER -***143,191 ---- **these macros preventsnsubproceses from 'panic'nreaction on*debugger signals.* */ n + #ifdef HEAVY_IPC_DEBUG +n #define __MSGRCV( mid, bufp, sz, typ, fl, err) \ + { intn__msg_rc;\ + PRINTF(("\n%s:%d: [%d/%d] >>>>>>n______\n",__FILE__,__LINE__,mid,typ));\ + don__msg_rc = msgrcv (mid,(MSGBUFP)(bufp),(sz),(typ), (fl));\ + while ( (__msg_rc < 0) && (errnon== EINTR )) ;\ + PRINTF(("\n%s:%d: [%d] >>>>>>n%d\n",__FILE__,__LINE__,mid,*(int*)(bufp)));\ + if (__msg_rc < 0) {\ + perrre (err);\ + exit (1);\ + }n} + +n#define __MSGSND( mid, bufp, sz, fl,err) \ { intn__msg_rc;\ ! PRINTF(("\n%s:%d: '%d' >>>>> [%d] \n",__FILE__,__LINE__,*(int*)(bufp),mid));\ !nnndon__msg_rc = msgsnd (mid,(MSGBUFP)(bufp),(sz), fl);\ while ( (__msg_rc < 0) && (errnon== EINTR )) ;\ + PRINTF(("\n%s:%d: =================\n",__FILE__,__LINE__));\ if (__msg_rc < 0) {\ perrre (err);\ exit (1);\ }n} n +n#else + +n#define __MSGRCV( mid, bufp, sz, typ, fl, err) \ + { intn__msg_rc;\ + don__msg_rc = msgrcv (mid,(MSGBUFP)(bufp),(sz),(typ), (fl));\ + while ( (__msg_rc < 0) && (errnon== EINTR )) ;\ + if (__msg_rc < 0) { perrre (err); exit (1); }n\ + } +n #define __MSGSND( mid, bufp, sz, fl,err) \ { intn__msg_rc;\ nnndon__msg_rc = msgsnd (mid,(MSGBUFP)(bufp),(sz), fl);\ while ( (__msg_rc < 0) && (errnon== EINTR )) ;\ ! if (__msg_rc < 0) { perrre (err); exit (1); }n\ !n} n +n#endif + +n #ifdef NOT_DEBUG n n#define MEET_DEBUGGER 21:38:33 1998 ******167,173u98 ** n#else n ! voidnwait_debugger(void); n n#define MEET_DEBUGGER \ { char **arg_p; \ -***192,198 ---- n* n#else n ! intnwait_debugger(void); n n#define MEET_DEBUGGER \ { char **arg_p; \ 21:38:33 1998 ******174,180 98 ** nfre (arg_p=argv; *arg_p; arg_p++) \ nnnif (strcmp(*arg_p,"DebugIt")==0) \ nnn { \ !nnnnnnnnnwait_debugger(); \ break; \ } \ } -***199,205 ---- nfre (arg_p=argv; *arg_p; arg_p++) \ nnnif (strcmp(*arg_p,"DebugIt")==0) \ nnn { \ !nnnnnnnnnwhile(wait_debugger()); \ break; \ } \ } 21:38:33 1998 ******190,196u98 ** * n/* define macro wrappernif itnhas not definednyet */ n#ifndef __P !n# ifdef __STDC__ # define __P(x) x # else n# define __P(x) () -***215,221 ---- n* n/* define macro wrappernif itnhas not definednyet */ n#ifndef __P !n# if defined(__STDC__) || defined(__cplusplus) # define __P(x) x # else n# define __P(x) () 21:38:33 1998 ******197,200 98 **-***222,233 ---- # endif n#endif n + #if HAVE_ATEXIT + # define ATEXIT atexit +n#elif HAVE_ON_EXIT + # define ATEXIT on_exit +n#else + # define ATEXIT dummy_atexit +n#endif + #endif diff -rc gnusql-0.7b5.3/src/include/type_lib.h*gnusql-0.7b6.0/src/include/type_lib.h*****gnusql-0.7b5.3/src/include/type_lib.h Mon Apr 28 13:53:21*1997 -***gnusql-0.7b6.0/src/include/type_lib.h Mon Sep 28 20:23:16*1998 21:38:33 1998 ******25,31 98 ** ** */ n ! /* $Id: type_lib.h,v 1.246*1997/03/31 11:04:04*kml Exp $ */ nnnnnnnnnnnnnnnnn n#ifndef __TYPE_LIB_H__ #define __TYPE_LIB_H__ -***25,31 ---- ** */ n ! /* $Id: type_lib.h,v 1.247*1997/11/05*16:04:29*kml Exp $ */ nnnnnnnnnnnnnnnnn n#ifndef __TYPE_LIB_H__ #define __TYPE_LIB_H__ 21:38:33 1998 ******52,57 98 **-***52,63 ---- n* n#define T_BOOL T_INT +n#define CHECK_FLAG(du)n n \ + if ((du).dat.nl_fln== NOT_CONVERTED) n \ + { n \ + STR_PTR (&((du).dat)) = V_PTR (STR_VPTR (&((du).dat)), char); \ + (du).dat.nl_fln= REGULAR_VALUE; n \ + } n n typedef union { 21:38:33 1998 ******73,81 98 ** i4_tnnArity; /**the numbernof operandsnnnnnnnnnnnnnnnn*/ PSECT_PTR Rh; /**reference to the next operandnnnnnnnnn*/ PSECT_PTR Dn; /**reference to the first operandnnnnnnnn*/ !nnnn:ql_type_t Ty; /**value type (if list) re subtree type */ nnnnnnnnnnnnnnnnn /**(if operattion's node)nnnnnnnnnnnnnnnn*/ ! PSECT_PTR Ptr; /**reference to DataUnit fre data; itnalso*/ nnnnnnnnnnnnnnnnn /**is used as reference fre resultnof */ nnnnnnnnnnnnnnnnn /**subtree computing if itnisn't list */ n} TRNode;*-***79,87 ---- i4_tnnArity; /**the numbernof operandsnnnnnnnnnnnnnnnn*/ PSECT_PTR Rh; /**reference to the next operandnnnnnnnnn*/ PSECT_PTR Dn; /**reference to the first operandnnnnnnnn*/ !nnnn:ql_type_t Ty; /**value type (if list) re subtree type */ nnnnnnnnnnnnnnnnn /**(if operattion's node)nnnnnnnnnnnnnnnn*/ ! PSECT_PTR Ptr; /**reference to data_unit_t fre data; itnalso*/ nnnnnnnnnnnnnnnnn /**is used as reference fre resultnof */ nnnnnnnnnnnnnnnnn /**subtree computing if itnisn't list */ n} TRNode;*21:38:33 1998 ******85,92 98 ** union* { nnnnnPSECT_PTR StrPtr; !nnnnni2_t Srt; ! i4_tnnnnnnnIint; i4_tnnnnnnLng; float nnnFlt; double nnnDbl;*-***91,98 ---- union* { nnnnnPSECT_PTR StrPtr; !nnnnni2_t Srt; ! i4_tnnnnnnIint; i4_tnnnnnnLng; float nnnFlt; double nnnDbl;*21:38:33 1998 ******99,105u98 ** { nnnTpSetnnnnnnndat; nn:ql_type_t type; ! }nDataUnit; n n voidn conv_type __P((char *s,:ql_type_t *l,i4_t direct));/* direct ***the directionn*/ -***105,111u---- { nnnTpSetnnnnnnndat; nn:ql_type_t type; ! }ndata_unit_t; n n voidn conv_type __P((char *s,:ql_type_t *l,i4_t direct));/* direct ***the directionn*/ 21:38:33 1998 ******118,137u98 ** (char *) (&VL (&((DU_vl).dat)))) nnnnn nVADR load_tree __P((TRNode *node,nVADR cur_seg,nVADR str_seg));*!nintn res_row_save __P((char *nl_arr, i4_t nr,nDataUnit **colval));*nni2_t sizeof_:qltype __P((:ql_type_t type)); !nintn DU_to_buf __P((DataUnit *dt_from,nchar **pointbuf, :ql_type_t *to_type)); !nintn DU_to_rpc __P((DataUnit *dt_from,nparm_t *to, i4_t typ)); ! voidn conv_DU_to_str __P((DataUnit *from,nDataUnit *to)); nintn mem_to_DU __P((char nl_fl,nbyte typ_from_code, !nnnnnnnnnnnnnnnnnni2_t from_len,nvoidn*from,nDataUnit *to)); !nintn PutDataNext __P((TRNode * cur)); nintn oper __P((byte code,ni4_tnarity)); !nfloat sel_const __P((i4_t op, DataUnit *cnst,nDataUnit *min, DataUnit *max)); nvoidn type_to_bd __P((:ql_type_t *tp_from,nsql_type_t *tp_to)); nvoidn prepare_CONST __P((TXTREF ptr, VADR V_PTN)); nvoidn prepare_USERNAME __P((TRNode *PTN)); !nintn rpc_to_DU __P((parm_t *from,nDataUnit *to)); n* ni4_tnnuser_to_rpc __P((gsql_parm *parm,nparm_t *rpc_arg));* ni4_tnnrpc_to_user __P((parm_t *rpc_res,ngsql_parm *parm));*-***124,142 ---- (char *) (&VL (&((DU_vl).dat)))) nnnnn nVADR load_tree __P((TRNode *node,nVADR cur_seg,nVADR str_seg));*!nintn res_row_save __P((char *nl_arr, i4_t nr,ndata_unit_t **colval));* ni2_t sizeof_:qltype __P((:ql_type_t type)); !nintn DU_to_buf __P((data_unit_t *dt_from,nchar **pointbuf, :ql_type_t *to_type)); !nintn DU_to_rpc __P((data_unit_t *dt_from,nparm_t *to, i4_t typ)); ! voidn conv_DU_to_str __P((data_unit_t *from,ndata_unit_t *to)); nintn mem_to_DU __P((char nl_fl,nbyte typ_from_code, !nnnnnnnnnnnnnnnnnni2_t from_len,nvoidn*from,ndata_unit_t *to)); nintn oper __P((byte code,ni4_tnarity)); !nfloat sel_const __P((i4_t op, data_unit_t *cnst,ndata_unit_t *min, data_unit_t *max)); nvoidn type_to_bd __P((:ql_type_t *tp_from,nsql_type_t *tp_to)); nvoidn prepare_CONST __P((TXTREF ptr, VADR V_PTN)); nvoidn prepare_USERNAME __P((TRNode *PTN)); !nintn rpc_to_DU __P((parm_t *from,ndata_unit_t *to)); n* ni4_tnnuser_to_rpc __P((gsql_parm *parm,nparm_t *rpc_arg));* ni4_tnnrpc_to_user __P((parm_t *rpc_res,ngsql_parm *parm));*diff -rc gnusql-0.7b5.3/src/include/typepi.h*gnusql-0.7b6.0/src/include/typepi.h*****gnusql-0.7b5.3/src/include/typepi.h Mon Apr 28 13:53:17*1997 -***gnusql-0.7b6.0/src/include/typepi.h Tue Aug*11 09:56:54*1998 21:38:33 1998 ******26,32 98 ** ** */ n ! /* $Id: typepi.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n #ifndef __TYPEPI_H__ #define __TYPEPI_H__ -***26,32 ---- ** */ n ! /* $Id: typepi.h,v 1.246*1997/11/05*16:04:55 kml Exp $ */ n #ifndef __TYPEPI_H__ #define __TYPEPI_H__ 21:38:33 1998 ******86,92 98 ** /**this structure*is used fre calling ** *nprocedure*fre SubQuery handling */ nnnVADR ProcAdr; /**Procedure*beginning addressnnnnnnnnnnnnnnn*/ ! DataUnit ToDtStack; /* This element must benputted to datanstack */ nnnchar GoUpNeed; /**= 1 if there*is needed to go up in tree */ n /**after procedure*calling,*= 0 - standnhere**/ n} PrepSQ;*-***86,92 ---- /**this structure*is used fre calling ** *nprocedure*fre SubQuery handling */ nnnVADR ProcAdr; /**Procedure*beginning addressnnnnnnnnnnnnnnn*/ ! data_unit_t ToDtStack; /* This element must benputted to datanstack */ nnnchar GoUpNeed; /**= 1 if there*is needed to go up in tree */ n /**after procedure*calling,*= 0 - standnhere**/ n} PrepSQ;*diff -rc gnusql-0.7b5.3/src/include/engine/Makefile.in gnusql-0.7b6.0/src/include/engine/Makefile.in*****gnusql-0.7b5.3/src/include/engine/Makefile.in Thu Jun 12 08:41:07*1997 -***gnusql-0.7b6.0/src/include/engine/Makefile.in Sat Sep 12 23:31:43 1998 21:38:33 1998 ******2,8 98 ** ##nnnnnnnnnnnnnnnnnGNU SQL Engine (include dependencies)nnnnnnnnnnnnnnn##* ##########################################################################* ## !n## $Id: Makefile.src.include.engine.in,v 1.245*1997/03/31 03:46:38 kml Exp $ nn##* ## This file is a partnof GNU SQL Server ##*-***2,8 ---- ##nnnnnnnnnnnnnnnnnGNU SQL Engine (include dependencies)nnnnnnnnnnnnnnn##* ##########################################################################* ## !n## $Id: Makefile.in,v 1.248*1998/09/13 03:30:34*kimelman Exp $ nn##* ## This file is a partnof GNU SQL Server ##*21:38:33 1998 ******35,45u98 ** ##########################################################################* all:nnnheaders nnheaders: adfstr.h*agrflg.h*cmpdecl.h*deftr.h*destrn.h*dispatch_h expop.h \ !n f1f2decl.h*fdcltrn.h*fieldtp.h inpop.h pupans.h pupsi.h*sctp.h \ n strml.h*totdecl.h*tptrn.h*rnmtp.h !ndispatch_h:n ( cd ../../engine; $(MAKERT)nheaders ; ) ! cmpdecl.h:*totdecl.h !nf1f2decl.h:*totdecl.h nnclean:: - $(RM)ndispatch.h -***35,62 ---- ##########################################################################* all:nnnheaders nnheaders: adfstr.h*agrflg.h*cmpdecl.h*deftr.h*destrn.h*dispatch_h expop.h \ !n f1f2decl.h*fdcltrn.h*fieldtp.h inpop.h pupsi.h*sctp.h \ n strml.h*totdecl.h*tptrn.h*rnmtp.h !ndispatch_h:n$(srcdir)/../setup_os.h* ( cd ../../engine; $(MAKERT)nheaders ; ) ! cmpdecl.h:*totdecl.h*fieldtp.h rnmtp.h !n - touch $@ !nf1f2decl.h:*totdecl.h*cmpdecl.h*destrn.h !n - touch $@ !ndestrn.h*:n$(srcdir)/../sql.h rnmtp.h pupsi.h*tptrn.h*fieldtp.h deftr.h !n - touch $@ !nfdcltrn.h: inpop.h f1f2decl.h*strml.h*$(srcdir)/../typeif.h*$(srcdir)/../type_lib.h*!n - touch $@ !ninpop.h: pupsi.h*!n - touch $@ !nrnmtp.h:n$(srcdir)/../setup_os.h*!n - touch $@ !nstrml.h:n$(srcdir)/../setup_os.h*!n - touch $@ !ntotdecl.h:n$(srcdir)/../setup_os.hn$(srcdir)/../xmem.h*!n - touch $@ !ntptrn.h: rnmtp.h !n - touch $@ !n nnclean:: - $(RM)ndispatch.h diff -rc gnusql-0.7b5.3/src/include/engine/adfstr.h*gnusql-0.7b6.0/src/include/engine/adfstr.h*****gnusql-0.7b5.3/src/include/engine/adfstr.h Mon Apr 28 13:53:10*1997 -***gnusql-0.7b6.0/src/include/engine/adfstr.h Sun Jul 20*12:55:38*1997 21:38:33 1998 ******2,8 98 ** * adfstr.h***the structure*of administrative file* * Kernelnof GNU SQL-server **!nn* $Id: adfstr.h,v 1.245*1997/03/31 03:46:38 kml Exp $ nn ** * This file is a partnof GNU SQL Server **-***2,8 ---- * adfstr.h***the structure*of administrative file* * Kernelnof GNU SQL-server **!nn* $Id: adfstr.h,v 1.246*1997/07/20 16:55:38*vera Exp $ nn ** * This file is a partnof GNU SQL Server **21:38:33 1998 ******33,49u98 ** i4_tnnnuid;* i4_tnnnuidconst;* i4_tnnnunname; ! u2_t sizext; ! u2_t maxext; ! u2_t maxfrext; ! u2_t maxtrans; ! u2_t mjred; ! u2_t ljred; ! u2_t mjmpage; ! u2_t ljmpage; ! u2_t sizesc; ! i4_tnnnnoptbufnum; ! i4_tnnnnmaxnbuf; ! i4_tnnnnmaxtact;* i4_tnnnfshmsegn;* }; -***33,47 ---- i4_tnnnuid;* i4_tnnnuidconst;* i4_tnnnunname; ! u2_t sizext; ! u2_t maxtrans; ! u2_t mjred; ! u2_t ljred; ! u2_t mjmpage; ! u2_t ljmpage; ! u2_t sizesc; ! i4_tnnnoptbufnum; ! i4_tnnnmaxnbuf; ! i4_tnnnmaxtact;* i4_tnnnfshmsegn;* }; diff -rc gnusql-0.7b5.3/src/include/engine/cmpdecl.h*gnusql-0.7b6.0/src/include/engine/cmpdecl.h*****gnusql-0.7b5.3/src/include/engine/cmpdecl.h Mon Apr 28 13:53:10*1997 -***gnusql-0.7b6.0/src/include/engine/cmpdecl.h Mon Sep 21 17:56:25*1998 21:38:33 1998 ******12,20 98 **-***12,24 ---- nchar *ftintn__P((i4_t at, char *a,nchar **a1,nchar **a2, i4_t n));* nchar *ftch __P((i4_t at, char *a,nchar **a1,nchar **a2, u2_t *n1, u2_t *n2)); ni4_tnchcmp __P((char *a,nchar *b, u2_t n1, u2_t n2)); +ni4_tnch_cmp __P((char *a,nchar *b));* ni4_tnffloat __P((char *a,nchar *b, u2_t n1, u2_t n2)); +ni4_tnf_float __P((char *a,nchar *b)); ni4_tndigcmp __P((char *a,nchar *b, u2_t n1, u2_t n2)); ni4_tnflcmp __P((char *a1,nchar *b1, u2_t n1, u2_t n2)); +ni4_tnfl_cmp __P((char *a1,nchar *b1)); +ni4_tncmpval __P ((char *val1,nchar *val2, u2_t type)); n* ni4_tnss1 __P((char **scal, i4_t stsc)); n#define ss1(scalpp,stsc) (( (stsc)%2 ? **(scalpp) : *((*(scalpp))--) >> 4) & 0xf) diff -rc gnusql-0.7b5.3/src/include/engine/deftr.h*gnusql-0.7b6.0/src/include/engine/deftr.h ****gnusql-0.7b5.3/src/include/engine/deftr.h Mon Apr 28 13:53:11*1997 -***gnusql-0.7b6.0/src/include/engine/deftr.h Wed Nov 5 11:00:31 1997 21:38:33 1998 ******2,8 98 ** * *deftr.h****definitions of Transaction* * Kernelnof GNU SQL-server **!nn* This file is a partnof GNU SQL Server ** * Copyright (c)*1996, 1997, Free Software Foundation,nInc * Developed at*the Institute*of System Programming*-***2,8 ---- * *deftr.h****definitions of Transaction* * Kernelnof GNU SQL-server **!nn* This file is a partnof GNU SQL Server ** * Copyright (c)*1996, 1997, Free Software Foundation,nInc * Developed at*the Institute*of System Programming*21:38:33 1998 ******29,37u98 ** #ifndef __deftr_h__ #define __deftr_h__ ! /* $Id: deftr.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n ! #ifndef __PR_GLOB_H__ enum { nnnNRSNUM =0,*-***29,37u---- #ifndef __deftr_h__ #define __deftr_h__ ! /* $Id: deftr.h,v 1.247*1997/11/05*16:00:31 kml Exp $ */ n ! /*#ifndef __PR_GLOB_H__*/ n enum { nnnNRSNUM =0,*21:38:33 1998 ******115,121 98 ** THREAD =64 n}; n ! #endif n #define size1b sizeof(i1_t)* n#define size2b sizeof(i2_t)*-***115,121 ---- THREAD =64 n}; n ! /* #endif */ n #define size1b sizeof(i1_t)* n#define size2b sizeof(i2_t)*21:38:33 1998 ******140,143 98 **-***140,197u---- #define dflsize sizeof(struct des_fltr) #define indphsize sizeof(struct ind_page) +n#define CHECK_PG_ENTRY(ent) \ + (assert(ent && (!*ent || ((*ent>0) && (*ent <= BD_PAGESIZE)))),1) + +n#define mod_nels(newnels,loc) \ + { u2_t mnels; \ + mnels=t2bunpack(loc); \ + mnels+=(newnels); \ + t2bpack(mnels,loc); \ + } + +n#define GET_IND_REF()\ + {\ + u2_t *afi, *ai;\ + unsigned char t;\ + afi = (u2_t *) (asp + phsize);\ + ai = afi + tid->tindex;\ + if (*ai == 0)\ + {\ + putpg (&pg, 'n');\ + return (0);\ + }\ + tuple = asp + *ai;\ + t = *tuple & MSKCORT;\ + if (t == CREM || t == IDTR)\ + return (0);\ + if (t == IND)\ + {\ + u2_t pn2, ind2;\ + ref_tid->tindex = ind2 = t2bunpack (tuple + 1);\ + ref_tid->tpn = pn2 = t2bunpack (tuple + 1 + size2b);\ + putpg (&pg, 'n');\ + while ((asp = getpg (&pg, sn,npn2, 's')) == NULL);\ + afi = (u2_t *) (asp + phsize);\ + ai = afi + ind2;\ + tuple = asp + *ai;\ + nnnnassert ((*tuple & CREM) != 0 && *ai != 0);\ + }\ + else\ + ref_tid->tpn = (u2_t) ~ 0;\ + corsize =*calsc (afi, ai);\ + } + +n#define IND_REF(page2,sn,tuple)\ + {\ + nnnnu2_t *ai;\ + nnnnchar *asp;\ + nnnnind = t2bunpack (tuple + 1);\ + pn = t2bunpack (tuple + 1 + size2b); \ + while ((asp= getpg (&page2, sn,npn, 's')) == NULL);\ + ai = (u2_t *) (asp + phsize) + ind;\ + nnnnassert (*ai != 0);\ + tuple = asp + *ai;\ + } + #endif diff -rc gnusql-0.7b5.3/src/include/engine/destrn.h*gnusql-0.7b6.0/src/include/engine/destrn.h ****gnusql-0.7b5.3/src/include/engine/destrn.h Mon Apr 28 13:53:11*1997 -***gnusql-0.7b6.0/src/include/engine/destrn.h Mon Sep 21 17:56:25*1998 21:38:33 1998 ******2,8 98 ** * *destrn.h**** Internal Transaction structures * * Kernelnof GNU SQL-server **!nn* This file is a partnof GNU SQL Server ** * Copyright (c)*1996, 1997, Free Software Foundation,nInc * Developed at*the Institute*of System Programming*-***2,8 ---- * *destrn.h**** Internal Transaction structures * * Kernelnof GNU SQL-server **!nn* This file is a partnof GNU SQL Server ** * Copyright (c)*1996, 1997, Free Software Foundation,nInc * Developed at*the Institute*of System Programming*21:38:33 1998 ******29,44u98 ** #ifndef __destrn_h__ #define __destrn_h__ ! /* $Id: destrn.h,v 1.245*1997/03/31 03:46:38 kml Exp $ */ n #include "rnmtp.h" #include "pupsi.h" #include "tptrn.h" - #include "pupans.h" #include "fieldtp.h" #include n !n# include "deftr.h" n typedef i4_t COST; typedef i2_t CPNM;*-***29,44u---- #ifndef __destrn_h__ #define __destrn_h__ ! /* $Id: destrn.h,v 1.247*1997/10/21 16:45:26*kml Exp $ */ n + #include #include "rnmtp.h" #include "pupsi.h" #include "tptrn.h" #include "fieldtp.h" #include n !n#include "deftr.h" n typedef i4_t COST; typedef i2_t CPNM;*21:38:33 1998 ******51,61 98 **-***51,69 ---- u2_t indnum; n}; n + struct fun_desc_fields n/* descriptor of fields fre functions */ + { + struct des_field *df_pnt; + u2_t f_fn; + u2_t f_fdf; + }; + struct d_r_t { nnnu2_t segnr; u2_t pn_r; u2_t ind_r; + struct fun_desc_fields f_df_bt; nn:truct d_r_t *drlist; u2_t oscnum; n CPNM cpndr;*21:38:33 1998 ******131,138u98 ** { nnnstruct des_tob tobtr; i4_tnnrow_number; ! u2_t fieldn; ! u2_t fdftr; u2_t keysntr; }; n -***139,145u---- { nnnstruct des_tob tobtr; i4_tnnrow_number; ! struct fun_desc_fields f_df_tt; u2_t keysntr; }; n 21:38:33 1998 ******150,155 98 **-***157,169 ---- u2_t tindex; n}; n + struct full_des_tuple /* full descriptor of a tuple */ + { + u2_t sn_fdt; + i4_t rn_fdt; + struct des_tid tid_fdt; + }; + struct ldesscan { nnnstruct ldesind *pdi; diff -rc gnusql-0.7b5.3/src/include/engine/f1f2decl.h*gnusql-0.7b6.0/src/include/engine/f1f2decl.h ****gnusql-0.7b5.3/src/include/engine/f1f2decl.h Mon Apr 28 13:53:11*1997 -***gnusql-0.7b6.0/src/include/engine/f1f2decl.h Mon Sep 21 17:56:25*1998 21:38:33 1998 ******29,35u98 ** #ifndef __f1f2decl_h__ #define __f1f2decl_h__ ! /* $Id: f1f2decl.h,v 1.246*1997/04/10 06:56:52*vera Exp $ */ n #include "totdecl.h" #include "cmpdecl.h"*-***29,35u---- #ifndef __f1f2decl_h__ #define __f1f2decl_h__ ! /* $Id: f1f2decl.h,v 1.247*1997/07/20 16:55:38*vera Exp $ */ n #include "totdecl.h" #include "cmpdecl.h"*21:38:33 1998 ******39,45u98 ** u2_t scscal __P((char *a));* ni4_tnnnnCCS __P((char *asp));* ni4_tntab_difam __P((u2_t sn)); !n:truct d_sc_i * rel_scan __P((u2_t sn, i4_t rn, char * ob, i2_t * n, u2_t fnum,nu2_t * fl, char * sc, u2_t slsz, u2_t fmnum,nu2_t * fml)); nvoidnsct __P((char **a,ni4_t st, unsigned char t));*-***39,45u---- u2_t scscal __P((char *a));* ni4_tnnnnCCS __P((char *asp));* ni4_tntab_difam __P((u2_t sn)); !n:truct d_sc_i * rel_scan __P((struct id_ob *fullrn, char * ob, i2_t * n, u2_t fnum,nu2_t * fl, char * sc, u2_t slsz, u2_t fmnum,nu2_t * fml)); nvoidnsct __P((char **a,ni4_t st, unsigned char t));*diff -rc gnusql-0.7b5.3/src/include/engine/fdcltrn.h*gnusql-0.7b6.0/src/include/engine/fdcltrn.h ****gnusql-0.7b5.3/src/include/engine/fdcltrn.h Mon Apr 28 13:53:12*1997 -***gnusql-0.7b6.0/src/include/engine/fdcltrn.h Mon Sep 28 20:30:02*1998 21:38:33 1998 ******29,39u98 ** #ifndef __fdcltrn_h__ #define __fdcltrn_h__ ! /* $Id: fdcltrn.h,v 1.249*1997/04/17 11:03:59*vera Exp $ */ n #include "inpop.h" #include "f1f2decl.h" #include "strml.h" #include n /**addflds.cn*/ -***29,41u---- #ifndef __fdcltrn_h__ #define __fdcltrn_h__ ! /* $Id: fdcltrn.h,v 1.257*1998/06/01 15:03:47*kimelman Exp $ */ n #include "inpop.h" #include "f1f2decl.h" #include "strml.h" + #include "typeif.h" + #include "type_lib.h" #include n /**addflds.cn*/ 21:38:33 1998 ******45,53u98 ** char *sc,nu2_t diasz, char *diasc)); nstruct ans_avg* avgstab __P ((struct id_rel *npidrel));*!ni4_tnfndslc __P ((struct d_r_t *desrel,nchar *asp,nu2_t * ai, !n nchar *selcon,nu2_t slsz, char *cort));*!ni4_tntstcsel __P ((struct des_field * df, u2_t fn,nu2_t fdf, u2_t slsz, n char *selc, char *c,nchar **arrpnt, u2_t * arrsz));* n /* aggrifn.cn*/ -***47,55 ---- char *sc,nu2_t diasz, char *diasc)); nstruct ans_avg* avgstab __P ((struct id_rel *npidrel));*!ni4_tnfndslc __P ((struct d_r_t *desrel,nchar *tuple, !nnnnnnnnnnnnnnnnnnnchar *selcon,nu2_t slsz, char *cort));*!nu2_t tstcsel __P ((struct fun_desc_fields * df, u2_t slsz, n char *selc, char *c,nchar **arrpnt, u2_t * arrsz));* n /* aggrifn.cn*/ 21:38:33 1998 ******55,65u98 ** u2_t slsz, char *sc,nu2_t diasz, char *diasc)); nvoidnmaxitab __P ((struct ans_next *ans, struct id_ind *pidind,* u2_t slsz, char *sc,nu2_t diasz, char *diasc)); !ni4_tncmpval __P ((char *val1,nchar *val2, u2_t type, u2_t * n)); ! voidnagrfind __P ((struct ans_next *ans, struct id_ind *pidind, u2_t nf, u2_t *mnf,* u2_t slsz, char *sc,nu2_t diasz, char *diasc, char *flaglist)); ! voidnagrcountn__P ((char **agrl,nchar *tuple, struct des_field * df, u2_t fdf, !nnnnnnnnnnnnnnnnnnnnnu2_t field_num,nu2_t nf, u2_t * mnf, char *flaglist)); voidnagr_frmn__P ((char *agrl,ni4_tnflag,nchar *val, u2_t type)); ni4_tnwrite_valn__P ((char *mas,nchar **agrl,nstruct des_field * df, u2_t nf, u2_t * mnf, char *flaglist)); -***57,70 ---- u2_t slsz, char *sc,nu2_t diasz, char *diasc)); nvoidnmaxitab __P ((struct ans_next *ans, struct id_ind *pidind,* u2_t slsz, char *sc,nu2_t diasz, char *diasc)); !n !ni4_tnagrfind __P ((data_unit_t **colval, struct id_ind *pidind, u2_t nf, u2_t *mnf,* u2_t slsz, char *sc,nu2_t diasz, char *diasc, char *flaglist)); ! voidnwrite_aggr_valn__P ((data_unit_t **colval, char **agrl,nstruct des_field *df, !nnnnnnnnnnnnnnnnnnnnn u2_t nf, u2_t * mnf, char *flaglist)); !nfloat retval __P ((char *val, u2_t type)); ! voidnagrcountn__P ((char **agrl,nchar *tuple, struct fun_desc_fields * df, !nnnnnnnnnnnnnnnnnnnnnu2_t nf, u2_t * mnf, char *flaglist)); voidnagr_frmn__P ((char *agrl,ni4_tnflag,nchar *val, u2_t type)); ni4_tnwrite_valn__P ((char *mas,nchar **agrl,nstruct des_field * df, u2_t nf, u2_t * mnf, char *flaglist)); 21:38:33 1998 ******75,82 98 ** struct ans_ctob bdunion __P ((struct id_ob *npit1, struct id_ob *npit2)); nstruct ans_ctob intersctn __P ((struct id_ob *npit1, struct id_ob *npit2)); nstruct ans_ctob differnc __P ((struct id_ob *npit1, struct id_ob *npit2)); ! voidnminsfltr __P ((struct A *npg,nstruct des_tob * dt, struct des_tid * tid)); ! char *getcort __P ((struct A *nppage, u2_t ** ai)); ni4_tncmpfv __P ((u2_t type, i4_tnd,nchar *val1,nchar *val2));* n /* blfltr.cn*/ -***80,87 ---- struct ans_ctob bdunion __P ((struct id_ob *npit1, struct id_ob *npit2)); nstruct ans_ctob intersctn __P ((struct id_ob *npit1, struct id_ob *npit2)); nstruct ans_ctob differnc __P ((struct id_ob *npit1, struct id_ob *npit2)); ! voidnminsfltr __P ((char * asp,nstruct des_tob * dt, struct des_tid * tid)); ! char *getcort __P ((char *asp,nu2_t ** ai)); ni4_tncmpfv __P ((u2_t type, i4_tnd,nchar *val1,nchar *val2));* n /* blfltr.cn*/ 21:38:33 1998 ******117,124 98 ** struct ans_ctob crview __P ((u2_t sn, u2_t fn,nstruct des_field * df));* n /* crtfrm.cn*/ !nu2_t cortform __P ((struct des_field * df, u2_t fdf, u2_t fields_n, char *fc, !n nchar *fval, char *cort,nchar *buf, u2_t * mfn));* n /* delcon.cn*/ CPNM delcrl __P ((struct id_rel *npidrl, u2_t slsz, char *sc));*-***122,129 ---- struct ans_ctob crview __P ((u2_t sn, u2_t fn,nstruct des_field * df));* n /* crtfrm.cn*/ !nu2_t cortform __P ((struct fun_desc_fields * df, Colval colval, u2_t *lenval, !nnnnnnnnnnnnnnnnnnnnnchar *cort,nchar *buf, u2_t mod_count, u2_t * mfn));* n /* delcon.cn*/ CPNM delcrl __P ((struct id_rel *npidrl, u2_t slsz, char *sc));*21:38:33 1998 ******125,132 98 ** i4_tndelcin __P ((struct id_ind * pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc)); nCPNM delcfl __P ((i4_tnidfl, u2_t slsz, char *sc));*-ni4_tnfnd_slc __P ((struct d_r_t *desrel,nchar *asp,nu2_t * ai,nchar *selcon, - u2_t slsz, char *cort,nstruct des_tid *ref_tid));* n /* delind.cn*/ CPNM delind __P ((struct id_ind * pidind));*-***130,135 ---- 21:38:33 1998 ******158,164 98 ** i4_tnremrep __P ((char *asp,nchar *key,nchar *key2, i4_t elsz, nnnnnnnnnnnnnnnnnnnchar **rbeg,nchar **rloc, i4_t *offbef)); voidnicp_remrec __P ((char *beg,nchar *loc, i4_t sz, char *lastb, !nnnnnnnnnnnnnnnnnnnnn i4_t elsz, u2_t pn,nchar *asp,ni4_tnidm)); ni4_tnmlreddi __P ((char *lkey,nchar *lkey2, char *lnkey,nchar *lnkey2, u2_t pn)); ni4_tnmodlast __P ((char *key,nchar *key2, char *nkey,nchar *nkey2, u2_t pn)); nvoidnall_unlock __P ((void));*-***161,167 ---- i4_tnremrep __P ((char *asp,nchar *key,nchar *key2, i4_t elsz, nnnnnnnnnnnnnnnnnnnchar **rbeg,nchar **rloc, i4_t *offbef)); voidnicp_remrec __P ((char *beg,nchar *loc, i4_t sz, char *lastb, !nnnnnnnnnnnnnnnnnnnnn i4_t elsz, struct A *pg)); ni4_tnmlreddi __P ((char *lkey,nchar *lkey2, char *lnkey,nchar *lnkey2, u2_t pn)); ni4_tnmodlast __P ((char *key,nchar *key2, char *nkey,nchar *nkey2, u2_t pn)); nvoidnall_unlock __P ((void));*21:38:33 1998 ******167,175 98 ** i4_tnlenforce __P ((void));* n /* ind_rem.cn*/ !ni4_tnicp_rem __P ((struct ldesind * desind,nchar *key,nchar *key2, i4_t infsz));*!ni4_tnkszcaln__P ((char *key,nu2_t * mfn,nstruct des_field * ad_f));*!ni4_tnkillind __P ((struct ldesind * desind));* n /* ind_scan.cn*/ i4_tnfscan_ind __P ((struct ldesscan * desscn,nchar *key2,*-***170,178 ---- i4_tnlenforce __P ((void));* n /* ind_rem.cn*/ !nintn icp_rem __P ((struct ldesind * desind,nchar *key,nchar *key2, i4_t infsz));*!nintn kszcaln__P ((char *key,nu2_t * mfn,nstruct des_field * ad_f));*!nintn killind __P ((struct ldesind * desind));* n /* ind_scan.cn*/ i4_tnfscan_ind __P ((struct ldesscan * desscn,nchar *key2,*21:38:33 1998 ******180,240u98 ** char *key2, i4_t infsz,nchar **agr,nchar **loc));* n /* inscon.cn*/ ! CPNM inscrl __P ((struct id_rel *npidrl_in, struct id_rel *npidrl_out, !nnnnnnnnnnnnnnnnnnnu2_t fln,nu2_t * fl, u2_t slsz, char *sc));*!ni4_tninscin __P ((struct id_ind * pidind, struct id_rel *npidrl_out,nu2_t fln, !nnnnnnnnnnnnnnnnnnnu2_t * fl, u2_t slsz, char *sc,nu2_t diasz, char *diasc)); !ni4_tninscfl __P ((i4_tnidfl, struct id_rel *npidrl_out,nu2_t fln, !nnnnnnnnnnnnnnnnnnnu2_t * fl, u2_t slsz, char *sc));* n /* insfltr.cn*/ ni4_tninsfltr __P ((i4_t scnum,ni4_tnidfl));* n /* insrtn.cn*/ !ni4_tninsrtn __P ((struct id_rel *npidrel, char *cort));* n /* join.cn*/ !nstruct ans_ctob join __P ((struct id_rel *npir1,ni4_tnmfn1sz, u2_t * mfn1, !nnnnnnnnnnnnnnnnnnnnn struct id_rel *npir2,ni4_tnmfn2sz, u2_t * mfn2));* n /* keyfrm.cn*/ !nvoidnkeyform __P ((struct ldesind * desind,nu2_t fdf, char *mas,nchar *cort));* nchar *remvaln__P ((char *aval, char **a, u2_t type)); n* n/* makegr.cn*/ !nstruct ans_ctob makegroup __P ((struct id_rel *npidrel, u2_t ng, u2_t * glist, u2_t nf, !nnnnnnnnnnnnnnnnnnnnn nnnnnu2_t * mnf, char *flaglist, char *order)); nintntuple_breakn__P ((char *tuple, char **arrpnt, u2_t * arrsz, !nnnnnnnnnnnnnnnnnnnnn struct des_field * df, u2_t fdf, u2_t fn)); voidnagrl_frmn__P ((char **agrl,nstruct des_field * df, u2_t nf, nnnnnnnnnn nnnnnu2_t * mnf, char *flaglist)); voidndistagr_frmn__P ((char **agrl,nu2_t nf, char *flaglist)); * n/* mdfctn.cn*/ !ni4_tnmdfctn __P ((i4_t scnum,nchar *fl));*!ni4_tntestcmod __P ((struct des_field * df, u2_t fdf, u2_t fmn, nnnnnnnnnn nnnnnu2_t * mfn, char *fml, char **fval));*!ni4_tnmod_spec_flds __P ((i4_t scnum,nu2_t fmnum,nu2_t * fmn,nchar *fl));* * n/* modcon.cn*/ i4_tnmodcrl __P ((struct id_rel *npidrl, u2_t slsz, char *sc, !nnnnnnnnnnnnnnnnnnnu2_t flsz, u2_t * fl, u2_t flmsz, char *flmod)); nCPNM modcin __P ((struct id_ind * pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc,nu2_t flsz, !n u2_t * fl, u2_t flmsz, char *flmod)); ni4_tnmodcfl __P ((i4_tnidfl, u2_t slsz, char *sc,nu2_t flsz, !nnnnnnnnnnnnnnnnnnnu2_t * fl, u2_t flmsz, char *flmod)); n* n/* next.cn*/ !nvoidnnext __P ((struct ans_next * ans, i4_t scnum)); ! voidnreadrow __P ((struct ans_next * ans, i4_t scnum,ni4_tnfln,nu2_t * fl)); n* n/* obrind.cn*/ !nu2_t getrec __P ((u2_t sn, i4_t rn, u2_t pn,nstruct A *npg,nu2_t * offloc)); ni4_tnfgetnext __P ((struct ldesscan * desscn,nu2_t * pn,nu2_t * size,ni4_tnmodescan)); ni4_tngetnext __P ((struct ldesscan * desscn,nu2_t * pn,nu2_t * size,ni4_tnmodescan)); nvoidnmodcur __P ((struct ldesscan * desscn,nu2_t size)); ! voidnmodrec __P ((u2_t sn, i4_t rn, u2_t pn,ni2_t delta));* ni4_tninsrec __P ((struct ldesind * desind,ni4_t rn, u2_t pn,nu2_t size)); i4_tndelrec __P ((struct ldesind * desind,ni4_t rn, u2_t pn)); nvoidncrindci __P ((struct ldesind * desind));*-***183,248*---- char *key2, i4_t infsz,nchar **agr,nchar **loc));* n /* inscon.cn*/ ! CPNM inscrl __P ((struct id_rel *pidrl_in, struct id_rel *pidrl_out, !nnnnnnnnnnnnnnnnnnnu2_t fln,nu2_t *fl, u2_t slsz, char *sc));*!ni4_tninscin __P ((struct id_ind *pidind, struct id_rel *pidrl_out,nu2_t fln, !nnnnnnnnnnnnnnnnnnnu2_t *fl, u2_t slsz, char *sc,nu2_t diasz, char *diasc)); !ni4_tninscfl __P ((i4_tnidfl, struct id_rel *pidrl_out,nu2_t fln, !nnnnnnnnnnnnnnnnnnnu2_t *fl, u2_t slsz, char *sc));* n /* insfltr.cn*/ ni4_tninsfltr __P ((i4_t scnum,ni4_tnidfl));* n /* insrtn.cn*/ !n/*i4_tninsrtn __P ((struct id_rel *pidrel, char *cort));*/ !ni4_tninsrtn __P ((struct id_rel *pidrel, u2_t *lenval, Colval colval));* n /* join.cn*/ !nstruct ans_ctob join __P ((struct id_rel *pir1,ni4_tnmfn1sz, u2_t *mfn1, !nnnnnnnnnnnnnnnnnnnnn struct id_rel *pir2,ni4_tnmfn2sz, u2_t *mfn2));* n /* keyfrm.cn*/ !nvoidnkeyform __P ((struct ldesind *desind,nchar *mas,nchar *cort));* nchar *remvaln__P ((char *aval, char **a, u2_t type)); n* n/* makegr.cn*/ !nstruct ans_ctob makegroup __P ((struct id_rel *npidrel, u2_t ng, !nnnnnnnnnnnnnnnnnnnnn nnnnnu2_t * glist, u2_t nf,nu2_t * mnf, !nnnnnnnnnnnnnnnnnnnnn nnnnnchar *flaglist, char *order)); nintntuple_breakn__P ((char *tuple, char **arrpnt, u2_t * arrsz, !nnnnnnnnnnnnnnnnnnnnn struct fun_desc_fields * df)); voidnagrl_frmn__P ((char **agrl,nstruct des_field * df, u2_t nf, nnnnnnnnnn nnnnnu2_t * mnf, char *flaglist)); voidndistagr_frmn__P ((char **agrl,nu2_t nf, char *flaglist)); * n/* mdfctn.cn*/ !ni4_tncheck_cmod __P ((struct fun_desc_fields *desf,nu2_t fmnum, !nnnnnnnnnnnnnnnnnnnnn u2_t *mfn, Colval colval, u2_t *lenval));*!ni4_tnmdfctn __P ((i4_t scnum,nColval colval, u2_t *lenval));*!ni4_tntestcmod __P ((struct fun_desc_fields * df, u2_t fmn, nnnnnnnnnn nnnnnu2_t * mfn, char *fml, char **fval));*!ni4_tnmod_spec_flds __P ((i4_t scnum,nu2_t fmnum,nu2_t *fmn, !nnnnnnnnnnnnnnnnnnnnn Colval colval, u2_t *lenval));* * n/* modcon.cn*/ i4_tnmodcrl __P ((struct id_rel *npidrl, u2_t slsz, char *sc, !nnnnnnnnnnnnnnnnnnnu2_t flsz, u2_t *fl, Colval colval, u2_t *lenval));* CPNM modcin __P ((struct id_ind * pidind, u2_t slsz, char *sc, u2_t diasz, char *diasc,nu2_t flsz, !n u2_t *fl, Colval colval, u2_t *lenval));* i4_tnmodcfl __P ((i4_tnidfl, u2_t slsz, char *sc,nu2_t flsz, !nnnnnnnnnnnnnnnnnnnu2_t *fl, Colval colval, u2_t *lenval));* * n/* next.cn*/ !nintnnext __P ((i4_t scnum,ndata_unit_t **colval));*!nintnreadrow __P ((i4_t scnum,ni4_tnfln,nu2_t * fl,ndata_unit_t **colval));* n* n/* obrind.cn*/ !nu2_t getrec __P ((struct id_ob *fullrn, u2_t pn,nstruct A *npg,nu2_t * offloc)); ni4_tnfgetnext __P ((struct ldesscan * desscn,nu2_t * pn,nu2_t * size,ni4_tnmodescan)); ni4_tngetnext __P ((struct ldesscan * desscn,nu2_t * pn,nu2_t * size,ni4_tnmodescan)); nvoidnmodcur __P ((struct ldesscan * desscn,nu2_t size)); ! voidnmodrec __P ((struct id_ob *fullrn, u2_t pn,ni2_t delta));* ni4_tninsrec __P ((struct ldesind * desind,ni4_t rn, u2_t pn,nu2_t size)); i4_tndelrec __P ((struct ldesind * desind,ni4_t rn, u2_t pn)); nvoidncrindci __P ((struct ldesind * desind));*21:38:33 1998 ******245,257u98 ** * n/* opinpg.cn*/ i4_tntestfree __P ((char *asp,nu2_t fs,nu2_t corsize)); ! voidnrempbd __P ((char *asp,nu2_t sn, u2_t pn,ni4_tnidm)); ! voidninscort __P ((u2_t sn, struct des_tid *tid,ni4_tnidm, !nnnnnnnnnnnnnnnnnnnnchar *asp,nchar *cort,nu2_t corsize)); ! voidnexspind __P ((u2_t sn, struct des_tid *tid,ni4_tnidm,nchar *asp, !nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nu2_t newsize,nchar *nc)); ! voidncompressn__P ((u2_t sn, struct des_tid *tid,ni4_tnidm,nchar *asp, !nnnnnnnnnnnnnnnnnnnnnu2_t oldsize,nu2_t newsize));* n* n/* opscfl.cn*/ u2_t opscfl __P ((i4_tnidfl, i4_tnmode, u2_t fn,nu2_t * fl, -***253,263 ---- n* n/* opinpg.cn*/ i4_tntestfree __P ((char *asp,nu2_t fs,nu2_t corsize)); ! voidnrempbd __P ((struct A *pg)); ! voidninscort __P ((struct A *pg, u2_t ind,nchar *cort,nu2_t corsize)); ! voidnexspind __P ((struct A *pg, u2_t ind,nu2_t oldsize, !nnnnnnnnnnnnnnnnnnnnu2_t newsize,nchar *nc)); ! voidncompressn__P ((struct A *pg, u2_t ind,nu2_t newsize));* n* n/* opscfl.cn*/ u2_t opscfl __P ((i4_tnidfl, i4_tnmode, u2_t fn,nu2_t * fl, 21:38:33 1998 ******271,293 98 ** struct ans_opsc opscrel __P ((struct id_rel *npidrel, i4_tnmode, nnnnnnnnnnnnnnnnnnnn nnnnnu2_t fnum,nu2_t * fl, u2_t slsz, n char *sc,nu2_t fmnum,nu2_t * fml)); !ni4_tntestcond __P ((struct des_field * df, u2_t fn,nu2_t fdf, !nnnnnnnnnnnnnnnnnnnnnu2_t fnum,nu2_t * fl, u2_t * slsz, !n char *selcon,nu2_t fmnum,nu2_t * fml)); n* n/* orddel.cn*/ !nvoidnorddel __P ((u2_t sn, i4_t rn, struct des_tid *tid, !nnnnnnnnnnnnnnnnnnnstruct des_tid *ref_tid,nu2_t oldsize)); n* n/* ordins.cn*/ !nstruct des_tid ordins __P ((u2_t sn, i4_t rn, char *cort,nu2_t corsize, char type)); n* n/* ordmod.cn*/ !nvoidnordmod __P ((u2_t sn, i4_t rn, struct des_tid *tid,nstruct des_tid *ref_tid, nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nchar *nc,nu2_t newsize));*!ni4_tnnordins __P ((u2_t sn, i4_t rn, struct des_tid *tid,ni4_tntype, nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nu2_t newsize,nchar *nc)); ! voidndoindir __P ((u2_t sn, i4_t rn, struct des_tid *tid, nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nu2_t newsize,nchar *nc)); n* n/* proind.cn*/ -***277,298 ---- struct ans_opsc opscrel __P ((struct id_rel *npidrel, i4_tnmode, nnnnnnnnnnnnnnnnnnnn nnnnnu2_t fnum,nu2_t * fl, u2_t slsz, n char *sc,nu2_t fmnum,nu2_t * fml)); !ni4_tntestcond __P ((struct fun_desc_fields * df, u2_t fnum,nu2_t * fl, !nnnnnnnnnnnnnnnnnnnnnu2_t * slsz, char *selcon,nu2_t fmnum,nu2_t * fml)); n* n/* orddel.cn*/ !nvoidnorddel __P ((struct full_des_tuple *destuple)); n* n/* ordins.cn*/ !nstruct des_tid ordins __P ((struct id_rel *pidrel, char *cort, !nnnnnnnnnnnnnnnnnnnnn nu2_t corsize, char type)); n* n/* ordmod.cn*/ !nvoidnordmod __P ((struct full_des_tuple *destuple,nstruct des_tid *ref_tid, nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nchar *nc,nu2_t newsize));*!ni4_tnnordins __P ((struct full_des_tuple *destuple,ni4_tntype, nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nu2_t newsize,nchar *nc)); ! voidndoindir __P ((struct full_des_tuple *destuple, nnnnnnnnnnnnnnnnnnnnu2_t oldsize,nu2_t newsize,nchar *nc)); n* n/* proind.cn*/ 21:38:33 1998 ******297,304u98 ** char *newc, struct des_tid * tid)); n* n/* rdcort.cn*/ !ni4_tnreadcort __P ((u2_t sn, struct des_tid *tid,nchar *cort, !nnnnnnnnnnnnnnnnnnnnnu2_t * corsize, struct des_tid *ref_tid));* nu2_t calsc __P ((u2_t **afi,nu2_t * ai)); n* n/* reclj.cn*/ -***302,309*---- char *newc, struct des_tid * tid)); n* n/* rdcort.cn*/ !nu2_t readcort __P ((u2_t sn, struct des_tid *tid,nchar *cort, !nnnnnnnnnnnnnnnnnnnnnstruct des_tid *ref_tid));* nu2_t calsc __P ((u2_t **afi,nu2_t * ai)); n* n/* reclj.cn*/ 21:38:33 1998 ******306,314u98 ** struct des_tid * tid, CPNM cpn)); n* n/* recmj.cn*/ !nvoidnrecmjform __P ((i4_tntype,nu2_t sn, u2_t pn,ni4_tnidm, !nnnnnnnnnnnnnnnnnnnnn u2_t off,nu2_t fs,nchar *af,ni2_t shsize));*!ni4_tnbegmop __P ((char *asp)); nvoidnbeg_mop __P ((void));* n /* rllbck.cn*/ -***311,319*---- struct des_tid * tid, CPNM cpn)); n* n/* recmj.cn*/ !nvoidnrecmjform __P ((i4_tntype,nstruct A *pg, u2_t off, !nnnnnnnnnnnnnnnnnnnnn u2_t fs,nchar *af,ni2_t shsize));*!nvoidnbegmop __P ((char *asp)); nvoidnbeg_mop __P ((void));* n /* rllbck.cn*/ 21:38:33 1998 ******317,329u98 ** voidnrllbck __P ((CPNM cpn,nstruct ADBL cadlj));* n /* rllbfn.cn*/ !nvoidnredo_dltn __P ((u2_t sn, struct d_r_t * desrel,ni4_t rn, !nnnnnnnnnnnnnnnnnnnnn struct des_tid * tid, u2_t n,nchar *a)); ! voidnredo_insrtn __P ((u2_t sn, struct d_r_t * desrel,ni4_t rn, !nnnnnnnnnnnnnnnnnnnnn n struct des_tid * tid, i2_t n,nchar *a)); nvoidnredo_dind __P ((struct d_r_t * desrel,nchar *a)); ! voidnredo_cind __P ((char *a,ni2_t n,nu2_t sn, u2_t pnr, !nnnnnnnnnnnnnnnnnnnnn u2_t indr, struct des_tid * tid)); nu2_t get_placement __P ((u2_t sn, struct des_tid * tid, nnnnnnnnnnnnnnnnnnnnnnn n struct des_tid * ref_tid));* nvoidndelscd __P ((u2_t n,nchar *a)); -***322,333 ---- nvoidnrllbck __P ((CPNM cpn,nstruct ADBL cadlj));* n /* rllbfn.cn*/ !nvoidnredo_dltn __P ((struct full_des_tuple *destuple,nstruct d_r_t * desrel, !nnnnnnnnnnnnnnnnnnnnn char *a)); ! voidnredo_insrtn __P ((struct full_des_tuple *destuple,nstruct d_r_t * desrel, !nnnnnnnnnnnnnnnnnnnnn i2_t n,nchar *a)); nvoidnredo_dind __P ((struct d_r_t * desrel,nchar *a)); ! voidnredo_cind __P ((struct d_r_t * desrel,nchar *a)); nu2_t get_placement __P ((u2_t sn, struct des_tid * tid, nnnnnnnnnnnnnnnnnnnnnnn n struct des_tid * ref_tid));* nvoidndelscd __P ((u2_t n,nchar *a)); 21:38:33 1998 ******335,356u98 ** * n/* snlock.cn*/ CPNM synrd __P ((u2_t sn, char *aval, u2_t size)); ! CPNM synlock __P ((struct id_rel *nidr, struct d_r_bd * drbd,nchar *cort));* nCPNM synlsc __P ((i4_tntype,nstruct id_rel *nidr, char *selcon, u2_t selsize,nu2_t fn,nu2_t * mfn));*! CPNM synind __P ((u2_t sn, i4_t rn));*! CPNM syndmod __P ((struct id_rel *nidr, struct des_field * df, char *cort));* n /* tmpob.cn*/ struct ans_ctob crtrel __P ((i4_tnfn,ni4_tnfdf, struct des_field * df));* nstruct ans_ctob crfltr __P ((struct id_rel *npidrel));*!nstruct des_tob *gettob __P ((struct A *npg,nu2_t size, i2_t * n,ni4_tntype)); i4_tndeltob __P ((struct id_ob *npidtob));* ni4_tninstr __P ((struct des_tob * dt, char *cort,nu2_t corsize)); ! voidnminstr __P ((struct A *npg,nchar *cort,nu2_t corsize, struct des_tob * dt)); ! char *getloc __P ((struct A *npg,nu2_t corsize, struct des_tob * dt)); ! char *getptob __P ((struct A *npg,nstruct des_tob * destob));*!nvoidndeltr __P ((struct d_mesc * scpr,nchar *asp,nu2_t * ai, nnnnnnnnnnnnnnnn n struct des_tob * destob, u2_t pn)); ni4_tnfrptr __P ((char *asp)); nvoidncomptr __P ((char *asp,nu2_t * ai,nu2_t size)); -***339,363 ---- n* n/* snlock.cn*/ CPNM synrd __P ((u2_t sn, char *aval, u2_t size)); ! CPNM synlock __P ((struct d_r_t *desrel,nchar *cort));* nCPNM synlsc __P ((i4_tntype,nstruct id_rel *nidr, char *selcon, u2_t selsize,nu2_t fn,nu2_t * mfn));*! CPNM synind __P ((struct id_ob *fullrn));*! CPNM syndmod __P ((struct d_r_t *desrel,nu2_t flsz, !nnnnnnnnnnnnnnnnnnnnu2_t *fl, Colval colval, u2_t *lenval));* * n/* tmpob.cn*/ struct ans_ctob crtrel __P ((i4_tnfn,ni4_tnfdf, struct des_field * df));* nstruct ans_ctob crfltr __P ((struct id_rel *npidrel));*!nstruct des_exns * getext (void);*!nvoidnputext (u2_t *mfpn,ni4_tnexnum);*!nstruct des_tob *gettob __P ((char *asp,nu2_t size, i2_t * n,ni4_tntype)); i4_tndeltob __P ((struct id_ob *npidtob));* ni4_tninstr __P ((struct des_tob * dt, char *cort,nu2_t corsize)); ! voidnminstr __P ((char *asp,nchar *cort,nu2_t corsize, struct des_tob * dt)); ! char *getloc __P ((char *asp,nu2_t corsize, struct des_tob * dt)); ! voidngetptob __P ((char * asp,nstruct des_tob * destob));*!nvoidndeltr __P ((char *asp,nu2_t * ai, nnnnnnnnnnnnnnnn n struct des_tob * destob, u2_t pn)); ni4_tnfrptr __P ((char *asp)); nvoidncomptr __P ((char *asp,nu2_t * ai,nu2_t size)); 21:38:33 1998 ******371,393 98 ** i4_tnuniqnm __P ((void));* nCPNM sn_lock __P ((struct id_rel *npidrel, i4_tnt, char *lc, i4_t sz)); nvoidnsn_unltsp __P ((CPNM cpn));*!nvoidnsrtr_trsort __P ((u2_t * fpn, struct des_field * df, u2_t fn, !nnnnnnnnnnnnnnnnnnnnn n u2_t fdfn,nu2_t * fsrt, n n u2_t kn, char prdbl,nchar *drctn,nu2_t * lpn));*!nvoidnsrtr_flsort __P ((u2_t sn, u2_t * fpn, struct des_field * df, !nnnnnnnnnnnnnnnnnnnnn n u2_t fn,nu2_t fdfn,nu2_t * mfn,nu2_t kn, !nnnnnnnnnnnnnnnnnnnnn n char prdbl,nchar *drctn,nu2_t * lpn));* nvoidnsrtr_tid __P ((struct des_tob *dt)); voidnLJ_put __P ((i4_tntype)); voidnLJ_GETREC __P ((struct ADBL *npcadlj));* nvoidnMJ_PUTBL __P ((void));*!nvoidnADMT_getext __P ((u2_t * pn));*!nvoidnADMT_putext __P ((u2_t * mfpn,nu2_t cnt));* nchar *getpg __P ((struct A *nppage, u2_t sn, u2_t pn,ni4_tntype)); char *getwl __P ((struct A *nppage, u2_t sn, u2_t pn)); char *getnew __P ((struct A *nppage, u2_t sn, u2_t pn)); voidnputpg __P ((struct A *nppage, i4_tntype)); - voidnput_page __P ((struct A *nppage, char type, struct msg_buf * sbuf)); voidnputwul __P ((struct A *nppage, i4_tntype)); voidnBUF_unlock __P ((u2_t sn, u2_t lnum,nu2_t * mpn)); ni4_tnBUF_lockpage __P ((u2_t sn, u2_t pn,ni4_tntype)); -***378,397 ---- i4_tnuniqnm __P ((void));* nCPNM sn_lock __P ((struct id_rel *npidrel, i4_tnt, char *lc, i4_t sz)); nvoidnsn_unltsp __P ((CPNM cpn));*!nvoidnsrtr_trsort __P ((u2_t * fpn, struct fun_desc_fields * df, u2_t * fsrt, n n u2_t kn, char prdbl,nchar *drctn,nu2_t * lpn));*!nvoidnsrtr_flsort __P ((u2_t sn, u2_t * fpn, struct fun_desc_fields * df, !nnnnnnnnnnnnnnnnnnnnnnnnu2_t * mfn, u2_t kn, char prdbl,nchar *drctn,nu2_t * lpn));* nvoidnsrtr_tid __P ((struct des_tob *dt)); voidnLJ_put __P ((i4_tntype)); voidnLJ_GETREC __P ((struct ADBL *npcadlj));* nvoidnMJ_PUTBL __P ((void));*!nvoidnread_tmp_page __P ((u2_t pn,nchar *buff)); ! voidnwrite_tmp_page __P ((u2_t pn,nchar *buff)); nchar *getpg __P ((struct A *nppage, u2_t sn, u2_t pn,ni4_tntype)); char *getwl __P ((struct A *nppage, u2_t sn, u2_t pn)); char *getnew __P ((struct A *nppage, u2_t sn, u2_t pn)); voidnputpg __P ((struct A *nppage, i4_tntype)); voidnputwul __P ((struct A *nppage, i4_tntype)); voidnBUF_unlock __P ((u2_t sn, u2_t lnum,nu2_t * mpn)); ni4_tnBUF_lockpage __P ((u2_t sn, u2_t pn,ni4_tntype)); 21:38:33 1998 ******396,409u98 ** voidnans_adm __P ((void));* nvoidnerror __P ((char *s));* *-n#define CHECK_PG_ENTRY(ent) \ - (assert(ent && (!*ent || ((*ent>0) && (*ent <= BD_PAGESIZE)))),1) *-n#define mod_nels(newnels,loc) \ - { u2_t mnels; \ - mnels=t2bunpack(loc); \ - mnels+=(newnels); \ - t2bpack(mnels,loc); \ - } - #endif -***400,404u---- diff -rc gnusql-0.7b5.3/src/include/engine/inpop.h*gnusql-0.7b6.0/src/include/engine/inpop.h ****gnusql-0.7b5.3/src/include/engine/inpop.h Mon Apr 28 13:53:12*1997 -***gnusql-0.7b6.0/src/include/engine/inpop.h Tue Feb 24 18:37:36*1998 21:38:33 1998 ******122,128u98 ** * nstruct msg_buf { ! nintn mtype; char mtext[SZMSGBUF]; }; n -***122,128u---- n* nstruct msg_buf { ! nlong mtype; char mtext[SZMSGBUF]; }; n 21:38:33 1998 ******130,137u98 ** enum { nnn nNUM_LJ =1, !nNUM_SRT =2, !nFIR_TRN_NUM =3 }; n #endif -***130,136u---- nenum { nnn nNUM_LJ =1, !nFIR_TRN_NUM =2 }; n #endif Onlynin*gnusql-0.7b5.3/src/include/engine: pupans.h diff -rc gnusql-0.7b5.3/src/interpr/Makefile.in*gnusql-0.7b6.0/src/interpr/Makefile.in ****gnusql-0.7b5.3/src/interpr/Makefile.in Thu Jun*12 08:41:08*1997 -***gnusql-0.7b6.0/src/interpr/Makefile.in Mon Sep 28 02:09:28*1998 21:38:33 1998 ******2,8 98 ** ##nnnnnnnnnnnnnnnnnnGNU SQL Compiler (interpretator)nnnnnnnnnnnnnnnnnnn##* ##########################################################################* ## !n## $Id: Makefile.src.interpr.in,v 1.245*1997/03/31 03:46:38 kml Exp $ nn##* ## This file is a partnof GNU SQL Server ##*-***2,8 ---- ##nnnnnnnnnnnnnnnnnnGNU SQL Compiler (interpretator)nnnnnnnnnnnnnnnnnnn##* ##########################################################################* ## !n## $Id: Makefile.in,v 1.246*1998/09/28 06:03:06*kimelman Exp $ nn##* ## This file is a partnof GNU SQL Server ##*21:38:33 1998 ******43,53u98 ** all: server client:nannounce $(LIBCLI) server:nannounce $(LIBSER) !nlibgss_ser : interpr.$(O) intlib.$(O) int_servlib.$(O) n echo $? >$@ !nlibgss_cli : int_cli.$(O) n echo $? >$@ !ninterpr.$(O): interpr.c $(LOCH) $(H) $(INC)/sql.h !nint_cli.$(O): int_cli.c $(LOCH) $(H) $(LINC)/gsqltrn.h*$(INC)/cl_lib.h $(INC)/sql.h !nint_servlib.$(O):nint_servlib.c $(LOCH) $(H) $(LINC)/gsqltrn.h*$(INC)/sql.h !nintlib.$(O) :nintlib.c $(LOCH) $(H) $(INC)/sql.h -***43,53u---- all: server client:nannounce $(LIBCLI) server:nannounce $(LIBSER) !nlibgss_ser : interpr.onintlib.onint_servlib.o n echo $? >$@ !nlibgss_cli : int_cli.o n echo $? >$@ !ninterpr.o: interpr.c $(LOCH) $(H) $(INC)/sql.h !nint_cli.o: int_cli.c $(LOCH) $(H) $(LINC)/gsqltrn.h*$(INC)/cl_lib.h $(INC)/sql.h !nint_servlib.o:nint_servlib.c $(LOCH) $(H) $(LINC)/gsqltrn.h*$(INC)/sql.h !nintlib.o :nintlib.c $(LOCH) $(H) $(INC)/sql.h diff -rc gnusql-0.7b5.3/src/interpr/int_cli.c gnusql-0.7b6.0/src/interpr/int_cli.c ****gnusql-0.7b5.3/src/interpr/int_cli.c Mon Apr 28 13:53:23*1997 -***gnusql-0.7b6.0/src/interpr/int_cli.c Wed Jul 29 23:23:37*1998 21:38:33 1998 ******25,31 98 ** ** */ ! /* $Id: int_cli.c,v 1.246*1997/03/31 11:03:50 kml Exp $ */ n #include "setup_os.h" #if HAVE_UNISTD_H -***25,31 ---- ** */ ! /* $Id: int_cli.c,v 1.249*1998/07/30 03:23:37*kimelman Exp $ */ n #include "setup_os.h" #if HAVE_UNISTD_H 21:38:33 1998 ******64,70 98 ** } *top = NULL; n int ! SQL__disconnect(i4_tncommit)* n{ nnnexternnvoidnSQL__disconnect_pass2 __P((i4_t));* prefetch_cache(NULL,NULL,NULL); /* clear cachen*/ -***64,70 ---- } *top = NULL; n int ! SQL__disconnect(intncommit)* n{ nnnexternnvoidnSQL__disconnect_pass2 __P((i4_t));* prefetch_cache(NULL,NULL,NULL); /* clear cachen*/ 21:38:33 1998 ******115,121 98 ** */ n int ! SQL__cache(i4_tnnew_cache_limit)* n{ nnnstaticni4_tncache_limit = 0; if (new_cache_limit==-1) -***115,121 ---- */ n int ! SQL__cache(intnnew_cache_limit)* n{ nnnstaticni4_tncache_limit = 0; if (new_cache_limit==-1) 21:38:33 1998 ******168,174u98 ** return 0; } ! staticnint prefetch_cache(struct module *mdl,gsql_parms *args,result_t **res)* n{ nnnstaticncache_t *cachen= NULL; -***168,174u---- return 0; } ! staticni4_t prefetch_cache(struct module *mdl,gsql_parms *args,result_t **res)* n{ nnnstaticncache_t *cachen= NULL; 21:38:33 1998 ******255,265u98 ** */ n staticnvoid ! proc_ret (i4_tncode, CLIENTu98svc)* n{ SQLCODE =*code; if (SQLCODE < 0) !nnnnn{ nnnnnnnnif ( SQLCODE == -ER_SERV) n gsqlca.errmsg =*clnt_error_msg();* else -***255,265u---- */ n staticnvoid ! proc_ret (i4_tncode, gss_client_t **svc)* n{ SQLCODE =*code; if (SQLCODE < 0) !nnnnn{n/* onnerror */ nnnnnnnif ( SQLCODE == -ER_SERV) n gsqlca.errmsg =*clnt_error_msg();* else 21:38:33 1998 ******271,276 98 **-***271,278*---- *svc = NULL; nnnnnnnnn} nnnnnn} + else + gsqlca.errmsg =*"OK"; return; }n/* proc_ret */ n 21:38:33 1998 ******279,285u98 ** */ n staticnint ! execute_it(insn_t *insn,CLIENTu9svc,result_t **r)* n{ nnnassert(r);* *r =*execute_stmt_1 (insn, svc);*-***281,287 ---- */ n staticnint ! execute_it(insn_t *insn,gss_client_t *svc,result_t **r)* n{ nnnassert(r);* *r =*execute_stmt_1 (insn, svc);*21:38:33 1998 ******302,315u98 ** void SQL__runtime (struct module *mdl,gsql_parms *args) { ! nstaticni4_tn nnnarg_hole_cnt = 0; staticnparm_t *arg_hole = NULL; nnn staticnstruct { !nnnnninsn_t *head; !nnnnninsn_t *tail; !nnnnni4_tn nnninsns; !nnnnnCLIENTu9svc; nnn} icachen= { NULL, NULL, 0 , NULL }; nnn intn rc; -***304,317 ---- nvoid SQL__runtime (struct module *mdl,gsql_parms *args) { ! nstaticnintn nnnarg_hole_cnt = 0; staticnparm_t *arg_hole = NULL; nnn staticnstruct { !nnnnninsn_t *head; !nnnnninsn_t *tail; !nnnnnintn nninsns; !nnnnngss_client_t *svc; nnn} icachen= { NULL, NULL, 0 , NULL }; nnn intn rc; 21:38:33 1998 ******316,326u98 ** insn_t *i_arg = NULL; nnnresult_t *i_res = NULL; nnngsql_parm *parm = (args) ?nargs->prm : NULL; !nnni4_tn nnnnnnargs_cnt = (args) ?nargs->countn: 0; !nnni4_tn nnnnnnin_args_cnt, out_args_cnt, i, j,nerror; n !n#define RET(code)nn{nproc_ret (code, (CLIENT**)&(mdl->svc)); return;n} !n#define CHKRC nnnnn{nif(rc)n{nproc_ret (rc, (CLIENT**)&(mdl->svc)); return;n}} nn if (!icache.tail && !mdl) /* if there is no cachenand this call */ nnnnnRET(0);nnnnnnnnnnn