Adriano dos Santos Fernandes wrote:
> Could also be done with isc_create_database.

The IB6 API documentation notes this as:
"The isc_create_database( ) method is not currently supported
from user applications. It is for internal use only. Use
isc_dsql_execute_immediate( ) to create a database with a
valid database handle."

Which I always took to mean that it was not to be used and I
could not find any release notes changing that status.  If
this is now considered a public API then I think I will change
my code to use that instead.


>> So when isc_dsql_execute_immediate is called with CREATE DATABASE
>> the database handle is null and there is no current connection
>> character set.  How is the statement string interpreted?
>>
> CREATE DATABASE is preparsed in the client. It has SET NAMES
> <charset> clause.

> Client don't send it to server. It calls isc_create_database
> passing isc_dpb_lc_ctype.

> There is no SQL text command involved.

That will be why I had so much trouble finding how it was processed
in the server source code ;-)

Hmmm... SET NAMES I thought an ISQL only command.  Can I send that
via isc_dsql_execute_immediate or something to change some internal
state in the client DLL?

-- 
Geoff Worboys
Telesis Computing


------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to