solidDB Help : solidDB reference : solidDB Server Control (SSC) API : SSC API reference : SSCStartSMAServer
  
SSCStartSMAServer
The SSCStartSMAServer function starts a server using SMA.
Synopsis
SscRetT SSC_CALL SSCStartSMAServer (int argc, char* argv[ ],
   SscServerT * h, SscStateT runflags, char* lic_string, char* ini_string);
Parameters
The following table describes the parameters:
 
Parameters
Usage type
Description
argc
in
The number of command-line arguments.
argv
in, use
Array of command-line arguments that are used during the function call. The argument argv[0] is reserved only for the path and filename of the user application and must be present.
For a list of available arguments, see Command line options.
h
out
Returns a handle to the started server. This handle is needed when referencing the server with other Control API functions.
runflags
in
The value for this parameter is a combination of 2 flags: the open flag and the netcopy disabling flag. The following flag symbols can be used:
SSC_STATE_OPEN – the open flag is set to 1: new connections are allowed.
SSC_STATE_CLOSED – the open flag is set to 0: all new network and SMA connections are rejected, except for connections from solidDB Remote Control (solcon) program.
SSC_DISABLE_NETCOPY – the netcopy disabling flag is set to 1: in HotStandby configuration, no netcopy can be received by the server for which SSC_DISABLE_NETCOPY is set.
The flag does not prevent the server to act as a source of netcopy. If only SSC_DISABLE_NETCOPY flag is set, the server is in the closed state. To enable netcopy, use the SSC API function SSCSetState() with the runflag value SSC_STATE_OPEN or SSC_STATE_CLOSED.
runflags = SSC_STATE_OPEN | SSC_STATE_CLOSED | SSC_DISABLE_NETCOPY
Note The flags can be used in combinations, for example:
...
rc = SSCStartSMAServer(g_argc, g_argv, &hh,
SSC_STATE_OPEN|SSC_DISABLE_NETCOPY);
...
If the server is started as closed, it can be opened with ADMIN COMMAND 'open', or with the solcon command open. The same effect can be achieved with the SSC API function SSCSetState().
Return values
SSC_SUCCESS - The server started.
SSC_ERROR - The server failed to start.
SSC_ABORT
SSC_BROKENNETCOPY - Database corrupted because of incomplete netcopy.
SSC_FINISHED
SSC_CONT
SSC_CONNECTIONS_EXIST
SSC_UNFINISHED_TASKS
SSC_INVALID_HANDLE - Invalid local server handle given.
SSC_INVALID_LICENSE - No license or invalid license file found.
SSC_NODATABASEFILE - No database file found.
SSC_SERVER_NOTRUNNING
SSC_INFO_SERVER_RUNNING - The server is already running.
SSC_SERVER_INNETCOPYMODE - The server is in netcopy mode (HotStandby only).
SSC_DBOPENFAIL - Failed to open database.
SSC_DBCONNFAIL - Failed to connect to database.
SSC_DBTESTFAIL - Database test failed.
SSC_DBFIXFAIL - Database fix failed.
SSC_MUSTCONVERT - Database must be converted.
SSC_DBEXIST - Database exists.
SSC_DBNOTCREATED - Database not created.
SSC_DBCREATEFAIL - Database create failed.
SSC_COMINITFAIL - Communication init failed.
SSC_COMLISTENFAIL - Communication listen failed.
SSC_SERVICEFAIL - Service operation failed.
SSC_ILLARGUMENT - Illegal command line argument.
SSC_CHDIRFAIL - Failed to change directory.
SSC_INFILEOPENFAIL - Input file open failed.
SSC_OUTFILEOPENFAIL - Output file open failed.
SSC_SRVCONNFAIL - Server connect failed.
SSC_INITERROR - Operation init failed.
SSC_CORRUPTED_DBFILE - Assert or other fatal error.
SSC_CORRUPTED_LOGFILE - Assert or other fatal error.
Comments
By default, the state is set to SSC_STATE_OPEN.
This function has no corresponding solidDB SQL extension ADMIN COMMAND.
When you start a new solidDB server, you must explicitly specify that solidDB create a database with the function SSCStartSMAServer() with the -U username -P password -C catalogname (the default database catalog name) parameters.
If you are restarting a database server (a database exists in the directory), then SSCStartSMAServer uses the existing database.
The SSCStartSMAServer function can spawn multiple threads to run the server tasks. The server tasks include processing local and remote client requests, as well as running various background tasks, such as checkpoints, merges, and so on.
Go up to
SSC API reference