C Driver API 3.0.0
API for the NuoDB C Driver Library
Loading...
Searching...
No Matches
connection.h
Go to the documentation of this file.
1/* (C) Copyright 2015-2023 Dassault Systemes SE. All Rights Reserved. */
2
3#ifndef _NUODB_CONNECTION_H_
4#define _NUODB_CONNECTION_H_ 1
5
6#ifndef _NUODB_UTILS_H_
7#include "nuodb/utils.h"
8#endif
9
10#ifndef _NUODB_STRUCTS_H_
11#include "nuodb/structs.h"
12#endif
13
14#ifndef _NUODB_ERROR_H_
15#include "nuodb/error.h"
16#endif
17
18/* c-driver */
19#ifdef __cplusplus
20extern "C" {
21#endif
22
81
82
85
97{
99 _NuoDB_Connection_state_t* _state;
100
118
134 char* (* convertUtf8ToLocal)(NuoDB_Connection* connection, const char* s, size_t sLen);
135
146 const char* (* getActiveEncoding)(NuoDB_Connection* connection);
147
161
171
181 const char* (* getDefaultEncoding)(NuoDB_Connection* connection);
182
201 NuoDB_DatabaseMetaData* (* getMetaData)(NuoDB_Connection* connection);
202
218 NuoDB_Status (* getSchema)(NuoDB_Connection* connection, char** schemaName, size_t* length);
219
241
253
265
277
299 const char* dbname,
300 const char* user,
301 const char* password,
302 NuoDB_Options* options);
314
330
351
365 nuodb_bool_t readOnly);
366
367
388
413 const char* encoding);
414
447 const char* encoding);
448
450 int (* getProtocolVersion)(NuoDB_Connection* connection);
451
452
461 const char* (* getConnectionURL)(NuoDB_Connection* connection);
462
483 void* nuoEngine,
484 const char* user,
485 const char* password,
486 NuoDB_Options* options);
487
500 NuoDB_Status (* getNextSequenceValue)(NuoDB_Connection* connection, const char* schema, const char* sequenceName, int64_t* sequence);
501
512 NuoDB_EngineHandle* (* getEngineHandle)(NuoDB_Connection* connection);
513};
514
523NUODB_CAPI const char* NUODB_CAPICALL NuoDB_getDriverVersion(unsigned int* majorVersion,
524 unsigned int* minorVersion);
525
541NUODB_CAPI NuoDB_Connection* NUODB_CAPICALL NuoDB_Connection_create();
542
556
567NUODB_CAPI void NUODB_CAPICALL NuoDB_Connection_free(NuoDB_Connection* connection);
568
574NUODB_CAPI void NUODB_CAPICALL NuoDB_Connection_freeLocal(const char* localBuffer);
575
576#ifdef __cplusplus
577} /* extern "C" { */
578#endif
579
580#endif /* end of: #ifndef _NUODB_CONNECTION_H_ */
NUODB_CAPI const char *NUODB_CAPICALL NuoDB_getDriverVersion(unsigned int *majorVersion, unsigned int *minorVersion)
Return information about the driver version.
NuoDB_TransactionIsolationLevel_enum
NuoDB Transaction Isolation Levels Enum.
Definition connection.h:30
@ NUODB_TXN_ISOLATION_READ_COMMITTED
Read Committed.
Definition connection.h:39
@ NUODB_TXN_ISOLATION_SERIALIZABLE
Serializable.
Definition connection.h:79
@ NUODB_TXN_ISOLATION_CONSISTENT_READ
Consistent Read.
Definition connection.h:65
@ NUODB_TXN_ISOLATION_WRITE_COMMITTED
Write Committed.
Definition connection.h:53
NUODB_CAPI NuoDB_Connection *NUODB_CAPICALL NuoDB_Connection_createUtf8()
Create a NuoDB_Connection to the NuoDB database with UTF-8 string encoding.
enum NuoDB_TransactionIsolationLevel_enum NuoDB_TransactionIsolationLevel
NuoDB Transaction Isolation Levels.
Definition connection.h:84
NUODB_CAPI NuoDB_Connection *NUODB_CAPICALL NuoDB_Connection_create()
Create a NuoDB_Connection to the NuoDB database.
NUODB_CAPI void NUODB_CAPICALL NuoDB_Connection_freeLocal(const char *localBuffer)
Frees the buffer returned from convertUtf8ToLocal()
NUODB_CAPI void NUODB_CAPICALL NuoDB_Connection_free(NuoDB_Connection *connection)
Frees the connection to the database.
NuoDB Error information.
enum NuoDB_Status_enum NuoDB_Status
Status codes used by the C Driver.
Definition error.h:130
NuoDB Database Connection.
Definition connection.h:97
NuoDB_Status(* setAutoCommit)(NuoDB_Connection *connection, nuodb_bool_t autoCommit)
Specify if statements related to this NuoDB_Connection should be auto-committed.
Definition connection.h:350
NuoDB_Status(* rollback)(NuoDB_Connection *connection)
Roll back any outstanding SQL statements.
Definition connection.h:329
nuodb_bool_t(* isConnected)(NuoDB_Connection *connection)
Determine if the client has a valid connection to a NuoDB TE.
Definition connection.h:252
NuoDB_Status(* getTransactionIsolation)(NuoDB_Connection *connection, NuoDB_TransactionIsolationLevel *isolationLevel)
Retrieves this NuoDB_Connection data structure's current transaction isolation level.
Definition connection.h:240
int(* getConnectionVersion)(NuoDB_Connection *connection)
Returns the connection version.
Definition connection.h:170
nuodb_bool_t(* isReadOnly)(NuoDB_Connection *connection)
Retrieves whether this NuoDB_Connection data structure is in read-only mode.
Definition connection.h:264
NuoDB_Status(* setConverter)(NuoDB_Connection *connection, const char *encoding)
Specify a non-default encoding for this client NuoDB_Connection.
Definition connection.h:412
NuoDB_Status(* setReadOnly)(NuoDB_Connection *connection, nuodb_bool_t readOnly)
Puts this NuoDB_Connection in read-only mode as a hint to enable database optimizations.
Definition connection.h:364
NuoDB_Status(* ping)(NuoDB_Connection *connection)
Send a ping message to the server.
Definition connection.h:313
NuoDB_Status(* setTransactionIsolation)(NuoDB_Connection *connection, NuoDB_TransactionIsolationLevel level)
Change the transaction isolation level for this NuoDB_Connection data structure to the one specified.
Definition connection.h:386
NuoDB_Status(* openDatabaseEngine)(NuoDB_Connection *connection, void *nuoEngine, const char *user, const char *password, NuoDB_Options *options)
Open a database with an NuoEngine.
Definition connection.h:482
NuoDB_Status(* getAutoCommit)(NuoDB_Connection *connection, nuodb_bool_t *autoCommit)
Determine if the NuoDB_Connection has the auto-commit flag set.
Definition connection.h:160
NuoDB_Status(* setDefaultConverter)(NuoDB_Connection *connection, const char *encoding)
Specify a non-default encoding for this client NuoDB_Connection and set it as the default for the con...
Definition connection.h:446
NuoDB_Status(* getNextSequenceValue)(NuoDB_Connection *connection, const char *schema, const char *sequenceName, int64_t *sequence)
Returns next sequence value.
Definition connection.h:500
NuoDB_Status(* commit)(NuoDB_Connection *connection)
Commit any outstanding SQL statements.
Definition connection.h:117
NuoDB_Status(* getSchema)(NuoDB_Connection *connection, char **schemaName, size_t *length)
Retrieves this connection's current schema name.
Definition connection.h:218
nuodb_bool_t(* isUtf8)(NuoDB_Connection *connection)
Retrieves whether this NuoDB_Connection data structure is using UTF-8 strings.
Definition connection.h:276
NuoDB_Status(* openDatabase)(NuoDB_Connection *connection, const char *dbname, const char *user, const char *password, NuoDB_Options *options)
Open a database.
Definition connection.h:298
Metadata about a NuoDB database.
Definition databaseMetaData.h:316
Container for NuoDB_Connection options.
Definition options.h:36
structs and typedefs.
NuoDB utilities.
unsigned char nuodb_bool_t
NuoDB boolean type.
Definition utils.h:49