Recent News

OCILIB v3.4.1 coming on November, Monday 23th !

Posted by Vincent Rogier on November 20th, 2009

Hello !

OCILIB v3.4.1 will be available by next monday (2009-11-23).

The SourceForge SVN will be updated with the last sources this weekend and release packages available on SourceForge by monday.

This release only contains bug fixes and minor changes that could not wait for v3.5.0 that has been developed for last few month.

Here is the changelog of the 3.4.1 :

2009-11-23 Version 3.4.1 Vincent Rogier vince.rogier@gmail.com
 
    * Native 64 bits fixes
 
      - Fixed Direct Path API
      - Added casts + modified some variables types
 
    * PL/SQL support fixes
      - Segmentation fault could happen when using OCI_Date binds in PL/SQL statements
      - Binds values for OCI_Date and big_int variable where not updated after OCI_Execute for PL/SQL
      - OCI_ServerGetOutput() : ouput was broken if statements PL/LSQL statmeent/blocks were re-executed
      - OCI_ServerGetOutput() : trash string was returned if the number of amonut of output lines was greater than the value of the  <arrsize> parameter of OCI_ServerEnableOutput()
 
    * Miscellaneous fixes
 
      - OCI_ImmediateFmt(), OCI_PrepareFmt(), OCI_ExecuteStmtFmt():  trailing character of formatted string representation of dates was missing on non windows plaftorms
      - OCI_ObjectGetColl() : the internal OCI Collection handle of the returned OCI_Coll object was invalid and thus caused segfault when calling OCI_Coll functions afterward for these objects
      - OCI_DateNextDay() : On unixes platforms+Unicode builds -> wrong value passed to the OCI internal call
 
    * Miscellaneous  changes
 
      - OCI_RefToText() : parameter size is now if type <unsigned int> instead of <int>
      - Modified : OCI_BIND_MAX (maximum number of binds for a statement) is now 1024 by default instead of 512
      - Added Oracle spatial demo source (demo/geometry.c)

Next version, v3.5.0, is a massive internal rewrite for handling different types of strings.

At the moment, OCILIB handles string as :

- char *  (OCI_CHARSET_ANSI)
- wchar_t * (OCI_CHARSET_UNICODE)
- mixed mode for char * statements and wchar_t * user data (OCI_CHARSET_MIXED)

I implemented a portable way to use wchar_t on all platforms (but a real pain internally!) as OCI handles Unicode string as fixed 2 bytes UTF16.

On MS windows, that’s good because Microsoft C runtime implements wchar_t as UTF16.
On most of unixes, wchart_t is 4 bytes and OCILIB uses internal buffers when talking to OCI and pack/unpack data from/to user strings.

All of that works well…. But when working in Unicode mode on unixes with big resultsets or binds, performance can suffer of internal conversions (even if the internal routines are quite efficient)

So, I decided to refactor OCILIB charset modes as follow :

OCI_CHARSET_ANSI
OCI_CHARSET_UTF8
OCI_CHARSET_UTF16
OCI_CHARSET_UTF32

For backwards compatibility, OCILIB v3.5.0 defines :

OCI_CHARSET_UTF16 if user has defined OCI_CHARSET_UNICODE on MS Windows
OCI_CHARSET_UTF32 if user has defined OCI_CHARSET_UNICODE on unixes

The new mode OCI_CHARSET_UTF8 internally initializes OCI in UTF16 and performs conversion on the fly when needed to not loose surrogates.

These new modes would allow an Unix programmer to pass its own UTF16 strings (from a third party lib or from its own implementation) to OCILIB with better performances.
And a programmer that want to use native wchar_t would still be able to do so (using the actual OCILIB implementation).

To summarize, OCILIB users will be able to chose the type of strings that they want to use between ANSI, UTF8, UTF16 and UTF32 whatever the platform

Have a nice week end !

OCILIB v3.4.0 now available for download

Posted by Vincent Rogier on July 31st, 2009

OCILIB v3.4.0 is now available for download ! Here is the list of the main changes :

  • Added support for Oracle 11g remote instance management
  • Miscelleanous fixes (binds, collections, etc.., see changelog for more details)
  • Miscelleanous modifications (Oracle version handling, etc…, see changelog for more details)

See the complete v3.4.0 change log here

Get the release and enjoy it !

Have a nice weekend.

Support for 11g remote Instance management in OCILIB v3.4.0

Posted by Vincent Rogier on July 27th, 2009

Hello,

OCILIB v3.4.0 is coming soon :)

This release fixes 3 bugs and adds support for Oracle 11g remote Instance startup/shutdown.

Here is a sample app that startups a remote instance and then shuts it down :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "ocilib.h"
 
int main(int argc, char **argv)
{ 
    OCI_Initialize(error, NULL,  OCI_ENV_DEFAULT);
 
    /* start remote instance */
 
    OCI_DatabaseStartup("db", 
                        "sys_user", 
                        "sys_pwd",                
                        OCI_SESSION_SYSDBA, 
                        OCI_DB_SPM_FULL,
                        OCI_DB_SPF_DEFAULT,
                        NULL);
 
 
     /* shutdown remote instance */
 
    OCI_DatabaseShutdown("db", 
                        "sys_user", 
                        "sys_pwd", 
                         OCI_SESSION_SYSDBA,
                         OCI_DB_SDM_FULL,
                         OCI_DB_SDF_DEFAULT);
 
    OCI_Cleanup();
 
    return EXIT_SUCCESS;
}

Isn’t cool ?

Have a nice day..

OCILIB v3.3.0 now available for download

Posted by Vincent Rogier on July 6th, 2009

OCILIB v3.3.0 is now available for download ! Here is the list of the main changes :

  • Added SQL command and verb retrieving
  • Added support for batched errors for Array DML
  • Extended Lob Support
  • Extended Collection API
  • Modified and extended Bind API
  • Extended OCI_ImmediateXXX() API
  • Extended OCI_XXXFmt() API
  • Miscelleanous fixes (see changelog)
  • Miscelleanous modifications (see changelog)

See the complete v3.3.0 change log here

Get the release and enjoy it !

Have a nice week.

OCILIB SVN repository has been updated (2009-06-10)

Posted by Vincent Rogier on June 11th, 2009

The current development snapshot of v3.3.0 has been updated.

You can browse the repository on sourceforge here
The temporary v3.3.0 changelog is available here

Main modification of the current development version 3.3.0 :

  • Added SQL command and verb retrieving
  • Added support for batched errors for Array DML
  • Extended Lob Support
  • Extended Collection API
  • Modified and extended Bind API
  • Miscellaneous changes
  • Miscellaneous fixes

This version should be released soon…

Have a nice day and nice week end

Recent Comments | Recent Posts

Copyright © OCILIB | OCILIB Logo designed by WolfHound (Developpez.com)
Theme based on Wordpress AngelicDesign by: Website Builder
bottom