The Bold BI dashboard designer supports connecting to SingleStore database using the SQL Live Query (C# API).
To configure the SingleStore data source, follow these steps:
Click Data Sources in the configuration panel to add a new data connection.
Click CREATE NEW to launch a new connection from the connection panel.
Select the SingleStore connection in the connection panel.
NOTE: You can also create a data source from the home page by clicking on the Data Sources menu on the left menu panel and selecting Create Data Source from the data sources page.
After clicking on the data source, the NEW DATA SOURCE configuration panel opens. Follow the given steps to create a SingleStore data source:
Enter a name and description (optional) for the data source.
Enter a valid server or host name in the ServerName text box.
Enter a valid username in the UserName text box.
Enter a valid password in the Password text box.
Select a database that you want to query in the listed databases associated with the given SingleStore Server in the database combo box.
NOTE: To connect a data source with SSH, enable the SSH checkbox in the NEW DATA SOURCE configuration panel and enter the necessary credentials.
There are two connection types available in a data source:
* Live mode
* Extract mode
In this type of connection, the data source is fetched directly from the source. Select the Live mode option for this connection.
The schema represents the collection list retrieved from the SingleStore server. This dialog displays a list of schemas in treeview and their corresponding values.
Now, the data design view page with the selected table schema opens. Drag the table.
You can use the Code View option to pass a query and display data.
Click Save to save the data source with a relevant name.
In this type of connection, a data source is periodically fetched from the source. Select the Extract mode option for this connection.
NOTE: Initially, data will be extracted based on the Max Rows selected in order to proceed with data model creation. The remaining records (without limit) will be extracted during the next refresh.
Click Refresh Settings in the configuration panel.
Select the recurrence type, recurrence start, and end dates in the Refresh Setting dialog box.
The option is available for configuring incremental refresh column for the selected items in the right-side panel. * The table must have a primary key column and date column to configure the incremental refresh option. * The Views must have a date column to configure the incremental refresh option and unique column(s) is optional which is used to update the modified records.
If you configure it, then the data source will work on Incremental update, otherwise it will work on Full load concept. And finally click Connect.
Now, the data design view page with the selected table schema opens. Drag the table.
You can use the Code View option for passing query to display data.
Click Save to save the data source with a relevant name.
NOTE: In the future, you can edit the connection information for both Live and Extract mode connections using the Edit Connection option.
We have added support for custom attributes and dashboard parameters in the data source connection. You can now connect to the data source using custom attributes or dashboard parameters.
Custom Attribute
Dashboard Parameter
Note: Refer to the Dashboard Parameter Documentation and Custom Attributes Documentation for more details.
Type while creating the data source needs to be singlestore.
Through the REST API, only the live mode data source can be created and edited.
NOTE: The ability to provide join support is only available during the creation of a new data source. Join in edit connection mode is not supported.
Parameters | Details |
---|---|
Servername required | string
Server name or Host name of the connection |
Port required | string
Port number used to connect to the Singlestore server.
|
Username required | string
A valid username for the connection |
Password required | string
A valid Password for the connection |
Database required | string
database which needs to be connected |
Schemaname required for table mode | string
Enter a valid Schemaname |
Tablename required for table mode | string
Enter a valid Tablename |
JoinType Required For Join Info | string
Enter a valid JoinType For Example (Inner,Outer) |
LeftTable Required For Join Info | string
Enter a valid Left Table name |
RightTable Required For Join Info | string
Enter a valid Right Table name |
LeftField Required For Join Info | string
Enter a valid Left Table Column Name |
RightField Required For Join Info | string
Enter a valid Right Table Column Name |
Condition Required For Join Info | string
Enter a valid Condition For Example (AND,OR) |
LeftField Required For Join Info | string
Enter a valid Left Table Column Name |
Operator Required For Join Info | string
Enter a Valid Operator For Example (=,>=) |
Value Optional For only Join Info | string
Specifically choose the column values. |
Query required for code view mode | string
Enter a valid Query |
AdvancedSettings optional | string
Additional optional connection parameters can be provided. By default, it is empty. |
CommandTimeout optional | string
Enter a valid Timeout for connection. By default, it is 300 |
IsSshConnection optional | `boolean` Enable or disable SSH. By default, it is false. |
SshServerName optional | string
Enter a valid Ssh Server name. By default, it is empty. |
SshPort optional | `integer` Enter a valid Ssh Port number. |
SshUserName optional | string
Enter a valid Ssh Username. By default, it is empty. |
SshPassword optional | string
Enter a valid Ssh Password. By default, it is empty. |
Expressions optional | `Array of Objects` |
Parameters | Details |
---|---|
ServerName required | string
Server name or Host name of the connection |
Port required | string
Port number used to connect to the Singlestore server.
|
UserName required | string
A valid username for the connection |
Password required | string
A valid Password for the connection |
Database required | string
database which needs to be connected |
Schema required for table mode | string
Enter a valid Schemaname |
AdvancedSettings optional | string
Additional optional connection parameters can be provided. By default, it is empty. |
CommandTimeout optional | string
Enter a valid Timeout for connection. By default, it is 300 |
IsSshConnection optional | `boolean` Enable or disable SSH. By default, it is false. |
SshServerName optional | string
Enter a valid Ssh Server name. By default, it is empty. |
SshPort optional | `integer` Enter a valid Ssh Port number. |
SshUserName optional | string
Enter a valid Ssh Username. By default, it is empty. |
SshPassword optional | string
Enter a valid Ssh Password. By default, it is empty. |
Parameters | Details |
---|---|
Name required | string
Name of the Expression
|
Expression required | string
Expression
|
NOTE: To edit a Data Source via API, all parameters are optional. Only the parameter that needs to be changed should be provided.
Parameters | Details |
---|---|
Name required | string
Name of the Expression
|
Expression required | string
Expression
|
Action optional | string
add/delete/edit
By default, it is add.
|
NewName optional | string
For renaming the expression. This is applicable only if the Action is edit
|
"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
}]
}
"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Tables": [
{
"Tablename": "string",
"Schemaname": "string"
},
{
"Tablename": "string",
"Schemaname": "string"
}
],
"JoinInfo": [
{
"JoinType": "string",
"LeftTable": "string",
"RightTable": "string",
"JoinFieldInfos": [
{
"Condition": "string",
"LeftField": "string",
"Operator": "string",
"RightField": "string",
"Value": "string"
},
{
"Condition": "string",
"LeftField": "string",
"Operator": "string",
"RightField": "string",
"Value": "string"
}
]
}
],
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
}]
}
"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)",
"NewName" : "Sum",
"Action": "edit"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
"Action": "delete"
}]
}
NOTE: Through the Rest API, the data source can be created or edited with only one table. If different table is provided in edit data source, the table will be replaced. The widgets will be retained only if the schema is same as the previous table.
"Connection":
{
"Servername": "string",
"Port": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Query": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
}]
}
"Connection": {
"ServerName": "string",
"Database": "string",
"UserName": "string",
"Password": "string",
"Port": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"Schema": "string"
}