ballerina.data.sql package
public struct ConnectionProperties
ConnectionProperties structs represents the properties which are used to configure DB connection pool
Field Name | Data Type | Description | Default Value |
---|---|---|---|
url | string | Platform independent DB access URL | |
dataSourceClassName | string | Name of the DataSource class provided by the JDBC driver | |
connectionTestQuery | string | Query that will be executed to validate that the connection to the database is still alive | |
poolName | string | User-defined name for the connection pool and appears mainly in logging | |
catalog | string | Catalog of connections created by this pool | |
connectionInitSql | string | SQL statement that will be executed after every new connection creation before adding it to the pool | |
driverClassName | string | Fully qualified Java class name of the JDBC driver to be used | |
transactionIsolation | string | Transaction isolation level of connections returned from the pool. The supported values are TRANSACTION_READ_UNCOMMITTED, TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ and TRANSACTION_SERIALIZABLE | |
autoCommit | boolean | Auto-commit behavior of connections returned from the pool | true |
isolateInternalQueries | boolean | Determines whether HikariCP isolates internal pool queries, such as the connection alive test, in their own transaction | |
allowPoolSuspension | boolean | Whether the pool can be suspended and resumed through JMX | |
readOnly | boolean | Whether Connections obtained from the pool are in read-only mode by default | |
isXA | boolean | Whether Connections are used for a distributed transaction | |
maximumPoolSize | int | Maximum size that the pool is allowed to reach, including both idle and in-use connections | -1 |
connectionTimeout | int | Maximum number of milliseconds that a client will wait for a connection from the pool | -1 |
idleTimeout | int | Maximum amount of time that a connection is allowed to sit idle in the pool | -1 |
minimumIdle | int | Minimum number of idle connections that pool tries to maintain in the pool | -1 |
maxLifetime | int | Maximum lifetime of a connection in the pool | -1 |
validationTimeout | int | Maximum amount of time that a connection will be tested for aliveness | -1 |
leakDetectionThreshold | int | Amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak | -1 |
datasourceProperties | map | Data source specific properties which are used along with the dataSourceClassName |
public struct Parameter
Parameter struct represents a query parameter for the SQL queries specified in connector actions
Field Name | Data Type | Description | Default Value |
---|---|---|---|
sqlType | Type | The data type of the corresponding SQL parameter | |
value | any | Value of paramter pass into the SQL query | |
direction | Direction | Direction of the SQL Parameter IN, OUT, or INOUT |
public connector ClientConnector ( DB dbType , string hostOrPath , int port , string dbName , string username , string password , ConnectionProperties options )
The Client Connector for SQL databases.
Parameter Name | Data Type | Description |
---|---|---|
dbType | DB | SQL database type |
hostOrPath | string | Host name of the database or file path for file based database |
port | int | Port of the database |
dbName | string | Name of the database to connect |
username | string | Username for the database connection |
password | string | Password for the database connection |
options | ConnectionProperties | ConnectionProperties for the connection pool configuration |
Actions:
-
< ClientConnector > batchUpdate ( string query , Parameter[][] parameters ) ( int[] )
The batchUpdate action implementation for SQL connector to batch data insert.
Parameter Name Data Type Description query string SQL query to execute parameters Parameter[][] Parameter array used with the SQL query Return Variable Data Type Description int[] -
< ClientConnector > call ( string query , Parameter[] parameters , type structType ) ( datatable )
The call action implementation for SQL connector to invoke stored procedures/functions.
Parameter Name Data Type Description query string SQL query to execute parameters Parameter[] Parameter array used with the SQL query structType type Return Variable Data Type Description datatable -
< ClientConnector > close ( )
The close action implementation for SQL connector to shutdown the connection pool.
-
< ClientConnector > select ( string query , Parameter[] parameters , type structType ) ( datatable )
The select action implementation for SQL connector to select data from tables.
Parameter Name Data Type Description query string SQL query to execute parameters Parameter[] Parameter array used with the SQL query structType type Return Variable Data Type Description datatable -
< ClientConnector > update ( string query , Parameter[] parameters ) ( int )
The update action implementation for SQL connector to update data and schema of the database.
Parameter Name Data Type Description query string SQL query to execute parameters Parameter[] Parameter array used with the SQL query Return Variable Data Type Description int -
< ClientConnector > updateWithGeneratedKeys ( string query , Parameter[] parameters , string[] keyColumns ) ( int , string[] )
The updateWithGeneratedKeys action implementation for SQL connector which returns the auto generated keys during the update action.
Parameter Name Data Type Description query string SQL query to execute parameters Parameter[] Parameter array used with the SQL query keyColumns string[] Names of auto generated columns for which the auto generated key values are returned Return Variable Data Type Description int string[]
public enum DB
The Databases which has direct parameter support.
Name | Description |
---|---|
MYSQL | MySQL DB with connection url in the format of jdbc:mysql://[HOST]:[PORT]/[database] |
SQLSERVER | SQL Server DB with connection url in the format of jdbc:sqlserver://[HOST]:[PORT];databaseName=[database] |
ORACLE | Oracle DB with connection url in the format of jdbc:oracle:thin:[username/password]@[HOST]:[PORT]/[database] |
SYBASE | Sybase DB with connection url in the format of jdbc:sybase:Tds:[HOST]:[PORT]/[database] |
POSTGRES | PostgreSQL DB with connection url in the format of jdbc:postgresql://[HOST]:[PORT]/[database] |
IBMDB2 | IBMDB2 DB with connection url in the format of jdbc:db2://[HOST]:[PORT]/[database] |
HSQLDB_SERVER | HSQL Server with connection url in the format of jdbc:hsqldb:hsql://[HOST]:[PORT]/[database] |
HSQLDB_FILE | HSQL Server with connection url in the format of jdbc:hsqldb:file:[path]/[database] |
H2_SERVER | H2 Server DB with connection url in the format of jdbc:h2:tcp://[HOST]:[PORT]/[database] |
H2_FILE | H2 File DB with connection url in the format of jdbc:h2:file://[path]/[database] |
DERBY_SERVER | DERBY server DB with connection url in the format of jdbc:derby://[HOST]:[PORT]/[database] |
DERBY_FILE | Derby file DB with connection url in the format of jdbc:derby://[path]/[database] |
GENERIC | Custom DB connection with given connection url |
public enum Direction
The direction of the parameter
Name | Description |
---|---|
IN | IN parameters are used to send values to stored procedures |
OUT | OUT parameters are used to get values from stored procedures |
INOUT | INOUT parameters are used to send values and get values from stored procedures |
public enum Type
The SQL Datatype of the parameter
Name | Description |
---|---|
VARCHAR | Small, variable-length character string |
CHAR | Small, fixed-length character string |
LONGVARCHAR | Large, variable-length character string |
NCHAR | Small, fixed-length character string with unicode support |
LONGNVARCHAR | Large, variable-length character string with unicode support |
NVARCHAR | VARCHAR: Small, variable-length character string |
BIT | Single bit value that can be zero or one, or null |
BOOLEAN | Boolean value either True or false |
TINYINT | 8-bit integer value which may be unsigned or signed |
SMALLINT | 16-bit signed integer value which may be unsigned or signed |
INTEGER | 32-bit signed integer value which may be unsigned or signed |
BIGINT | 64-bit signed integer value which may be unsigned or signed |
NUMERIC | Fixed-precision and scaled decimal values |
DECIMAL | Fixed-precision and scaled decimal values |
REAL | Single precision floating point number |
FLOAT | Double precision floating point number |
DOUBLE | Double precision floating point number |
BINARY | Small, fixed-length binary value |
BLOB | Binary Large Object |
LONGVARBINARY | Large, variable-length binary value |
VARBINARY | Small, variable-length binary value |
CLOB | Character Large Object |
NCLOB | Character large objects in multibyte national character set |
DATE | Date consisting of day, month, and year |
TIME | Time consisting of hours, minutes, and seconds |
DATETIME | Both DATE and TIME with additional a nanosecond field |
TIMESTAMP | Both DATE and TIME with additional a nanosecond field |
ARRAY | Composite data value that consists of zero or more elements of a specified data type |
STRUCT | User defined structured type, consists of one or more attributes |