Create database from a execute statement on external
When ISQL executes create database statement on success created database becomes current, Inside execute statement this is close to unreal - replacing active database with another will cause shock for our engine. I.e. I suggest to create new database and immediately close it. Later one can use execute statement on external to access it.
Create database from execute statement should definitly not do a connect, right after we created a database, it will be filled by other execute statements with metadata and data when it is needed.
So, support create database from execute statement should be the single operation to create a database wih the same possible options as allowed using isql, for example page_size, default charset, default collate, etc, but after the command is executed, the connection should be immidiately closed, because any lateroperation on this db is not needed to be done in the same moment.
One can:
execute block as begin execute statement 'create database /tmp/t1'; end^
(use current connection's credentials) or
execute block as begin execute statement 'create database localhost:/tmp/t2 user sysdba password masterkey '; end^
(provide login/password for remote server in create database statement) or
execute block as begin execute statement 'create database localhost:/tmp/t3' as user 'sysdba' password 'masterkey'; end^
(provide login/password for remote server in execute statement). All other options works exactly like in isql (same API is used to run statement).
back to top of page
<< Additional client info field | Firebird Special Edition by IBExpert | Filtering firebird.log in services >>