I would endorse the use of an initialization functions as being clean and efficient and one of the simplest and most logical of optimizations, eliminating common expressions.

Since your typical application program has an initialization phase it is trivial to add the new API function to legacy applications.

Joe Wilson wrote:
I think the proposed sqlite3_initialize() is a good idea and the library might be a bit smaller/faster as well due to removal of initialization checks in various functions.

Any concern about operating systems that already ship with a shared sqlite3 library? Or is that what shared library version numbers
are for?

--- [EMAIL PROTECTED] wrote:

"Robert Simpson" <[EMAIL PROTECTED]> wrote:

Is there a reason this can't be checked/done in sqlit3_open() via an
InterlockedCompareExchange() operation on the static integer, and if the
mutexes don't exist and can't be created, you just return a different error
code?


That's the other option.  Though we would have to do this on
multiple interfaces.  Here is a list (complete, I think) off
all SQLite interfaces that can be called "first" and would
thus need to have the test you propose:

sqlite3_auto_extension
sqlite3_complete
sqlite3_complete16
sqlite3_enable_load_extension
sqlite3_enable_shared_cache
sqlite3_global_recover
sqlite3_libversion
sqlite3_libversion_number
sqlite3_load_extension
sqlite3_malloc
sqlite3_memory_alarm
sqlite3_memory_highwater
sqlite3_memory_used
sqlite3_mprintf
sqlite3_mutex_alloc
sqlite3_open
sqlite3_open16
sqlite3_open_v2
sqlite3_realloc
sqlite3_release_memory
sqlite3_reset_auto_extension
sqlite3_sleep
sqlite3_snprintf
sqlite3_soft_heap_limit
sqlite3_thread_cleanup
sqlite3_threadsafe
sqlite3_vfs_find
sqlite3_vfs_register
sqlite3_vfs_unregister
sqlite3_vmprintf

--
D. Richard Hipp <[EMAIL PROTECTED]>



__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------



-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to