r8857: package renaming
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 7 Apr 2004 17:45:56 +0000 (17:45 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 7 Apr 2004 17:45:56 +0000 (17:45 +0000)
18 files changed:
doc/clsql.pdf
doc/html.tar.gz
sql/kmr-mop.lisp
sql/metaclasses.lisp
sql/objects.lisp
sql/package.lisp
sql/sql.lisp
sql/syntax.lisp
sql/table.lisp
tests/README
tests/package.lisp
tests/test-connection.lisp
tests/test-fddl.lisp
tests/test-fdml.lisp
tests/test-init.lisp
tests/test-ooddl.lisp
tests/test-oodml.lisp
tests/test-syntax.lisp

index 695e6b4867a5c694b6f062680d0cc31f98700d59..7ef903d31efb7b4c550ba16fd114cbf9e6b42253 100644 (file)
@@ -50,10 +50,10 @@ endobj
 >>
 endobj
 11 0 obj
-<< /Length 1926 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1918 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb"/l>Ebd^'SYHC'g.L^V;Y[h4kbc".5*hV-^1@s@(14g.2<),;Yg(Gg)Td!&plZQ]4PA5-oh`:XMnW:"l-\Kn+o^$7[oj(qp\H-k6=f5j?HKMg/\qo\(VVL'R-PSp;*:_/A.k.U5%((1r>Lg_:-tE2d"&U.ZTt?mu%!P1:3ni2&R\X\K$m]FG8#b2DI`dls8g<boY>bR@=-"&+'KW'a+Shl6W1j.=Upt:YYCoAlLr`dbiN$;eHi#_0khkqnXa>2GLCP5X6I=V%MZK7C)5CfkR)C_CTF8Y(J-l72]^n]+"gm/shUQ%acc\q8&-O+T*at*OYUs#(]&.JW:\2b."B@U%`-Y7t0enknoB2^%3?XkaZHV:[a)rMcI45RJ-L!#+WR_5bKX*j1\sMauAbcI4*j8Z+BZI"9P,%*Hr'I<":\MC!#hCC"9o?+;!c7W3?ma[h;uKXCSnFYCeP&k0974F#R2RZ^,[;4Rf+g[H&mj$ZG:3i`XZrk,MJViIW\=Nh;is3dPgA57W^DMbH(p4us8=>Gr]LXYD![kcCM'[TL24lY)T85bNVq.JX^E$@tQk'lCf=OI^;qe?k,[5H8r?bi[T4R%($uK0UfaNsL<KgPrrZDnIRtln-dp.&bIA#\Tj'[AP05&EmX*W^?>oOBg9bOVNin7M1(QJ_gDB:;EZ#^b(#V$&Sp[^9A%.S*Zh;Na*D,</4FIG"AXh_,a,e(Mc3/7XGgPHF<GT+hKSaX=C?k?5-I6dDh7=8eUuO+OEPRTmSJ@1nEr!k(pI83sgJ?l`RjVK@$5BOu8cf8TbU.,,d0q:"k'YROYb<\)'WknNI9kkh>:2IkW%ieXOOaAlW7Ik2*s^4]cFuo]+9B^"[iB`HVsXohqSPP,u9_77+@kioQl>XD3JH0*q2VWUL0\mL_iXL5d;Sn/d;S?8qN!jJg.757S51oENTKadk^4;JU]12;ak5k>m`>h!dun#^!=>MeA.5DbX],OIb]_$SO^)!ue0983e<EC$M$LN5eO70@pY6O,H_3h@LeH#6J0WQ):gQ*m-5@bRfqa:A4R4e!C,#*b,A)5kP]3h+Krjd=pXkk#\\QGgpe>B08ckiCH4a5]9?Xr'K8lA/a.OW'-Q--`OIqkS"*10IlaubOs02?+j%)iSD;PA8gBH:a"+VU6>fa(q"NUpN't&E^nraHIJ#'"+e`a^SY8N`&r"d'P)%<EEUXg;^io9#)9+sY)&Uq:S!'cCJF9aDDhIT8C2r@SdI2K<@S2fl&sKYaR6Vm3oC,Y&.iMJ:%DO(27:-nR8Csm]E/64h_ZfY5>d(%2&\Y=;g5h''BBj*"^MS&P1e%XjH@pD!Qe;P#;jgo=&,TJp0PV"Mb)S1TbJ]foFM.OV<I!>'$BrH-/HC^CA3B2+%->8r<K=D"!*U4JW?4kh=',0gfCW=G&BB?]B0$4BA[6G_`SNQnPj6hT!P(XaB@:X,KFpf"6\:sZEpB_ktO&_CTGQAFtSOS\iqT>B6iioWoDXr?I%^#P;sM7RHP?9h@Z$YO9Z)J,m4Nlb-n:u0CJ.)F2sUo5bQS*a5fBa@Z$"r>]dj$C>)?Gr.MQ2J?G>5%EWsi`6aP"X(N5$Ue!eEIhnEafgBj)A5MQkM=9/N5Z^7J4ihF#7,&&JA.:!8-'14oJ_jFqo#a,SFT956)Kge&0!3k%*X'&D.TJ!;:_4tl4Sm?:lY=RBF<s2F1SI.W>lHihqQdrnl>AD+W#>%N!.h;99#infb>uT#P<%+71an5u+OGJ.dK8JYDp+A*5jN;M*n\/:CQA:8&Eksmam3K7EM-"Vl;,F;lpWDWBXJod#^"4'0/#."6MAM"A9[KJ]@@o4LRh:gSY6<`J3`!cKN_M'ZJENeL8m?pno%ABS?t/-B<3EoHHK1HA)l.rrLqNk9_uA!eP)fV655Ee\WNrHs'#BG^B"Wa9-s~>
+Gb"/l>Ebd^'SYHC'g.L^V;Y[h4kbc".5*hV-^1@s@(14g.2<),;Yg(Gg)Td!&plZQ]4PA5-oh`:XMnW:"l-\Kn+o^$7[oj(qp\H-k6=f5j?HKMg/\qo\(VVL'R-PSp;*:_/A.k.U5%((1r>Lg_:-tE2d"&U.ZTt?mu%!P1:3ni2&R\X\K$m]FG8#b2DI`dls8g<boY>bR@=-"&+'KW'a+Shl6W1j.=Upt:YYCoAlLr`dbiN$;eHi#_0khkqnXa>2GLCP5X6I=V%MZK7C)5CfkR)C_CTF8Y(J-l72]^n]+"gm/shUQ%acc\q8&-O+T*at*OYUs#(]&.JW:\2b."B@U%`-Y7t0enknoB2^%3?XkaZHV:[a)rMcI45RJ-L!#+WR_5bKX*j1\sMauAbcI4*j8Z+BZI"9P,%*Hr'I<":\MC!#hCC"9o?+;!c7kdZoAC1S^?c$CC`Yr?U81nM=qEga>*MrfL3XfEa\\R'MRD\^TU`\^c)\doU!8Q;4M<.8k.lfcGNrAZcW/i)7]qrg;<DkVo%[Dml]UU,j;fjaJlY+o,(!eL?aVrUo].Kg7K<O<(=5^'ka;:@.`r2AUD0Ul\k@W%ps%0E*!4sC-tDE%P]]^`#kZaX%`TqFUL+e478et.Tr6(jDFW!^qY6#oi'6rl-V(e+37"F:;P3!#4(!OqhI-R]laq8+nSDmG-63HAON:`WFkfcd><#?rM5>cd`X)=:94kgeBCK^@,tZ`:AJHVn$"72nJ:.nSq0Jj:,<LQnDoRa-%!F%"d-SV4f0Fk>Hf60QW1aVmqDUcJd'&QBTt->btg9blF/>OS?FGTR(pFR=2*5F<#ElHS<kZ`:55F)U$@SuX_uqXNb2hJKr\@QXqgH7;`88_.1k+sGYpna]LZ<]*75(Bf&f<-X'>pBVrg_o<4:G`P1:Y8_e!nl4YW*sW&SH37fajNaD*WO9ITRW$I+F0!B/DKr#r"M.^0`Iig6[jEh&aNjIkKbkj%!KGTW,TmZ^2"f$67Ur<WQg4jVa2KATD[6o5"+dV<9%/l7#acb\pRLUEq5,eKIQYUW!eKV[QFiK2_P7L\a3:_jh=7H,\B]>`%`4?Y!.j!ob5$b(YK8W,X&44!),F.Eld.!bFCA/6?'jlJX1N\M3lAR\?-1s=4.nj3P=-c/"u'fZMXKZQAE8]`:\CS0Ta(XiKmlb,IYi@.U++19^uM_nX/8c_ndGq*NEm,VURsRLVq7Bog"gEBacW5">s&j2TW1s"eC#Y>d?37-?Za'i1*@^dQC?mF.V`^Fo/!)%M0K10oY5*>SpmC<heP&rEi/8HX!bt;U^F[O.ODEfrQ-@\ZNHAiapr*ZK<C_:&TP@;[(R#C+X0Sj6(h;::7`r/HnSLJ*K6n>:T3hMF<Jq[OIA;Y6(&;J\EV]FcMbOqof@!R[PP<qmOreX9r9kn'1!F1V&&,P$VH)B`JlZo>c0AsISDFV>C)[nA7MpRRf$[YEbM-3U[iMm`t#$tI_G12Cu.@DP>R^(:(c\1;(2luOFUG"OPm!PRl^N-^-4DuHt`Wb3_a`jhI@k/QrqEu-VUV=c1JnLG^Bn`Wi=L0]E_%;mDuteG2YcF'En8FJ]XBE6l//oV669^Y!!&4'i`n>]N.e7X[#>+O:kh#a`A$WD3ZQRg_3HW0AN[,B:.r3WdX>%TPL?$[IOM*@7&25mu4]XVHcPk!X(Ot.[80=c_I<i)r.R`2UdGMnSSC>kUNQRN!$J(<W"bC1Ta?'U=]YO]a$#=5b@PT9UQ!im`+:<h+P3=\8MV':6V3\:1bCLb%.XRA3A(BUlp^<qdG"?Vk!JO6B`R'O6fYcpYN;^h=5I:)5Yq&MU2J3oZ]e&Pr0c?D1$&rb&\g-(59Rr>>oddC-nVl4>f;\DVa+jlFbB;^FN=/<8&Zed9)kW\Z5V3e_g9Di]^!\~>
 endstream
 endobj
 12 0 obj
@@ -653,10 +653,10 @@ endobj
 >>
 endobj
 120 0 obj
-<< /Length 872 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 876 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb"0V:NMsi(^BKAT7U;?!8V5d!(U"OTjt,-4P3C>`/kCk<*QVu8O%V=&82Ld><<M*50;n6@6nMr53kj"oY\u/$_^F,&1tQ^&FHVf257ga7QFNh/SZ3Rd_[ZkVs\Zh?-R_bc@o4^ko,G25S+(cb08n@/'OUY=UX-S`X8D>XLra)H5S:Cd/lW6Qc^`7NDUf=;FSE@>U9E[S@7<6"@95V%^J)8<",#U0H-!"qSi5%G6:!u9h&H^L,79S'gU-FWiSC2\,+<b(FeaOqKtNb^DK!K"k/STbd.Z;W'CW?r_0CaSEAL2=EQ:TL2PlX4Pg%qLV>k@5C.X`/Y#VL/:+7.qf8@idWRs@[!>!uZMF`GoA,=e_e9]h7ql4HkspYY4^R!@g!R@`p16N$oJZfdRV*Hal5S'1l9hWk_+^(P"@<&'0WJ8V!Ft]sL/i9-Nn-dlI>0GHf&&Fi6*D+/Pgt!(QH:J1*g3/C-<Vq,Tf2na"[PY[4k39lQ#VH,EZ$OQatA\cI#SraD6bPtSk4#Acl)-1L0Q_29!HDeh;#-mU+7%E(lnHuNo`;E#\kqCnjup8"Pkp<SV-W(JTT7E6dU[iXR9`%_Md[p2S*Z03k1-+m[@A)h/ujiX2TM"aUZBG@7&>'B[>b\,e@@h3X>&/!`Pa"L7f2[=l#g_\g^,c$pb,b;:,Q2H6JS9*qfh%r7<+q6&3HP5!*i+6lQV%kFat8?rOGk&9OWrX8CR;Ll1K+#hj5'3k1.>LG*UDYLpF6=J]`=Ia"gGiuoHT"LX=jei'M?Yk+uAr-9>`(8lo6G]'7_Nj[We[*oPd82DPJW)PkXZ;,9/gY/*!)R%UKp$9fia\CQ<3lqj)in5/WC:djXhk'.(I@qs!pb1_~>
+Gb"0VbANe7'F*JY:Vj3Z!]n5(J0hoTU8#%9j$d-o5o^l<Uim,`V=a"6J:Z9;Z0FrtY5`&(R5!8a3WF'>KRTl5]bELR-IK`-7eD%el9p&!ST:kkg=.mWXbU9U:VH"?FFA5()dGr,PFea%#R!H?Y,ig2HG[8?5O7:?h,ki-Ng9@q`2KDa+^-#Ps&'R8]JU%l9BmoBNp@tK[bLK<L*5]fdQt=>K8P40*J3g+@U+qs%<#j3o1:X)WSreXIKg@*WiE)Ffr[FghaL/8Y!1_rp+M12K%Vt7qVH%QDmQ";:BQ3AitEs'V1!(pG&uX2KjL>tLB#(#I4t(SNf89gGVdHOL/ZLmks3:cmHc-5qs;:5r<qa&]9aatd3cGaZFJT9Ntr6q]Xl;WUN<L%dt/_+DZYHscS/$LGF>)Q'rr7h/<i'r62q]S1@KLb`LFJ<a__rm8Xs-T=Dm:D*.jhbMuq.j>@jjGP=1JRcY/ND=8>YtJ'<M;,M&IO-I"<U_0WMH(KG%58!n^a(WeF8<!CSn\d[d2ol<DPgh,6kA=[T*e%"be"XU%H^?f>i%g[bJ98d9-'b3NR%700M4]*>-FOq(GU8k6jfb3e[\qPe))M/GOUU%MoG'eF=Q-jpJ&9%+A1/+&HF<oQr3AQFD(kU%!H_S:gk^juA6rd6rBWl<rd02na_.?Sh_5(4ijc,&oJJuAp:VmYG*>C$Cm*&`CD)_ZhKD%]a6d^WUd#"d&mUo<8.]_;NBYu"Wi%cc'^;*1D@dE<!SRk[pPZJ756TcIsl6*(mD,Q?[m9BCfo-12N:/.GR_F,i4oqaRsqI(CYQ=M>-C<,5_W<IdQXdNgAR_<EA?[Y`<iqBjFggi(P)^A$n(X1spp\N8WkSO$</?f~>
 endstream
 endobj
 121 0 obj
@@ -739,7 +739,7 @@ endobj
 131 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 120.0 675.0 185.0 665.0 ]
+/Rect [ 120.0 675.0 192.22 665.0 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 132 0 R
@@ -952,10 +952,10 @@ endobj
 >>
 endobj
 173 0 obj
-<< /Length 2127 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2102 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat%$>BA7Q'RoMSnCtB-<4+;bGq3GfS)"heKUJA3*Y_gM`7hNeV%A+S*a*M/3H5+a(S)3]kr\Va]inatggeA8:m,4!\\<$Rc%Y>jnFN1&8$3LO.>i`0=dI@2bI]@*45*q"f7"^71i_!c\b(tX06l)JH(T5\i`FDABDK#!_aQ;?`#8:J@>N\]Oo%B99jP/K0,6L=$f;dVShComG#8l]"mY'a]8+'jGUO4$..VdjLp[;+j<<Ek,^O`;Q)-`/dLWF]28qO'^EsiKXKL";!QI[kUa%D<dM?QRX^:S4>Y.:T\m#+hLpAXH8U3gZJPA"HY,j<3QBu@"7uSV^dPOZ,S2Qine7Q(9>us`jF(Fm/gW>3ib%X5#M0.?75kNN"L"<T5`W>ibNbnXVS;h$;6Cc[pCndHH2kM5O2Vh*XP"n"k?VRj+aCb#1C3SGFDPAla9/nAD,!+"\8/N^&LA2e-raK_G27lfG5+E@B!=F7?[Y'Y';[TEN#SUG'Cf5hT0f[2dWgi9(brRN_:;M/"j`f-fU@!bm+3b@/)V>#9B>uh)M"LO,<!3]QZI(5p;r;^\9b$nX*[jBV1SjaZ6*cHX#/&+2Zg<U16(/g:@i/Uk:1LF251I]&Xt&]j=4JC@bP4Pjh+7kIBoLio554+9rSgcp5XkF[aHe:-WZfUsl#UG,NaOm5fT<V#O]As^\+HL@`XGaUgTSE)>_j1Xc/.(PM#jlb5s6sV$tTHLBL8lf67$u>D#09u5?aOFIq5o7^p9m)#"HCZDk@8]SW7M`9gpt-67U/+YSQ#k$dq``J_7moCmHV'#3-rSN7)0Q-f&>i<CU[le^Rg?AQig99EbcO:FjDqTe*&Ir,G=)DHetO1]m^YK5/DAqFlgI(=?rG[c!Q#^9_^X.9/\\+``R`M-thM>-HP+".qN@OmCJXH(&'sedX,d$)S1@>`Y]&qY%E2^uIKR.""#49SSXo4\jHu#t`dP;G?JT;5?8'e6F))19s39D/'W?31L6tIH'hl5shQ"B"@:)P!ek>(:EJ'edKo*@t6A<iNsLc].+!nTf`&3Bq^B+eXT<2&#Iq8p7+;D&7biH"s$2A^!gkO,H?n89ghhrjNpA"6\0-Tne>glL69[5rHr#[TbaQ7cnMecB21Q:R4sH14K_j!l[:toIL%^#-\\-kgN0W=Vpo:R;ur0#h;cPf#>G\&AcL_g3;16(@2N#r'PEktT>6*_p"5H'^1Gtu+0+<u1WJon"m^?#X\-hmSP&HQ7,2+fYsU$FF_F4KnfZ.r.'/=OU\pTUHm[4QE7PtHl].7s-T,.7<$[eDJ7?T/.+dIIZ'!"%`IJgPCQRpKp:@DoBRb@mUI@A!%]@,o]%]>[68:L+9AXnBd$thm5g&]lV30icIlC)EB*@PTf<=US?pdbsNm>FunN8oY8LL2cg61er@h%O3,f]U[A6[NAX]]9(REpEkrE2sXr=H<1^If*GVL+eIe[HQcoAq]3SQUgkG?2]k;dWJPG,2(\=;fkpUn2;LWkKr#JY?AcW#6gL)c-a$,P$csYW$?K`IZ;>HQU29'b?8@`)m`NR6Up^Q1b#RRmCUD_6^)ijOVVLBQrR<1'4*IQoBe6Nq3F`.a2D/MK>5WW#'oIb\JBm^EK/Y@Fl(IP0CA#^>PN@Z)f'b.ft3L1@YF17Q.KW4Ujb+`h=seC#2P=>*>tdIc[`uq[(,i6I'0PD<SI#[BO.VaGSiD*/Jo[91h\$gCLLVcb:TKEId&is4(2H#j)iY(@("n8X0(ho?M==8.@LT[2,$c%0Mc&a<4H88/+e?Z.onl3$cH3N-+\3AphmK<qJC0GN/n%PIJc_"k1**`%#sA[r9PU2L#hb,+l;L=22DYaWTY(C9&E<CPYWn4`T2(0iJ5O7qUoZc$_;/>Nj'mG\kNiorWu]p4)+V0Som98G[N/(]]l=4jfEQ1B;]>2[NF?Q5T)?YLa2b;?SVe)9e=qc4DG,Ys.tSO92#1%ejpp@iMRp\F97-L.KTV^M2!Q%Qr)qNpOGD?X>aF,6scpe`SHrYC%1PCSOWrL43JI3O`oj/<1K<:L':\NnhC.aqu%(7e_?+fV%s$o&?-df,ci/"6aJp0W^t33":#]([it_/Z0[[!Q%@Ads!eh>9'$qa6.G<TD1V^j++]~>
+Gat%$968iG&AJ$Cn5al_L.R!Cg`3qtWjNHeEFq7qj8`&=KTlO@&p0lIqCW%M!%:]:7MkEK$gdK>"l;@KgcSstN)5gKms0'7Hg?U*oALL1Bo%-ia`<V6WV='u5%!/`81eLrj^!XUMXo!;'CR\A/j86hWKpg5=N.JVYMSlCl3nc230@j`qo:G^UJ1(Te2;C!d_/W>"[7<DaTS;J,hPUiN3uQE+5]<N7H-[s3(-=T\jEK`8gaWH]h;h#GL^je[3"O%f%,Rb*/n6eJf9rRbdpkc+I5EW"_h\/%.DauH+.'-7k2)RrNm3l\tiQQ"d';'c/;7^Kor]ngt4dR(o&5"o?>Y3AWqk[N4,eQWY'?0>lO>,o\l6Zg5p>#/K.09DS2sUH8<u0Jp=,KX8f_<itS7*B<Ddb)(4fWN\o]I/]MD%TH(JF-H/2[4o0?,4!"Yl1HPJ/3%9&,43ghsS7X1'r9_K&@'-Arh5PMbc\g`g`M"p=5"=!IKl[sIR4E<dW5-^rK&[-e:%aJ]!h=g_Ln/bcS[=,b"d/Uj(t)-rqCh]^\0:%VX?Q\/E%%$[@G.9-^)n2lYK,TeQ*Q.<U8J;q'XY9tX/nIn>q$VTg!MLn&[qToe7o[!:@;mt;hqc\s6*Y+f7jte!u0lHnmhFL:CduB;e5rb*X%<M;mJhZRN40HWo>%`j\2nmE&FDhQIaqCQC8X?8<[o"JEV#&?LA5KO8gF0im9+H`+[W;!liT?I,>/Sqg_pt:=sKebG%3.>*e+";gnfri$`]nK=t#m[R=%s%CVA$nr[*3ma<Bn,=<S4nLKs&JAkuFie7Ofp3%oj/lPi9@8ot7+^C:tiD(Ll*!XD2-@/e<@t^*Yl,9H6?F`a+%%,OUhU<9E<jg0<dH<;lTJ=K`DsN.C/dpGKNV8d(VW^MG4],UI1f6EXj_='>%+iJL++"eGo+`OjhH(=j:&q5R_TW`SMk:<sjK;2F\6+2>FB(bge5o>-*L[#eqneZ!O"1\pbC0,rL952UUIAl;E;MIJ`2[QIfGZ%9/Ffps)W`***8#SUk7J,lDV#f6g6*NK2,uoaYAI3>9sm-<"@3A.P-b%2*/FVVF'#:^Ytg#Wk,-bN9oCg6c^->E5pcl%d$*lq5*i.HC`+X\(Q,_lJ%Bt`AD[L_+.c*P0[:8bftu.r9FhFc(h`n5*LZ@8<c$!R3p@&_82""!Yqtb89Pc%lg6-A0j7Xf0%9:lgTk]I%YK,M=Z1Mpu>%hdIgkeE,PK@LNWs.7`s/6[tZ6DrlYVee-lY8"i"`$!=lQ!.8A-K7?A?Y<Va_nNL1KlE/[.E<Lm;A7`-4Nle[c.`P]\tE7@8XaT?X#r/m;h#^G?2#`]74l\Tf+/R'D/e\3/aZaZ\ijh$A1"Rc?<5!2g^q?q5qcIV?L2/_VT>oV,W$oQ'uoFc49Bub,i"ggJj*6'jQ`Na7L!&'[:hs`Cj9>;qlMlXR'3>\Z_tKg9dreYUm)].iGa9j8e656p'@Y.%KqFm(hb9]ao/=aTogo^ai&%*8Qr]dHsSD67[ED33/;c[+Yg<g>-pL=c#q(S8a8PT)dZH[#Zdgc=q8"0>]Q<[R/Pp6\N.HBF&NJiHi]&8'^7!;3JAQM*HDM%O.,bY$u$j)NFoQ@oirY]GZEG98]VCRB($-=%<[&W(F^s%K3bG/aV+nZEj4:LSF>p4G_jC]RMp<kS$3G8sAaW++4cdj3SP+e2'UXL])!^J*9/j(Iu0)aMmuV8Ma<YC-i\nU!scn$!&#QU4;hrH4I8FB=oY)-+.sWQ:<5TKe`?5qq9%@GE94Ocb9hkBk0UqDhP&rhqSp-EZDJe#9u.f-!YUQ'jp>@Jc8O!Faion9uJr?DB-X9VMrXLb,\_@$P.Pd)S&0a[aW9I@Q@]Z*18Sb:lrTQPD?<bi3.%+@VClK#l.3`VCY"FA4gX>:Yt>Wct?n,"'i4cR[Y<=3kiWG`L3,AaQ[t3!*dpjh>>CWQ.H8H\%,jo\MF&^G>,EQE(Vk/F3)/-IJ\#-'I\S6>CkQoA?$Uf*]!J<pt25t%2j,l+6]'Nq0f?Zs8DcQ?hJ6k/!*6IDd^;CCM3]S6bV$hqhmDZit()mK9(J*'KBP!KNesV_b55^:B)DZc#kl~>
 endstream
 endobj
 174 0 obj
@@ -988,7 +988,7 @@ endobj
 178 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 570.216 181.592 601.896 171.592 ]
+/Rect [ 570.216 192.592 601.896 182.592 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://cclan.sourceforge.net)
@@ -999,7 +999,7 @@ endobj
 179 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 173.686 120.153 196.456 110.153 ]
+/Rect [ 173.686 131.153 196.456 121.153 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://uffi.b9.com/)
@@ -1010,7 +1010,7 @@ endobj
 180 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 419.946 120.153 434.396 110.153 ]
+/Rect [ 419.946 131.153 434.396 121.153 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 181 0 R
@@ -1018,10 +1018,10 @@ endobj
 >>
 endobj
 182 0 obj
-<< /Length 1592 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1695 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau/YgMZ"1oUW1Ak%.brF^rJ;A_mcb8mShC7PNP]VXk@T!NRB@\WlL=mn$tt)[L7m2<#qFf]VO@AN1^cgj9M@&.+ol@c0;j!Hq`C@4*2=FTRo'ctCXGmJOJ=\mq)P:M9MO&GZfZi>cNSpG&WZIRm;niKdmD3;N:#Og%1c"pf%or)$][f;(TL/iL!`QT6^*e*B?G?[/Q26rrl+&^S!W<<Y<pa+EKbEV^@WPP$tF)YgQc2kP#+js`hfZO"h;qW=\q=!gqi;.k^D0[!T_@u(c4[:<*O2DQq2;Y(1r'JW:PMih8JAS.VW7Bs*/&*ls4f/tSD;Ufpfh:Hu.,D\a`Pr`4$-@7^?%")S?.eH$;MG"BnXemJ;QEUW`^+JU)gQKWFQnb($(eQ@@)pbk15702n2c\oD)ObksD3KkkL<taM.'e!lIXhB:_@?cdK0@tO(=tOY+l7P\K(](r9N/J:g!Y]6"9$b9C^+`hpueD==QF3?c\0dkNH%U;S#1S$bL**Ip?!ToTf*>6mlN]HYlR(HXSV*P_tQ1S_o\H=:rJ=Q3(o2u'D#HEEa^6Z?Qr/(ehH[`0fj36+8$OOkK-ce0*[n)MS'H:oK*ba@B[PCVsgMWEQEXEo-Z;QF($Il:tVO'$$nJ$$r+]H@)5%"HB12?n!@\_$,Q([Mk_H](&)jgZR=Ko9ReLO`cB8on`Y@9TG4DQ(n>=M9f`1F2F%R;+nJZQY+YN#AbpjuWaYcGo"7-&Euc2,BLltY<MYSHCQ#Y'NYK5R0&p(CmJ;'1o:U5Jh"T[nl!=*V<<*OA%l)k'%T";+D;"Fjn_e!T`/NHm_j2%)j`;rpQ%io!KG'F=\PZ+>`t(<?:.Jfhg@*9GF.$UTVsY'Y(,4NZ!N7VChF$J:]l^8mR'Y5m]A_u7jRmn?>Mj_?1l!fth:Xo,BH:aUP36EmJXV/Q+/BL"L)1DdeIPe[`bB1c7pc<1+'Rcdnk3"_D4Bpum<3MoD^!gYg4?5^P<*-uA0LIEjG'ANo=E&YCHH;QI7YV\hD('$LFF#a5Hq]=7C#0m1Hb@A@5*i3e"IFqPS$`l"(,>`hPonSNM`=/\Y&0]53$fk]A6JL2QT<X2\''=MPhDbgMRh6*#`!DfUl;/E,D?lrR]!j;W!IMU>>e[^p*.9/qI*'Z?\C#Bs\eN%8>&S/"n/e6i-G$-MB(Cag4r)G0!CJa(l/f[3nIE$<'W$jdD*TMpmR8ota&]WV#BgbX/Nt[&lPU"]KXXbQ=8%m&@:FU3T'VF5^`P558%CitC5\HS@KZ_O@b\olh`U%<NQ7%adG!K%71aDH*S!W[b/.37=F)Qn$aEd2f5-iYA,<,LMn,:ir#ppr,3rn`'=5!<l[(TJOBY&BWW+$R7N.D@HTsgC<pqQ?%uVaDlr*UXX27!hBu=CcXkU?uZth2d%'qR(V-r.BPEkXA',T],S$R:b<IBI.XpJ;`%(r?N<527F\2*B%QACi\`kF-_puXekemL4fF@%3*8$`CB^\q?g)!0$YfB`R1<QX5A1t1!fCFdUs6@V?TE<GK5ZD$oQVSdEF#.<=BBIGCS,/jPA5!BcTMk(XB.n<m'q?ob[(eN&61iLB(R_nj[/8~>
+Gau0D8T3?C'Y`a3#e`n5,`G9V>'c*t)TX$e?.d+)d.AGbZqWq$*A-gBh[_0`,&(9PUk9j-^JB5-ho:W;(Uk(8JM(o4q<Gh>eec\Q`?01EP$m2l!!?l*3Bo.:O0`bc=3aTSrhnZu*EU9I"9:$>5KYM>#"dU\h"%aS(USQaDb@`kTp>Vqnqn3`GY'blQdjra10PC3f;G"(U9fMdilA(QI_NL$VEtqu6t"-CgRlJgT%#1mSKFF*"+W_eOT:5jIXj`JPLbdt^"r7RU5>*J"<\m"4-sHKAN[Gp7ojLZi$$jP1o#=2=%o4QO'WK<T0Ns4Ygkel8=)IV![;)a#qGV'C(j[;.U,P-7K/Dn6m<3<[\e+IM]rZs6>Ru\(pW4A[)ea3-tMjcRRiJj1sbml``E8&i.un3Z>KG%R61oQ6%mnK^iuI%2$%W_%rMQ_qYZ5K.GqCXD<1/JrTZad->hr@kL3&Y81SsT8>\4s/aH]2dWNCHO':8,&!3[B1i.[!dfkX=qN9n45M)?q'U4VipDUht(n]hN0a`ml$XWCh;658P4Q/B>ahOb3UdHC9HQA8lZK&o^+m'49mfO'u%YO_QfAQ2JG;K(LUq].h1S2Si1CQbrm'.Q-]p?u6VW"Zh5sA\&O$5u.oiZ89ipZoJF)eCpY?RG[fcEKX96iAU4'G=uk=5UiH%M/C1`Dg+qWhVk@gl1e<-,4]m)uI%rHb+S6Jhm:GJJH@@#G4-@[fkF.3n*2k,jFQbqFpSGS,jRICcOhk\98dGPCa4ihSVc39^GFHceW2#][?7FGb;Tl;]WW2\0+o@(+B%X#?DME0Emr6'k&&\XPeT(cWU5NGa6Mj",JI$TW5koQUq_?4V_RXJ.k*i^b/`RN(Clo_!Yi*o+E"0CRtik::TkZcAUg_ks_!O4U`mWsHi3koZ1Q-h7lGWi@03ZAR,\/s!^J6pUtR4m/0EXP5Ja<SQ?rIUW=p'CEl*a,)A"1KB6e%gZ(6lq@obGO;;md8qSEV4I,>GaWRqn,lm@>UCt_2ToV1&k9qS*uNA"S3UO\E7OLA^"L-S=Sf#GqaoZ=RBT$rG-!H9<3u4)*O_mU9t.L6_p0$O(hdrpn*abGd89]'LB$r&+m,L<fhD;;K.o<+>o/?%WUj]1SnV</cN[:of:&[tl9HHK/D.d)=ZgK]@g?o3,0m-cWWPDa;j_="]#\aT/P^(2qh#4?Xn:Zi9L@]dBR;tV"_2NsO9@HL4"qro9liQO&_h%7Oq6DKHb#L\C6)D./9VESG.IUCo1B\P$YKul=/0GO/PR&s1uHgE[3irjB:#KQ2KEmM[7e.V<,s6&W=2-1"cZlJ:E*K/ISi?@lPO^RGZ\L^G/-GSVQ-1QM!+/+`,:]8NHs`p5bK:n[VUdQ#`:NmTHNcDB*gFa)YTQ(g2Y6:1-b2$"Nn1mZK"cb<pY5-a;&.0d1fT1"8$sP@@JKEggom8CHA7=`(+Xp;MY?;lA^p.X%Ce^[b`.4qh8K[l"A'T#6Q&mY*(URPGIFf@3CH?WQSOgQU.Og)A2h[-0?Y*TlMQ4XF+4^:)F*8N%JB/K[g:JqFau'mqQs`$QE3hq4Q:CNN,"<!Ai77\BYb6+OH"GL/h?,NQtY?gfN@!q8I.HYH9^s(lGddDLT4W=$`D-`OCcQ>_aJUEr6)#m/E.?OB2T]lD:bW*/O:,o6!m0kDFY-L^1/IM6rq*!@A;9.f~>
 endstream
 endobj
 183 0 obj
@@ -1041,7 +1041,7 @@ endobj
 185 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 338.57 689.561 356.35 679.561 ]
+/Rect [ 338.57 709.0 356.35 699.0 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (ftp://clsql.b9.com/)
@@ -1050,10 +1050,10 @@ endobj
 >>
 endobj
 186 0 obj
-<< /Length 2567 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2497 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm=D0+L@&cSq?EKbjUS^B_+$,.^XlmPJjOkXEB9\X:XJOe^AN;7MVMcKH%GDQJ/JB-]@jGmk8fSA+u@W/L^(AdN>EHU<FW'd**_tLrM4^QL#"97SB\cWd1/tq7hTj7Q^m7gpVp>'KN7NmU.a)P1!X/+h0]@FYt&&3XgGVh5q#q:^_^bYL9q8BaMMNmLpFO]soFC!cM+_-gUdW!rl[bpP3I.4s?[rl0_Rm&L2]R$s4DE"h$jI7K1o'%e(.cV1p+7lk=gNqW-nDEgeX.NR)U\B&!Ek,+1]Ko56>YL>i5\M.Xd:gr4Z^O[OWh/FNFieL].IVF<dd<2bXZcS?c/gLHg$&+bSIHjpAB*Hm#91Ga5MP*s-'hu=R5hC"kd`B:c59%+V9Gst0I)uQgrRq=iU6]S]7iYK+fN>F$5oag@$*-aHKYh[q*&e(MR.g4lg6p&m,K-LQc(&TO.$:SLsJ(n*XPqZgJI'Ll%ll6@B_+P%mr!O2U7XWn8(\43*-a/1F34r4@r)7,q0=t+^2OZP8SF3pW[0>36oHlP-ioZSp_Et8f62A1'?];bG@[AqQ;H7/l.\*&31^5`*9q"X"X,nb[:QG#ecOqG.c7$`DbX%E!D-<md!ME\a#AFb@^-.Uu(CAXC3ODGd5:]KsF_)Up%d?er5Gmo3m/'Na\l+3t[%t<n;,c--UHW[Ei^19<<l(r*2JV0=&/3UAPfo;5Xt2e%FK$iREq7im<^S\um/0eeAg0AO6F?ERAFski=KR$rrf:Wa.b,*^>[E/BRnX@H0\t+25UD98=>C:T81TgT8T]p2b4rc67r5'MS-RKXc8,=6jY9aV+d*^PjdTiD:>gFj,X@"!DPkFZ>qe#!:>-1a5]5Co-$-DJi5c5G,p5pKX[prAWUE^;b^pJOY^tW_3cJX:@%_4q<Dc72+_)m^TDiW,&GEH.t4PVH91BCHq4WFJm*biCSerKKu8e=l/YTX"caLg=BnTK/iu&A+lX60IUh1)q[1qbDBR!I?p9bi)S^6a2]smMt@AFn#pZdZqIst1D3Ph$-Mr7]5LVSF\Pc8)u_gMqt]!C+";@DX9]I/K-@f*=nc)j7G:BXX7]S4=A#&q4l5r#:6L^-b)NSr[i>*E,GIZP9f8Y)(HFG(maou#hfTc)7,5sRR?l8;.,i8P0$G5[&BdUQ>8Ka,KH<dBs!K8iKeXsW1IFdg[P)oA0"@:"!!JF"H[I:F)'p?1<E,BOM`/5m9s9:$3Tnat)YospicsJ0eU3TqTVqF!F4K^:JoarQmJa-CDY'p*4C^#6D%#B"8sZbfXNVkJ2cT)@+gMIK(HA,hs5hjNY3*Cm7Sc$b0)g)S]2&Y*--mZ7'?W1;#,!AYPA^S/5T*q\HOYH`/3V]M:'Sq%8Jm..)8HtM,dC,_0_2Via^q%9Mo6n^L[l5U*ZD^,7gT7b@H[9A7p,rk!me2B`47V`^?(Ob]*XQ7^oZib>[/<n"_$'7kpP?@POba6br//hjU%!j^7D2<(muZdb06IX,$;bf'bM>q?G;ET+sG5WKEl_]0s8rUfG,^;=NgA72Yl`<_i!B:ejs`m85'D[/gM^s";DW<+)+<h85#^)<p?CFi6O&6:XTbC-=T"kY@&G:RMldp6_cn:nj,R)%gkik3*+d#$-<Fm#5P3sh"YWG%jFP.1K1DXagjqtj6V0-jme(C;JjZ(+%esfPjG.jPC=4Cq*uTkJ<ZuM80OO8FA.j;(!.Ig*m$bMJitYp-g8J)k<+*9JZG\Bl8?/_a<,BUnSK3ui"'b9_g1+lr#u#a21p/#(phS9*J;/MB+Tk<qBU6YQZWt-P5SE;ZOVsC@4\dnYe%7j\O\hCL2>:mJEr>46Z>/r+Xips6NY,TR4[HshOIiD=rQ-VdlmmN+8ZT`NBRJr6k?D(4[Rp"m!UQ[M$#o[MtXuS8&Bf09"GVNF_)elS<.ZP;jV,peqHcZBN<QjThUTn@=j"A\9Z^B?Hr_GiuXX4g(.]r.3KR#+Z$c2>=N>uXN-b=`i7bgWnBW]j)`=alA7KHNcnd;,$q3N6:k3.Jrje;:p=+8KT&q7!S*(#A@*Oq_,JU_j2SOJk9M4G[a*N`i2X@)5oG$36][7i$+$b[Z\_=b4lr>_&'mCsbt(5h2meR3F<Z`=39D1flLbK14<ca+CA=V@a$U[.Oo`HUYO\tPNJTEmjQ@elZm>@<7=8W$bZ:.FhHYl,8FN_>#sL!$UK(T>/WBFF%H2V$".5NTfPno*/aB]Bg,nnI0g7uu+=W2%[.H]C.Va<[1+NABBYi1YGaCL83M<T!o@XL(#=EgNqJJQlM@=E"YIPUb_1$0`[!]*lNYpd5lRB_1/]kdWEM'&!P/mC5T2E+VLYc,.-/MdY@psK;R!N>0U60P=cG0aG_QRuL2l4A9G3I>W39)<&GqnCBs2ckG.gtft"6])P,H[L7kp:cg=!%CBr(QBlP90TQh\QHGChaFWmJ=^2B0->ufDV]O+P_SJjM3EO6dJ@'+!3+!iudOUO7R>Vn5i;BTpDbu^=lokG4FO"Sj;4G%!UeEZ;gc?o+k(c>`D[p;9g`of-G9X"apLDL,Uk1=D?75LAhFiG/Ci~>
+Gatm=D0+aG&cV3*Th.K(-"B4D$,37.mc(ft`n)P#BA-&-%ho=QlqrGQQZLqhh^'$\!/c*-YN$K2G(j3a==s6_6LQ#!<k%%>HGj#MCp(FiitYjEn4+;E+-\MQ$&o`3]>^sl5EpF<>-[>+?7c%7+uE$CAF]AcAR1+iel<K;:GfJHf]?S_?-Q=$D-]lFbmplLA]:/)=`r\<Dsm("7932rgu#eh'ihe^ZKBh?DSYpU4'=??htHqq<=T<6]m0<\)FfdJ@DlHo8ZUTZN;[G*4Q7`K`HV%uJ%?^r_F'M(9N&oaN7.mu8=2P'p;&imjM"E0p<S6#qq!:sEXu"aO>KuR[jiR&\4PZ&c$&-m=1@E&_LP$*EIE5U54Kf%-W]s>O>,=N@u$aZ/"<bYbsjNZ=SHB,PkCg!FBcp,^[9J+8m`CiE\N0$)"CpC1[^:kS#%:u]Es%M[DdtcLV?RD3-&k8#0s#F`-a'lI4'2@=6<XcaW-<b&hMn*ok3e$1Dgig#ec@l[_+Lrc#_aME!D-GI2(;AESY8mOf]HNNS'UQ``iaR?L;<GQ#+KJA$s=VAk[0gLEW<;$j*o%&0K8V[PJP.\sD(5[c=uc(sVg7M18RV"Z745'Io54FD^beX+sV<4Ng)R>+3$SMQs%OW%&GfAXunN_2h@JAX9*[F3Cp(oAP9#-;06roWW=L'b6kQJu9)3`1KrZ7Bp1eT%i/'eKotfb#:.%`t77i[A]ENHsL?Mc?qFFN5\.iSCXr!Kut#sk]JkUUBN`dTJRfu_H`k.Df>*i(;CFS&-fkSW;g)i#HVVb;kPl*^@!aL[&_)<WD@":,g""#BfNgK&F-kS7G2iY\aFTPin@2_1>a!)Dg9iA&tpL*_kLslh?ckO<,KRmgL+>U_N_`I)_CJMi('r0b]70YI9.+@#.t9_7=6BP__<qu]_cqpqkcNAlQIJZFcE&!Dnc/skB5Bee[".p6b&c'3V=\prdbkW,%3;RpFi7"68$_n$&('C[:(A`T?VW<[p)9fH7HBfc+<;Xa$q:heD+"RMK=niM1I>F+hl,Z8Vk$GaYKuocVVKbFiB274ih3!YRsk]Se//)nNX>8^9Zn^U9LGpD>P>lm0-9t+=Nu&G7gIj5Xn>\>SCCTeY3Lk9,lDX-0G7KVGS01GGc*>X8+.KZ'j%Lc)TU:"_Ui#m=*T(2Wa4'ScSS@Y(uNt-)\$g=8&:N;J#TlbUV7PjN.K$V]WZWc(XsU9K@,GIf"G7T55p!iOG=5(2t.AU1@NCOm3:rpepI<qV,HCdI2'1?pGcQ'&-ps=7hlU+_AI12k_Jb7+%VP/d:$k$/EMHl('q/'J:Z&k<[L@`hR>aq[1ZUdE$B=aaM>['=JQC?3.AbpMb+tKG9)J/+QKKF!m5qa.#ehoBS2gG'uG,XY;N.+RFu)U6*28Y#5q,V8CEb[9Fop\V,K)@pBb!e<_Jd>,q6m[e]=EW&;D*X-)>),-sEL\kjm,-D5<uq2pu-N3kEF@[0-g%Y"B!ngs`IAA$8Wjq[4r-;u9)]asMh83SFMnj*;u#KM-p-mAEEfHMD#Q!9kajF\?rT:)ZRXOLK#R;mC1hspn!1L%3-LJh7d(&M[dVB;orr1c-,J@&u,88C9,l'NaV.Z-<p4HbJ#8G7"mSY6R<TC_C],_;@=WRhFG,_*UH-ZjdLJ3O*K:kKn#Qp2:V=#3C_!lEsTFUS=%?U,aO<AO61QZWt%Oo&08ZOT\X@4ZT(Ye%8U\]Bg6'$"h:L&gj6[im^PgCP(F[36,j^s%i1F)OgfT+[U(2Uahm(E`Mc'WjP%'q#q#[sD"j`5VU]PS+LQMAPZ45uPZ6F,`j<K'TF+7"\<SP#KFX.I0L<nLA>/d&&1W0L<V_1fgc7QZGINq1ijD_1?Eq"CqT\'GalcAX(clAo-+-SB@s0%3$_?pfoSFH7"Xq2=P`=!nUan=qR!h<WlF&'g]ZM78RR',,ikj#YJ,JU),rD%"!Hg,/,</)0Kf9?3F=e]a2d5M]<p%7OH@P50kQ>o?<GOl9.9(S8:Y-')Ss"`242nAE#?,:scCI.,bcSnPI-,NAqujfTZd]m`N,rofHr`8h9RS<n9a'HS?X-10JM\_Hh(46r<Wth,QSTa$kB_&iDVbGX",:>`T^*VPY!W*&?!!-7uXuf)E/t+/5#EX/ZhI)8s<je4"jF.mYo:Jo,Su/pHZ&5gpE<KtZDb0Vm=$mfkU?jVu]bmKRU6hcaYE+1s6?LAF-(.Dodf;M!<V50H0%O*i!M%)E=c#a]pOQ,)D?!184H<hbk$F't`,,k2\%0hnW8`"!CXLbi??$i\WT'.hZa96AP^\<"4`emSOS&tEpfB_Y"U1Jt7FA)HC[WoB)!0T*X&]`7D/E5U"V?ZZ8n/Efk>E2ab%8b*t<=f65P!a:iXrm>4MedjKS*UFb7gR"ISq3Ql;hslJ9r$@V*BN^]B6[;ilI'L6Yl0A5b4=@sVHh]<1W(I"EH3XTWDVI0X;Wj?rRo_;UK"4hao%=J`&bHqX8,iZ0c%-N~>
 endstream
 endobj
 187 0 obj
@@ -1065,10 +1065,10 @@ endobj
 >>
 endobj
 188 0 obj
-<< /Length 693 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 650 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat$ubAQ&g&A7<ZGcM9!)j5N/bfsi@TLCJIFDH2!A]bcrM[i1Lc/4k^A;aD,#DE.F1Y0i(GIW!d7lU/s+q,kiGnjbpM$Uul+c'"2LuB%mQD/bfIP-(kbn=;\`^$=F5mnoA'+f"^)nAAO;#];9VMJV1@:bL_K_@gR.Bo0JR]FS%D++`U"E:a#WFB-lS!-D:<^]bT6l*pmIX$0d\<*+V$7VPM?$U^&<Tg']BKRR?b-L=DG%/ZR5XQWRcuf@O@c],@VQ)SG/kiDF**']D-(A?sf;J4rpH$F;F;cQOmE=q/0*[.^Qhh;(@%;oXqel%i6RIJjAc.i;0"!6(?^OX?9o*X:Fi\CLIO;G)[4I<cY7U:#<pJA9`LNlrf''7nSX+-fO.''(f]3X0degn?I@9a`_c%p^e]4L'`)3He+Z&uV0gcoX(jX4g/qB*=CN!L*j*kE<[tdWUE<_AViW!!-gVJarLQmR_+3dfU&X],`[J#rn6:/:3r]'itjfY!*!$</!'iJq(cWQ`nWOuZHq^@C=](<^^>=L=7[K2AGm0NaAAil^:e!KsdMcRG6Lk(/;76E5\G$Wq(K=$Q0(XB7KqW-j(pU*&,ZlADqjd>+E*k_u_g)Z5#"B(JoGAQ0D6rijrh<"+\*7?KeQ>ds_W9.;oZs)4@E\$BZMCa>RCkgD%^p3"M(m7`PR=tP?FN/a&~>
+Gat$u9lHd\&A@ZcI+q&(VT+"OhU:gmg/Te+\S_(+_'G<HVoEDZs*fqN`$X/:/#8!q_Rpc4bk$8Fh*+<La+.#fGo5p2+(>-Ca<q(X?ike/Z3L84D(ETd)JsjAVa/Y0(4"$Vh&?5Yfak1ucT8C%8g$f;8*/^ojnWVNM9]Q9+V8'@k/PR?+aOM2H#"SsLD@L3(8LR5@\'f4f5npH,.=qcBIgg_AZiPIF&]f\-/6(@ja<Tj]EP0lEU(l*JYMShlci66N(L0p,J]Df`"?[/Ese(,Lsn327D(>k(R!lp.*Er_lXJ[@kq[V5/;-VJ=eUNH!12%*9J/NRQNV4g-2U%%P'-1W@St6,,`AUSCiVD@A^O),k=18B#`CC48"EnqbVUl/)7s:sY\V^_.1kB.3m=_<28;uZmVm#f1kC<>dJm:p\YB3m+ek"XB8-b&]fJnVV^Gh&b&A_VifBtG.'m4!pn'MF`heW>025H9kucbTkog>-Q0^(VmE#K#02KYkq#l1g[6LAPbLaeHX&Co6";GN+f'p8n]<]!]#H%Gakf27'I51AUH6Wn8D(PXsSoT5%]_CqK*UhA%LBrUr*U>Z+:usiepXqcs`WnhQ&=koR]i@spg.LKS\s+BK+h3nJ?32*[4piF&1rGO(?QpJ'1&~>
 endstream
 endobj
 189 0 obj
@@ -1268,10 +1268,10 @@ endobj
 >>
 endobj
 213 0 obj
-<< /Length 417 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 487 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GasIc4`>s,'\rL!DbQtdg=QV9VJ:l99,'$ZeU^WiT`Rsul,UOl+\mmM<Y:8Iq2RP/hF\"(G8)6UKV0HG!(.V8^uIp-&d]1-JQQ<E$4a@qa2Q;L]3-fG$0;%5jZkN:#N86BU&tsJN]9Uj&m<c`&jdKC`7$OXYh3N!E07GT<urf38#$E&<0o*O*jhh[)NR^?MZ0Z)er==>5'P]hlGZ1"UY?0+gL^1r<dN\';Rh/-?Ffi$<TfX6f-pY"]sdlcSME*IC/fEn3T::\.B]5%;=-'X[(m@fc*OKNIs*uAA:\!0rD4%%62fijC"$\=4R[W._R^\N.C/l1Vi.27M19@Q9,WVTqp\7Xa2dS,\Z8#^Ik-/\j%`Ab-B'&WCc^VHA/#`o-<Nj3(c+S[jIJsn-K?,ELfm6bB$5+1Gf@r~>
+GasId5u5?O(qoB>oE^;SmFlIL-q"^X#78'\j'dt./T*(^S]\^VA&T4:(bU7*qqh1`pQZU,Y3u[Q-qmP@GS)(&#r"X,LI%.O0I7$];Zq#:#'^5V-M,2k\X7tM^`SQ#!K8->KEi*L"sRXf17X:9?<5krKI"Dg!L%AtZpU>J;g?:**L/%+&oB6@V58Ag]gB2DhIQ#%7so6OdUMU26HSAAHCO$bfu>911PVsneWo1/aso&-UWVoKl;%2q6^uCn-Bu)84G-Kt:%_o@U=#V;cCcKW#,/rI'V/<KEEFEOD5So?CN8<f<iRLI*UZ"__Q)-Q'j9ttal7O;nXn@\1kmhJT(B_[_Q_FL@uWG"]N5od,fC#51XYl5=B<A%2qnVN1e(pkib[d_2N;O.h;:CZ3-sAf"g-8aXC^6Ik43MQ,?L=8$a&SR*diorWP.PL@`SQ*T92,_!K(8&bkPm^9HcFNG6iaBChenoC*UOD?24Smf]?Z~>
 endstream
 endobj
 214 0 obj
@@ -2526,10 +2526,10 @@ endobj
 >>
 endobj
 370 0 obj
-<< /Length 473 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 463 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GasId9lkq0'YO;n3&WRTU4ADB3piW)9.!t+SK<U'kYrisduSuc<)SB]g@=`WIEPh1=D,J;!sUK2N+%e_!<U:a!_@eQLadrb,RhL(UEF?fo?H*'\(u_LVqhEeJF$-k.>SO'KCg@GidjWKKeuCL=]SSZ!ecrB+@-:Pi9%sXmkVrK?$K*!Kh<%GM)H/&h+LODf3Ui/.Cu]p05GKnpcM-uMhB1g8iH^NG2i<J5C2Bd:eR/T.'(#Qr$kLsb21)&77rAqPh4`qml4ki46?u^N#OV-JJMmpk_+XJ&49-_$nu=*O=Y32ARRjSp-KKVT2C;A(*%SFpO#/JYEK>_Hg$bOmQ?sr-K3[gQ4(\jQcU9hpkuflZr/co[eSVa'fqp6ITXD@mGumTNqEu0bag_*qo=&>;ls35)JK!9Zf#\HF5p"n&jZlG=<h*#!K(8(X>@UG+Zba$I@$WE7J\+FOI1k2Z6R*bGCJdB~>
+GarnT9lkn?'YO#fEmtsu'9XIZCW@JW?6"%PoFN__;^"&,5Q6'UUulB6\@gXac!-LS>Xf7M$mcm+)+1]c#hh]]&bf,Bc7if<V&@+U9H[K5f?r&f]irGIa7Wo#hN3,)H@[K\jJ;cRdc<fl6=<*WK2._44%=4Q9jMCR:ppaF=++i1<2$\1crN*9%TI(+?%PQC;fBl$gnVUp`ccYIR)5<gNr#F>GI7N@GgT)*^WJ#ZJPupZNToBff]R=@$0NIqZTZ;2cHc,Gl4!m[%:U;*=mB#m(]s3F@.12c,PT7nTcS7DTP?N)$^Cgo0K+H`lI8;>Yo@=,f$1Xo!:C,)otfG+Jh`@@h["5e%/,)95LTTN@r&I_pt0=#6dOZl^Rj])oh<d::YFiWTD%*+:1d8=0/_CS?c_G@piH<+RW=8hidFO+AMks3<A^&o#?-Z9c#\A%)542\)!69V9#AYVNniHc~>
 endstream
 endobj
 371 0 obj
@@ -3199,7 +3199,7 @@ endobj
 >> endobj
 459 0 obj
 <<
- /Title (\376\377\0\103\0\114\0\123\0\121\0\114\0\55\0\123\0\131\0\123)
+ /Title (\376\377\0\103\0\114\0\123\0\121\0\114\0\55\0\102\0\101\0\123\0\105)
  /Parent 393 0 R
  /First 460 0 R
  /Last 460 0 R
@@ -3530,79 +3530,79 @@ endobj
 23 0 obj
 <<
 /S /GoTo
-/D [174 0 R /XYZ 115.0 260.357 null]
+/D [174 0 R /XYZ 115.0 271.357 null]
 >>
 endobj
 25 0 obj
 <<
 /S /GoTo
-/D [174 0 R /XYZ 115.0 227.031 null]
+/D [174 0 R /XYZ 115.0 238.031 null]
 >>
 endobj
 27 0 obj
 <<
 /S /GoTo
-/D [174 0 R /XYZ 115.0 165.592 null]
+/D [174 0 R /XYZ 115.0 176.592 null]
 >>
 endobj
 29 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 725.0 null]
+/D [174 0 R /XYZ 115.0 115.153 null]
 >>
 endobj
 31 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 684.561 null]
+/D [183 0 R /XYZ 115.0 704.0 null]
 >>
 endobj
 33 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 477.122 null]
+/D [183 0 R /XYZ 115.0 496.561 null]
 >>
 endobj
 35 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 322.683 null]
+/D [183 0 R /XYZ 115.0 342.122 null]
 >>
 endobj
 37 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 289.357 null]
+/D [183 0 R /XYZ 115.0 308.796 null]
 >>
 endobj
 39 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 189.338 null]
+/D [183 0 R /XYZ 115.0 208.777 null]
 >>
 endobj
 41 0 obj
 <<
 /S /GoTo
-/D [187 0 R /XYZ 115.0 601.801 null]
+/D [187 0 R /XYZ 115.0 622.801 null]
 >>
 endobj
 43 0 obj
 <<
 /S /GoTo
-/D [187 0 R /XYZ 115.0 458.922 null]
+/D [187 0 R /XYZ 115.0 479.922 null]
 >>
 endobj
 45 0 obj
 <<
 /S /GoTo
-/D [187 0 R /XYZ 115.0 305.043 null]
+/D [187 0 R /XYZ 115.0 326.043 null]
 >>
 endobj
 47 0 obj
 <<
 /S /GoTo
-/D [189 0 R /XYZ 115.0 725.0 null]
+/D [187 0 R /XYZ 115.0 122.864 null]
 >>
 endobj
 49 0 obj
@@ -4015,13 +4015,13 @@ endobj
 411 0 obj
 <<
 /S /GoTo
-/D [183 0 R /XYZ 115.0 105.899 null]
+/D [183 0 R /XYZ 115.0 125.338 null]
 >>
 endobj
 413 0 obj
 <<
 /S /GoTo
-/D [187 0 R /XYZ 115.0 682.0 null]
+/D [187 0 R /XYZ 115.0 703.0 null]
 >>
 endobj
 466 0 obj
@@ -4075,9 +4075,9 @@ endobj
 xref
 0 503
 0000000000 65535 f 
-0000147758 00000 n 
-0000148389 00000 n 
-0000148482 00000 n 
+0000147782 00000 n 
+0000148413 00000 n 
+0000148506 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000000427 00000 n 
@@ -4086,497 +4086,497 @@ xref
 0000001408 00000 n 
 0000001569 00000 n 
 0000001676 00000 n 
-0000003695 00000 n 
-0000003818 00000 n 
-0000004219 00000 n 
-0000148647 00000 n 
-0000004355 00000 n 
-0000148713 00000 n 
-0000004491 00000 n 
-0000148779 00000 n 
-0000004627 00000 n 
-0000148847 00000 n 
-0000004762 00000 n 
-0000148915 00000 n 
-0000004898 00000 n 
-0000148983 00000 n 
-0000005034 00000 n 
-0000149051 00000 n 
-0000005170 00000 n 
-0000149119 00000 n 
-0000005306 00000 n 
-0000149185 00000 n 
-0000005442 00000 n 
-0000149253 00000 n 
-0000005578 00000 n 
-0000149321 00000 n 
-0000005713 00000 n 
-0000149389 00000 n 
-0000005849 00000 n 
-0000149457 00000 n 
-0000005985 00000 n 
-0000149525 00000 n 
-0000006121 00000 n 
-0000149593 00000 n 
-0000006257 00000 n 
-0000149661 00000 n 
-0000006393 00000 n 
-0000149729 00000 n 
-0000006529 00000 n 
-0000149795 00000 n 
-0000006665 00000 n 
-0000149861 00000 n 
-0000006801 00000 n 
-0000149928 00000 n 
-0000006937 00000 n 
-0000149996 00000 n 
-0000007073 00000 n 
-0000150063 00000 n 
-0000007208 00000 n 
-0000150130 00000 n 
-0000007344 00000 n 
-0000150197 00000 n 
-0000007480 00000 n 
-0000150264 00000 n 
-0000007616 00000 n 
-0000150330 00000 n 
-0000007751 00000 n 
-0000150389 00000 n 
-0000007887 00000 n 
-0000150455 00000 n 
-0000008023 00000 n 
-0000150521 00000 n 
-0000008159 00000 n 
-0000150587 00000 n 
-0000008295 00000 n 
-0000150653 00000 n 
-0000008431 00000 n 
-0000150719 00000 n 
-0000008567 00000 n 
-0000150785 00000 n 
-0000008703 00000 n 
-0000150851 00000 n 
-0000008839 00000 n 
-0000150917 00000 n 
-0000008975 00000 n 
-0000150983 00000 n 
-0000009111 00000 n 
-0000151049 00000 n 
-0000009247 00000 n 
-0000151115 00000 n 
-0000009383 00000 n 
-0000151181 00000 n 
-0000009519 00000 n 
-0000151247 00000 n 
-0000009655 00000 n 
-0000151313 00000 n 
-0000009791 00000 n 
-0000151379 00000 n 
-0000009927 00000 n 
-0000151445 00000 n 
-0000010063 00000 n 
-0000151511 00000 n 
-0000010201 00000 n 
-0000151578 00000 n 
-0000010339 00000 n 
-0000151645 00000 n 
-0000010477 00000 n 
-0000151712 00000 n 
-0000010614 00000 n 
-0000151779 00000 n 
-0000010752 00000 n 
-0000151846 00000 n 
-0000010890 00000 n 
-0000151913 00000 n 
-0000011028 00000 n 
-0000151980 00000 n 
-0000011164 00000 n 
-0000152047 00000 n 
-0000011299 00000 n 
-0000152114 00000 n 
-0000011435 00000 n 
-0000012400 00000 n 
-0000012526 00000 n 
-0000012739 00000 n 
-0000152181 00000 n 
-0000012873 00000 n 
-0000152248 00000 n 
-0000013007 00000 n 
-0000152315 00000 n 
-0000013141 00000 n 
-0000152382 00000 n 
-0000013274 00000 n 
-0000152449 00000 n 
-0000013407 00000 n 
-0000152509 00000 n 
-0000013541 00000 n 
-0000152576 00000 n 
-0000013675 00000 n 
-0000152643 00000 n 
-0000013809 00000 n 
-0000152712 00000 n 
-0000013942 00000 n 
-0000152781 00000 n 
-0000014076 00000 n 
-0000152850 00000 n 
-0000014210 00000 n 
-0000152919 00000 n 
-0000014344 00000 n 
-0000152988 00000 n 
-0000014477 00000 n 
-0000153057 00000 n 
-0000014611 00000 n 
-0000153124 00000 n 
-0000014745 00000 n 
-0000153193 00000 n 
-0000014879 00000 n 
-0000153262 00000 n 
-0000015012 00000 n 
-0000153331 00000 n 
-0000015146 00000 n 
-0000153398 00000 n 
-0000015280 00000 n 
-0000153467 00000 n 
-0000015413 00000 n 
-0000153536 00000 n 
-0000015546 00000 n 
-0000153605 00000 n 
-0000015680 00000 n 
-0000153672 00000 n 
-0000015814 00000 n 
-0000153741 00000 n 
-0000015948 00000 n 
-0000016557 00000 n 
-0000016667 00000 n 
-0000018888 00000 n 
-0000019014 00000 n 
-0000019067 00000 n 
-0000153808 00000 n 
-0000019208 00000 n 
-0000019391 00000 n 
-0000019565 00000 n 
-0000153877 00000 n 
-0000019706 00000 n 
-0000021392 00000 n 
-0000021518 00000 n 
-0000021547 00000 n 
-0000021719 00000 n 
-0000024380 00000 n 
-0000024490 00000 n 
-0000025276 00000 n 
-0000025386 00000 n 
-0000028133 00000 n 
-0000028259 00000 n 
-0000028312 00000 n 
-0000028528 00000 n 
-0000028743 00000 n 
-0000028947 00000 n 
-0000029147 00000 n 
-0000031144 00000 n 
-0000031254 00000 n 
-0000034620 00000 n 
-0000034730 00000 n 
-0000036714 00000 n 
-0000036824 00000 n 
-0000039283 00000 n 
-0000039393 00000 n 
-0000041585 00000 n 
-0000041695 00000 n 
-0000044045 00000 n 
-0000044155 00000 n 
-0000046999 00000 n 
-0000047109 00000 n 
-0000047892 00000 n 
-0000048002 00000 n 
-0000048512 00000 n 
-0000048622 00000 n 
-0000049280 00000 n 
-0000049390 00000 n 
-0000050114 00000 n 
-0000050224 00000 n 
-0000050927 00000 n 
-0000051037 00000 n 
-0000051778 00000 n 
-0000051888 00000 n 
-0000052593 00000 n 
-0000052703 00000 n 
-0000053809 00000 n 
-0000053919 00000 n 
-0000055043 00000 n 
-0000055153 00000 n 
-0000056450 00000 n 
-0000056560 00000 n 
-0000058131 00000 n 
-0000058241 00000 n 
-0000059184 00000 n 
-0000059294 00000 n 
-0000060255 00000 n 
-0000060365 00000 n 
-0000061465 00000 n 
-0000061575 00000 n 
-0000062787 00000 n 
-0000062897 00000 n 
-0000064188 00000 n 
-0000064298 00000 n 
-0000066037 00000 n 
-0000066147 00000 n 
-0000066986 00000 n 
-0000067096 00000 n 
-0000068082 00000 n 
-0000068208 00000 n 
-0000068245 00000 n 
-0000068384 00000 n 
-0000068519 00000 n 
-0000069759 00000 n 
-0000069869 00000 n 
-0000070293 00000 n 
-0000070403 00000 n 
-0000072272 00000 n 
-0000072382 00000 n 
-0000073420 00000 n 
-0000073546 00000 n 
-0000073591 00000 n 
-0000073728 00000 n 
-0000073865 00000 n 
-0000074001 00000 n 
-0000074696 00000 n 
-0000074806 00000 n 
-0000075709 00000 n 
-0000075819 00000 n 
-0000077789 00000 n 
-0000077899 00000 n 
-0000078557 00000 n 
-0000078683 00000 n 
-0000078728 00000 n 
-0000078865 00000 n 
-0000079002 00000 n 
-0000079139 00000 n 
-0000081030 00000 n 
-0000081140 00000 n 
-0000082046 00000 n 
-0000082172 00000 n 
-0000082217 00000 n 
-0000082353 00000 n 
-0000082490 00000 n 
-0000082627 00000 n 
-0000084862 00000 n 
-0000084972 00000 n 
-0000087188 00000 n 
-0000087298 00000 n 
-0000087673 00000 n 
-0000087799 00000 n 
-0000087828 00000 n 
-0000087965 00000 n 
-0000089927 00000 n 
-0000090053 00000 n 
-0000090082 00000 n 
-0000090223 00000 n 
-0000090826 00000 n 
-0000090952 00000 n 
-0000090989 00000 n 
-0000091126 00000 n 
-0000091263 00000 n 
-0000092304 00000 n 
-0000092430 00000 n 
-0000092475 00000 n 
-0000092612 00000 n 
-0000092749 00000 n 
-0000092886 00000 n 
-0000094497 00000 n 
-0000094607 00000 n 
-0000095425 00000 n 
-0000095551 00000 n 
-0000095580 00000 n 
-0000095717 00000 n 
-0000097316 00000 n 
-0000097442 00000 n 
-0000097479 00000 n 
-0000153946 00000 n 
-0000097618 00000 n 
-0000154015 00000 n 
-0000097757 00000 n 
-0000098371 00000 n 
-0000098497 00000 n 
-0000098526 00000 n 
-0000098663 00000 n 
-0000101044 00000 n 
-0000101170 00000 n 
-0000101215 00000 n 
-0000101356 00000 n 
-0000101495 00000 n 
-0000154084 00000 n 
-0000101634 00000 n 
-0000102731 00000 n 
-0000102857 00000 n 
-0000102886 00000 n 
-0000103023 00000 n 
-0000105595 00000 n 
-0000105721 00000 n 
-0000105774 00000 n 
-0000105915 00000 n 
-0000106054 00000 n 
-0000106195 00000 n 
-0000106336 00000 n 
-0000107881 00000 n 
-0000108007 00000 n 
-0000108044 00000 n 
-0000108181 00000 n 
-0000108318 00000 n 
-0000110623 00000 n 
-0000110749 00000 n 
-0000110802 00000 n 
-0000110943 00000 n 
-0000111082 00000 n 
-0000111223 00000 n 
-0000111364 00000 n 
-0000112149 00000 n 
-0000112275 00000 n 
-0000112312 00000 n 
-0000112449 00000 n 
-0000112586 00000 n 
-0000114801 00000 n 
-0000114927 00000 n 
-0000114964 00000 n 
-0000115105 00000 n 
-0000115243 00000 n 
-0000116465 00000 n 
-0000116591 00000 n 
-0000116636 00000 n 
-0000116773 00000 n 
-0000116910 00000 n 
-0000117047 00000 n 
-0000117613 00000 n 
-0000117723 00000 n 
-0000119448 00000 n 
-0000119574 00000 n 
-0000119611 00000 n 
-0000119749 00000 n 
-0000119883 00000 n 
-0000120252 00000 n 
-0000120378 00000 n 
-0000120407 00000 n 
-0000120539 00000 n 
-0000122299 00000 n 
-0000122409 00000 n 
-0000124334 00000 n 
-0000124444 00000 n 
-0000126265 00000 n 
-0000126375 00000 n 
-0000127165 00000 n 
-0000127275 00000 n 
-0000128749 00000 n 
-0000128875 00000 n 
-0000128904 00000 n 
-0000154153 00000 n 
-0000154207 00000 n 
-0000129042 00000 n 
-0000154273 00000 n 
-0000129233 00000 n 
-0000129434 00000 n 
-0000129576 00000 n 
-0000129855 00000 n 
-0000129982 00000 n 
-0000130124 00000 n 
-0000130344 00000 n 
-0000130453 00000 n 
-0000130577 00000 n 
-0000130694 00000 n 
-0000131007 00000 n 
-0000131258 00000 n 
-0000131457 00000 n 
-0000131665 00000 n 
-0000154339 00000 n 
-0000131948 00000 n 
-0000154408 00000 n 
-0000132135 00000 n 
-0000132245 00000 n 
-0000132398 00000 n 
-0000132585 00000 n 
-0000132791 00000 n 
-0000132958 00000 n 
-0000133271 00000 n 
-0000133428 00000 n 
-0000133669 00000 n 
-0000133858 00000 n 
-0000134047 00000 n 
-0000134236 00000 n 
-0000134431 00000 n 
-0000134576 00000 n 
-0000134749 00000 n 
-0000134923 00000 n 
-0000135088 00000 n 
-0000135294 00000 n 
-0000135471 00000 n 
-0000135689 00000 n 
-0000135930 00000 n 
-0000136142 00000 n 
-0000136330 00000 n 
-0000136560 00000 n 
-0000136778 00000 n 
-0000136984 00000 n 
-0000137190 00000 n 
-0000137424 00000 n 
-0000137688 00000 n 
-0000137930 00000 n 
-0000138140 00000 n 
-0000138353 00000 n 
-0000138559 00000 n 
-0000138708 00000 n 
-0000138898 00000 n 
-0000139076 00000 n 
-0000139254 00000 n 
-0000139397 00000 n 
-0000139558 00000 n 
-0000139760 00000 n 
-0000139996 00000 n 
-0000140186 00000 n 
-0000140317 00000 n 
-0000140471 00000 n 
-0000140619 00000 n 
-0000140810 00000 n 
-0000141006 00000 n 
-0000141272 00000 n 
-0000141593 00000 n 
-0000141751 00000 n 
-0000141891 00000 n 
-0000142076 00000 n 
-0000154475 00000 n 
-0000142347 00000 n 
-0000154544 00000 n 
-0000142580 00000 n 
-0000142843 00000 n 
-0000143046 00000 n 
-0000143186 00000 n 
-0000143371 00000 n 
-0000154613 00000 n 
-0000143642 00000 n 
-0000154682 00000 n 
-0000143875 00000 n 
-0000144138 00000 n 
-0000144382 00000 n 
-0000144522 00000 n 
-0000144707 00000 n 
-0000154751 00000 n 
-0000144978 00000 n 
-0000154820 00000 n 
-0000145211 00000 n 
-0000145474 00000 n 
-0000145632 00000 n 
-0000145772 00000 n 
-0000145957 00000 n 
-0000154889 00000 n 
-0000146228 00000 n 
-0000154958 00000 n 
-0000146461 00000 n 
-0000146724 00000 n 
-0000146858 00000 n 
-0000146972 00000 n 
-0000147083 00000 n 
-0000147199 00000 n 
-0000147308 00000 n 
-0000147420 00000 n 
-0000147541 00000 n 
-0000147648 00000 n 
+0000003687 00000 n 
+0000003810 00000 n 
+0000004211 00000 n 
+0000148671 00000 n 
+0000004347 00000 n 
+0000148737 00000 n 
+0000004483 00000 n 
+0000148803 00000 n 
+0000004619 00000 n 
+0000148871 00000 n 
+0000004754 00000 n 
+0000148939 00000 n 
+0000004890 00000 n 
+0000149007 00000 n 
+0000005026 00000 n 
+0000149075 00000 n 
+0000005162 00000 n 
+0000149143 00000 n 
+0000005298 00000 n 
+0000149211 00000 n 
+0000005434 00000 n 
+0000149277 00000 n 
+0000005570 00000 n 
+0000149345 00000 n 
+0000005705 00000 n 
+0000149413 00000 n 
+0000005841 00000 n 
+0000149481 00000 n 
+0000005977 00000 n 
+0000149549 00000 n 
+0000006113 00000 n 
+0000149617 00000 n 
+0000006249 00000 n 
+0000149685 00000 n 
+0000006385 00000 n 
+0000149753 00000 n 
+0000006521 00000 n 
+0000149821 00000 n 
+0000006657 00000 n 
+0000149887 00000 n 
+0000006793 00000 n 
+0000149954 00000 n 
+0000006929 00000 n 
+0000150022 00000 n 
+0000007065 00000 n 
+0000150089 00000 n 
+0000007200 00000 n 
+0000150156 00000 n 
+0000007336 00000 n 
+0000150223 00000 n 
+0000007472 00000 n 
+0000150290 00000 n 
+0000007608 00000 n 
+0000150356 00000 n 
+0000007743 00000 n 
+0000150415 00000 n 
+0000007879 00000 n 
+0000150481 00000 n 
+0000008015 00000 n 
+0000150547 00000 n 
+0000008151 00000 n 
+0000150613 00000 n 
+0000008287 00000 n 
+0000150679 00000 n 
+0000008423 00000 n 
+0000150745 00000 n 
+0000008559 00000 n 
+0000150811 00000 n 
+0000008695 00000 n 
+0000150877 00000 n 
+0000008831 00000 n 
+0000150943 00000 n 
+0000008967 00000 n 
+0000151009 00000 n 
+0000009103 00000 n 
+0000151075 00000 n 
+0000009239 00000 n 
+0000151141 00000 n 
+0000009375 00000 n 
+0000151207 00000 n 
+0000009511 00000 n 
+0000151273 00000 n 
+0000009647 00000 n 
+0000151339 00000 n 
+0000009783 00000 n 
+0000151405 00000 n 
+0000009919 00000 n 
+0000151471 00000 n 
+0000010055 00000 n 
+0000151537 00000 n 
+0000010193 00000 n 
+0000151604 00000 n 
+0000010331 00000 n 
+0000151671 00000 n 
+0000010469 00000 n 
+0000151738 00000 n 
+0000010606 00000 n 
+0000151805 00000 n 
+0000010744 00000 n 
+0000151872 00000 n 
+0000010882 00000 n 
+0000151939 00000 n 
+0000011020 00000 n 
+0000152006 00000 n 
+0000011156 00000 n 
+0000152073 00000 n 
+0000011291 00000 n 
+0000152140 00000 n 
+0000011427 00000 n 
+0000012396 00000 n 
+0000012522 00000 n 
+0000012735 00000 n 
+0000152207 00000 n 
+0000012869 00000 n 
+0000152274 00000 n 
+0000013003 00000 n 
+0000152341 00000 n 
+0000013137 00000 n 
+0000152408 00000 n 
+0000013270 00000 n 
+0000152475 00000 n 
+0000013404 00000 n 
+0000152535 00000 n 
+0000013538 00000 n 
+0000152602 00000 n 
+0000013672 00000 n 
+0000152669 00000 n 
+0000013806 00000 n 
+0000152738 00000 n 
+0000013939 00000 n 
+0000152807 00000 n 
+0000014073 00000 n 
+0000152876 00000 n 
+0000014207 00000 n 
+0000152945 00000 n 
+0000014341 00000 n 
+0000153014 00000 n 
+0000014474 00000 n 
+0000153083 00000 n 
+0000014608 00000 n 
+0000153150 00000 n 
+0000014742 00000 n 
+0000153219 00000 n 
+0000014876 00000 n 
+0000153288 00000 n 
+0000015009 00000 n 
+0000153357 00000 n 
+0000015143 00000 n 
+0000153424 00000 n 
+0000015277 00000 n 
+0000153493 00000 n 
+0000015410 00000 n 
+0000153562 00000 n 
+0000015543 00000 n 
+0000153631 00000 n 
+0000015677 00000 n 
+0000153698 00000 n 
+0000015811 00000 n 
+0000153767 00000 n 
+0000015945 00000 n 
+0000016554 00000 n 
+0000016664 00000 n 
+0000018860 00000 n 
+0000018986 00000 n 
+0000019039 00000 n 
+0000153834 00000 n 
+0000019180 00000 n 
+0000019363 00000 n 
+0000019537 00000 n 
+0000153903 00000 n 
+0000019678 00000 n 
+0000021467 00000 n 
+0000021593 00000 n 
+0000021622 00000 n 
+0000021790 00000 n 
+0000024381 00000 n 
+0000024491 00000 n 
+0000025234 00000 n 
+0000025344 00000 n 
+0000028091 00000 n 
+0000028217 00000 n 
+0000028270 00000 n 
+0000028486 00000 n 
+0000028701 00000 n 
+0000028905 00000 n 
+0000029105 00000 n 
+0000031102 00000 n 
+0000031212 00000 n 
+0000034578 00000 n 
+0000034688 00000 n 
+0000036672 00000 n 
+0000036782 00000 n 
+0000039241 00000 n 
+0000039351 00000 n 
+0000041543 00000 n 
+0000041653 00000 n 
+0000044003 00000 n 
+0000044113 00000 n 
+0000046957 00000 n 
+0000047067 00000 n 
+0000047850 00000 n 
+0000047960 00000 n 
+0000048540 00000 n 
+0000048650 00000 n 
+0000049308 00000 n 
+0000049418 00000 n 
+0000050142 00000 n 
+0000050252 00000 n 
+0000050955 00000 n 
+0000051065 00000 n 
+0000051806 00000 n 
+0000051916 00000 n 
+0000052621 00000 n 
+0000052731 00000 n 
+0000053837 00000 n 
+0000053947 00000 n 
+0000055071 00000 n 
+0000055181 00000 n 
+0000056478 00000 n 
+0000056588 00000 n 
+0000058159 00000 n 
+0000058269 00000 n 
+0000059212 00000 n 
+0000059322 00000 n 
+0000060283 00000 n 
+0000060393 00000 n 
+0000061493 00000 n 
+0000061603 00000 n 
+0000062815 00000 n 
+0000062925 00000 n 
+0000064216 00000 n 
+0000064326 00000 n 
+0000066065 00000 n 
+0000066175 00000 n 
+0000067014 00000 n 
+0000067124 00000 n 
+0000068110 00000 n 
+0000068236 00000 n 
+0000068273 00000 n 
+0000068412 00000 n 
+0000068547 00000 n 
+0000069787 00000 n 
+0000069897 00000 n 
+0000070321 00000 n 
+0000070431 00000 n 
+0000072300 00000 n 
+0000072410 00000 n 
+0000073448 00000 n 
+0000073574 00000 n 
+0000073619 00000 n 
+0000073756 00000 n 
+0000073893 00000 n 
+0000074029 00000 n 
+0000074724 00000 n 
+0000074834 00000 n 
+0000075737 00000 n 
+0000075847 00000 n 
+0000077817 00000 n 
+0000077927 00000 n 
+0000078585 00000 n 
+0000078711 00000 n 
+0000078756 00000 n 
+0000078893 00000 n 
+0000079030 00000 n 
+0000079167 00000 n 
+0000081058 00000 n 
+0000081168 00000 n 
+0000082074 00000 n 
+0000082200 00000 n 
+0000082245 00000 n 
+0000082381 00000 n 
+0000082518 00000 n 
+0000082655 00000 n 
+0000084890 00000 n 
+0000085000 00000 n 
+0000087216 00000 n 
+0000087326 00000 n 
+0000087701 00000 n 
+0000087827 00000 n 
+0000087856 00000 n 
+0000087993 00000 n 
+0000089955 00000 n 
+0000090081 00000 n 
+0000090110 00000 n 
+0000090251 00000 n 
+0000090854 00000 n 
+0000090980 00000 n 
+0000091017 00000 n 
+0000091154 00000 n 
+0000091291 00000 n 
+0000092332 00000 n 
+0000092458 00000 n 
+0000092503 00000 n 
+0000092640 00000 n 
+0000092777 00000 n 
+0000092914 00000 n 
+0000094525 00000 n 
+0000094635 00000 n 
+0000095453 00000 n 
+0000095579 00000 n 
+0000095608 00000 n 
+0000095745 00000 n 
+0000097344 00000 n 
+0000097470 00000 n 
+0000097507 00000 n 
+0000153972 00000 n 
+0000097646 00000 n 
+0000154041 00000 n 
+0000097785 00000 n 
+0000098399 00000 n 
+0000098525 00000 n 
+0000098554 00000 n 
+0000098691 00000 n 
+0000101072 00000 n 
+0000101198 00000 n 
+0000101243 00000 n 
+0000101384 00000 n 
+0000101523 00000 n 
+0000154110 00000 n 
+0000101662 00000 n 
+0000102759 00000 n 
+0000102885 00000 n 
+0000102914 00000 n 
+0000103051 00000 n 
+0000105623 00000 n 
+0000105749 00000 n 
+0000105802 00000 n 
+0000105943 00000 n 
+0000106082 00000 n 
+0000106223 00000 n 
+0000106364 00000 n 
+0000107909 00000 n 
+0000108035 00000 n 
+0000108072 00000 n 
+0000108209 00000 n 
+0000108346 00000 n 
+0000110651 00000 n 
+0000110777 00000 n 
+0000110830 00000 n 
+0000110971 00000 n 
+0000111110 00000 n 
+0000111251 00000 n 
+0000111392 00000 n 
+0000112177 00000 n 
+0000112303 00000 n 
+0000112340 00000 n 
+0000112477 00000 n 
+0000112614 00000 n 
+0000114829 00000 n 
+0000114955 00000 n 
+0000114992 00000 n 
+0000115133 00000 n 
+0000115271 00000 n 
+0000116493 00000 n 
+0000116619 00000 n 
+0000116664 00000 n 
+0000116801 00000 n 
+0000116938 00000 n 
+0000117075 00000 n 
+0000117631 00000 n 
+0000117741 00000 n 
+0000119466 00000 n 
+0000119592 00000 n 
+0000119629 00000 n 
+0000119767 00000 n 
+0000119901 00000 n 
+0000120270 00000 n 
+0000120396 00000 n 
+0000120425 00000 n 
+0000120557 00000 n 
+0000122317 00000 n 
+0000122427 00000 n 
+0000124352 00000 n 
+0000124462 00000 n 
+0000126283 00000 n 
+0000126393 00000 n 
+0000127183 00000 n 
+0000127293 00000 n 
+0000128767 00000 n 
+0000128893 00000 n 
+0000128922 00000 n 
+0000154179 00000 n 
+0000154233 00000 n 
+0000129060 00000 n 
+0000154299 00000 n 
+0000129251 00000 n 
+0000129452 00000 n 
+0000129594 00000 n 
+0000129873 00000 n 
+0000130000 00000 n 
+0000130142 00000 n 
+0000130362 00000 n 
+0000130471 00000 n 
+0000130595 00000 n 
+0000130712 00000 n 
+0000131025 00000 n 
+0000131276 00000 n 
+0000131475 00000 n 
+0000131683 00000 n 
+0000154365 00000 n 
+0000131966 00000 n 
+0000154434 00000 n 
+0000132153 00000 n 
+0000132263 00000 n 
+0000132416 00000 n 
+0000132603 00000 n 
+0000132809 00000 n 
+0000132976 00000 n 
+0000133289 00000 n 
+0000133446 00000 n 
+0000133687 00000 n 
+0000133876 00000 n 
+0000134065 00000 n 
+0000134254 00000 n 
+0000134449 00000 n 
+0000134594 00000 n 
+0000134767 00000 n 
+0000134941 00000 n 
+0000135106 00000 n 
+0000135312 00000 n 
+0000135489 00000 n 
+0000135707 00000 n 
+0000135948 00000 n 
+0000136160 00000 n 
+0000136348 00000 n 
+0000136578 00000 n 
+0000136796 00000 n 
+0000137002 00000 n 
+0000137208 00000 n 
+0000137442 00000 n 
+0000137706 00000 n 
+0000137948 00000 n 
+0000138158 00000 n 
+0000138371 00000 n 
+0000138577 00000 n 
+0000138726 00000 n 
+0000138916 00000 n 
+0000139094 00000 n 
+0000139272 00000 n 
+0000139415 00000 n 
+0000139576 00000 n 
+0000139778 00000 n 
+0000140014 00000 n 
+0000140204 00000 n 
+0000140335 00000 n 
+0000140489 00000 n 
+0000140637 00000 n 
+0000140828 00000 n 
+0000141030 00000 n 
+0000141296 00000 n 
+0000141617 00000 n 
+0000141775 00000 n 
+0000141915 00000 n 
+0000142100 00000 n 
+0000154501 00000 n 
+0000142371 00000 n 
+0000154570 00000 n 
+0000142604 00000 n 
+0000142867 00000 n 
+0000143070 00000 n 
+0000143210 00000 n 
+0000143395 00000 n 
+0000154639 00000 n 
+0000143666 00000 n 
+0000154708 00000 n 
+0000143899 00000 n 
+0000144162 00000 n 
+0000144406 00000 n 
+0000144546 00000 n 
+0000144731 00000 n 
+0000154777 00000 n 
+0000145002 00000 n 
+0000154846 00000 n 
+0000145235 00000 n 
+0000145498 00000 n 
+0000145656 00000 n 
+0000145796 00000 n 
+0000145981 00000 n 
+0000154915 00000 n 
+0000146252 00000 n 
+0000154984 00000 n 
+0000146485 00000 n 
+0000146748 00000 n 
+0000146882 00000 n 
+0000146996 00000 n 
+0000147107 00000 n 
+0000147223 00000 n 
+0000147332 00000 n 
+0000147444 00000 n 
+0000147565 00000 n 
+0000147672 00000 n 
 trailer
 <<
 /Size 503
@@ -4584,5 +4584,5 @@ trailer
 /Info 4 0 R
 >>
 startxref
-155027
+155053
 %%EOF
index 6e1d15ba06c09e3ead0e6d556c067339c3d00829..ed32b2045a24bd63c7ce3f663d729b9022407dac 100644 (file)
Binary files a/doc/html.tar.gz and b/doc/html.tar.gz differ
index 6949c12acac33230a884ef7f57ec5b89cfde07a5..7f58124de9ecda9bb6a1bc0090eccf2409793370 100644 (file)
@@ -12,8 +12,8 @@
 ;;;; This file was extracted from the KMRCL utilities
 ;;;; *************************************************************************
 
-;;; This file imports MOP symbols into the USQL-MOP package and then
-;;; re-exports into CLSQL-USQL-SYS them to hide differences in
+;;; This file imports MOP symbols into the CLSQL-MOP package and then
+;;; re-exports into CLSQL-SYS them to hide differences in
 ;;; MOP implementations.
 
 (in-package #:clsql-sys)
index ebedaa8a0ad7615064a7539087be2422f2989e26..9d2924ab46b56431f1ed8faa84c736c71a8340cb 100644 (file)
@@ -6,7 +6,7 @@
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; CLSQL-USQL metaclass for standard-db-objects created in the OODDL. 
+;;;; CLSQL metaclass for standard-db-objects created in the OODDL. 
 ;;;;
 ;;;; ======================================================================
 
index 6a18fe51df2d44ac77f3112efcdf723de0ea16a9..1991b70c151f6e9b86f2781dc7ccf29ee3fde70b 100644 (file)
@@ -5,7 +5,7 @@
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; The CLSQL-USQL Object Oriented Data Definitional Language (OODDL)
+;;;; The CLSQL Object Oriented Data Definitional Language (OODDL)
 ;;;; and Object Oriented Data Manipulation Language (OODML).
 ;;;;
 ;;;; ======================================================================
@@ -18,7 +18,7 @@
     :initarg :view-database
     :db-kind :virtual))
   (:metaclass standard-db-class)
-  (:documentation "Superclass for all CLSQL-USQL View Classes."))
+  (:documentation "Superclass for all CLSQL View Classes."))
 
 (defmethod view-database ((self standard-db-object))
   (slot-value self 'view-database))
 #.(locally-enable-sql-reader-syntax)
 
 (defun ensure-schema-version-table (database)
-  (unless (table-exists-p "usql_object_v" :database database)
-    (create-table [usql_object_v] '(([name] (string 32))
+  (unless (table-exists-p "clsql_object_v" :database database)
+    (create-table [clsql_object_v] '(([name] (string 32))
                                     ([vers] integer)
                                     ([def] (string 32)))
                   :database database)))
                                                       slotdef database)))
         (when res (setf schemadef (cons res schemadef)))))
     (when schemadef
-      (delete-records :from [usql_object_v]
+      (delete-records :from [clsql_object_v]
                       :where [= [name] (sql-escape (class-name tclass))]
                       :database database)
-      (insert-records :into [usql_object_v]
+      (insert-records :into [clsql_object_v]
                       :av-pairs `(([name] ,(sql-escape (class-name tclass)))
                                   ([vers] ,(car (object-version tclass)))
                                   ([def] ,(prin1-to-string
@@ -169,7 +169,7 @@ which defines that view. The argument DATABASE has a default value of
     (if tclass
         (let ((*default-database* database))
           (%uninstall-class tclass)
-          (delete-records :from [usql_object_v]
+          (delete-records :from [clsql_object_v]
                           :where [= [name] (sql-escape view-class-name)]))
         (error "Class ~s not found." view-class-name)))
   (values))
@@ -296,9 +296,9 @@ superclass of the newly-defined View Class."
 (defun slot-type (slotdef)
   (let ((slot-type (slot-definition-type slotdef)))
     (if (listp slot-type)
-        (cons (find-symbol (symbol-name (car slot-type)) :usql-sys)
+        (cons (find-symbol (symbol-name (car slot-type)) :clsql-sys)
               (cdr slot-type))
-        (find-symbol (symbol-name slot-type) :usql-sys))))
+        (find-symbol (symbol-name slot-type) :clsql-sys))))
 
 (defmethod update-slot-from-db ((instance standard-db-object) slotdef value)
   (declare (optimize (speed 3) #+cmu (extensions:inhibit-warnings 3)))
index ef691b7f67b7771a2a9f7c092e23111b7c1f92bc..e10f34d5ef8154f7561c3c35ccb7439184d3afdd 100644 (file)
@@ -9,7 +9,7 @@
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Package definitions for CLSQL-USQL
+;;;; Package definitions for CLSQL. 
 ;;;;
 ;;;; ======================================================================
 
    :database-attribute-type
 
    .
-   ;; Shared exports for re-export by USQL. 
+   ;; Shared exports for re-export by CLSQL. 
    ;; I = Implemented, D = Documented
    ;;  name                                 file       ID
    ;;====================================================
        . 
        #1#
        ))
-  (:documentation "This is the INTERNAL SQL-Interface package of USQL."))
+  (:documentation "This is the INTERNAL SQL-Interface package of CLSQL."))
 
 
 ;; see http://thread.gmane.org/gmane.lisp.lispworks.general/681
   (:use #:common-lisp)
   (:import-from :clsql-sys . #2#)
   (:export . #2#)
-  (:documentation "This is the SQL-Interface package of USQL."))
+  (:documentation "This is the SQL-Interface package of CLSQL."))
 
   ;; This is from USQL's pcl-patch  
   #+(or clsql-sbcl-pcl clsql-cmucl-pcl)
index 4ed2e81e72cd725fe1849811667ed7f478e90bb6..e18452e35dc6941a30de6c10d689bf60ab75ccd3 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; The CLSQL-USQL Functional Data Manipulation Language (FDML). 
+;;;; The CLSQL Functional Data Manipulation Language (FDML). 
 ;;;;
 ;;;; ======================================================================
 
index 76fb0711030b202b59d3f191865b1b3c2c6238d8..d634c9dfe801930a4e0c293f754b24f03785ecc5 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; CLSQL-USQL square bracket symbolic query syntax. Functions for
+;;;; CLSQL square bracket symbolic query syntax. Functions for
 ;;;; enabling and disabling the syntax and for building SQL
 ;;;; expressions using the syntax.
 ;;;;
index 1a225de5d76a48a31a063dc1eda332b55811c2c4..d7e0d5bde5267108184075d1aa0ce1af245c62fb 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; The CLSQL-USQL Functional Data Definition Language (FDDL)
+;;;; The CLSQL Functional Data Definition Language (FDDL)
 ;;;; including functions for schema manipulation. Currently supported
 ;;;; SQL objects include tables, views, indexes, attributes and
 ;;;; sequences.
index d7418a3c2e0597f96d83de4e62c4ca6d9212eaef..51876c19c1932074c0fda8a0f1c783bd786217b4 100644 (file)
@@ -19,7 +19,7 @@ and set the following variables to appropriate values:
 And then call:
 
 (asdf:oos 'asdf:load-op 'clsql-tests)
-(clsql-tests:test-usql BACKEND)
+(clsql-tests:run-tests BACKEND)
 
 where BACKEND is the CLSQL database interface to use (currently one of
 :postgresql, :postgresql-socket, :sqlite or :mysql).
@@ -34,7 +34,7 @@ the system to support the following:
 Refactoring and redesign efforts are normally restricted to a single
 subsystem, or perhaps to interdependent subsystems.  In such cases, a
 set of regression tests which excercise the existing interface of the
-rest of USQL to the changing subsystems should be in place and passing
+rest of CLSQL to the changing subsystems should be in place and passing
 before the coding starts.
 
 ** Ensuring portability and Supporting new ports.
@@ -48,9 +48,9 @@ informal coordination between the mintainers of the various ports.
 
 ** Adding new RDBMS backends
 
-The entire USQL DBMS interface needs to be excercised by the test
+The entire CLSQL DBMS interface needs to be excercised by the test
 suite, such that a new RDBMS backend that passes all the tests can be
-reasonably assured of working with the USQL layers above that.  These
+reasonably assured of working with the CLSQL layers above that.  These
 tests should also serve as impromptu documentation for the details of
 that interface and what it expects frothe RDBMS driver layers.
 
@@ -68,7 +68,7 @@ spend finding the bug prior to fixing it.
 
 ** Multiple RDBMS Issues
 
-USQL supports several RDBMS backends, and it should be possible to run
+CLSQL supports several RDBMS backends, and it should be possible to run
 every test against all of them.  However, there are some features
 which we want tests for but which are not implemented on several of
 the backends.  
index 7d111d67b0bbc39de83fbf5b98bcb55ffec4f31f..f3efb3ef57305c7adb35df3bfc865b5c8a3363f0 100644 (file)
@@ -3,21 +3,20 @@
 ;;;; File:    package.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 12:00:14 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Package definition for CLSQL-USQL test suite.
+;;;; Package definition for CLSQL test suite.
 ;;;;
 ;;;; ======================================================================
 
 
 (in-package #:cl-user)
 
-(defpackage #:clsql-usql-tests
-  (:nicknames #:usql-tests)
-  (:use #:clsql-usql #:common-lisp #:rtest)
-  (:export #:test-usql #:test-initialise-database #:test-connect-to-database)
-  (:documentation "Regression tests for CLSQL-USQL."))
+(defpackage #:clsql-tests
+  (:use #:clsql #:common-lisp #:rtest)
+  (:export #:run-tests #:test-initialise-database #:test-connect-to-database)
+  (:documentation "Regression tests for CLSQL."))
index 7680917bb103523cc05bbf1dbf743f60bb80069a..f2bcdf45065979818eabb5d6a00ebefa006bc081 100644 (file)
@@ -3,22 +3,22 @@
 ;;;; File:    test-connection.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 11:53:49 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Tests for CLSQL-USQL database connections. 
+;;;; Tests for CLSQL database connections. 
 ;;;;
 ;;;; ======================================================================
 
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
 
 
 (deftest :connection/1
-    (let ((database (usql:find-database
-                     (usql:database-name usql:*default-database*)
-                     :db-type (usql:database-type usql:*default-database*))))
-      (eql (usql:database-type database) *test-database-type*))
+    (let ((database (clsql:find-database
+                     (clsql:database-name clsql:*default-database*)
+                     :db-type (clsql:database-type clsql:*default-database*))))
+      (eql (clsql:database-type database) *test-database-type*))
   t)
index 848bc84d320943a06fa15e225c88ec49246c919a..2767f130a98a808e2a93aa05d8f9922cb7d9570b 100644 (file)
@@ -3,63 +3,63 @@
 ;;;; File:    test-fddl.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 11:53:29 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Tests for the CLSQL-USQL Functional Data Definition Language
+;;;; Tests for the CLSQL Functional Data Definition Language
 ;;;; (FDDL).
 ;;;; 
 ;;;; ======================================================================
 
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
 
-#.(usql:locally-enable-sql-reader-syntax)
+#.(clsql:locally-enable-sql-reader-syntax)
 
 ;; list current tables 
 (deftest :fddl/table/1
     (apply #'values 
            (sort (mapcar #'string-downcase
-                         (usql:list-tables :owner *test-database-user*))
+                         (clsql:list-tables :owner *test-database-user*))
                  #'string>))
-  "usql_object_v" "employee" "company")
+  "clsql_object_v" "employee" "company")
 
 ;; create a table, test for its existence, drop it and test again 
 (deftest :fddl/table/2
-    (progn (usql:create-table  [foo]
+    (progn (clsql:create-table  [foo]
                                '(([id] integer)
                                  ([height] float)
                                  ([name] (string 24))
                                  ([comments] longchar)))
            (values
-            (usql:table-exists-p [foo] :owner *test-database-user*)
+            (clsql:table-exists-p [foo] :owner *test-database-user*)
             (progn
-              (usql:drop-table [foo] :if-does-not-exist :ignore)
-              (usql:table-exists-p [foo] :owner *test-database-user*))))
+              (clsql:drop-table [foo] :if-does-not-exist :ignore)
+              (clsql:table-exists-p [foo] :owner *test-database-user*))))
   t nil)
 
 ;; create a table, list its attributes and drop it 
 (deftest :fddl/table/3
     (apply #'values 
-           (progn (usql:create-table  [foo]
+           (progn (clsql:create-table  [foo]
                                       '(([id] integer)
                                         ([height] float)
                                         ([name] (char 255))
                                         ([comments] longchar)))
                   (prog1
                       (sort (mapcar #'string-downcase
-                                    (usql:list-attributes [foo]))
+                                    (clsql:list-attributes [foo]))
                             #'string<)
-                    (usql:drop-table [foo] :if-does-not-exist :ignore))))
+                    (clsql:drop-table [foo] :if-does-not-exist :ignore))))
   "comments" "height" "id" "name")
 
 (deftest :fddl/attributes/1
     (apply #'values
            (sort 
             (mapcar #'string-downcase
-                    (usql:list-attributes [employee]
+                    (clsql:list-attributes [employee]
                                           :owner *test-database-user*))
             #'string<))
   "birthday" "companyid" "email" "emplid" "first_name" "groupid" "height"
@@ -69,7 +69,7 @@
     (apply #'values 
            (sort 
             (mapcar #'(lambda (a) (string-downcase (car a)))
-                    (usql:list-attribute-types [employee]
+                    (clsql:list-attribute-types [employee]
                                                :owner *test-database-user*))
             #'string<))
   "birthday" "companyid" "email" "emplid" "first_name" "groupid" "height"
 
 ;; create a view, test for existence, drop it and test again 
 (deftest :fddl/view/1
-    (progn (usql:create-view [lenins-group]
+    (progn (clsql:create-view [lenins-group]
                              ;;not in sqlite 
                              ;;:column-list '([forename] [surname] [email])
                              :as [select [first-name] [last-name] [email]
                                          :from [employee]
                                          :where [= [managerid] 1]])
            (values  
-            (usql:view-exists-p [lenins-group] :owner *test-database-user*)
+            (clsql:view-exists-p [lenins-group] :owner *test-database-user*)
             (progn
-              (usql:drop-view [lenins-group] :if-does-not-exist :ignore)
-              (usql:view-exists-p [lenins-group] :owner *test-database-user*))))
+              (clsql:drop-view [lenins-group] :if-does-not-exist :ignore)
+              (clsql:view-exists-p [lenins-group] :owner *test-database-user*))))
   t nil)
 
 ;; create a view, list its attributes and drop it 
 (deftest :fddl/view/2
-    (progn (usql:create-view [lenins-group]
+    (progn (clsql:create-view [lenins-group]
                              ;;not in sqlite 
                              ;;:column-list '([forename] [surname] [email])
                               :as [select [first-name] [last-name] [email]
                                           :where [= [managerid] 1]])
            (prog1
               (sort (mapcar #'string-downcase
-                            (usql:list-attributes [lenins-group]))
+                            (clsql:list-attributes [lenins-group]))
                     #'string<)
-            (usql:drop-view [lenins-group] :if-does-not-exist :ignore)))
+            (clsql:drop-view [lenins-group] :if-does-not-exist :ignore)))
   ("email" "first_name" "last_name"))
 
 ;; create a view, select stuff from it and drop it 
 (deftest :fddl/view/3
-    (progn (usql:create-view [lenins-group]
+    (progn (clsql:create-view [lenins-group]
                               :as [select [first-name] [last-name] [email]
                                           :from [employee]
                                           :where [= [managerid] 1]])
            (let ((result 
                   (list 
                    ;; Shouldn't exist 
-                   (usql:select [first-name] [last-name] [email]
+                   (clsql:select [first-name] [last-name] [email]
                                 :from [lenins-group]
                                 :where [= [last-name] "Lenin"])
                    ;; Should exist 
-                   (car (usql:select [first-name] [last-name] [email]
+                   (car (clsql:select [first-name] [last-name] [email]
                                      :from [lenins-group]
                                      :where [= [last-name] "Stalin"])))))
-             (usql:drop-view [lenins-group] :if-does-not-exist :ignore)
+             (clsql:drop-view [lenins-group] :if-does-not-exist :ignore)
              (apply #'values result)))
   nil ("Josef" "Stalin" "stalin@soviet.org"))
 
 (deftest :fddl/view/4
     (if (eql *test-database-type* :sqlite)
         (values nil '(("Josef" "Stalin" "stalin@soviet.org")))
-        (progn (usql:create-view [lenins-group]
+        (progn (clsql:create-view [lenins-group]
                                  :column-list '([forename] [surname] [email])
                                  :as [select [first-name] [last-name] [email]
                                              :from [employee]
                (let ((result 
                       (list
                        ;; Shouldn't exist 
-                       (usql:select [forename] [surname] [email]
+                       (clsql:select [forename] [surname] [email]
                                     :from [lenins-group]
                                     :where [= [surname] "Lenin"])
                        ;; Should exist 
-                       (car (usql:select [forename] [surname] [email]
+                       (car (clsql:select [forename] [surname] [email]
                                          :from [lenins-group]
                                          :where [= [surname] "Stalin"])))))
-                 (usql:drop-view [lenins-group] :if-does-not-exist :ignore)
+                 (clsql:drop-view [lenins-group] :if-does-not-exist :ignore)
                  (apply #'values result))))
   nil ("Josef" "Stalin" "stalin@soviet.org"))
 
 ;; create an index, test for existence, drop it and test again 
 (deftest :fddl/index/1
-    (progn (usql:create-index [bar] :on [employee] :attributes
+    (progn (clsql:create-index [bar] :on [employee] :attributes
                               '([first-name] [last-name] [email]) :unique t)
            (values
-            (usql:index-exists-p [bar] :owner *test-database-user*)
+            (clsql:index-exists-p [bar] :owner *test-database-user*)
             (progn
               (case *test-database-type*
                 (:mysql 
-                 (usql:drop-index [bar] :on [employee]
+                 (clsql:drop-index [bar] :on [employee]
                                   :if-does-not-exist :ignore))
                 (t 
-                 (usql:drop-index [bar]:if-does-not-exist :ignore)))
-              (usql:view-exists-p [bar] :owner *test-database-user*))))
+                 (clsql:drop-index [bar]:if-does-not-exist :ignore)))
+              (clsql:view-exists-p [bar] :owner *test-database-user*))))
   t nil)
 
 ;; create indexes with names as strings, symbols and in square brackets 
     (let ((names '("foo" foo [foo]))
           (result '()))
       (dolist (name names)
-        (usql:create-index name :on [employee] :attributes '([emplid]))
-        (push (usql:index-exists-p name :owner *test-database-user*) result)
+        (clsql:create-index name :on [employee] :attributes '([emplid]))
+        (push (clsql:index-exists-p name :owner *test-database-user*) result)
         (case *test-database-type*
           (:mysql 
-           (usql:drop-index name :on [employee] :if-does-not-exist :ignore))
-          (t (usql:drop-index name :if-does-not-exist :ignore))))
+           (clsql:drop-index name :on [employee] :if-does-not-exist :ignore))
+          (t (clsql:drop-index name :if-does-not-exist :ignore))))
       (apply #'values result))
   t t t)
 
 ;; create an sequence, test for existence, drop it and test again 
 (deftest :fddl/sequence/1
-    (progn (usql:create-sequence [foo])
+    (progn (clsql:create-sequence [foo])
            (values
-            (usql:sequence-exists-p [foo] :owner *test-database-user*)
+            (clsql:sequence-exists-p [foo] :owner *test-database-user*)
             (progn
-              (usql:drop-sequence [foo] :if-does-not-exist :ignore)
-              (usql:sequence-exists-p [foo] :owner *test-database-user*))))
+              (clsql:drop-sequence [foo] :if-does-not-exist :ignore)
+              (clsql:sequence-exists-p [foo] :owner *test-database-user*))))
   t nil)
 
 ;; create and increment a sequence
 (deftest :fddl/sequence/2
     (let ((val1 nil))
-      (usql:create-sequence [foo])
-      (setf val1 (usql:sequence-next [foo]))
+      (clsql:create-sequence [foo])
+      (setf val1 (clsql:sequence-next [foo]))
       (prog1
-          (< val1 (usql:sequence-next [foo]))
-        (usql:drop-sequence [foo] :if-does-not-exist :ignore)))
+          (< val1 (clsql:sequence-next [foo]))
+        (clsql:drop-sequence [foo] :if-does-not-exist :ignore)))
   t)
 
 ;; explicitly set the value of a sequence
 (deftest :fddl/sequence/3
     (progn
-      (usql:create-sequence [foo])
-      (usql:set-sequence-position [foo] 5)
+      (clsql:create-sequence [foo])
+      (clsql:set-sequence-position [foo] 5)
       (prog1
-          (usql:sequence-next [foo])
-        (usql:drop-sequence [foo] :if-does-not-exist :ignore)))
+          (clsql:sequence-next [foo])
+        (clsql:drop-sequence [foo] :if-does-not-exist :ignore)))
   6)
 
-#.(usql:restore-sql-reader-syntax-state)
\ No newline at end of file
+#.(clsql:restore-sql-reader-syntax-state)
index ae986faa832929b443595b9700af2f74bbc7a6d8..342576fd536a920bea0f3cb10b1a16cae2d76785 100644 (file)
 ;;;; File:    test-fdml.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 11:52:39 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Tests for the CLSQL-USQL Functional Data Manipulation Language
+;;;; Tests for the CLSQL Functional Data Manipulation Language
 ;;;; (FDML).
 ;;;; 
 ;;;; ======================================================================
 
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
 
-#.(usql:locally-enable-sql-reader-syntax)
+#.(clsql:locally-enable-sql-reader-syntax)
 
 ;; inserts a record using all values only and then deletes it 
 (deftest :fdml/insert/1
     (progn
-      (usql:insert-records :into [employee] 
+      (clsql:insert-records :into [employee] 
                            :values `(11 1 "Yuri" "Gagarin" "gagarin@soviet.org"
                                      1 1 1.85 t ,(clsql-base:get-time)))
       (values 
-       (usql:select [first-name] [last-name] [email]
+       (clsql:select [first-name] [last-name] [email]
                     :from [employee] :where [= [emplid] 11])
-       (progn (usql:delete-records :from [employee] :where [= [emplid] 11])
-              (usql:select [*] :from [employee] :where [= [emplid] 11]))))
+       (progn (clsql:delete-records :from [employee] :where [= [emplid] 11])
+              (clsql:select [*] :from [employee] :where [= [emplid] 11]))))
   (("Yuri" "Gagarin" "gagarin@soviet.org")) nil)
 
 ;; inserts a record using attributes and values and then deletes it
 (deftest :fdml/insert/2
     (progn
-      (usql:insert-records :into [employee] 
+      (clsql:insert-records :into [employee] 
                            :attributes '(emplid groupid first_name last_name
                                          email companyid managerid)
                            :values '(11 1 "Yuri" "Gagarin" "gagarin@soviet.org"
                                      1 1))
       (values 
-       (usql:select [first-name] [last-name] [email] :from [employee]
+       (clsql:select [first-name] [last-name] [email] :from [employee]
                     :where [= [emplid] 11])
-       (progn (usql:delete-records :from [employee] :where [= [emplid] 11])
-              (usql:select [*] :from [employee] :where [= [emplid] 11]))))
+       (progn (clsql:delete-records :from [employee] :where [= [emplid] 11])
+              (clsql:select [*] :from [employee] :where [= [emplid] 11]))))
   (("Yuri" "Gagarin" "gagarin@soviet.org")) nil)
 
 ;; inserts a record using av-pairs and then deletes it
 (deftest :fdml/insert/3
     (progn
-      (usql:insert-records :into [employee] 
+      (clsql:insert-records :into [employee] 
                            :av-pairs'((emplid 11) (groupid 1)
                                       (first_name "Yuri")
                                       (last_name "Gagarin")
                                       (email "gagarin@soviet.org")
                                       (companyid 1) (managerid 1)))
       (values 
-       (usql:select [first-name] [last-name] [email] :from [employee]
+       (clsql:select [first-name] [last-name] [email] :from [employee]
                     :where [= [emplid] 11])
-       (progn (usql:delete-records :from [employee] :where [= [emplid] 11])
-              (usql:select [first-name] [last-name] [email] :from [employee]
+       (progn (clsql:delete-records :from [employee] :where [= [emplid] 11])
+              (clsql:select [first-name] [last-name] [email] :from [employee]
                            :where [= [emplid] 11]))))
   (("Yuri" "Gagarin" "gagarin@soviet.org")) nil)
 
 ;; inserts a records using a query from another table 
 (deftest :fdml/insert/4
     (progn
-      (usql:create-table [employee2] '(([forename] string)
+      (clsql:create-table [employee2] '(([forename] string)
                                 ([surname] string)
                                 ([email] string)))
-      (usql:insert-records :into [employee2] 
+      (clsql:insert-records :into [employee2] 
                     :query [select [first-name] [last-name] [email] 
                                    :from [employee]]
                     :attributes '(forename surname email))
       (prog1
-          (equal (usql:select [*] :from [employee2])
-                 (usql:select [first-name] [last-name] [email]
+          (equal (clsql:select [*] :from [employee2])
+                 (clsql:select [first-name] [last-name] [email]
                               :from [employee]))
-        (usql:drop-table [employee2] :if-does-not-exist :ignore)))
+        (clsql:drop-table [employee2] :if-does-not-exist :ignore)))
   t)
 
 ;; updates a record using attributes and values and then deletes it
 (deftest :fdml/update/1
     (progn
-      (usql:update-records [employee] 
+      (clsql:update-records [employee] 
                            :attributes '(first_name last_name email)
                            :values '("Yuri" "Gagarin" "gagarin@soviet.org")
                            :where [= [emplid] 1])
       (values 
-       (usql:select [first-name] [last-name] [email] :from [employee]
+       (clsql:select [first-name] [last-name] [email] :from [employee]
                     :where [= [emplid] 1])
        (progn
-         (usql:update-records [employee] 
+         (clsql:update-records [employee] 
                               :av-pairs'((first_name "Vladamir")
                                          (last_name "Lenin")
                                          (email "lenin@soviet.org"))
                               :where [= [emplid] 1])
-         (usql:select [first-name] [last-name] [email] :from [employee]
+         (clsql:select [first-name] [last-name] [email] :from [employee]
                       :where [= [emplid] 1]))))
   (("Yuri" "Gagarin" "gagarin@soviet.org"))
   (("Vladamir" "Lenin" "lenin@soviet.org")))
 ;; updates a record using av-pairs and then deletes it
 (deftest :fdml/update/2
     (progn
-      (usql:update-records [employee] 
+      (clsql:update-records [employee] 
                            :av-pairs'((first_name "Yuri")
                                       (last_name "Gagarin")
                                       (email "gagarin@soviet.org"))
                            :where [= [emplid] 1])
       (values 
-       (usql:select [first-name] [last-name] [email] :from [employee]
+       (clsql:select [first-name] [last-name] [email] :from [employee]
                     :where [= [emplid] 1])
        (progn
-         (usql:update-records [employee]
+         (clsql:update-records [employee]
                               :av-pairs'((first_name "Vladamir")
                                          (last_name "Lenin")
                                          (email "lenin@soviet.org"))
                               :where [= [emplid] 1])
-         (usql:select [first-name] [last-name] [email]
+         (clsql:select [first-name] [last-name] [email]
                       :from [employee] :where [= [emplid] 1]))))
   (("Yuri" "Gagarin" "gagarin@soviet.org"))
   (("Vladamir" "Lenin" "lenin@soviet.org")))
 
 
 (deftest :fdml/query/1
-    (usql:query "SELECT COUNT(*) FROM EMPLOYEE WHERE (EMAIL LIKE '%org')")
+    (clsql:query "SELECT COUNT(*) FROM EMPLOYEE WHERE (EMAIL LIKE '%org')")
   (("10")))
 
 (deftest :fdml/query/2
-    (usql:query
+    (clsql:query
      "SELECT FIRST_NAME,LAST_NAME FROM EMPLOYEE WHERE (EMPLID <= 5) ORDER BY LAST_NAME")
   (("Leonid" "Brezhnev") ("Nikita" "Kruschev") ("Vladamir" "Lenin")
  ("Josef" "Stalin") ("Leon" "Trotsky")))
   
 (deftest :fdml/execute-command/1
     (values
-     (usql:table-exists-p [foo] :owner *test-database-user*)
+     (clsql:table-exists-p [foo] :owner *test-database-user*)
      (progn
-       (usql:execute-command "create table foo (bar integer)")
-       (usql:table-exists-p [foo] :owner *test-database-user*))
+       (clsql:execute-command "create table foo (bar integer)")
+       (clsql:table-exists-p [foo] :owner *test-database-user*))
      (progn
-       (usql:execute-command "drop table foo")
-       (usql:table-exists-p [foo] :owner *test-database-user*)))
+       (clsql:execute-command "drop table foo")
+       (clsql:table-exists-p [foo] :owner *test-database-user*)))
   nil t nil)
 
 
 ;; these guys!) -- only works with pgsql 
 (deftest :fdml/select/1
     (if (member *test-database-type* '(:postgresql-socket :postgresql))
-        (let ((max (usql:select [function "floor"
+        (let ((max (clsql:select [function "floor"
                                           [/ [* [max [height]] 100] 2.54]]
                                 :from [employee]
                                 :flatp t))
-              (min (usql:select [function "floor"
+              (min (clsql:select [function "floor"
                                           [/ [* [min [height]] 100] 2.54]]
                                 :from [employee]
                                 :flatp t))
-              (avg (usql:select [function "floor"
+              (avg (clsql:select [function "floor"
                                           [avg [/ [* [height] 100] 2.54]]]
                                 :from [employee]
                                 :flatp t)))
   t)
 
 (deftest :fdml/select/2
-    (usql:select [first-name] :from [employee] :flatp t :distinct t
+    (clsql:select [first-name] :from [employee] :flatp t :distinct t
                  :order-by [first-name])
   ("Boris" "Josef" "Konstantin" "Leon" "Leonid" "Mikhail" "Nikita" "Vladamir"
            "Yuri"))
 
 (deftest :fdml/select/3
-    (usql:select [first-name] [count [*]] :from [employee]
+    (clsql:select [first-name] [count [*]] :from [employee]
                  :group-by [first-name]
                  :order-by [first-name])
   (("Boris" "1") ("Josef" "1") ("Konstantin" "1") ("Leon" "1") ("Leonid" "1")
    ("Mikhail" "1") ("Nikita" "1") ("Vladamir" "2") ("Yuri" "1")))
 
 (deftest :fdml/select/4
-    (usql:select [last-name] :from [employee] :where [like [email] "%org"]
+    (clsql:select [last-name] :from [employee] :where [like [email] "%org"]
                  :order-by [last-name]
                  :flatp t)
   ("Andropov" "Brezhnev" "Chernenko" "Gorbachev" "Kruschev" "Lenin" "Putin"
               "Stalin" "Trotsky" "Yeltsin"))
 
 (deftest :fdml/select/5
-    (usql:select [email] :from [employee] :flatp t 
+    (clsql:select [email] :from [employee] :flatp t 
                  :where [in [employee emplid]
                             [select [managerid] :from [employee]]])
   ("lenin@soviet.org"))
 (deftest :fdml/select/6
     (if (member *test-database-type* '(:postgresql-socket :postgresql))
         (mapcar #'parse-integer
-                (usql:select [function "trunc" [height]] :from [employee]
+                (clsql:select [function "trunc" [height]] :from [employee]
                              :flatp t))
         (mapcar #'(lambda (s) (truncate (parse-integer s :junk-allowed t)))
-                (usql:select [height] :from [employee] :flatp t)))
+                (clsql:select [height] :from [employee] :flatp t)))
   (1 1 1 1 1 1 1 1 1 1))
 
 (deftest :fdml/select/7
               "Trotsky" "Yeltsin"))
 
 (deftest :fdml/select/11
-    (usql:select [last-name] :from [employee] :where [married] :flatp t
+    (clsql:select [last-name] :from [employee] :where [married] :flatp t
                  :order-by [emplid])
   ("Lenin" "Stalin" "Trotsky"))
 
 (deftest :fdml/select/12
     (let ((v 1))
-      (usql:select [last-name] :from [employee] :where [= [emplid] v]))
+      (clsql:select [last-name] :from [employee] :where [= [emplid] v]))
   (("Lenin")))
 
 ;(deftest :fdml/select/11
 
 (deftest :fdml/do-query/1
     (let ((result '()))
-    (usql:do-query ((name) [select [last-name] :from [employee]
+    (clsql:do-query ((name) [select [last-name] :from [employee]
                                    :order-by [last-name]])
       (push name result))
     result)
             "Chernenko" "Brezhnev" "Andropov")) 
 
 (deftest :fdml/map-query/1
-    (usql:map-query 'list #'identity
+    (clsql:map-query 'list #'identity
                     [select [last-name] :from [employee] :flatp t
                             :order-by [last-name]])
   ("Andropov" "Brezhnev" "Chernenko" "Gorbachev" "Kruschev" "Lenin" "Putin"
               "Stalin" "Trotsky" "Yeltsin"))
 
 (deftest :fdml/map-query/2
-    (usql:map-query 'vector #'identity
+    (clsql:map-query 'vector #'identity
                     [select [last-name] :from [employee] :flatp t
                             :order-by [last-name]])
   #("Andropov" "Brezhnev" "Chernenko" "Gorbachev" "Kruschev" "Lenin" "Putin"
 (deftest :fdml/transaction/1
     (let ((results '()))
       ;; test if we are in a transaction
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;;start a transaction 
-      (usql:start-transaction)
+      (clsql:start-transaction)
       ;; test if we are in a transaction
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;;Putin has got to go
       (unless (eql *test-database-type* :mysql)
-        (usql:delete-records :from [employee] :where [= [last-name] "Putin"]))
+        (clsql:delete-records :from [employee] :where [= [last-name] "Putin"]))
       ;;Should be nil 
       (push 
-       (usql:select [*] :from [employee] :where [= [last-name] "Putin"])
+       (clsql:select [*] :from [employee] :where [= [last-name] "Putin"])
        results)
       ;;Oh no, he's still there
-      (usql:rollback)
+      (clsql:rollback)
       ;; test that we are out of the transaction
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;; Check that we got him back alright 
-      (push (usql:select [email] :from [employee] :where [= [last-name] "Putin"]
+      (push (clsql:select [email] :from [employee] :where [= [last-name] "Putin"]
                          :flatp t)
             results)
       (apply #'values (nreverse results)))
 (deftest :fdml/transaction/2
     (let ((results '()))
       ;; test if we are in a transaction
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;;start a transaction 
-      (usql:start-transaction)
+      (clsql:start-transaction)
       ;; test if we are in a transaction
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;;Putin has got to go
       (unless (eql *test-database-type* :mysql)
-        (usql:update-records [employee]
+        (clsql:update-records [employee]
                              :av-pairs '((email "putin-nospam@soviet.org"))
                              :where [= [last-name] "Putin"]))
       ;;Should be new value  
-      (push (usql:select [email] :from [employee]
+      (push (clsql:select [email] :from [employee]
                          :where [= [last-name] "Putin"]
                          :flatp t)
             results)
       ;;Oh no, he's still there
-      (usql:rollback)
+      (clsql:rollback)
       ;; test that we are out of the transaction
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;; Check that we got him back alright 
-      (push (usql:select [email] :from [employee] :where [= [last-name] "Putin"]
+      (push (clsql:select [email] :from [employee] :where [= [last-name] "Putin"]
                          :flatp t)
             results)
       (apply #'values (nreverse results)))
 (deftest :fdml/transaction/3
     (let ((results '()))
       ;; check status 
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;; update records 
       (push
-       (usql:with-transaction () 
-         (usql:update-records [employee] 
+       (clsql:with-transaction () 
+         (clsql:update-records [employee] 
                               :av-pairs '((email "lenin-nospam@soviet.org"))
                               :where [= [emplid] 1]))
        results)
       ;; check status 
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;; check that was committed 
-      (push (usql:select [email] :from [employee] :where [= [emplid] 1]
+      (push (clsql:select [email] :from [employee] :where [= [emplid] 1]
                          :flatp t)
             results)
       ;; undo the changes 
       (push
-       (usql:with-transaction () 
-         (usql:update-records [employee] 
+       (clsql:with-transaction () 
+         (clsql:update-records [employee] 
                               :av-pairs '((email "lenin@soviet.org"))
                               :where [= [emplid] 1]))
        results)
       ;; and check status 
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       ;; check that was committed 
-      (push (usql:select [email] :from [employee] :where [= [emplid] 1]
+      (push (clsql:select [email] :from [employee] :where [= [emplid] 1]
                          :flatp t)
             results)
       (apply #'values (nreverse results)))
 (deftest :fdml/transaction/4
     (let ((results '()))
       ;; check status
-      (push (usql:in-transaction-p) results)
+      (push (clsql:in-transaction-p) results)
       (unless (eql *test-database-type* :mysql)
         (handler-case 
-            (usql:with-transaction () 
+            (clsql:with-transaction () 
               ;; valid update
-              (usql:update-records [employee] 
+              (clsql:update-records [employee] 
                                    :av-pairs '((email "lenin-nospam@soviet.org"))
                                  :where [= [emplid] 1])
             ;; invalid update which generates an error 
-            (usql:update-records [employee] 
+            (clsql:update-records [employee] 
                                  :av-pairs
                                  '((emale "lenin-nospam@soviet.org"))
                                  :where [= [emplid] 1]))
-        (usql:clsql-sql-error ()
+        (clsql:clsql-sql-error ()
           (progn
             ;; check status 
-            (push (usql:in-transaction-p) results)
+            (push (clsql:in-transaction-p) results)
             ;; and check nothing done 
-            (push (usql:select [email] :from [employee] :where [= [emplid] 1]
+            (push (clsql:select [email] :from [employee] :where [= [emplid] 1]
                                :flatp t)
                   results)
             (apply #'values (nreverse results)))))))
   nil nil ("lenin@soviet.org"))
 
-#.(usql:restore-sql-reader-syntax-state)
+#.(clsql:restore-sql-reader-syntax-state)
index 33349084864afe13b0fa4027e650c1d4c941d678..31d30306cac32de2fcd50a05c41d47f099fbbf38 100644 (file)
@@ -3,17 +3,17 @@
 ;;;; File:    test-init.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 12:14:38 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Initialisation utilities for running regression tests on CLSQL-USQL
+;;;; Initialisation utilities for running regression tests on CLSQL. 
 ;;;;
 ;;;; ======================================================================
 
-(in-package #:clsql-usql-tests)
+(in-package #:clsql-tests)
 
 (defvar *test-database-type* nil)
 (defvar *test-database-server* "")
 (defun test-connect-to-database (database-type)
   (setf *test-database-type* database-type)
   ;; Connect to the database
-  (usql:connect (test-database-connection-spec)
+  (clsql:connect (test-database-connection-spec)
                 :database-type database-type
                 :make-default t
                 :if-exists :old))
 (defun test-initialise-database ()
     ;; Delete the instance records
   (with-ignore-errors 
-    (usql:delete-instance-records company1)
-    (usql:delete-instance-records employee1)
-    (usql:delete-instance-records employee2)
-    (usql:delete-instance-records employee3)
-    (usql:delete-instance-records employee4)
-    (usql:delete-instance-records employee5)
-    (usql:delete-instance-records employee6)
-    (usql:delete-instance-records employee7)
-    (usql:delete-instance-records employee8)
-    (usql:delete-instance-records employee9)
-    (usql:delete-instance-records employee10)
+    (clsql:delete-instance-records company1)
+    (clsql:delete-instance-records employee1)
+    (clsql:delete-instance-records employee2)
+    (clsql:delete-instance-records employee3)
+    (clsql:delete-instance-records employee4)
+    (clsql:delete-instance-records employee5)
+    (clsql:delete-instance-records employee6)
+    (clsql:delete-instance-records employee7)
+    (clsql:delete-instance-records employee8)
+    (clsql:delete-instance-records employee9)
+    (clsql:delete-instance-records employee10)
     ;; Drop the required tables if they exist 
-    (usql:drop-view-from-class 'employee)
-    (usql:drop-view-from-class 'company))
+    (clsql:drop-view-from-class 'employee)
+    (clsql:drop-view-from-class 'company))
   ;; Create the tables for our view classes
-  (usql:create-view-from-class 'employee)
-  (usql:create-view-from-class 'company)
+  (clsql:create-view-from-class 'employee)
+  (clsql:create-view-from-class 'company)
   ;; Lenin manages everyone
-  (usql:add-to-relation employee2 'manager employee1)
-  (usql:add-to-relation employee3 'manager employee1)
-  (usql:add-to-relation employee4 'manager employee1)
-  (usql:add-to-relation employee5 'manager employee1)
-  (usql:add-to-relation employee6 'manager employee1)
-  (usql:add-to-relation employee7 'manager employee1)
-  (usql:add-to-relation employee8 'manager employee1)
-  (usql:add-to-relation employee9 'manager employee1)
-  (usql:add-to-relation employee10 'manager employee1)
+  (clsql:add-to-relation employee2 'manager employee1)
+  (clsql:add-to-relation employee3 'manager employee1)
+  (clsql:add-to-relation employee4 'manager employee1)
+  (clsql:add-to-relation employee5 'manager employee1)
+  (clsql:add-to-relation employee6 'manager employee1)
+  (clsql:add-to-relation employee7 'manager employee1)
+  (clsql:add-to-relation employee8 'manager employee1)
+  (clsql:add-to-relation employee9 'manager employee1)
+  (clsql:add-to-relation employee10 'manager employee1)
   ;; Everyone works for Widgets Inc.
-  (usql:add-to-relation company1 'employees employee1)
-  (usql:add-to-relation company1 'employees employee2)
-  (usql:add-to-relation company1 'employees employee3)
-  (usql:add-to-relation company1 'employees employee4)
-  (usql:add-to-relation company1 'employees employee5)
-  (usql:add-to-relation company1 'employees employee6)
-  (usql:add-to-relation company1 'employees employee7)
-  (usql:add-to-relation company1 'employees employee8)
-  (usql:add-to-relation company1 'employees employee9)
-  (usql:add-to-relation company1 'employees employee10)
+  (clsql:add-to-relation company1 'employees employee1)
+  (clsql:add-to-relation company1 'employees employee2)
+  (clsql:add-to-relation company1 'employees employee3)
+  (clsql:add-to-relation company1 'employees employee4)
+  (clsql:add-to-relation company1 'employees employee5)
+  (clsql:add-to-relation company1 'employees employee6)
+  (clsql:add-to-relation company1 'employees employee7)
+  (clsql:add-to-relation company1 'employees employee8)
+  (clsql:add-to-relation company1 'employees employee9)
+  (clsql:add-to-relation company1 'employees employee10)
   ;; Lenin is president of Widgets Inc.
-  (usql:add-to-relation company1 'president employee1)
+  (clsql:add-to-relation company1 'president employee1)
   ;; store these instances 
-  (usql:update-records-from-instance employee1)
-  (usql:update-records-from-instance employee2)
-  (usql:update-records-from-instance employee3)
-  (usql:update-records-from-instance employee4)
-  (usql:update-records-from-instance employee5)
-  (usql:update-records-from-instance employee6)
-  (usql:update-records-from-instance employee7)
-  (usql:update-records-from-instance employee8)
-  (usql:update-records-from-instance employee9)
-  (usql:update-records-from-instance employee10)
-  (usql:update-records-from-instance company1))
+  (clsql:update-records-from-instance employee1)
+  (clsql:update-records-from-instance employee2)
+  (clsql:update-records-from-instance employee3)
+  (clsql:update-records-from-instance employee4)
+  (clsql:update-records-from-instance employee5)
+  (clsql:update-records-from-instance employee6)
+  (clsql:update-records-from-instance employee7)
+  (clsql:update-records-from-instance employee8)
+  (clsql:update-records-from-instance employee9)
+  (clsql:update-records-from-instance employee10)
+  (clsql:update-records-from-instance company1))
 
-(defun test-usql (backend)
-  (format t "~&Running CLSQL-USQL tests with ~A backend.~%" backend)
+(defun run-tests (backend)
+  (format t "~&Running CLSQL tests with ~A backend.~%" backend)
   (test-connect-to-database backend)
   (test-initialise-database)
   (rtest:do-tests))
index aed77007778a70765aa5db92f7d2a84fb8acf4de..51b8d2e227ace3833913cf2c5339705c5bc43a19 100644 (file)
@@ -3,44 +3,44 @@
 ;;;; File:    test-ooddl.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 11:52:11 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Tests for the CLSQL-USQL Object Oriented Data Definition Language
+;;;; Tests for the CLSQL Object Oriented Data Definition Language
 ;;;; (OODDL).
 ;;;;
 ;;;; ======================================================================
 
 
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
 
-#.(usql:locally-enable-sql-reader-syntax)
+#.(clsql:locally-enable-sql-reader-syntax)
 
 ;; Ensure slots inherited from standard-classes are :virtual
 (deftest :ooddl/metaclass/1
     (values 
-     (usql-sys::view-class-slot-db-kind
-      (usql-sys::slotdef-for-slot-with-class 'extraterrestrial
+     (clsql-sys::view-class-slot-db-kind
+      (clsql-sys::slotdef-for-slot-with-class 'extraterrestrial
                                              (find-class 'person)))
-     (usql-sys::view-class-slot-db-kind
-      (usql-sys::slotdef-for-slot-with-class 'hobby (find-class 'person))))
+     (clsql-sys::view-class-slot-db-kind
+      (clsql-sys::slotdef-for-slot-with-class 'hobby (find-class 'person))))
   :virtual :virtual)
 
 ;; Ensure all slots in view-class are view-class-effective-slot-definition
 (deftest :ooddl/metaclass/2
     (values
      (every #'(lambda (slotd)
-                (typep slotd 'usql-sys::view-class-effective-slot-definition))
-            (usql-sys::class-slots (find-class 'person)))
+                (typep slotd 'clsql-sys::view-class-effective-slot-definition))
+            (clsql-sys::class-slots (find-class 'person)))
      (every #'(lambda (slotd)
-                (typep slotd 'usql-sys::view-class-effective-slot-definition))
-            (usql-sys::class-slots (find-class 'employee)))
+                (typep slotd 'clsql-sys::view-class-effective-slot-definition))
+            (clsql-sys::class-slots (find-class 'employee)))
      (every #'(lambda (slotd)
-                (typep slotd 'usql-sys::view-class-effective-slot-definition))
-            (usql-sys::class-slots (find-class 'company))))
+                (typep slotd 'clsql-sys::view-class-effective-slot-definition))
+            (clsql-sys::class-slots (find-class 'company))))
   t t t)
 
 (deftest :ooddl/join/1
 (deftest :ooddl/time/1
     (let* ((now (clsql-base:get-time)))
       (when (member *test-database-type* '(:postgresql :postgresql-socket))
-        (usql:execute-command "set datestyle to 'iso'"))
-      (usql:update-records [employee] :av-pairs `((birthday ,now))
+        (clsql:execute-command "set datestyle to 'iso'"))
+      (clsql:update-records [employee] :av-pairs `((birthday ,now))
                            :where [= [emplid] 1])
-      (let ((dbobj (car (usql:select 'employee :where [= [birthday] now]))))
+      (let ((dbobj (car (clsql:select 'employee :where [= [birthday] now]))))
         (values
          (slot-value dbobj 'last-name)
          (clsql-base:time= (slot-value dbobj 'birthday) now))))
     (let* ((now (clsql-base:get-time))
            (fail-index -1))
       (when (member *test-database-type* '(:postgresql :postgresql-socket))
-        (usql:execute-command "set datestyle to 'iso'"))
+        (clsql:execute-command "set datestyle to 'iso'"))
       (dotimes (x 40)
-        (usql:update-records [employee] :av-pairs `((birthday ,now))
+        (clsql:update-records [employee] :av-pairs `((birthday ,now))
                              :where [= [emplid] 1])
-        (let ((dbobj (car (usql:select 'employee :where [= [birthday] now]))))
+        (let ((dbobj (car (clsql:select 'employee :where [= [birthday] now]))))
           (unless (clsql-base:time= (slot-value dbobj 'birthday) now)
             (setf fail-index x))
           (setf now (clsql-base:roll now :day (* 10 x)))))
       fail-index)
   -1)
 
-#.(usql:restore-sql-reader-syntax-state)
+#.(clsql:restore-sql-reader-syntax-state)
index f0cd3b01169cbf9041d96085048f50b264a3dbf6..98a93fd46ae65b6579a2de2437be2f7af32a9e56 100644 (file)
@@ -3,35 +3,35 @@
 ;;;; File:    test-oodml.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 01/04/2004
-;;;; Updated: <04/04/2004 11:51:23 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Tests for the CLSQL-USQL Object Oriented Data Definition Language
+;;;; Tests for the CLSQL Object Oriented Data Definition Language
 ;;;; (OODML).
 ;;;;
 ;;;; ======================================================================
 
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
 
-#.(usql:locally-enable-sql-reader-syntax)
+#.(clsql:locally-enable-sql-reader-syntax)
 
 (deftest :oodml/select/1
     (mapcar #'(lambda (e) (slot-value e 'last-name))
-            (usql:select 'employee :order-by [last-name]))
+            (clsql:select 'employee :order-by [last-name]))
   ("Andropov" "Brezhnev" "Chernenko" "Gorbachev" "Kruschev" "Lenin" "Putin"
               "Stalin" "Trotsky" "Yeltsin"))
 
 (deftest :oodml/select/2
     (mapcar #'(lambda (e) (slot-value e 'name))
-            (usql:select 'company))
+            (clsql:select 'company))
   ("Widgets Inc."))
 
 (deftest :oodml/select/3
     (mapcar #'(lambda (e) (slot-value e 'companyid))
-            (usql:select 'employee
+            (clsql:select 'employee
                          :where [and [= [slot-value 'employee 'companyid]
                                         [slot-value 'company 'companyid]]
                                      [= [slot-value 'company 'name]
@@ -43,7 +43,7 @@
                 (concatenate 'string (slot-value e 'first-name)
                              " "
                              (slot-value e 'last-name)))
-            (usql:select 'employee :where [= [slot-value 'employee 'first-name]
+            (clsql:select 'employee :where [= [slot-value 'employee 'first-name]
                                              "Vladamir"]
                          :order-by [last-name]))
   ("Vladamir Lenin" "Vladamir Putin"))
@@ -57,7 +57,7 @@
 (deftest :oodml/update-records/1
     (values
      (progn
-       (let ((lenin (car (usql:select 'employee
+       (let ((lenin (car (clsql:select 'employee
                                       :where [= [slot-value 'employee 'emplid]
                                                 1]))))
          (concatenate 'string
@@ -70,8 +70,8 @@
          (setf (slot-value employee1 'first-name) "Dimitriy" 
                (slot-value employee1 'last-name) "Ivanovich"
                (slot-value employee1 'email) "ivanovich@soviet.org")
-         (usql:update-records-from-instance employee1)
-         (let ((lenin (car (usql:select 'employee
+         (clsql:update-records-from-instance employee1)
+         (let ((lenin (car (clsql:select 'employee
                                       :where [= [slot-value 'employee 'emplid]
                                                 1]))))
            (concatenate 'string
@@ -84,8 +84,8 @@
          (setf (slot-value employee1 'first-name) "Vladamir" 
                (slot-value employee1 'last-name) "Lenin"
                (slot-value employee1 'email) "lenin@soviet.org")
-         (usql:update-records-from-instance employee1)
-         (let ((lenin (car (usql:select 'employee
+         (clsql:update-records-from-instance employee1)
+         (let ((lenin (car (clsql:select 'employee
                                       :where [= [slot-value 'employee 'emplid]
                                                 1]))))
            (concatenate 'string
 (deftest :oodml/update-records/2
     (values
      (employee-email
-      (car (usql:select 'employee
+      (car (clsql:select 'employee
                         :where [= [slot-value 'employee 'emplid] 1])))
      (progn
        (setf (slot-value employee1 'email) "lenin-nospam@soviet.org")
-       (usql:update-record-from-slot employee1 'email)
+       (clsql:update-record-from-slot employee1 'email)
        (employee-email
-        (car (usql:select 'employee
+        (car (clsql:select 'employee
                           :where [= [slot-value 'employee 'emplid] 1]))))
      (progn 
        (setf (slot-value employee1 'email) "lenin@soviet.org")
-       (usql:update-record-from-slot employee1 'email)
+       (clsql:update-record-from-slot employee1 'email)
        (employee-email
-        (car (usql:select 'employee
+        (car (clsql:select 'employee
                           :where [= [slot-value 'employee 'emplid] 1])))))
   "lenin@soviet.org" "lenin-nospam@soviet.org" "lenin@soviet.org")
 
 ;; tests update-record-from-slots
 (deftest :oodml/update-records/3
     (values
-     (let ((lenin (car (usql:select 'employee
+     (let ((lenin (car (clsql:select 'employee
                                     :where [= [slot-value 'employee 'emplid]
                                               1]))))
        (concatenate 'string
        (setf (slot-value employee1 'first-name) "Dimitriy" 
              (slot-value employee1 'last-name) "Ivanovich"
              (slot-value employee1 'email) "ivanovich@soviet.org")
-       (usql:update-record-from-slots employee1 '(first-name last-name email))
-       (let ((lenin (car (usql:select 'employee
+       (clsql:update-record-from-slots employee1 '(first-name last-name email))
+       (let ((lenin (car (clsql:select 'employee
                                       :where [= [slot-value 'employee 'emplid]
                                                 1]))))
          (concatenate 'string
        (setf (slot-value employee1 'first-name) "Vladamir" 
              (slot-value employee1 'last-name) "Lenin"
              (slot-value employee1 'email) "lenin@soviet.org")
-       (usql:update-record-from-slots employee1 '(first-name last-name email))
-       (let ((lenin (car (usql:select 'employee
+       (clsql:update-record-from-slots employee1 '(first-name last-name email))
+       (let ((lenin (car (clsql:select 'employee
                                       :where [= [slot-value 'employee 'emplid]
                                                 1]))))
          (concatenate 'string
                   ": "
                   (slot-value employee1 'email))
      (progn
-       (usql:update-records [employee] 
+       (clsql:update-records [employee] 
                             :av-pairs '(([first-name] "Ivan")
                                         ([last-name] "Petrov")
                                         ([email] "petrov@soviet.org"))
                             :where [= [emplid] 1])
-       (usql:update-instance-from-records employee1)
+       (clsql:update-instance-from-records employee1)
        (concatenate 'string
                     (slot-value employee1 'first-name)
                     " "
                     ": "
                     (slot-value employee1 'email)))
      (progn 
-       (usql:update-records [employee] 
+       (clsql:update-records [employee] 
                             :av-pairs '(([first-name] "Vladamir")
                                         ([last-name] "Lenin")
                                         ([email] "lenin@soviet.org"))
                             :where [= [emplid] 1])
-       (usql:update-instance-from-records employee1)
+       (clsql:update-instance-from-records employee1)
        (concatenate 'string
                     (slot-value employee1 'first-name)
                     " "
     (values
      (slot-value employee1 'email)
      (progn
-       (usql:update-records [employee] 
+       (clsql:update-records [employee] 
                             :av-pairs '(([email] "lenin-nospam@soviet.org"))
                             :where [= [emplid] 1])
-       (usql:update-slot-from-record employee1 'email)
+       (clsql:update-slot-from-record employee1 'email)
        (slot-value employee1 'email))
      (progn 
-       (usql:update-records [employee] 
+       (clsql:update-records [employee] 
                             :av-pairs '(([email] "lenin@soviet.org"))
                             :where [= [emplid] 1])
-       (usql:update-slot-from-record employee1 'email)
+       (clsql:update-slot-from-record employee1 'email)
        (slot-value employee1 'email)))
   "lenin@soviet.org" "lenin-nospam@soviet.org" "lenin@soviet.org")
 
 
 ;(deftest :oodml/iteration/1
-;    (usql:do-query ((e) [select 'usql-tests::employee :where [married]
+;    (clsql:do-query ((e) [select 'clsql-tests::employee :where [married]
 ;                                :order-by [emplid]])
 ;      (slot-value e last-name))
 ;  ("Lenin" "Stalin" "Trotsky"))
 
 ;(deftest :oodml/iteration/2
-;    (usql:map-query 'list #'last-name [select 'employee :where [married]
+;    (clsql:map-query 'list #'last-name [select 'employee :where [married]
 ;                                              :order-by [emplid]])
 ;  ("Lenin" "Stalin" "Trotsky"))
 
 ;  ("Lenin" "Stalin" "Trotsky"))
 
 
-#.(usql:restore-sql-reader-syntax-state)
+#.(clsql:restore-sql-reader-syntax-state)
index e71d86336e37fbd00655512d22b7f6d47963afa8..c0939aca3fefdfc64f344f73532a6d191e47ae8a 100644 (file)
 ;;;; File:    test-syntax.lisp
 ;;;; Author:  Marcus Pearce <m.t.pearce@city.ac.uk>
 ;;;; Created: 30/03/2004
-;;;; Updated: <04/04/2004 11:51:40 marcusp>
+;;;; Updated: $Id: $
 ;;;; ======================================================================
 ;;;;
 ;;;; Description ==========================================================
 ;;;; ======================================================================
 ;;;;
-;;;; Tests for the CLSQL-USQL Symbolic SQL syntax. 
+;;;; Tests for the CLSQL Symbolic SQL syntax. 
 ;;;;
 ;;;; ======================================================================
 
-(in-package :clsql-usql-tests)
+(in-package #:clsql-tests)
 
-#.(usql:locally-enable-sql-reader-syntax)
+#.(clsql:locally-enable-sql-reader-syntax)
 
 
 (deftest :syntax/generic/1
-    (usql:sql "foo")
+    (clsql:sql "foo")
   "'foo'")
 
 (deftest :syntax/generic/2
-    (usql:sql 23)
+    (clsql:sql 23)
   "23")
 
 (deftest :syntax/generic/3
-    (usql:sql 'bar)
+    (clsql:sql 'bar)
   "BAR")
 
 (deftest :syntax/generic/4
-    (usql:sql '("ten" 10 ten))
+    (clsql:sql '("ten" 10 ten))
   "('ten',10,TEN)")
 
 (deftest :syntax/generic/5
-    (usql:sql ["SELECT FOO,BAR FROM BAZ"])
+    (clsql:sql ["SELECT FOO,BAR FROM BAZ"])
   "SELECT FOO,BAR FROM BAZ")
 
 
 (deftest :syntax/ident/1
-    (usql:sql [foo])
+    (clsql:sql [foo])
   "FOO")
 
 (deftest :syntax/ident/2
-    (usql:sql [foo bar])
+    (clsql:sql [foo bar])
   "FOO.BAR")
 
 ;; not sure about this one 
 (deftest :syntax/ident/3
-    (usql:sql ["foo" bar])
+    (clsql:sql ["foo" bar])
   "foo.BAR")
 
 ;(deftest :syntax/ident/4
-;    (usql:sql [foo "bar"])
+;    (clsql:sql [foo "bar"])
 ;  "FOO \"bar\"")
 
 (deftest :syntax/ident/5
-    (usql:sql [foo :integer])
+    (clsql:sql [foo :integer])
   "FOO INTEGER")
 
 (deftest :syntax/ident/6
-    (usql:sql [foo bar :integer])
+    (clsql:sql [foo bar :integer])
   "FOO.BAR INTEGER")
 
 ;; not sure about this one 
 (deftest :syntax/ident/7
-    (usql:sql ["foo" bar :integer])
+    (clsql:sql ["foo" bar :integer])
   "foo.BAR INTEGER")
 
 
 (deftest :syntax/value/1
-    (usql:sql [any '(3 4)])
+    (clsql:sql [any '(3 4)])
   "(ANY ((3,4)))")
 
 (deftest :syntax/value/2
-    (usql:sql [* 2 3])
+    (clsql:sql [* 2 3])
   "(2 * 3)")
 
 
 (deftest :syntax/relational/1
-    (usql:sql [> [baz] [beep]])
+    (clsql:sql [> [baz] [beep]])
   "(BAZ > BEEP)")
 
 (deftest :syntax/relational/2
     (let ((x 10))
-      (usql:sql [> [foo] x]))
+      (clsql:sql [> [foo] x]))
   "(FOO > 10)")
 
 
 (deftest :syntax/function/1
-    (usql:sql [function "COS" [age]])
+    (clsql:sql [function "COS" [age]])
   "COS(AGE)")
 
 (deftest :syntax/function/2
-    (usql:sql [function "TO_DATE" "02/06/99" "mm/DD/RR"])
+    (clsql:sql [function "TO_DATE" "02/06/99" "mm/DD/RR"])
   "TO_DATE('02/06/99','mm/DD/RR')")
 
 (deftest :syntax/query/1
-    (usql:sql [select [person_id] [surname] :from [person]])
+    (clsql:sql [select [person_id] [surname] :from [person]])
   "SELECT PERSON_ID,SURNAME FROM PERSON")
 
 (deftest :syntax/query/2 
-    (usql:sql [select [foo] [bar *]
+    (clsql:sql [select [foo] [bar *]
                       :from '([baz] [bar])
                       :where [or [= [foo] 3]
                                  [> [baz.quux] 10]]])
   "SELECT FOO,BAR.* FROM BAZ,BAR WHERE ((FOO = 3) OR (BAZ.QUUX > 10))")
 
 (deftest :syntax/query/3
-    (usql:sql [select [foo bar] [baz]
+    (clsql:sql [select [foo bar] [baz]
                       :from '([foo] [quux])
                       :where [or [> [baz] 3]
                                  [like [foo bar] "SU%"]]])
   "SELECT FOO.BAR,BAZ FROM FOO,QUUX WHERE ((BAZ > 3) OR (FOO.BAR LIKE 'SU%'))")
 
 (deftest :syntax/query/4
-    (usql:sql [select [count [*]] :from [emp]])
+    (clsql:sql [select [count [*]] :from [emp]])
   "SELECT COUNT(*) FROM EMP")
   
 
 (deftest :syntax/expression1
-    (usql:sql
-     (usql:sql-operation
+    (clsql:sql
+     (clsql:sql-operation
       'select
-      (usql:sql-expression :table 'foo :attribute 'bar)
-      (usql:sql-expression :attribute 'baz)
+      (clsql:sql-expression :table 'foo :attribute 'bar)
+      (clsql:sql-expression :attribute 'baz)
       :from (list 
-             (usql:sql-expression :table 'foo)
-             (usql:sql-expression :table 'quux))
+             (clsql:sql-expression :table 'foo)
+             (clsql:sql-expression :table 'quux))
       :where
-      (usql:sql-operation 'or 
-                          (usql:sql-operation
+      (clsql:sql-operation 'or 
+                          (clsql:sql-operation
                            '>
-                           (usql:sql-expression :attribute 'baz)
+                           (clsql:sql-expression :attribute 'baz)
                            3)
-                          (usql:sql-operation
+                          (clsql:sql-operation
                            'like
-                           (usql:sql-expression :table 'foo
+                           (clsql:sql-expression :table 'foo
                                                 :attribute 'bar)
                            "SU%"))))
   "SELECT FOO.BAR,BAZ FROM FOO,QUUX WHERE ((BAZ > 3) OR (FOO.BAR LIKE 'SU%'))")
   
 (deftest :syntax/expression/2
-    (usql:sql
-     (apply (usql:sql-operator 'and)
+    (clsql:sql
+     (apply (clsql:sql-operator 'and)
             (loop for table in '(thistime nexttime sometime never)
                   for count from 42
                   collect
                   [function "BETWEEN"
-                            (usql:sql-expression :table table
+                            (clsql:sql-expression :table table
                                                  :attribute 'bar)
-                            (usql:sql-operation '* [hip] [hop])
+                            (clsql:sql-operation '* [hip] [hop])
                             count]
                   collect
-                  [like (usql:sql-expression :table table
+                  [like (clsql:sql-expression :table table
                                              :attribute 'baz)
-                        (usql:sql table)])))
+                        (clsql:sql table)])))
   "(BETWEEN(THISTIME.BAR,(HIP * HOP),42) AND (THISTIME.BAZ LIKE 'THISTIME') AND BETWEEN(NEXTTIME.BAR,(HIP * HOP),43) AND (NEXTTIME.BAZ LIKE 'NEXTTIME') AND BETWEEN(SOMETIME.BAR,(HIP * HOP),44) AND (SOMETIME.BAZ LIKE 'SOMETIME') AND BETWEEN(NEVER.BAR,(HIP * HOP),45) AND (NEVER.BAZ LIKE 'NEVER'))")
   
-#.(usql:restore-sql-reader-syntax-state)
\ No newline at end of file
+#.(clsql:restore-sql-reader-syntax-state)