From: schlenk on
On Dec 18, 2:50 am, frsp...(a)hotmail.com wrote:
> The old version of Tcl and Oratcl have been used in quite a lot of our
> script-products for years .And we worry about raising other big
> problems while updating Tcl and its tool libs.
>
> But you are right ,the latest version of Tcl and Oratcl would be
> better,so we'd better update them gradually.

If your lucky and compiled all your extensions with stubs support you
may be able to use the old libs with a new Tcl 8.5 core without
recompile, there are some changes, but in general its fairly stable.
See the Changes pages on the Wiki.

Michael
From: thelfter on
On Dec 17, 8:50 pm, frsp...(a)hotmail.com wrote:
> On 12ÔÂ17ÈÕ, ÏÂÎç12ʱ14·Ö, "thelf...(a)gmail.com" <thelf...(a)gmail.com> wrote:
>
> > On Dec 16, 5:28 am, frsp...(a)hotmail.com wrote:
> > Hello Toto,
>
> > I've emailed you a patch to the oratcl.c file that may do what you
> > want. I am curious why you would use such an old version of Tcl and
> > Oratcl. I would recommend Tcl 8.5 and Oratcl 4.4.
>
> > Oratcl 4.4 is capable of connecting to Oracle 8i , 9i , 10g and 11g
>
> > -Todd- Òþ²Ø±»ÒýÓÃÎÄ×Ö -
>
> > - ÏÔʾÒýÓõÄÎÄ×Ö -
>
> Thanks Todd!
>
> I have recompiled Oratcl and it works!
>
> The old version of Tcl and Oratcl have been used in quite a lot of our
> script-products for years .And we worry about raising other big
> problems while updating Tcl and its tool libs.
>
> But you are right ,the latest version of Tcl and Oratcl would be
> better,so we'd better update them gradually.
>
> Here is the patch,it may be useful to someone else :
> [thelfter(a)dl320 generic]$ cvs diff -u oratcl.c
> Index: oratcl.c
> ===================================================================
> RCS file: /cvsroot/oratcl/oratcl/generic/oratcl.c,v
> retrieving revision 1.33.2.15
> diff -u -r1.33.2.15 oratcl.c
> --- oratcl.c 3 Jul 2003 14:36:47 -0000 1.33.2.15
> +++ oratcl.c 16 Dec 2008 14:07:45 -0000
> @@ -2609,6 +2609,7 @@
> (OCISnapshot *) NULL,
> oci_mode);
>
> +#if 0
> Oratcl_Checkerr(interp, LogPtr->errhp, rc, 0);
>
> if (rc == OCI_ERROR || rc == OCI_INVALID_HANDLE) {
> @@ -2617,6 +2618,10 @@
> ": SQL execution failed.",
> (Tcl_Obj *) NULL,
> (char *) NULL);
> +#endif
> +
> + Oratcl_Checkerr(interp, LogPtr->errhp, rc, 1);
> + if (rc == OCI_ERROR || rc == OCI_INVALID_HANDLE) {
> Oratcl_ColFree(StmPtr->col_list);
> StmPtr->col_list = NULL;
> Oratcl_ColFree(StmPtr->bind_list);
>
> -Toto

Glad it is all working for you. I'm currently working on an Oratcl e-
book that includes a chapter on conversion of Oratcl 3 programs to
Oratcl 4.
I'll email you a beta copy soon.

FYI, I'm 99% certain that there is no way that Oratcl 3.3 will compile
with Tcl 8.5, when you get ready to begin conversion, let me know and
I'll provide guidance.

-Todd

-Todd